GW approximation of Hedin's equations

From VASP Wiki
Revision as of 11:56, 24 July 2019 by Kaltakm (talk | contribs)

Green's functions

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

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): (T+V_{{ext}}+V_{h})\phi _{{n{{\bf {k}}}}}({{\bf {r}}})+\int d{{\bf {r}}}\Sigma ({{\bf {r}}},{{\bf {r}}}',\omega =E_{{n{{\bf {k}}}}})\phi _{{n{{\bf {k}}}}}({{\bf {r}}}')=E_{{n{{\bf {k}}}}}\phi _{{n{{\bf {k}}}}}({{\bf {r}}})

Here Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): T is the kinetic energy, Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): V_{{ext}} the external potential of the nuclei, Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): V_{h} the Hartree potential and Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): E_{{n{{\bf {k}}}}} the quasiparticle energies with orbitals Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): \phi _{{n{{\bf {k}}}}} . In contrast to DFT, the exchange-correlation potential is replaced by the many-body self-energy Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): \Sigma and should be obtained together with the Green's function Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): G , the irreducible polarizability Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): \chi , the screened Coulomb interaction Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): W and the irreducible vertex function Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): \Gamma in a self-consistent procedure. For completeness, these equations are[2]

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): G(1,2)=G_{0}(1,2)+\int d(3,4)G_{0}(1,3)\Sigma (3,4)G(4,2)

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): \chi (1,2)=\int d(3,4)G(1,3)G(4,1)\Gamma (3,4;2)

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): W(1,2)=V(1,2)+\int d(3,4)V(1,3)\chi (3,4)W(4,2)

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): \Sigma (1,2)=\int d(3,4)G(1,3)\Gamma (3,2;4)W(4,1)

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): \Gamma (1,2;3)=\delta (1,2)\delta (1,3)+\int d(4,5,6,7){\frac {\delta \Sigma (1,2)}{\delta G(4,5)}}G(4,6)G(7,5)\Gamma (6,7;3)

Here the common notation Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): 1=({{\bf {r}}}_{1},t_{1}) was adopted and Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): 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:

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): \Gamma (1,2;3)=\delta (1,2)\delta (1,3)

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

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): \chi (1,2)=G(1,2)G(2,1)

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): \Sigma (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

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): W_{{{{\bf {G}}}{{\bf {G}}}'}}({{\bf {q}}},\omega )=\left[\delta _{{{{\bf {G}}}{{\bf {G}}}'}}-\chi _{{{{\bf {G}}}{{\bf {G}}}'}}({{\bf {q}}},\omega )V_{{{{\bf {G}}}{{\bf {G}}}'}}({{\bf {q}}})\right]^{{-1}}V_{{{{\bf {G}}}{{\bf {G}}}'}}({{\bf {q}}})

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): G_{{{{\bf {G}}}{{\bf {G}}}'}}({{\bf {q}}},\omega )=\left[\delta _{{{{\bf {G}}}{{\bf {G}}}'}}-\Sigma _{{{{\bf {G}}}{{\bf {G}}}'}}({{\bf {q}}},\omega )G_{{{{\bf {G}}}{{\bf {G}}}'}}^{{(0)}}({{\bf {q}}})\right]^{{-1}}G_{{{{\bf {G}}}{{\bf {G}}}'}}^{{(0)}}({{\bf {q}}})

In principle Hedin's equations have to be solved self-consistently, where in the first iteration Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): G^{{(0)}} is the non-interacting Green's function

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): G^{{(0)}}({{\bf {r}}},{{\bf {r}}}',\omega )=\sum _{{n{{\bf {k}}}}}{\frac {\phi _{{n{{\bf {k}}}}}^{{*(0)}}({{\bf {r}}})\phi _{{n{{\bf {k}}}}}^{{(0)}}({{\bf {r}}}')}{\omega -E_{{n{{\bf {k}}}}}^{{(0)}}}}

with Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): \phi _{{n{{\bf {k}}}}}^{{(0)}} being a set of one-electron orbitals and Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): E_{{n{{\bf {k}}}}}^{{(0)}} the corresponding energies. Afterwards the polarizability Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): \chi ^{{(0)}} is determined, followed by the screened potential Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): W^{{(0)}} and the self-energy Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): \Sigma ^{{(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 Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): 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 Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): \Sigma ^{{(0)}} is determined and the corresponding eigenvalue equation is solved.[1] Formally, this is a five step precedure

  • Determine the independent particle polarizability Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): \chi _{{{\bf {GG'}}}}^{{(0)}}({{\bf {q}}},\omega )
  • Determine the screened Coulomb potential Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): W_{{{\bf {GG'}}}}^{{(0)}}({{\bf {q}}},\omega )
  • Determine the self-energy Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): \Sigma ^{{(0)}}({{\bf {r,r'}}},\omega )
  • Solve the eigenvalue equation Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): (T+V_{{ext}}+V_{h})\phi _{{n{{\bf {k}}}}}({{\bf {r}}})+\int d{{\bf {r}}}\Sigma ^{{(0)}}\left({{\bf {r}}},{{\bf {r}}}',\omega =E_{{n{{\bf {k}}}}}^{{(1)}}\right)\phi _{{n{{\bf {k}}}}}({{\bf {r}}}')=E_{{n{{\bf {k}}}}}^{{(1)}}\phi _{{n{{\bf {k}}}}}({{\bf {r}}}) for the quasi-particle energies Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): E_{{n{\bf {k}}}}^{{(1)}} .

To save further computation time, the self-energy is linearized with a series expansion around the Kohn-Sham eigenvalues Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): \epsilon _{{n{\bf {k}}}}

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): \Sigma ^{{(0)}}({{\bf {r,r'}}},\omega )\approx \Sigma ^{{(0)}}({{\bf {r,r'}}},\epsilon _{{n{{\bf {k}}}}})+\left.{\frac {\partial \Sigma ^{{(0)}}}{\partial \omega }}({{\bf {r,r'}}},\omega )\right|_{{\omega =\epsilon _{{n{{\bf {k}}}}}}}(\omega -\epsilon _{{n{{\bf {k}}}}})

and the renormalization factor Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): Z_{{n{{\bf {k}}}}}^{{(0)}}=\left[1-{{\rm {Re}}}\left(\left.{\frac {\partial \Sigma ^{{(0)}}}{\partial \omega }}({{\bf {r,r'}}},\omega )\right|_{{\omega =\epsilon _{{n{{\bf {k}}}}}}}\right)\right]^{{-1}} is introduced. This allows to obtain the G0W0 quasi-particle energies from following equation[1]

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): E_{{n{\bf {k}}}}^{{(1)}}=\epsilon _{{n{\bf {k}}}}+Z_{{n{\bf {k}}}}^{{(0)}}{{\rm {Re}}}\left[\langle \phi _{{n{\bf {k}}}}|-{\frac {\Delta }2}+V_{{ext}}+V_{h}+\Sigma ^{{(0)}}(\omega =\epsilon _{{n{\bf {k}}}})-\epsilon _{{n{\bf {k}}}}|\phi _{{n{\bf {k}}}}\rangle \right]

The G0W0 method avoids the direct computation of the Green's function and neglects self-consistency in Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): G completely. In fact, only the Kohn-Sham energies are updated from Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): \epsilon _{{n{\bf {k}}}}\to E_{{n{\bf {k}}}}^{{(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 Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): G^{{(i)}}({{\bf {r}}},{{\bf {r}}}',\omega )=\sum _{{n{{\bf {k}}}}}{\frac {\phi _{{n{{\bf {k}}}}}^{{*(0)}}({{\bf {r}}})\phi _{{n{{\bf {k}}}}}^{{(0)}}({{\bf {r}}}')}{\omega -E_{{n{{\bf {k}}}}}^{{(i)}}}} which in turn can be used to update the self-energy via Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): \Sigma ^{{(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 Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): \chi _{{{\bf {GG'}}}}^{{(0)}}({{\bf {q}}},\omega )
  • Determine the screened Coulomb potential Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): W_{{{\bf {GG'}}}}^{{(0)}}({{\bf {q}}},\omega ) and keep it fixed in the following
  • Determine the self-energy Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): \Sigma ^{{(j)}}({{\bf {r,r'}}},\omega )=G^{{(j)}}W^{{(0)}} .
  • Update quasi-particle energies Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): E_{{n{\bf {k}}}}^{{(j+1)}}=\epsilon _{{n{\bf {k}}}}+Z_{{n{\bf {k}}}}^{{(j)}}{{\rm {Re}}}\left[\langle \phi _{{n{\bf {k}}}}|-{\frac {\Delta }2}+V_{{ext}}+V_{h}+\Sigma ^{{(j)}}(\omega =E_{{n{\bf {k}}}}^{{(j)}})-\epsilon _{{n{\bf {k}}}}|\phi _{{n{\bf {k}}}}\rangle \right] . In the first iteration use Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): E_{{n{\bf {k}}}}^{{(0)}}=\epsilon _{{n{\bf {k}}}}

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 , 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 as well. This approach was presented first by Faleev et. al,[6] where the self-energy is hermitized via

Low-scaling GW: The Space-time Formalism

The scaling with system size (number of electrons) of GW calculations can be reduced[7] by performing a so-called Wick-rotation to imaginary time .

References