# Electrons input documentation

Initialize from components and/or dictionary of options.

Used to initialize class `qimpy.dft.electrons.Electrons`

.

## YAML template:

k-mesh: # Uniform k-point mesh for Brillouin-zone integration: offset: (0.0, 0.0, 0.0) # Offset of k-point mesh in k-mesh coordinates. size: (1, 1, 1) # Number of k per dimension, or minimum supercell size. use-inversion: yes # Whether to use inversion in k-space to reduce k-points. k-path: # Path of k-points through Brillouin zone: dk: [float] # Maximum distance between adjacent points on k-path. points: [list] # List of special k-points [kx, ky, kz, label] along path. spin-polarized: no # Whether system has spin polarization / magnetization. spinorial: no # Whether to perform relativistic / spin-orbit calculations. fillings: # Electron occupations and charge / magnetization control: 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: null # Specify number of bands or scheme to determine it. n-bands-extra: null # Number of extra bands retained by diagonalizers. basis: # Wavefunction basis set (plane waves): ke-cutoff: 20.0 # Wavefunction kinetic energy cutoff in Hartrees. real-wavefunctions: no # Whether to use real wavefunctions (instead of complex). grid: # Override parameters of grid for wavefunction operations: ke-cutoff: null # Kinetic-energy cutoff for grid in Hartrees. shape: null # Explicit grid dimensions [Nx, Ny, Nz]. fft-block-size: 0 # Number of wavefunction bands to FFT simultaneously. mpi-block-size: 0 # Number of wavefunction bands to MPI transfer simultaneously. xc: # Exchange-correlation functional: functional: gga-pbe # Name or list of names of exchange-correlation functionals. plus-U: # Optional DFT+U correction: fixed-H: # Fix Hamiltonian from checkpoint file of this name. save-wavefunction: yes # Whether to save wavefunction in checkpoint. lcao: # Linear combination of atomic orbitals parameters: energy-threshold: 1e-06 # Energy convergence threshold in Hartrees. gradient-threshold: 1e-08 # Subspace-gradient convergence threshold (dimensionless). davidson: # Davidson diagonalization of Kohm-Sham Hamiltonian: n-iterations: 100 # Number of diagonalization iterations. eig-threshold: 1e-08 # Convergence threshold on eigenvalues in Hartrees. chefsi: # CheFSI diagonalization of Kohm-Sham Hamiltonian: n-iterations: 100 # Number of diagonalization iterations. eig-threshold: 1e-08 # Convergence threshold on eigenvalues in Hartrees. filter-order: 10 # Order of the Chebyshev filter. init-threshold: 0.1 # Eigenvalue threshold for initial Davidson steps. scf: # Self-consistent field (SCF) iteration parameters: n-iterations: 50 # Number of self-consistent field iterations / cycles. energy-threshold: 1e-08 # Energy convergence threshold in Hartrees. residual-threshold: 1e-07 # Residual-norm convergence threshold. n-consecutive: 2 # Number of consecutive iterations each threshold must be satisfied. n-history: 10 # History size for Pulay mixing. mix-fraction: 0.5 # Fraction of new variable mixed into current variable. mix-fraction-mag: 1.5 # Different mix_fraction for magnetization components. q-kerker: 0.8 # Characteristic wavevector for Kerker mixing. q-metric: 0.8 # Characteristic wavevector controlling Pulay metric. q-kappa: null # Long-range cutoff wavevector for grand-canonical SCF. n-eig-steps: 2 # Number of inner eigenvalue iterations for each SCF cycle. eig-threshold: 1e-08 # Convergence threshold on eigenvalues in Hartrees. mix-density: yes # Whether to mix density or potential.

## Component classes:

## Parameters:

### k-mesh

*Type:* Kmesh, *Default:* null

Uniform k-point mesh for Brillouin-zone integration. Specify only one of k_mesh or k_path.

### k-path

*Type:* Kpath, *Default:* null

Path of k-points through Brillouin zone. (Usually for band structure calculations.) Specify only one of k_mesh or k_path.

### spin-polarized

*Type:* bool, *Default:* no

Whether system has spin polarization / magnetization. (yes if system breaks time reversal symmetry, else no.) Spin polarization is treated explicitly with two sets of orbitals for up and down spins if spinorial = no, and implicitly by each orbital being spinorial if spinorial = yes.

### spinorial

*Type:* bool, *Default:* no

Whether to perform relativistic / spin-orbit calculations. If yes, calculations will use 2-component spinorial wavefunctions.

### fillings

*Type:* Fillings, *Default:* null

Electron occupations and charge / magnetization control.

### basis

*Type:* Basis, *Default:* null

Wavefunction basis set (plane waves).

### xc

*Type:* XC, *Default:* null

Exchange-correlation functional.

### fixed-H

*Type:* string, *Default:*

Fix Hamiltonian from checkpoint file of this name. This is useful for band structure calculations along high-symmetry k-point paths, or for converging large numners of empty states. Default: don’t fix Hamiltonian i.e. self-consistent calculation.

### save-wavefunction

*Type:* bool, *Default:* yes

Whether to save wavefunction in checkpoint. Saving the wavefunction is useful for full post-processing capability directly from the checkpoint, at the expense of much larger checkpoint file. If no, calculations can still use the converged density / potential to resume calculations, but require an initial non-self-consistent calculation. Default: yes.

### lcao

*Type:* LCAO, *Default:* null

Linear combination of atomic orbitals parameters. Set to no to disable and to start with bandwidth-limited random numbers instead. (If starting from a checkpoint with wavefunctions, this option has no effect.)

### davidson

*Type:* Davidson, *Default:* null

Davidson diagonalization of Kohm-Sham Hamiltonian. Specify only one of davidson or chefsi.

### chefsi

*Type:* CheFSI, *Default:* null

CheFSI diagonalization of Kohm-Sham Hamiltonian. Uses the Chebyshev Filter Subspace Iteration (CheFSI) method, which can be advantageous for large number of bands being computed in parallel over a large number of processes. Specify only one of davidson or chefsi.

### scf

*Type:* SCF, *Default:* null

Self-consistent field (SCF) iteration parameters.