# SCF input documentation

Initialize parameters of self-consistent field iteration (SCF).

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

.

## YAML template:

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.

## Parameters:

### n-iterations

*Type:* int, *Default:* 50

Number of self-consistent field iterations / cycles.

### energy-threshold

*Type:* float, *Default:* 1e-08

Energy convergence threshold in Hartrees. Stop when energy difference between consecutive iterations falls below this threshold.

### residual-threshold

*Type:* float, *Default:* 1e-07

Residual-norm convergence threshold. Stop when the norm of the residual i.e. difference in mixed variable (density / potential) between consecutive iterations falls below this threshold.

### n-consecutive

*Type:* int, *Default:* 2

Number of consecutive iterations each threshold must be satisfied.

### n-history

*Type:* int, *Default:* 10

History size for Pulay mixing. This sets the number of previous residuals and variables to use in the Pulay mixing algorithm. Larger history could improve convergence, while requiring more memory.

### mix-fraction

*Type:* float, *Default:* 0.5

Fraction of new variable mixed into current variable. Lower values (< 0.5) can improve stability, while higher values (0.5 - 1) attempt more aggressive convergence.

### mix-fraction-mag

*Type:* float, *Default:* 1.5

Different mix_fraction for magnetization components. More aggressive fractions (> 1) are typically required to converge the magnetization degrees of freedom, because they tend to contribute less to the overall energy of the system (compared to the overall electron density / potential).

### q-kerker

*Type:* float, *Default:* 0.8

Characteristic wavevector for Kerker mixing.

### q-metric

*Type:* float, *Default:* 0.8

Characteristic wavevector controlling Pulay metric.

### q-kappa

*Type:* float or null, *Default:* null

Long-range cutoff wavevector for grand-canonical SCF. If unspecified, set based on Debye screening length.

### n-eig-steps

*Type:* int, *Default:* 2

Number of inner eigenvalue iterations for each SCF cycle.

### eig-threshold

*Type:* float, *Default:* 1e-08

Convergence threshold on eigenvalues in Hartrees. Stop when the maximum change in any eigenvalue between SCF cycles falls below this threshold.

### mix-density

*Type:* bool, *Default:* yes

Whether to mix density or potential. Mix density if yes, and potential if no.