Constructor for a Basis Set.
The element associated for this basis set.
Type: PeriodicTableElement
Default:
None
The set of orbitals that forms this basis set.
Type: list(ConfinedOrbital | AnalyticalSplit | PolarizationOrbital,...) | tuple(ConfinedOrbital | AnalyticalSplit | PolarizationOrbital,...)
Default:
None
The initial occupation of the basis orbitals.
Type: list(float,...) | tuple(float,...)
Default:
None
The Hubbard U for each orbital shell.
Type: list(energy_1, ....)
Default:
None
The method used for setting up the initial occupation.
Type: SphericalSymmetric | Anisotropic.
Default:
SphericalSymmetric
The pseudopotential to be used for generating this basis set.
Type: NormConservingPseudoPotential
Default:
None
A BasisSet object provides the following methods:
This object supports cloning. See the section called “Cloning of ATK Python objects”.
element(): The element for this basis set
fillingMethod(): The method using for filling the orbitals
hubbardU(): The hubbard U associated with the orbitals
occupations(): The occupations associated with the orbitals.
orbitals(): The orbitals that forms this basis set
pseudopotential(): The pseudopotential used in generating the basis set
Use a standard SingleZeta basis set for Hydrogen and a DoubleZetaPolarized basis set for Oxygen
my_basis_set = [
LDABasis.Hydrogen_SingleZeta,
LDABasis.Oxygen_DoubleZetaPolarized
]
calculator = LCAOCalculator(basis_set=my_basis_set)
Define a BasisSet for Hydrogen.
hydrogen_1s = ConfinedOrbital(
principal_quantum_number = 1,
angular_momentum = 0,
radial_cutoff_radius = 5.28603678847*Bohr,
confinement_start_radius = 0.8 * 5.28603678847*Bohr,
additional_charge = 0.0,
confinement_strength = 20.000*Units.Hartree*Units.Bohr,
radial_step_size = 0.001*Units.Bohr,
)
hydrogen_1s_split = AnalyticalSplit(hydrogen_1s, split_norm = 0.40)
my_hydrogen_basis = BasisSet(
element = Hydrogen,
orbitals = [hydrogen_1s, hydrogen_1s_split],
occupations = [0.7 , 0.3],
pseudopotential = NormConservingPseudoPotential('normconserving/H.LDAPZ.zip'),
)
Define a basis set for Hafnium with a hubbard U term for the 5d orbital and using anisotropic filling.
basis_set = [
GGABasis.Hafnium_SingleZetaPolarized(
hubbard_u=[5.8,0.0,0.0,0.0,0.0,0.0]*eV,
filling_method = Anisotropic)]
For further info on the different types of basis orbitals see the section called “LCAO basis set”
With the SphericalSymmetric filling method the orbitals in a shell have the
same occupation, while, with the Anisotropic filling method the low
values
are fully occupied while the high
values are empty. See also the section called “XC+U mean-field Hubbard term”
To see the default parameters for a basis set it is convenient to use the
Scriptgenerator tool in VNL and set the script detail to Show default.