DFTHalfParameters

class DFTHalfParameters(element, half_shell_n=None, half_shell_l=None, fractional_charge=None, cutoff_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
  • 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:PeriodicTableElement
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

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