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:
- pairPotentials()¶
Return the pair potentials. If no pair potentials are available, it returns
None
.- Returns:
The pair potentials.
- Return type:
- 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.