HuckelBasisParameters — Class for representing the parameters that determine the properties of a Huckel basis.
Construction of the parameters that determines the properties of a Huckel Basis.
The PeriodicTable element associated with the basis set.
Type: PeriodicTableElement
Default:
None
Type: SlaterOrbital | list(SlaterOrbital,...) | tuple(SlaterOrbital,...)
Default:
None
The initial occupation of the basis orbitals.
Type: list(float,...) | tuple(float,...)
Default:
None
The method used for setting up the initial occupation.
Type: SphericalSymmetric | Anisotropic.
Default:
SphericalSymmetric
The ionization potential for each of the given orbitals
Type: PhysicalQuantity of type energy
Default:
None
Type: PhysicalQuantity of type energy
Default:
None
The on-site spin-split values.
Type: PhysicalQuantity of type energy.
Default:
None
The number of valence electrons used to determine the neutral state.
Type: int > 0
Default:
None
The Wolfsberg-Helmholtz constant provided as a float.
Type: float
Default:
1.75
Type: PhysicalQuantity of type energy
Default:
0.0*Rydberg
A HuckelBasisParameters object provides the following methods:
This object supports cloning. See the section called “Cloning of ATK Python objects”.
angularMomenta(): Return the angular momenta of the basis set.
element(): Return the element of the basis set.
fillingMethod(): The method using for filling the orbitals
ionizationPotential(): Return the ionization potential of the basis set.
numberOfValenceElectrons(): Return the sum of the occupations.
occupations(): The occupations associated with the orbitals.
onsiteHartreeShift(): Return the on-site Hartree shift of the basis set.
onsiteSpinSplit(): Return the on-site spin split value of the basis set.
orbitals(): Return the orbitals of the basis set.
vacuumLevel(): Return the vacuum level of the basis set.
wolfsbergHelmholtzConstant(): Return the Wolfsberg-Helmholtz constant.
Define an Extended Huckel Basis for Carbon
carbon_2s = SlaterOrbital(
principal_quantum_number=2,
angular_momentum=0,
slater_coefficients=[ 2.0249*1/Bohr ],
weights=[ 0.76422]
)
carbon_2p = SlaterOrbital(
principal_quantum_number=2,
angular_momentum=1,
slater_coefficients=[ 1.62412*1/Bohr , 2.17687*1/Bohr ],
weights=[ 0.27152 , 0.73886 ]
)
carbon_3d = SlaterOrbital(
principal_quantum_number=3,
angular_momentum=2,
slater_coefficients=[ 1.1944*1/Bohr ],
weights=[ 0.49066]
)
CarbonBasis = HuckelBasisParameters(
element=Carbon,
orbitals=[ carbon_2s , carbon_2p , carbon_3d ],
ionization_potential=[ -19.88924*eV , -13.08001*eV , -2.04759*eV ],
onsite_hartree_shift=ATK_U(Carbon, ['2s','2p','3d']),
onsite_spin_split=ATK_W(Carbon, ['2s','2p','3d']),
number_of_valence_electrons=4,
wolfsberg_helmholtz_constant=2.8,
vacuum_level=0.0*eV,
)
Tables with the available parameter sets can be found in the section called “Extended Hückel basis sets”.
The onsite_hartree_shift can be obtained from the
ATK_U database.
The onsite_spin_split can be obtained from the
ATK_W.
database.
The overlap matrix,
is the central object in the extended Huckel model, where
is of
the type SlaterOrbital. The one-electron
Hamiltonian is defined by
where the parameters
is the
ionization_potential,
the
wolfsberg_helmholtz_constant, and the
vacuum_level,
, is used to shift the
position of the vacuum level.
is the Hartree potential, which is obtained by solving Poisson's
equation for the charge density
where
is the total charge of atom
, i.e. the sum of the Mulliken population
and the ionic charge
.
The width of the Gaussian,
, is specified
through the onsite_hartree_shift,
.
Table 23: HuckelBasisParameters
| Symbol | HuckelBasisParameters |
|---|---|
|
ionization_potential |
|
wolfsberg_helmholtz_constant |
|
onsite_hartree_shift |
|
vacuum_level |