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:

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

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