Jump to content

Requests for technical support from the VASP team should be posted in the VASP Forum.

GW approximation of Hedin's equations

From VASP Wiki

Green's functions

The GW method can be understood in terms of the following eigenvalue equation[1]

(T+Vext+Vh)ϕn𝐤(𝐫)+d𝐫Σ(𝐫,𝐫,ω=En𝐤)ϕn𝐤(𝐫)=En𝐤ϕn𝐤(𝐫)

Here T is the kinetic energy, Vext the external potential of the nuclei, Vh the Hartree potential and En𝐤 the quasiparticle energies with orbitals ϕn𝐤. In contrast to DFT, the exchange-correlation potential is replaced by the many-body self-energy Σ and should be obtained together with the Green's function G, the irreducible polarizability χ, the screened Coulomb interaction W and the irreducible vertex function Γ in a self-consistent procedure. For completeness, these equations are[2]

G(1,2)=G0(1,2)+d(3,4)G0(1,3)Σ(3,4)G(4,2)

χ(1,2)=d(3,4)G(1,3)G(4,1)Γ(3,4;2)

W(1,2)=V(1,2)+d(3,4)V(1,3)χ(3,4)W(4,2)

Σ(1,2)=d(3,4)G(1,3)Γ(3,2;4)W(4,1)

Γ(1,2;3)=δ(1,2)δ(1,3)+d(4,5,6,7)δΣ(1,2)δG(4,5)G(4,6)G(7,5)Γ(6,7;3)

Here the common notation 1=(𝐫1,t1) was adopted and V denotes the bare Coulomb interaction. Note, that these equations are exact and provide an alternative to the Schrödinger equation for the many-body problem. Nevertheless, approximations are necessary for realistic systems. The most popular one is the GW approximation and is obtained by neglecting the equation for the vertex function and using the bare vertex instead:

Γ(1,2;3)=δ(1,2)δ(1,3)

This means that the equations for the polarizability and self-energy reduce to

χ(1,2)=G(1,2)G(2,1)

Σ(1,2)=G(1,2)W(2,1)

while the equations for the Green's function and the screened potential remain the same.

However, in practice, these equations are usually solved in reciprocal space in the frequency domain

W𝐆𝐆(𝐪,ω)=[δ𝐆𝐆χ𝐆𝐆(𝐪,ω)V𝐆𝐆(𝐪)]1V𝐆𝐆(𝐪)

G𝐆𝐆(𝐪,ω)=[δ𝐆𝐆Σ𝐆𝐆(𝐪,ω)G𝐆𝐆(0)(𝐪)]1G𝐆𝐆(0)(𝐪)

In principle Hedin's equations have to be solved self-consistently, where in the first iteration G(0) is the non-interacting Green's function

G(0)(𝐫,𝐫,ω)=n𝐤ϕn𝐤*(0)(𝐫)ϕn𝐤(0)(𝐫)ωEn𝐤(0)

with ϕn𝐤(0) being a set of one-electron orbitals and En𝐤(0) the corresponding energies. Afterwards the polarizability χ(0) is determined, followed by the screened potential W(0) and the self-energy Σ(0). This means that GW calculations require a first guess for the one-electron eigensystem, which is usually taken from a preceding DFT step.

In principle, one has to repeat all steps by the updating the Green's function with the Dyson equation given above in each iteration cycle until self-consistency is reached. In practice, this is hardly ever done due to computational complexity on the one hand (in fact fully self-consistent GW calculations are available as of VASP 6 only).

On the other hand, one observes that by keeping the screened potential W in the first iteration to the DFT level one benefits from error cancelling,[3] which is the reason why often the screening is kept on the DFT level and one aims at self-consistency in Green's function only.

Following possible approaches are applied in practice and selectable within VASP with the ALGO tag.

Single Shot: G0W0

