SlaterKosterOnsiteParameters

class SlaterKosterOnsiteParameters(element, angular_momenta, occupations=None, filling_method=None, ionization_potential=None, onsite_hartree_shift=None, onsite_spin_split=None, onsite_spin_orbit_split=None, number_of_valence_electrons=None, vacuum_level=None)

Class for representing the parameters that determine the onsite parameters of a Slater-Koster basis.

Parameters:
  • element (PeriodicTableElement) – The element associated with the basis set.

  • angular_momenta (list of int) – The angular momentum of each subshell as a list of positive integers with one entry for each subshell.

  • occupations (list of float) – The initial occupation of each subshell as a list of positive floats with one entry for each subshell. Either this, or number_of_valence_electrons must be given.

  • filling_method (SphericalSymmetric | Anisotropic) – The method used for setting up the initial occupation.
    Default: SphericalSymmetric

  • ionization_potential (PhysicalQuantity of type energy) – The ionization potential with one entry for each subshell.
    Default: Must be given.

  • onsite_hartree_shift (PhysicalQuantity of type energy) – The on-site Hartree shift with one entry for each subshell.
    Default: Must be given.

  • onsite_spin_split (PhysicalQuantity of type energy) – The on-site spin-split values of each orbital (subshell) pair. This should be a square matrix of size n where n is the number of subshells.
    Default: No splitting

  • onsite_spin_orbit_split (PhysicalQuantity of type energy) – The on-site spin-orbit split with one entry for each subshell.
    Default: No splitting

  • number_of_valence_electrons (int) – The number of valence electrons used to determine the neutral state. Must be non-negative. Either this, or occupations must be given.

  • vacuum_level (PhysicalQuantity of type energy) – The energy shift of the vacuum level.
    Default: 0.0 * Hartree

angularMomenta()
Returns:

The angular momentum of each subshell.

Return type:

list of int

element()
Returns:

The element of the basis set.

Return type:

PeriodicTableElement

fillingMethod()
Returns:

The method used for setting up the initial occupation.

Return type:

SphericalSymmetric | Anisotropic

ionizationPotential()
Returns:

The ionization potential of each subshell in the basis set.

Return type:

PhysicalQuantity of type energy

numberOfValenceElectrons()
Returns:

The sum of the occupations.

Return type:

float

occupations()
Returns:

The occupations associated with the orbitals.

Return type:

list of float

onsiteHartreeShift()
Returns:

The on-site Hartree shift of each subshell in the basis set.

Return type:

PhysicalQuantity of type energy

onsiteSpinOrbitSplit()
Returns:

The on-site spin-orbit split of each subshell in the basis set.

Return type:

PhysicalQuantity of type energy

onsiteSpinSplit()
Returns:

The on-site spin-split values of each subshell in the basis set.

Return type:

PhysicalQuantity of type energy

uniqueString()

Return a unique string representing the state of the object.

vacuumLevel()
Returns:

The energy shift of the vacuum level.

Return type:

PhysicalQuantity of type energy

Usage Examples

Define the onsite parameters for an sps* tight-binding model of silicon.

si_onsite = SlaterKosterOnsiteParameters(
    element = Silicon,
    angular_momenta=[0,1,0],
    occupations=[2,2,0],
    ionization_potential=[-4.545, 1.715, 6.6850]*eV,
    onsite_hartree_shift=0.0*eV)

Notes

The SlaterKosterOnsiteParameters is used to define the onsite parameters in a SlaterKosterTable.