Skip to main content

KRONOS Physics Notes

All equations below use Rydberg atomic units (ℏ=1\hbar = 1, me=1/2m_e = 1/2, e2=2e^2 = 2, a0=1a_0 = 1), matching the KRONOS source code. Key consequences: kinetic prefactor is 1 (not 1/21/2), Hartree prefactor is 8π8\pi (not 4π4\pi), bare Coulomb potential is −2Z/r-2Z/r (not −Z/r-Z/r).


1. Kohn-Sham DFT Framework​

1.1 Hohenberg-Kohn theorems​

Density Functional Theory rests on two theorems by Hohenberg and Kohn (1964):

  1. The ground-state total energy of an interacting electron system is a unique functional of the electron density n(r)n(\mathbf{r}).
  2. The true ground-state density minimizes this functional.

1.2 Kohn-Sham equations​

Kohn and Sham (1965) reformulated the problem as a set of single-particle equations whose orbitals ψnk\psi_{n\mathbf{k}} reproduce the exact density:

n(r)=∑nkfnk ∣ψnk(r)∣2n(\mathbf{r}) = \sum_{n\mathbf{k}} f_{n\mathbf{k}} \, |\psi_{n\mathbf{k}}(\mathbf{r})|^2

where fnkf_{n\mathbf{k}} are occupation numbers (including k-point weight and spin degeneracy).

The Kohn-Sham equation in Rydberg units reads:

[−∇2+Veff(r)]ψnk(r)=εnk ψnk(r)\bigl[-\nabla^2 + V_\mathrm{eff}(\mathbf{r})\bigr] \psi_{n\mathbf{k}}(\mathbf{r}) = \varepsilon_{n\mathbf{k}} \, \psi_{n\mathbf{k}}(\mathbf{r})

where the effective potential is:

Veff(r)=VH(r)+Vxc(r)+Vloc(r)V_\mathrm{eff}(\mathbf{r}) = V_H(\mathbf{r}) + V_{xc}(\mathbf{r}) + V_\mathrm{loc}(\mathbf{r})

plus the nonlocal pseudopotential operator V^NL\hat{V}_\mathrm{NL} acting in reciprocal space. Since VeffV_\mathrm{eff} depends on nn, which depends on the orbitals, which depend on VeffV_\mathrm{eff}, the equations must be solved self-consistently (the SCF loop).

1.3 Total energy functional​

The total energy in Rydberg units is:

Etot=Eband−EH+Exc−∫Vxc(r) n(r) dr+EEwaldE_\mathrm{tot} = E_\mathrm{band} - E_H + E_{xc} - \int V_{xc}(\mathbf{r}) \, n(\mathbf{r}) \, d\mathbf{r} + E_\mathrm{Ewald}

where Eband=∑nkfnk εnkE_\mathrm{band} = \sum_{n\mathbf{k}} f_{n\mathbf{k}} \, \varepsilon_{n\mathbf{k}} is the sum of eigenvalues. The double-counting corrections (−EH-E_H and −∫Vxc n-\int V_{xc} \, n) remove terms counted twice in EbandE_\mathrm{band}. The Ewald energy EEwaldE_\mathrm{Ewald} is the classical ion-ion interaction.

In code (scf.cpp), the band energy decomposition is:

Eband=Ekin+2EH+Eloc+ENL+∫Vxc nE_\mathrm{band} = E_\mathrm{kin} + 2 E_H + E_\mathrm{loc} + E_\mathrm{NL} + \int V_{xc} \, n

from which the kinetic energy is extracted as:

Ekin=Eband−2EH−Eloc−ENL−∫Vxc nE_\mathrm{kin} = E_\mathrm{band} - 2 E_H - E_\mathrm{loc} - E_\mathrm{NL} - \int V_{xc} \, n

For metallic systems with smearing, the free energy includes an entropy term −TS-TS that regularizes partial occupations near the Fermi level.


2. Plane-Wave Formalism​

2.1 Bloch theorem and plane-wave expansion​

In a periodic crystal, Bloch's theorem states:

ψnk(r)=eik⋅r unk(r)\psi_{n\mathbf{k}}(\mathbf{r}) = e^{i\mathbf{k}\cdot\mathbf{r}} \, u_{n\mathbf{k}}(\mathbf{r})