Performing only one GW iteration step is commonly referred to the G0W0 method. Here the self-energy Σ(0) is determined and the corresponding eigenvalue equation is solved.[1] Formally, this is a five step precedure

  • Determine the independent particle polarizability χ𝐆𝐆(0)(𝐪,ω)
  • Determine the screened Coulomb potential W𝐆𝐆(0)(𝐪,ω)
  • Determine the self-energy Σ(0)(𝐫,𝐫,ω)
  • Solve the eigenvalue equation (T+Vext+Vh)ϕn𝐤(𝐫)+d𝐫Σ(0)(𝐫,𝐫,ω=En𝐤(1))ϕn𝐤(𝐫)=En𝐤(1)ϕn𝐤(𝐫) for the quasi-particle energies En𝐤(1).

To save further computation time, the self-energy is linearized with a series expansion around the Kohn-Sham eigenvalues ϵn𝐤

Σ(0)(𝐫,𝐫,ω)Σ(0)(𝐫,𝐫,ϵn𝐤)+Σ(0)ω(𝐫,𝐫,ω)|ω=ϵn𝐤(ωϵn𝐤)

and the renormalization factor Zn𝐤(0)=[1Re(Σ(0)ω(𝐫,𝐫,ω)|ω=ϵn𝐤)]1 is introduced. This allows to obtain the G0W0 quasi-particle energies from following equation[1]

En𝐤(1)=ϵn𝐤+Zn𝐤(0)Re[ϕn𝐤|Δ2+Vext+Vh+Σ(0)(ω=ϵn𝐤)ϵn𝐤|ϕn𝐤]

The G0W0 method avoids the direct computation of the Green's function and neglects self-consistency in G completely. In fact, only the Kohn-Sham energies are updated from ϵn𝐤En𝐤(1), while the orbitals remain unchanged. This is the reason why the G0W0 method is internally selected as of VASP6 with ALGO =EVGW0 ("eigenvalue GW") in combination with NELM=1 to indicate one single iteration, even though the method is commonly known as the G0W0 approach. To keep backwards-compatibility, however, ALGO=G0W0 is still supported in VAS6.

Note that avoiding self-consistency might seem a drastic step at first sight. However, the G0W0 method often yields satisfactory results with band-gaps close to experimental measurements and is often employed for realistic band gap calculations.[4][5]

Partially self-consistent: GW0 or EVGW0

The G0W0 quasi-particle energies can be used to update the poles of the Green's function in the spectral representation G(i)(𝐫,𝐫,ω)=n𝐤ϕn𝐤*(0)(𝐫)ϕn𝐤(0)(𝐫)ωEn𝐤(i) which in turn can be used to update the self-energy via Σ(0)=G(i)W(0). This allows to form a partial self-consistency loop, where the screening is kept on the DFT level. The method is commonly known as GW0, even though only eigenvalues are updated:

  • Determine the independent particle polarizability χ𝐆𝐆(0)(𝐪,ω)
  • Determine the screened Coulomb potential W𝐆𝐆(0)(𝐪,ω) and keep it fixed in the following
  • Determine the self-energy Σ(j)(𝐫,𝐫,ω)=G(j)W(0).
  • Update quasi-particle energies En𝐤(j+1)=ϵn𝐤+Zn𝐤(j)Re[ϕn𝐤|Δ2+Vext+Vh+Σ(j)(ω=En𝐤(j))ϵn𝐤|ϕn𝐤]. In the first iteration use En𝐤(0)=ϵn𝐤

The last two steps are repeated until self-consistency is reached. The GW0 method is computationally slightly more expensive than the single-shot approach, but yields often excellent agreement with experimentally measured band gaps while being computationally affordable at the same time.[4][5]

Note that the GW0 and its single-shot approach do not allow for updates in the Kohn-Sham orbitals ϕn𝐤, merely the eigenvalues are updated. Furthermore, the name GW0 indicates an update in the Green's function as a solution of the Dyson equation, while the used spectral representation of the Green's function above is strictly speaking correct only in the single-shot approach. Since VASP6 allows to update the Green's function from the solution of the corresponding Dyson equation, the commonly known GW0 method is also selectable with ALGO=EVGW0 ("eigenvalue GW") and the number of iteration is set with NELM.

Self-consistent Quasi-particle approximation: scQPGW0

