# Standard values for level of convergence

In matter modelling we use self consistent approaches for calculating different properties. Many DFT codes find the ground state of the system by determining total energy self consistently. Going through literature on VASP calculations, I see that $$10^{-6}$$ eV is used as standard in many calculations. Also I see that in literature and sample programs the convergence criteria for phonon calculations are more stringent ($$10^{-8}$$ eV) than that for ground state energy calculation. Also for geometry optimisations the default energy convergence criteria is $$10^{-4}$$ eV. We also use total energy convergence for estimating kinetic energy cutoff and k spacing. I see many people using 1 meV as an energy threshold for these calculations.

1. What levels of convergence are considered standard (required) for each type of calculation and Why?

2. Do these thresholds change between codes?

The best way to determine convergence is to look at the orbital gradient: if it is small, then you are sure to be close to an extremal point. (It might still be just a saddle point instead of a local minimum!) Most modern LCAO codes I know rely on this measure of convergence via the DIIS error metric. If the Roothaan-Hall equations are fulfilled, $${\bf FC} = {\bf SCE}$$, then you can show that the density matrix $${\bf P}={\bf C_{\rm occ} C_{\rm occ}^{\rm T}}$$ commutes with the Fock matrix: $${\bf e} = {\bf S P F} - {\bf F P S} = {\bf 0}$$; if the equation does not hold, there is an orbital gradient which is measured by the numerical value of the commutator. (Remember: the Fock matrix is diagonal in the converged MO basis!)
Often, the convergence threshold for the orbital gradient i.e. DIIS error is of the order of $$10^{-5}$$ or smaller for single-point calculations, $$10^{-7}$$ for force calculations, and $$10^{-9}$$ for post-HF calculations. But, there's still many ways in which to measure the norm of the DIIS error: common choices are either the root-mean-square norm $$e = \sqrt{\sum_{ij} e_{ij}^2}$$ or the maximum absolute error $$e = \max_{ij} |e_{ij}|$$. Many programs implement both metrics, and you need to check which one is used by default.