where unku_{n\mathbf{k}} has the periodicity of the lattice. Expanding unku_{n\mathbf{k}} in reciprocal lattice vectors G\mathbf{G}:

ψnk(r)=∑Gcnk(G) ei(k+G)⋅r\psi_{n\mathbf{k}}(\mathbf{r}) = \sum_{\mathbf{G}} c_{n\mathbf{k}}(\mathbf{G}) \, e^{i(\mathbf{k}+\mathbf{G})\cdot\mathbf{r}}

KRONOS stores and manipulates the coefficients cnk(G)c_{n\mathbf{k}}(\mathbf{G}) as complex128 (double-precision complex) vectors.

2.2 Kinetic energy cutoff​

The basis is truncated by the energy cutoff ecutwfc (in Ry):

∣k+G∣2≤Ecut|\mathbf{k}+\mathbf{G}|^2 \le E_\mathrm{cut}

Note the absence of the factor 1/21/2 --- in Rydberg units the kinetic energy operator is −∇2-\nabla^2, so TG=∣k+G∣2T_\mathbf{G} = |\mathbf{k}+\mathbf{G}|^2.

KRONOS uses a shared G-vector basis expanded to cover all k-points: the basis includes every G\mathbf{G} satisfying ∣k+G∣2≤Ecut|\mathbf{k}+\mathbf{G}|^2 \le E_\mathrm{cut} for any k-point in the irreducible Brillouin zone. When applying H∣ψ⟩H|\psi\rangle at a specific k-point, G-vectors outside the per-k cutoff are masked to zero and assigned a high energy wall (10410^4 Ry) so the Davidson solver drives their amplitudes to zero.

2.3 FFT dual representation​

Plane waves make two operations diagonal in complementary spaces:

OperationDiagonal inCost
Kinetic energy T∥ψ⟩T\|\psi\rangleG-space: $\mathbf{k}+\mathbf{G}
Local potential V∥ψ⟩V\|\psi\rangleReal space: V(r) ψ(r)V(\mathbf{r}) \, \psi(\mathbf{r})O(Ngrid)O(N_\mathrm{grid})

Switching between representations costs O(Nlog⁡N)O(N \log N) via FFT. The density cutoff grid satisfies ecutrho ≥4×\ge 4 \times ecutwfc for norm-conserving PPs, ensuring that the product V(r)ψ(r)V(\mathbf{r})\psi(\mathbf{r}) is alias-free.

2.4 K-point sampling​

KRONOS generates Monkhorst-Pack k-point grids. The k-point formula is:

ki=2ni−Ni−12Ni+si2Nik_i = \frac{2n_i - N_i - 1}{2N_i} + \frac{s_i}{2N_i}

where ni=1,…,Nin_i = 1, \ldots, N_i, and si∈{0,1}s_i \in \{0, 1\} is the grid shift. Time-reversal symmetry (k↔−k\mathbf{k} \leftrightarrow -\mathbf{k}) and, when spglib is available, full space-group symmetry reduce the grid to the irreducible Brillouin zone.


3. Pseudopotential Theory​

3.1 Why pseudopotentials​

Core electrons create rapid wavefunction oscillations near nuclei that demand enormous plane-wave cutoffs. Pseudopotentials replace the true ionic potential plus core electrons with a smooth effective potential that reproduces the correct valence physics outside a cutoff radius rcr_c.

3.2 Norm-conserving condition​

KRONOS v0.1 uses norm-conserving pseudopotentials, which satisfy:

∫0rc∣ϕ~l(r)∣2 r2 dr=∫0rc∣ϕl(r)∣2 r2 dr\int_0^{r_c} |\tilde\phi_l(r)|^2 \, r^2 \, dr = \int_0^{r_c} |\phi_l(r)|^2 \, r^2 \, dr

This guarantees correct scattering properties and transferability. KRONOS verifies this condition when loading UPF pseudopotential files.

3.3 Kleinman-Bylander separable form​

The semilocal pseudopotential VPS=Vloc(r)+∑l∣l⟩δVl⟨l∣V_\mathrm{PS} = V_\mathrm{loc}(r) + \sum_l |l\rangle \delta V_l \langle l| is separated into local and nonlocal parts. The nonlocal part is written in the efficient Kleinman-Bylander separable form:

