Fillings input documentation

Initialize occupation factor (smearing) scheme.

Used to initialize class qimpy.dft.electrons.Fillings.

YAML template:

charge: 0.0          # Net charge of electrons + ions in e units.
smearing: gauss      # Smearing method for setting electron occupations.
sigma: 0.002         # Width of the smearing function in Hartrees.
kT: null             # Specify temperature instead of sigma for Fermi smearing.
mu: nan              # Electron chemical potential in Hartrees.
mu-constrain: no     # Whether to hold chemical potential fixed to mu.
B: 0.0               # External magnetic field (only for spin-polarized modes).
M: 0.0               # Total magnetization (only for spin-polarized modes).
M-constrain: no      # Whether to hold magnetization fixed to M.
n-bands: atomic      # Specify number of bands or scheme to determine it.
n-bands-extra: x0.1  # Number of extra bands retained by diagonalizers.

Parameters:

charge

Type: float, Default: 0.0

Net charge of electrons + ions in e units. This determines n_electrons = ions.Z_tot - charge.

smearing

Type: string, Default: gauss

Smearing method for setting electron occupations. Here ‘gauss’, ‘fermi’, ‘cold’, ‘mp1’ select Gaussian, Fermi-Dirac, Cold and first order Methfessel-Paxton (MP1) smearing respectively. Use no (or null) to disable smearing and keep the electron occupations fixed at their initial values.

sigma

Type: float, Default: 0.002

Width of the smearing function in Hartrees. This sets Gaussian width \(\sigma\) in the Gaussian, Cold and M-P schemes, and \(2k_BT\) in the Fermi-Dirac scheme. Overridden if kT is specified.

kT

Type: float or null, Default: null

Specify temperature instead of sigma for Fermi smearing. This directly sets \(k_BT\) in Hartrees and corresponds to \(\sigma/2\) for the other Gaussian-based smearing schemes. Overrides sigma if specified.

mu

Type: float, Default: nan

Electron chemical potential in Hartrees. This serves as an initial guess (rarely needed) if mu_constrain is no, and otherwise, it is the required value to hold \(\mu\) fixed at.

mu-constrain

Type: bool, Default: no

Whether to hold chemical potential fixed to mu. If yes, perform grand-canonical electronic DFT. Note that this only takes effect when smearing is not null.

B

Type: float or list of float, Default: 0.0

External magnetic field (only for spin-polarized modes). Must be scalar for non-spinorial and 3-vector for spinorial modes. If M_constrain is yes, then this is only an initial guess as the magnetic field then becomes a Legendre multiplier to constrain M.

M

Type: float or list of float, Default: 0.0

Total magnetization (only for spin-polarized modes). Must be scalar for non-spinorial and 3-vector for spinorial modes. This magnetization is assigned to the initial occupations and it may change when smearing is present depending on M_constrain.

M-constrain

Type: bool, Default: no

Whether to hold magnetization fixed to M. This only matters when smearing is not null.

n-bands

Type: int or string or qimpy.io._default.Default[str], Default: atomic

Specify number of bands or scheme to determine it.

  • atomic: set to the number of atomic orbitals.

  • x<scale>: scale relative to the minimum number of bands to accommodate electrons (‘x1.5’ implies 1.5 x n_bands_min).

  • An integer explicitly sets the number of bands.

n-bands-extra

Type: int or string or qimpy.io._default.Default[str], Default: x0.1

Number of extra bands retained by diagonalizers. This is necessary to converge any degenerate subspaces straddling n_bands. May be specified as:

  • x<scale>: scale relative to n_bands

  • An integer explicitly sets the number of extra bands