GW approximation of Hedin's equations: Difference between revisions

From VASP Wiki
Line 205: Line 205:
</math>
</math>


From here, several routes are possible.
From here, several routes are possible including all approximations mentioned above, that is the single-shot, EVG<sub>0</sub> and QPEVG<sub>0</sub> approximation.
Apart from the single-shot, EVG<sub>0</sub> and QPEVG<sub>0</sub> approximations discussed above, which can also be done on the imaginary axis, the space-time formulation allows to solve the full Dyson equation for <math>G({\bf r,r'},i\tau)</math> with decent computational cost.<ref name="grumet"/>
 
In addition, however, the space-time formulation allows to solve the full Dyson equation for <math>G({\bf r,r'},i\tau)</math> with decent computational cost.<ref name="grumet"/>
 
In contrast to the real-frequency implementation, the low-scaling GW algorithms require an analytical continuation of the self-energy from the imaginary frequency axis to the real axis. In general, this is an ill-defined problem and usually prone to errors, since the self-energy is known on a finite set of points. VASP determines internally a Padé approximation of the self-energy <math>\Sigma(z)</math> from the calculated set of {{TAG|NOMEGA}} points <math>\Sigma(i\omega_n)</math> and solves the non-linear eigenvalue problem
 
<math>
\left\langle \phi_{n\bf k} \right|  T+V_{ext}+V_h+\Sigma(z)  \left|\phi_{n\bf k}\right\rangle  = z\left| \phi_{n\bf k}\right\rangle
</math>
 
on the real frequency axis <math>z=\omega</math>.
 
Because, preceding Fourier transformations have been carried out with exponentially suppressed errors, the analytical continuation <math>\Sigma(z)</math> of the self-energy can be determined with high accuracy. The analytical continuation typically yields energies that differ less than 20 meV from quasi-particle energies obtained from the real-frequency calculation.<ref name="liu"/>


== References ==
== References ==

Revision as of 15:19, 24 July 2019

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://wikimedia.org/api/rest_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://wikimedia.org/api/rest_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://wikimedia.org/api/rest_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://wikimedia.org/api/rest_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://wikimedia.org/api/rest_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://wikimedia.org/api/rest_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://wikimedia.org/api/rest_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://wikimedia.org/api/rest_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://wikimedia.org/api/rest_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://wikimedia.org/api/rest_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://wikimedia.org/api/rest_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://wikimedia.org/api/rest_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://wikimedia.org/api/rest_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://wikimedia.org/api/rest_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://wikimedia.org/api/rest_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://wikimedia.org/api/rest_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://wikimedia.org/api/rest_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://wikimedia.org/api/rest_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://wikimedia.org/api/rest_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://wikimedia.org/api/rest_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://wikimedia.org/api/rest_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://wikimedia.org/api/rest_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://wikimedia.org/api/rest_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://wikimedia.org/api/rest_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://wikimedia.org/api/rest_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://wikimedia.org/api/rest_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://wikimedia.org/api/rest_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://wikimedia.org/api/rest_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://wikimedia.org/api/rest_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://wikimedia.org/api/rest_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://wikimedia.org/api/rest_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://wikimedia.org/api/rest_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://wikimedia.org/api/rest_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://wikimedia.org/api/rest_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://wikimedia.org/api/rest_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://wikimedia.org/api/rest_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://wikimedia.org/api/rest_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://wikimedia.org/api/rest_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://wikimedia.org/api/rest_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://wikimedia.org/api/rest_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://wikimedia.org/api/rest_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://wikimedia.org/api/rest_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://wikimedia.org/api/rest_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://wikimedia.org/api/rest_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://wikimedia.org/api/rest_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://wikimedia.org/api/rest_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://wikimedia.org/api/rest_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://wikimedia.org/api/rest_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://wikimedia.org/api/rest_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://wikimedia.org/api/rest_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] and used a hermitized self-energy in the eigenvalue equation to determine both, quasi-particle energies and corresponding orbitals .

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 (where ) and reads[3]

The resulting Hamiltonian and overlap matrix are non-hermitian in general, implying that the resulting orbitals are not normalized to 1. Therefore, VASP determines the hermitian parts and diagonalizes following matrix instead

The resulting diagonal matrix contains the new quasi-particles, while the unitary matrix determine the new orbitals . 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 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 (number of electrons).

The scaling with system size can, however, be reduced to by performing a so-called Wick-rotation to imaginary time .[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

Here is the step function and the occupation number of the state . Because the Green's function is non-oscillatory on the imaginary time axis it can be represented on a coarse grid , 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

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 .[8][9]

The next step is the computation of the screened potential


followed by the inverse Fourier transform and the calculation of the self-energy

From here, several routes are possible including all approximations mentioned above, that is the single-shot, EVG0 and QPEVG0 approximation.

In addition, however, the space-time formulation allows to solve the full Dyson equation for with decent computational cost.[10]

In contrast to the real-frequency implementation, the low-scaling GW algorithms require an analytical continuation of the self-energy from the imaginary frequency axis to the real axis. In general, this is an ill-defined problem and usually prone to errors, since the self-energy is known on a finite set of points. VASP determines internally a Padé approximation of the self-energy from the calculated set of NOMEGA points and solves the non-linear eigenvalue problem

on the real frequency axis .

Because, preceding Fourier transformations have been carried out with exponentially suppressed errors, the analytical continuation of the self-energy can be determined with high accuracy. The analytical continuation typically yields energies that differ less than 20 meV from quasi-particle energies obtained from the real-frequency calculation.[9]

References