V^NL=∑a,i,j∣βia⟩ Dija ⟨βja∣\hat{V}_\mathrm{NL} = \sum_{a,i,j} |\beta_i^a\rangle \, D_{ij}^a \, \langle\beta_j^a|

where βia\beta_i^a are projector functions centered on atom aa, and DijaD_{ij}^a is the coupling matrix (block-diagonal in angular momentum quantum numbers l,ml, m). Each UPF beta projector with angular momentum ll generates 2l+12l+1 expanded projectors indexed by m=−l,…,+lm = -l, \ldots, +l.

3.4 Nonlocal projectors in reciprocal space​

The projectors are evaluated in reciprocal space via spherical Bessel transforms:

βi,lma(k+G)=4πΩ il ∫0∞r βiUPF(r) jl(∣k+G∣r) dr  ⋅  Ylm(k+G^)  ⋅  e−i(k+G)⋅τa\beta_{i,lm}^a(\mathbf{k}+\mathbf{G}) = \frac{4\pi}{\sqrt{\Omega}} \, i^l \, \int_0^\infty r \, \beta_i^\mathrm{UPF}(r) \, j_l(|\mathbf{k}+\mathbf{G}|r) \, dr \;\cdot\; Y_{lm}(\widehat{\mathbf{k}+\mathbf{G}}) \;\cdot\; e^{-i(\mathbf{k}+\mathbf{G})\cdot\boldsymbol{\tau}_a}

Note: UPF files store rβ(r)r\beta(r), so the integrand is r⋅βUPFr \cdot \beta^\mathrm{UPF}, not r2⋅βr^2 \cdot \beta. The radial integrals are evaluated by Simpson's rule on the UPF radial mesh, and spherical Bessel functions jlj_l are computed analytically for l≤3l \le 3 with upward recurrence for l≥4l \ge 4.

Applying V^NL∣ψ⟩\hat{V}_\mathrm{NL}|\psi\rangle requires:

  1. Compute projections: Pja=⟨βja∣ψ⟩=∑Gβja∗(k+G) ψ(G)P_j^a = \langle\beta_j^a|\psi\rangle = \sum_\mathbf{G} \beta_j^{a*}(\mathbf{k}+\mathbf{G}) \, \psi(\mathbf{G})
  2. Apply DD matrix: cia=∑jDija Pjac_i^a = \sum_j D_{ij}^a \, P_j^a
  3. Expand: (V^NL∣ψ⟩)G=∑a,icia βia(k+G)(\hat{V}_\mathrm{NL}|\psi\rangle)_\mathbf{G} = \sum_{a,i} c_i^a \, \beta_i^a(\mathbf{k}+\mathbf{G})

3.5 Coulomb tail subtraction for Vloc(G)V_\mathrm{loc}(G)​

The local potential Vloc(r)→−2Zv/rV_\mathrm{loc}(r) \to -2Z_v/r at large rr (Rydberg Coulomb tail), making the direct Fourier integral poorly convergent. KRONOS splits:

Vloc(r)=[Vloc(r)+2Zverf⁡(r/σ)/r]⏟Vshort(r), numerical FT+[−2Zverf⁡(r/σ)/r]⏟Vlong(r), analytic FTV_\mathrm{loc}(r) = \underbrace{\bigl[V_\mathrm{loc}(r) + 2Z_v \operatorname{erf}(r/\sigma)/r\bigr]}_{V_\mathrm{short}(r),\ \text{numerical FT}} + \underbrace{\bigl[-2Z_v \operatorname{erf}(r/\sigma)/r\bigr]}_{V_\mathrm{long}(r),\ \text{analytic FT}}

The short-range part Vshort(r)→0V_\mathrm{short}(r) \to 0 rapidly and its Fourier transform converges with a modest radial mesh. The analytic Fourier transform of the long-range part is:

V~long(q)=−8πZvq2e−q2σ2/4\widetilde{V}_\mathrm{long}(q) = -\frac{8\pi Z_v}{q^2} e^{-q^2\sigma^2/4}

At q=0q = 0 the 1/q21/q^2 divergence cancels with the Hartree G=0G=0 term (both set to zero) and the Ewald charged-cell correction. The finite remainder kept is +2πZvσ2+2\pi Z_v \sigma^2. KRONOS uses σ=1\sigma = 1 bohr. The full form factor is:

