SlaterKosterHamiltonianParametrization

class SlaterKosterHamiltonianParametrization(basis_set)

A class representing the hamiltonian parametrization for a generic Slater-Koster-type Tight Binding model

Parameters:basis_set (SlaterKosterTable | DFTBDirectory | HotbitDirectory) – An object describing the basis set used for the Slater-Koster calculation.
basisSet()

Returns the Slater Koster basis set used to construct the environmental independent component of the Hamiltonian and Overlap.

Returns:The basis set.
Return type:SlaterKosterTable
pairPotentials()

Return the pair potentials. If no pair potentials are available, it returns None.

Returns:The pair potentials.
Return type:PairPotential
usingOrthogonalBasis()

Routine for determining if the Hamiltonian parametrization is using an orthogonal basis set.

Returns:True if the basis is orthogonal, False otherwise.
Return type:bool

Usage Examples

The following example demonstrates some of the different Slater-Koster basis sets and directories available for a Slater Koster-type Hamiltonian parametrization.

# Create a Slater-Koster Hamiltonian parametrization with a
# Boykin basis set for Silicon.
hamiltonian_parametrization = SlaterKosterHamiltonianParametrization(
    basis_set=Boykin.Si_Basis)

# Create a S-K parametrization with the basis parameteres defined
# in a DFTBDirectory.
directory = DFTBDirectory('dftb/mio-1-1/')
hamiltonian_parametrization = SlaterKosterHamiltonianParametrization(
    basis_set=directory)

# Set up a basis set and pair potentials using a Hotbit directory.
basis_set = HotbitDirectory('hotbit/standard/')
pair_potentials = HotbitDirectory('hotbit/standard/')

# Set up a Slater-Koster Hamiltonian parametrization.
hamiltonian_parametrization = SlaterKosterHamiltonianParametrization(
    basis_set=basis_set)

# Set up a semi-empirical calculator using the Hotbit-based
# parametrization and pair-potentials.
calculator = SemiEmpiricalCalculator(
    hamiltonian_parametrization=hamiltonian_parametrization,
    pair_potentials=pair_potentials)

Notes

The Slater–Koster parameters can be provided either through the SlaterKosterTable class or through various 3rd-party formats. The supported 3rd-party formats are the DFTB Slater–Koster files from the DFTB consortium, and the Hotbit Slater–Koster files from the Hotbit consortium.

To use parameters in the DFTB or Hotbit format, put the parameter files in a single directory, and set up the basis_set using the functions DFTBDirectory or HotbitDirectory. Note that if one wishes to use the corresponding pair-potentials to calculate the atomic forces, the same directory must be given as the pair_potentials argument for the SemiEmpiricalCalculator or DeviceSemiEmpiricalCalculator.

Tables showing which elements are covered by the Slater-Koster parameters are given here: Slater–Koster basis sets.