DFTHalfParameters¶
- class DFTHalfParameters(element, half_shell_n=None, half_shell_l=None, fractional_charge=None, cutoff_radius=None, inner_radius=None, all_electron=None)¶
Class for representing the DFT-1/2 parameters set for a given element in DFT.
- Parameters:
element (
PeriodicTableElement
) – The element for which the DFT-1/2 parameters are defined.half_shell_n (int) – Integer specifying from which n-shell to remove the fractional charge. Default: The last occupied shell.
half_shell_l (int) – Integer specifying from which l-shell to remove the fractional charge. Default: The last occupied shell.
fractional_charge (float | list of floats) – Either a float value between 0 and 1 specifying how much charge to remove from the atomic calculation, or a list of two floats specifying how much charge to remove from up and down spin. Default:
[0.5, 0]
cutoff_radius (PhysicalQuantity of type length) – Radius specifying the radial cutoff. Default:
2.0 * Bohr
inner_radius – Radius specifying the inner radial cutoff, used in sh-LDA-1/2. A inner_radius larger than 0.0 specifies that a sh-LDA-1/2 metod should be used. Default:
0.0 * Bohr
all_electron (bool) – Boolean to determine whether to use an all-electron calculation (
True
) or a pseudopotential calculation (False
). Default:True
- allElectron()¶
Return the all_electron value.
- Returns:
Boolean to determine whether to use an all-electron calculation (
True
) or a pseudopotential calculation (False
).- Return type:
bool
- cutoffRadius()¶
Return the cutoff radius.
- Returns:
The cutoff radius.
- Return type:
PhysicalQuantity of type length
- element()¶
Return the element for which the DFT-1/2 parameters are defined.
- Returns:
The atomic element.
- Return type:
- fractionalCharge()¶
Return the fractional_charge value.
- Returns:
The fractional charge to remove. It will either be a float or a list of two floats where the latter case specifies the up and down spin fractional charges to remove.
- Return type:
float | list of floats
- halfShellL()¶
Return the half_shell_l value.
- Returns:
The integer for the angular quantum number of the state to remove a fractional electron from.
- Return type:
int
- halfShellN()¶
Return the half_shell_n value.
- Returns:
The integer for the principal quantum number of the state to remove a fractional electron from.
- Return type:
int
- innerRadius()¶
Return the inner cutoff radius.
- Returns:
The inner cutoff radius used in shell-DFT-1/2.
- Return type:
PhysicalQuantity of type length
- uniqueString()¶
Return a unique string representing the state of the object.
Usage Examples¶
Define a BasisSet for Silicon with a set of custom DFTHalfParameters:
dft_half_parameters = DFTHalfParameters(
element=Silicon,
fractional_charge=[0.2, 0.0],
cutoff_radius=4.0*Bohr)
basis_set = [
LDABasis.Silicon_DoubleZetaPolarized(
dft_half_parameters=dft_half_parameters)
]
Important
Adding a set of DFTHalfParameters to a BasisSet will only
have an effect on the calculation if the ExchangeCorrelation has
been defined with dft_half_enabled = True
.
Notes¶
More information on the DFT-1/2 method is given in DFT-1/2 method.