In addition to eigenvalues one can use the self-consistent Quasi-particle GW0 approach (scQPGW0) to update the orbitals ϕn𝐤ψn𝐤(j) as well. This approach was presented first by Faleev et. al,[6] and used a hermitized self-energy Σherm=Σ+Σ2 in the eigenvalue equation to determine both, quasi-particle energies En𝐤 and corresponding orbitals ψn𝐤.

In contrast to the Faleev approach one may consider a generalized eigenvalue problem instead that is obtained consistently from the linearization of the self-energy Σ(E(j+1))Σ(E(j))+ξ(E(j))(E(j+1)E(j)) (where ξ(E(j))=Σ(E(j))/E(j)) and reads[3]

[T+Vext+Vh+Σ(En𝐤(j))ξ(En𝐤(j))En𝐤(j)]𝐇(En𝐤(j))|ψn𝐤(j+1)=En𝐤(j+1)[1ξ(En𝐤(j))]𝐒(En𝐤(j))|ψn𝐤(j+1)

The resulting Hamiltonian 𝐇 and overlap matrix 𝐇 are non-hermitian in general, implying that the resulting orbitals |ψn𝐤(j+1) are not normalized to 1. Therefore, VASP determines the hermitian parts H=𝐇+𝐇2,S=𝐒+𝐒2 and diagonalizes following matrix instead

S1/2HS1/2=UΛU

The resulting diagonal matrix Λ contains the new quasi-particles, while the unitary matrix U determine the new orbitals ψn𝐤(j+1)=mUnmψm𝐤(j+1). The method can be selected in VASP with ALGO=QPGW0. See here for more information.

Low-scaling GW: The Space-time Formalism

The GW implementations in VASP described in the papers of Shishkin et al.[4][5] avoid storage of the Green's function G as well as Fourier transformations between time and frequency domain entirely. That is, all calculations are performed solely on the real frequency axis using Kramers-Kronig transformations for convolutions in the equation of χ and Σ in reciprocal space and results in a relatively high computational cost that scales with N4 (number of electrons).

The scaling with system size can, however, be reduced to N3 by performing a so-called Wick-rotation to imaginary time tiτ.[7]

Following the low scaling ACFDT/RPA algorithms the space-time implementation determines first, the non-interacting Green's function on the imaginary time axis in real space

G(𝐫,𝐫,iτ)=n𝐤ϕn𝐤*(0)(𝐫)ϕn𝐤(0)(𝐫)e(ϵn𝐤μ)τ[Θ(τ)(1fn𝐤)Θ(τ)fn𝐤]

Here Θ is the step function and fn𝐤 the occupation number of the state ϕn𝐤(0). Because the Green's function is non-oscillatory on the imaginary time axis it can be represented on a coarse grid τm, where the number of time points can be selected in VASP via the NOMEGA tag. Usually 12 to 16 points are sufficient for insulators and small band gap systems.[8]

Subsequently, the irreducible polarizability is calculated from a contraction of two imaginary time Green's functions

χ(𝐫,𝐫,iτm)=G(𝐫,𝐫,iτm)G(𝐫,𝐫,iτm)

Afterwards, the same compressed Fourier transformation as for the low scaling ACFDT/RPA algorithm is employed to obtain the irreducible polarizability in reciprocal space on the imaginary frequency axis χ(𝐫,𝐫,iτm)χ𝐆𝐆(𝐪,iωn).[8][9]

The next step is the computation of the screened potential

W𝐆𝐆(𝐪,iωm)=[δ𝐆𝐆χ𝐆𝐆(𝐪,iωm)V𝐆𝐆(𝐪)]1V𝐆𝐆(𝐪)


followed by the inverse Fourier transform W𝐆𝐆(𝐪,iωn)χ(𝐫,𝐫,iτm) and the calculation of the self-energy

Σ(𝐫,𝐫,iτm)=G(𝐫,𝐫,iτm)W(𝐫,𝐫,iτm)

From here, several routes are possible. Apart from the single-shot, EVG0 and QPEVG0 approximations discussed above, which can also be done on the imaginary axis, the space-time formulation allows to solve the full Dyson equation for G(𝐫,𝐫,iτ) with decent computational cost.[10]

References