Vloc(q)=1Ω[4π∫0∞r2Vshort(r)sin⁡(qr)qrdr+V~long(q)]V_\mathrm{loc}(q) = \frac{1}{\Omega}\left[4\pi \int_0^\infty r^2 V_\mathrm{short}(r) \frac{\sin(qr)}{qr} dr + \widetilde{V}_\mathrm{long}(q)\right]


4. Exchange-Correlation​

4.1 LDA: Perdew-Zunger parametrization​

In LDA the XC energy depends only on the local density:

ExcLDA[n]=∫n(r) εxc(n(r)) drE_{xc}^\mathrm{LDA}[n] = \int n(\mathbf{r}) \, \varepsilon_{xc}(n(\mathbf{r})) \, d\mathbf{r}

The XC potential entering the Kohn-Sham equations is the functional derivative:

Vxc(r)=δExcδn=εxc(n)+ndεxcdnV_{xc}(\mathbf{r}) = \frac{\delta E_{xc}}{\delta n} = \varepsilon_{xc}(n) + n \frac{d\varepsilon_{xc}}{dn}

Exchange (Slater). In Rydberg units, the exchange energy density per electron is:

εx(n)=−2(34π)1/3n1/3=−32(3π)1/3n1/3\varepsilon_x(n) = -2 \left(\frac{3}{4\pi}\right)^{1/3} n^{1/3} = -\frac{3}{2} \left(\frac{3}{\pi}\right)^{1/3} n^{1/3}

with potential Vx=(4/3)εxV_x = (4/3)\varepsilon_x. The factor of 2 relative to Hartree units comes from the Ry conversion.

Correlation (Perdew-Zunger 1981). The Ceperley-Alder quantum Monte Carlo correlation energy for the homogeneous electron gas is parametrized in terms of rs=(3/4πn)1/3r_s = (3/4\pi n)^{1/3}:

  • For rs≥1r_s \ge 1: εc=γ/(1+β1rs+β2rs)\varepsilon_c = \gamma / (1 + \beta_1 \sqrt{r_s} + \beta_2 r_s), with Rydberg parameters γ=−0.2846\gamma = -0.2846, β1=1.0529\beta_1 = 1.0529, β2=0.3334\beta_2 = 0.3334.
  • For rs<1r_s < 1: εc=Aln⁡rs+B+C rsln⁡rs+D rs\varepsilon_c = A \ln r_s + B + C \, r_s \ln r_s + D \, r_s, with Rydberg parameters A=0.0622A = 0.0622, B=−0.096B = -0.096, C=0.004C = 0.004, D=−0.0232D = -0.0232.

The correlation potential is Vc=εc−(rs/3) dεc/drsV_c = \varepsilon_c - (r_s/3) \, d\varepsilon_c/dr_s.

When libxc is available, KRONOS delegates to it (with a factor of 2 for Ry conversion); otherwise it uses the built-in implementation above.

4.2 GGA: PBE functional​

GGA functionals also depend on the density gradient:

ExcGGA[n]=∫n(r) εxc(n,∣∇n∣2) drE_{xc}^\mathrm{GGA}[n] = \int n(\mathbf{r}) \, \varepsilon_{xc}(n, |\nabla n|^2) \, d\mathbf{r}

The GGA potential has an additional correction beyond the LDA-like ∂εxc/∂n\partial\varepsilon_{xc}/\partial n term:

VxcGGA=∂(nεxc)∂n−2∇⋅[∂(nεxc)∂(∇n)]V_{xc}^\mathrm{GGA} = \frac{\partial (n\varepsilon_{xc})}{\partial n} - 2\nabla\cdot\left[\frac{\partial(n\varepsilon_{xc})}{\partial(\nabla n)}\right]

In KRONOS, the gradient ∇n\nabla n is computed in G-space (iG n(G)i\mathbf{G}\,n(\mathbf{G})) for each Cartesian direction, inverse-FFTed to real space, and the scalar σ=∣∇n∣2\sigma = |\nabla n|^2 is formed pointwise. The divergence correction −2∇⋅(vσ∇n)-2\nabla\cdot(v_\sigma \nabla n) is computed by forming hd(r)=vσ(r)⋅(∂n/∂xd)(r)h_d(\mathbf{r}) = v_\sigma(\mathbf{r}) \cdot (\partial n / \partial x_d)(\mathbf{r}), FFTing to G-space, multiplying by iGdi G_d, and summing the three Cartesian components.


5. Hartree Potential​

The Hartree (electron-electron Coulomb) potential in Rydberg units is diagonal in reciprocal space:

VH(G)=8π n(G)∣G∣2V_H(\mathbf{G}) = \frac{8\pi \, n(\mathbf{G})}{|\mathbf{G}|^2}

The prefactor 8π=2×4π8\pi = 2 \times 4\pi accounts for the Rydberg unit convention. The G=0\mathbf{G} = 0 component is set to zero; this arbitrary constant cancels with the ionic G=0G=0 terms and the Ewald correction.

The Hartree energy is:

EH=Ω2∑GVH∗(G) n(G)E_H = \frac{\Omega}{2} \sum_\mathbf{G} V_H^*(\mathbf{G}) \, n(\mathbf{G})

In the KRONOS FFT convention, both VHV_H and nn carry a factor of NgridN_\mathrm{grid} relative to the physics convention, so the energy formula includes a normalization by Ngrid2N_\mathrm{grid}^2.


6. Ewald Summation​

6.1 The problem​

The electrostatic energy of periodic point charges:

Eion=e22\sideset′∑i,j,TZiZj∣ri−rj+T∣E_\mathrm{ion} = \frac{e^2}{2} \sideset{}{'}\sum_{i,j,\mathbf{T}} \frac{Z_i Z_j}{|\mathbf{r}_i - \mathbf{r}_j + \mathbf{T}|}

converges only conditionally (the 1/r1/r tail extends over all lattice images). In Rydberg units e2=2e^2 = 2.

6.2 Ewald splitting​

Split 1/r1/r into a short-range and a smooth long-range part:

1r=erfc⁡(ηr)r+erf⁡(ηr)r\frac{1}{r} = \frac{\operatorname{erfc}(\eta r)}{r} + \frac{\operatorname{erf}(\eta r)}{r}

The parameter η\eta balances real- and reciprocal-space convergence. KRONOS chooses η=π (Natoms/Ω2)1/6\eta = \sqrt{\pi}\,(N_\mathrm{atoms}/\Omega^2)^{1/6}.

6.3 Four energy terms​

Real-space sum (short-range, converges exponentially):

Ereal=e22\sideset′∑i,j,TZiZjerfc⁡(η ∣rij+T∣)∣rij+T∣E_\mathrm{real} = \frac{e^2}{2} \sideset{}{'}\sum_{i,j,\mathbf{T}} Z_i Z_j \frac{\operatorname{erfc}(\eta\,|\mathbf{r}_{ij}+\mathbf{T}|)}{|\mathbf{r}_{ij}+\mathbf{T}|}

The real-space cutoff is Rcut=max⁡(6/η,−ln⁡ϵ/η)R_\mathrm{cut} = \max(6/\eta, \sqrt{-\ln\epsilon}/\eta) where ϵ=10−12\epsilon = 10^{-12}.

Reciprocal-space sum (smooth part, converges exponentially):

Erecip=e224πΩ∑G≠0e−∣G∣2/4η2∣G∣2 ∣S(G)∣2E_\mathrm{recip} = \frac{e^2}{2} \frac{4\pi}{\Omega} \sum_{\mathbf{G}\ne 0} \frac{e^{-|\mathbf{G}|^2/4\eta^2}}{|\mathbf{G}|^2} \, |S(\mathbf{G})|^2

where S(G)=∑iZie−iG⋅riS(\mathbf{G}) = \sum_i Z_i e^{-i\mathbf{G}\cdot\mathbf{r}_i} is the ionic structure factor. The reciprocal cutoff is Gcut2=−4η2ln⁡ϵG_\mathrm{cut}^2 = -4\eta^2 \ln\epsilon.

Self-energy correction (removes spurious self-interaction):

Eself=−e2ηπ∑iZi2E_\mathrm{self} = -e^2 \frac{\eta}{\sqrt{\pi}} \sum_i Z_i^2

Charged-cell correction (nonzero only for non-neutral cells):

Echarged=−e22πΩη2(∑iZi)2E_\mathrm{charged} = -\frac{e^2}{2} \frac{\pi}{\Omega\eta^2} \left(\sum_i Z_i\right)^2


7. Hellmann-Feynman Forces​

At SCF convergence, the force on atom II is:

FI=−∂Etot∂RI\mathbf{F}_I = -\frac{\partial E_\mathrm{tot}}{\partial \mathbf{R}_I}

The total force decomposes into three contributions: Ewald, local PP, and nonlocal PP.

7.1 Ewald forces​

Real-space contribution. Differentiating ErealE_\mathrm{real} with respect to ri\mathbf{r}_i:

Fireal=−e2\sideset′∑j,TZiZj[erfc⁡(ηr)r2+2ηπe−η2r2r]rij+Tr\mathbf{F}_i^\mathrm{real} = -e^2 \sideset{}{'}\sum_{j,\mathbf{T}} Z_i Z_j \left[\frac{\operatorname{erfc}(\eta r)}{r^2} + \frac{2\eta}{\sqrt\pi} \frac{e^{-\eta^2 r^2}}{r}\right] \frac{\mathbf{r}_{ij}+\mathbf{T}}{r}

where r=∣rj−ri+T∣r = |\mathbf{r}_j - \mathbf{r}_i + \mathbf{T}|. The factor of 2 from the double sum (i,j)(i,j) and (j,i)(j,i) cancels the 1/21/2 prefactor.

Reciprocal-space contribution. The derivative acts on ∣S(G)∣2|S(\mathbf{G})|^2 through the phase factor of atom ii:

Firecip=e2⋅4πΩZi∑G≠0e−G2/4η2G2 G[Srsin⁡(G⋅ri)+Sicos⁡(G⋅ri)]\mathbf{F}_i^\mathrm{recip} = \frac{e^2 \cdot 4\pi}{\Omega} Z_i \sum_{\mathbf{G}\ne 0} \frac{e^{-G^2/4\eta^2}}{G^2} \, \mathbf{G} \left[S_r \sin(\mathbf{G}\cdot\mathbf{r}_i) + S_i \cos(\mathbf{G}\cdot\mathbf{r}_i)\right]

where S(G)=Sr+iSiS(\mathbf{G}) = S_r + i S_i.

7.2 Local PP forces​

FIloc=−∂∂RI∑GVloc(G) n∗(G)\mathbf{F}_I^\mathrm{loc} = -\frac{\partial}{\partial\mathbf{R}_I} \sum_\mathbf{G} V_\mathrm{loc}(\mathbf{G}) \, n^*(\mathbf{G})

The position dependence enters through the structure factor S(G)S(\mathbf{G}) in Vloc(G)V_\mathrm{loc}(\mathbf{G}). The derivative of e−iG⋅τIe^{-i\mathbf{G}\cdot\boldsymbol{\tau}_I} produces a factor of −iG-i\mathbf{G}, giving:

FIloc[d]=Ω∑G≠0Vlocs(∣G∣) Gd[nrsin⁡(G⋅τI)+nicos⁡(G⋅τI)]F_I^{\mathrm{loc}}[d] = \Omega \sum_{\mathbf{G}\ne 0} V_\mathrm{loc}^s(|\mathbf{G}|) \, G_d \left[n_r \sin(\mathbf{G}\cdot\boldsymbol{\tau}_I) + n_i \cos(\mathbf{G}\cdot\boldsymbol{\tau}_I)\right]

where n(G)=nr+inin(\mathbf{G}) = n_r + i n_i and VlocsV_\mathrm{loc}^s is the per-species form factor (excluding the structure factor). The G=0\mathbf{G} = 0 term vanishes identically.

7.3 Nonlocal PP forces​

FINL=−∑nkfnk∂∂RI⟨ψnk∣V^NL∣ψnk⟩\mathbf{F}_I^\mathrm{NL} = -\sum_{n\mathbf{k}} f_{n\mathbf{k}} \frac{\partial}{\partial\mathbf{R}_I} \langle\psi_{n\mathbf{k}}|\hat{V}_\mathrm{NL}|\psi_{n\mathbf{k}}\rangle

The derivative acts on the projectors βia\beta_i^a through the phase e−i(k+G)⋅τae^{-i(\mathbf{k}+\mathbf{G})\cdot\boldsymbol{\tau}_a}:

∂βia(G)∂τad=−i(k+G)d βia(G)\frac{\partial \beta_i^a(\mathbf{G})}{\partial \tau_a^d} = -i(k+G)_d \, \beta_i^a(\mathbf{G})

Defining Pj=⟨βj∣ψ⟩P_j = \langle\beta_j|\psi\rangle and ∂Pi/∂τd=i∑G(k+G)d βi∗(G) ψ(G)\partial P_i / \partial\tau^d = i \sum_\mathbf{G} (k+G)_d \, \beta_i^*(\mathbf{G}) \, \psi(\mathbf{G}), the force becomes:

FINL[d]=−∑nkfnk∑i,jDij⋅2 Re ⁣[Pj‾∂Pi∂τd]F_I^{\mathrm{NL}}[d] = -\sum_{n\mathbf{k}} f_{n\mathbf{k}} \sum_{i,j} D_{ij} \cdot 2\,\mathrm{Re}\!\left[\overline{P_j} \frac{\partial P_i}{\partial\tau^d}\right]

7.4 Pulay forces​

For a complete (converged) plane-wave basis, Pulay forces vanish exactly because the basis does not depend on atomic positions. This is a major advantage over localized basis sets.

7.5 Force symmetrization​

When spglib is available, KRONOS symmetrizes the computed forces under the full crystal point group. For each symmetry operation (R,t)(R, \mathbf{t}):

Fisym=1Nops∑opsRcart Fjraw\mathbf{F}_i^\mathrm{sym} = \frac{1}{N_\mathrm{ops}} \sum_{\mathrm{ops}} R_\mathrm{cart} \, \mathbf{F}_j^\mathrm{raw}

where atom jj maps to atom ii under the operation. This enforces the symmetry that is broken by using IBZ k-points with different active plane-wave counts.


8. SCF Convergence Methods​

8.1 Davidson iterative eigensolver​

KRONOS uses the block Davidson iterative diagonalization to find the lowest NbandsN_\mathrm{bands} eigenvalues of H∣ψ⟩=ε∣ψ⟩H|\psi\rangle = \varepsilon|\psi\rangle without forming or storing HH explicitly.

Algorithm outline for each k-point:

  1. Start with NbandsN_\mathrm{bands} trial vectors {∣vi⟩}\{|v_i\rangle\}
  2. Apply HH to all trial vectors: ∣Hvi⟩|Hv_i\rangle
  3. Build the projected (Rayleigh-Ritz) matrix Hijsub=⟨vi∣H∣vj⟩H_{ij}^\mathrm{sub} = \langle v_i|H|v_j\rangle and diagonalize
  4. Compute residuals ∣ri⟩=(H−θi)∣ui⟩|r_i\rangle = (H - \theta_i)|u_i\rangle where θi,∣ui⟩\theta_i, |u_i\rangle are Ritz values/vectors
  5. Precondition: ∣δi⟩=(TG−θi)−1∣ri⟩|\delta_i\rangle = (T_\mathbf{G} - \theta_i)^{-1}|r_i\rangle using the kinetic-energy diagonal
  6. Expand the subspace: add {∣δi⟩}\{|\delta_i\rangle\} to the trial set (Gram-Schmidt orthogonalize)
  7. Repeat from step 2 until ∥ri∥<tol\|r_i\| < \mathrm{tol} for all wanted states

The subspace dimension is capped at 3×Nbands3 \times N_\mathrm{bands}; when exceeded, the basis is collapsed back to the current Ritz vectors. If the Davidson solver diverges (residual >103> 10^3), KRONOS auto-switches to LOBPCG for that k-point.

8.2 DIIS / Pulay density mixing​

The SCF loop mixes input and output densities to damp charge sloshing. KRONOS uses Pulay (DIIS) mixing with a history of M=8M = 8 steps and a linear mixing parameter α=0.2\alpha = 0.2.

Given input densities {niin}\{n_i^\mathrm{in}\} and residuals Ri=niout−niinR_i = n_i^\mathrm{out} - n_i^\mathrm{in}, DIIS finds coefficients {ci}\{c_i\} that minimize ∥∑iciRi∥2\|\sum_i c_i R_i\|^2 subject to ∑ici=1\sum_i c_i = 1. This involves solving the linear system:

(B11⋯B1M1⋮⋱⋮⋮BM1⋯BMM11⋯10)(c1⋮cMλ)=(0⋮01)\begin{pmatrix} B_{11} & \cdots & B_{1M} & 1 \\ \vdots & \ddots & \vdots & \vdots \\ B_{M1} & \cdots & B_{MM} & 1 \\ 1 & \cdots & 1 & 0 \end{pmatrix} \begin{pmatrix} c_1 \\ \vdots \\ c_M \\ \lambda \end{pmatrix} = \begin{pmatrix} 0 \\ \vdots \\ 0 \\ 1 \end{pmatrix}

where Bij=⟨Ri∣Rj⟩B_{ij} = \langle R_i | R_j \rangle. The new input density is:

nnewin=∑ici[niin+α Ri]n^\mathrm{in}_\mathrm{new} = \sum_i c_i \bigl[n_i^\mathrm{in} + \alpha \, R_i\bigr]

8.3 Kerker preconditioning​

For metals, a Kerker preconditioner suppresses long-wavelength charge sloshing by filtering the residual in G-space:

Rprecond(G)=R(G)⋅∣G∣2∣G∣2+q02R_\mathrm{precond}(\mathbf{G}) = R(\mathbf{G}) \cdot \frac{|\mathbf{G}|^2}{|\mathbf{G}|^2 + q_0^2}

This damps the G→0\mathbf{G} \to 0 components that cause the metallic screening instability. KRONOS uses q0=1.5q_0 = 1.5 bohr−1^{-1} and activates Kerker preconditioning automatically when Gaussian or Fermi-Dirac smearing is enabled.

8.4 Convergence criteria​

KRONOS checks both criteria each SCF step:

  • Energy convergence: ∣E(i)−E(i−1)∣<εE|E^{(i)} - E^{(i-1)}| < \varepsilon_E (primary criterion, default 10−610^{-6} Ry)
  • Density convergence: ∥Δn∥G/Ne<εn\|\Delta n\|_\mathrm{G} / N_e < \varepsilon_n (secondary criterion, G-space L2 norm)

Energy convergence is the more physically meaningful measure: it is variational and directly determines the accuracy of total energies and forces. The density residual is computed in G-space (PW components only) to avoid aliasing artifacts from the real-space grid.

The SCF loop aborts with a diagnostic if energy oscillates by more than 1 Ry between consecutive steps after step 15 (indicating a fundamental problem such as incorrect pseudopotential or basis).

8.5 Initial density​

The initial electron density is constructed from the superposition of atomic charge densities read from UPF files:

n0(G)=1Ω∑sρsatom(∣G∣) Ss(G)n_0(\mathbf{G}) = \frac{1}{\Omega} \sum_s \rho_s^\mathrm{atom}(|\mathbf{G}|) \, S_s(\mathbf{G})

where ρsatom(q)=∫ρsUPF(r) sinc(qr) dr\rho_s^\mathrm{atom}(q) = \int \rho_s^\mathrm{UPF}(r) \, \mathrm{sinc}(qr) \, dr is the radial Fourier transform of the UPF atomic density (which stores 4πr2ρ(r)4\pi r^2 \rho(r)). If no atomic densities are available, a uniform density n0=Ne/Ωn_0 = N_e / \Omega is used.


References​

  1. P. Hohenberg and W. Kohn, Phys. Rev. 136, B864 (1964).
  2. W. Kohn and L. J. Sham, Phys. Rev. 140, A1133 (1965).
  3. J. P. Perdew and A. Zunger, Phys. Rev. B 23, 5048 (1981).
  4. L. Kleinman and D. M. Bylander, Phys. Rev. Lett. 48, 1425 (1982).
  5. P. P. Ewald, Ann. Phys. 369, 253 (1921).
  6. H. J. Monkhorst and J. D. Pack, Phys. Rev. B 13, 5188 (1976).
  7. P. Pulay, Chem. Phys. Lett. 73, 393 (1980).
  8. E. R. Davidson, J. Comput. Phys. 17, 87 (1975).
  9. G. P. Kerker, Phys. Rev. B 23, 3082 (1981).
  10. J. P. Perdew, K. Burke, and M. Ernzerhof, Phys. Rev. Lett. 77, 3865 (1996).