Practical guide to GW calculations: Difference between revisions

From VASP Wiki
No edit summary
Line 4: Line 4:
== General outline of a GW calculation ==
== General outline of a GW calculation ==


In the GW approximation following eigenvalue problem is solved
The GW approximation is a many-body method from quantum field theory and goes beyond density functional theory (DFT). Since the paper of Hedin many GW schemes with increasing complexity levels were proposed. In the following we discuss the details of these GW methods and how they are selected in VASP.


The GW approach gained popularity in the community after Hybertsen and Louie showed that the GW band gaps and spetral properties yield very accurate band gaps for semiconductors and insulators. Today, this method is known as quasi-particle GW (QPGW) and can be understood in terms of the following eigenvalue equation
<span id="EVGW">
<math>
<math>
T+V_{ext}+V_h+\Sigma(\epsilon)|\phi\rangle = \epsilon|\phi\rangle
(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})
</math>
</span>
 
Here <math>T</math> is the kinetic energy, <math>V_{ext}</math> the external potential of the nuclei and <math>V_h</math> the Hartree potential. In contrast to DFT, the exchange-correlation potential is replaced by the many-body self-energy <math>\Sigma</math> and should be obtained together with the Green's function <math>G</math>, the irreducible polarizability <math>\chi</math>, the screened Coulomb interaction <math>W</math> and the irreducible vertex function <math>\Gamma</math> in a self-consistent procedure. For completeness, these equations are
 
<span id="G">
<math>
G(1,2)=G_0(1,2)+\int d(3,4) G_0(1,3)\Sigma(3,4)G(4,2)
</math>
 
</span>
<span id="chi">
<math>
\chi(1,2)=\int d(3,4) G(1,3)G(4,1)\Gamma(3,4;2)
</math>
</math>


where <math>T</math> is the kinetic energy, <math>V_{ext}</math> the external potential of the nuclei and <math>V_h</math> the Hartree potential. In contrast to density functional theory, the exchange-correlation potential is replaced by the many-body (usually frequency dependent) self-energy <math>\Sigma</math> and approximated by <math>\Sigma=GW</math> in the GW approach with <math>G</math> being the Green's function and <math>W</math> the screened potential.
</span>
<span id="W">
<math>
W(1,2)=V(1,2)+\int d(3,4) V(1,3)\chi(3,4)W(4,2)
</math>
</span>


The main computational outline for GW calculations is, therefore, as follows:
<span>
<span id="Sigma">
<math>
\Sigma(1,2)=\int d(3,4) G(1,3)\Gamma(3,2;4)W(4,1)
</math>
</span>


*Determination of the polarizability <math>\chi=GG</math>
<span>
*Calculation of the screened potential <math>W=\frac{V}{1-\chi V}</math>
<span id="I">
*Approximate Self-energy <math>\Sigma=GW</math>
<math>
\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)
</math>
</span>
where the common notation <math>1=({\bf r}_1,t_1)</math> was adopted and <math>V</math> denotes the bare Coulomb interaction.


Because all quantities, including the Green's function, are frequency dependent the eigenvalue equation should be solved self-consistently in principle. That is, one starts with a first guess for the energies <math>\epsilon^{(0)}</math> and one-electron states <math>\phi^{(0)}</math> (usually from a previous DFT calculation), calculates the self-energy <math>\Sigma^{(0)}</math>, solves the corresponding eigenvalue problem and obtains a new eigenset <math>{\epsilon^{(1)},\phi^{(1)}}</math> and iterates the procedure until self-consistency is reached.
Due to the complexity, approximations to this coupled set of integro-differential equations are made. The most important one, the GW approximation, is obtained by neglecting the equation for the vertex function and using the bare vertex <math>\Gamma(1,2;3)=\delta(1,2)\delta(1,3)</math> instead. Then the polarizability and self-energy reduce to


However, the main complication arises due to the appearance of the appearance of the quasi-particle energies in the argument of the self-energy. In practice, one therefore, performs a Taylor expansion of the self-energy w.r.t. the frequency and solves following equation instead:
</span>
<span id="chi_GW">
<math>
\chi(1,2)=G(1,2)G(2,1)
</math>


<span>
<span id="Sigma_GW">
<math>
<math>
Z^{(i-1)}(T+V_{ext}+V_h+\Sigma^{(i-1)}-\Sigma^{'(i-1)}\epsilon^{(i-1)})|\phi^{(i)}\rangle = \epsilon^{(i)}|\phi^{(i)}\rangle
\Sigma(1,2)=G(1,2)W(2,1)
</math>
</math>
</span>
The main procedure for a self-consistent GW calculation consists of four steps
*Determine the Green's function <math>G=\frac{G_0}{1-\Sigma G_0}</math>
*Evaluate the polarizability <math>\chi=GG</math>
*Calculate the screened potential <math>W=\frac{V}{1-\chi V}</math>
*Compute the self-energy <math>\Sigma=GW</math>
*Repeat step 1 until self-consistency reached
*Solve eigenvalue problem
This approach will be called the self-consistent GW ''scGW'' approach in the following and is discussed below.
== Quasi particle GW Method ==
In the QPGW method the [[GW calculations#G|equation for the Green's function]] is never solved and the spetral form


with the renormalization factor
<span id="SpectralG">
<math>
G({\bf r},{\bf r}',z)=\sum_{n{\bf k}}\frac{\phi_{n{\bf k}}^*
({\bf r})\phi_{n{\bf k}}
({\bf r}')}{\omega-\epsilon_{n{\bf k}}}</math>
</span>


is used instead. Furthermore the self-energy in the eigenvalue equation is lineraized with a Taylor expansion around the quasi-particle energies from the previous step
<span id="Sigma_linerized">
<math>
<math>
Z^{(i-1)}=\left(1-\left.\frac{d}{dz}\right|_{z=\epsilon^{(i-1)}}\Sigma^{(i-1)}\right)^{-1}</math>.
(T+V_{ext}+V_h)\phi^{(i+1)}_{n{\bf k}}({\bf r})+\int d{\bf r}\left[
\Sigma({\bf r},{\bf r}',E^{(i)}_{n{\bf k}}) - E^{(i)}_{n{\bf k}}\Sigma'({\bf r},{\bf r}',E^{(i)}_{n{\bf k}})
\right]\phi^{(i+1)}_{n{\bf k}}({\bf r}') =
E_{n{\bf k}}
\int d{\bf r}\left[ \delta({\bf r}-{\bf r}')-\Sigma'({\bf r},{\bf r}',E^{(n)}_{n{\bf k}})\right]
\phi^{(n+1)}_{n{\bf k}}({\bf r}')
</math>
</span>


This procedure can be repeated until a maximum of {{TAG|NELM}} self-consistency cycles and can be selected in VASP with the following lines in the {{TAG|INCAR}} file
Here the procedure is as follows


  {{TAGBL|ALGO}} = scGW ! self-consistent GW
*Determine the Green's function using the spectral form
*Evaluate the polarizability <math>\chi=GG</math>
*Calculate the screened potential <math>W=\frac{V}{1-\chi V}</math>
*Compute the self-energy <math>\Sigma=GW</math>
*Solve linearized eigenvalue problem
*Repeat step 1 until self-consistency reached
 
We term this approach the self-consistent quasi-particle GW ''SCQPGW'' approach. In VASP.5.X this method is selected by
  {{TAGBL|ALGO}} = QPGW ! self-consistent GW
  {{TAGBL|NELM}} = 4    ! number of self-consistency cycles
  {{TAGBL|NELM}} = 4    ! number of self-consistency cycles
{{TAGBL|LOPTICS}} = .TRUE. ; {{TAGBL|LPEAD}} = .TRUE. ! long-wave limit of chi with finite differences
After each iteration cycle the quasi-particle energies are updated and the polarizability and screened interaction are recalculated. This approach overestimates band gaps of solids, as shown by Shishkin ''et al.''<ref name="shishkin-PRB75"/>. However, a simpler approach, where the screened interaction is not updated, often yields a better agreement with experiment.<ref name="shishkin-PRL99"/> This method is named ''QPGW0'' and can be selected by
{{TAGBL|ALGO}} = QPGW0 ! partial self-consistent GW
{{TAGBL|NELM}} = 4    ! number of self-consistency cycles
A a last option, VASP supports a third QPGW method, where only the diagonal matrix elements are updated. This implies that the one-electron orbitals <math>\phi_{n{\bf k}}</math> remain unchanged. This scheme used with following {{TAG|INCAR}} tags
{{TAGBL|ALGO}} = EVGW0 ! partial self-consistent GW
{{TAGBL|NELM}} = 4    ! number of self-consistency cycles
Using this option, VASP will write the quasi-particle energies into the {{TAG|OUTCAR}} file for a set of {{TAG|NBANDSGW}} bands for every k-point in the Brillouin zone. Look for lines similar to
 
  band No.  KS-energies  QP-energies  sigma(KS)  V_xc(KS)    V^pw_x(r,r')  Z        occupation Imag(sigma)
     
      1      -9.8139    -10.2490    -11.6986    -11.0666    -17.7440      0.6884      2.0000      1.1996
      2      2.9032      2.3351    -12.1377    -11.3852    -13.3214      0.7550      2.0000      0.0987
      3      2.9032      2.3351    -12.1377    -11.3852    -13.3214      0.7550      2.0000      0.0987
      4      2.9032      2.3351    -12.1377    -11.3852    -13.3214      0.7550      2.0000      0.0987
      5      3.4884      4.3792      -9.8672    -11.0531      -5.9700      0.7511      0.0000      -0.1035
      6      6.5738      6.9295      -8.9534      -9.4305      -4.7050      0.7455      0.0000      -0.1463
      7      6.5738      6.9295      -8.9534      -9.4305      -4.7050      0.7455      0.0000      -0.1463
      8      6.5738      6.9295      -8.9534      -9.4305      -4.7050      0.7455      0.0000      -0.1463
The first column is the band index, the second column are the quasi-particle energies from the previous (current) self-consistency step.
If the self-consistent QPGW algorithms are chosen the {{TAG|OUTCAR}} will contain additional information of the form
  band No. DFT-energies  QP-energies  QP-e(diag)  sigma(DFT)    Z            occupation
 
      1      -9.8139    -10.2500    -10.2490    -10.4460      0.6884      2.0000
      2      2.9032      2.3350      2.3352      2.1508      0.7550      2.0000
      3      2.9032      2.3350      2.3350      2.1506      0.7550      2.0000
      4      2.9032      2.3352      2.3350      2.1506      0.7550      2.0000
      5      3.4884      4.3792      4.3792      4.6743      0.7511      0.0000
      6      6.5738      6.9297      6.9295      7.0510      0.7455      0.0000
      7      6.5738      6.9297      6.9295      7.0509      0.7455      0.0000
      8      6.5738      6.9297      6.9295      7.0509      0.7455      0.0000
Here the forth column should be identical to the third column of the EVGW0 results shown above, whereas the third column reports the quasi-particle energies obtained from including the off-diagonal matrix elements in the eigenvalue equation.
The GW implementations in VASP described in the papers of Shishkin ''et al.''<ref name="shishkin-PRB74"/><ref name="shishkin-PRB75"/> avoids storage of the Green's function <math>G</math> as well as Fourier transformations between time and frequency domain entirely. That is, all calculations are performed solely on the real frequency axis <math>\omega</math> using Kramers-Kronig transformations for convolutions in the equation of <math>\chi</math> and <math>\Sigma</math> in reciprocal space. This implementation scales roughly with the forth power of the system size and should be used for small unit cells with not more than ~20 atoms.
== Large systems ==
As of VASP.6 a new cubic scaling GW algorithm<ref name="liu"/> (called space-time implementation in the following) can be selected for QPGW calculations described above by simply adding an additional ''R'' to the [[ALGO#GWALGOS|ALGO option]]. This approach follows the idea of Rojas ''et al.''<ref name="rojas"/> and allows to solve the Dyson equation for the Green's function self-consistently providing access for true self-consistent GW calculations. The corresponding {{TAGBL|ALGO}} tag is ''scGWR''.
Note, that the cubic scaling GW algorithm works on the imaginary time and frequency axis and makes extensive use of Fast Fourier Transformations (FFT). The frequent usage of FFTs gives a relatively large overall scaling pre-factor, so that for small unit cells the ''QPGW'' {{TAG|ALGO}} options are often more efficient than the ''QPGWR'' ones. Only for large unit cells with more than ~30 atoms we recommend to use the space-time implementation.
Here similar settings for {{TAG|PRECFOCK}} and {{TAG|NOMEGA}} should be chosen as for [[ACFDT/RPA calculations#ACFDTR/RPAR|ACFDTR/RPAR calculations]], with one difference. {{TAG|OMEGAMIN}}({{TAG|OMEGAMAX}}) should be smaller(larger) than the HOMO(LUMO) w.r.t. the Fermi energy.
while the eigenvalue equation for the quasi-particle energies is formulated on the real frequency axis. To this end, VASP performs an analytical continuation <math>\Sigma(z=i\omega)\to\Sigma(z=\omega)</math> each time the quasi-particle energies are required. Details about the method can be found in the paper of Liu ''et al.''<ref name="liu"/>.


However, often simpler procedures yield also accurate quasi-particle energies.


<span id="recipies">
== Recipes ==
== Recipes ==


Line 44: Line 170:
* [[GW recipes#scgw|GW and scGW calculations]]: selfconsistent ''GW'' ({{TAG|ALGO}}=GW or {{TAG|ALGO}}=scGW)
* [[GW recipes#scgw|GW and scGW calculations]]: selfconsistent ''GW'' ({{TAG|ALGO}}=GW or {{TAG|ALGO}}=scGW)
* [[DM calculations with GW routines]]: Determination of the frequency dependent dielectric matrix (DM) using the ''GW'' routines
* [[DM calculations with GW routines]]: Determination of the frequency dependent dielectric matrix (DM) using the ''GW'' routines
</span>


<span id="GWR">
<span id="GWR">
Line 75: Line 202:
<ref name="fuchs-PRB76">[http://link.aps.org/doi/10.1103/PhysRevB.76.115109 F. Fuchs, J. Furthmüller, F. Bechstedt, M. Shishkin, and G. Kresse, Phys. Rev. B 76, 115109 (2007).]</ref>
<ref name="fuchs-PRB76">[http://link.aps.org/doi/10.1103/PhysRevB.76.115109 F. Fuchs, J. Furthmüller, F. Bechstedt, M. Shishkin, and G. Kresse, Phys. Rev. B 76, 115109 (2007).]</ref>
<ref name="liu">[http://journals.aps.org/prb/abstract/10.1103/PhysRevB.94.165109 P. Liu, M. Kaltak, J. Klimes and G. Kresse, Phys. Rev. B 94, 165109 (2016).]</ref>
<ref name="liu">[http://journals.aps.org/prb/abstract/10.1103/PhysRevB.94.165109 P. Liu, M. Kaltak, J. Klimes and G. Kresse, Phys. Rev. B 94, 165109 (2016).]</ref>
<ref name="rojas">[https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.74.1827 H. N. Rojas, R. W. Godby, R. J. Needs, Phys. Rev. Lett. 74, 1827 (1995)]</ref>
</references>
</references>
----
----

Revision as of 17:02, 22 September 2017

Available as of VASP.5.X. For details on the implementation and use of the GW routines we recommend the papers by Shishkin et al.[1][2][3] and Fuchs et al.[4]

General outline of a GW calculation

The GW approximation is a many-body method from quantum field theory and goes beyond density functional theory (DFT). Since the paper of Hedin many GW schemes with increasing complexity levels were proposed. In the following we discuss the details of these GW methods and how they are selected in VASP.

The GW approach gained popularity in the community after Hybertsen and Louie showed that the GW band gaps and spetral properties yield very accurate band gaps for semiconductors and insulators. Today, this method is known as quasi-particle GW (QPGW) and can be understood in terms of the following eigenvalue equation

Here is the kinetic energy, the external potential of the nuclei and the Hartree potential. 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 , the irreducible polarizability , the screened Coulomb interaction and the irreducible vertex function in a self-consistent procedure. For completeness, these equations are

where the common notation was adopted and denotes the bare Coulomb interaction.

Due to the complexity, approximations to this coupled set of integro-differential equations are made. The most important one, the GW approximation, is obtained by neglecting the equation for the vertex function and using the bare vertex instead. Then the polarizability and self-energy reduce to

The main procedure for a self-consistent GW calculation consists of four steps

  • Determine the Green's function
  • Evaluate the polarizability
  • Calculate the screened potential
  • Compute the self-energy
  • Repeat step 1 until self-consistency reached
  • Solve eigenvalue problem

This approach will be called the self-consistent GW scGW approach in the following and is discussed below.

Quasi particle GW Method

In the QPGW method the equation for the Green's function is never solved and the spetral form

is used instead. Furthermore the self-energy in the eigenvalue equation is lineraized with a Taylor expansion around the quasi-particle energies from the previous step

Here the procedure is as follows

  • Determine the Green's function using the spectral form
  • Evaluate the polarizability
  • Calculate the screened potential
  • Compute the self-energy
  • Solve linearized eigenvalue problem
  • Repeat step 1 until self-consistency reached

We term this approach the self-consistent quasi-particle GW SCQPGW approach. In VASP.5.X this method is selected by

ALGO = QPGW ! self-consistent GW
NELM = 4    ! number of self-consistency cycles
LOPTICS = .TRUE. ; LPEAD = .TRUE. ! long-wave limit of chi with finite differences

After each iteration cycle the quasi-particle energies are updated and the polarizability and screened interaction are recalculated. This approach overestimates band gaps of solids, as shown by Shishkin et al.[2]. However, a simpler approach, where the screened interaction is not updated, often yields a better agreement with experiment.[3] This method is named QPGW0 and can be selected by

ALGO = QPGW0 ! partial self-consistent GW
NELM = 4     ! number of self-consistency cycles

A a last option, VASP supports a third QPGW method, where only the diagonal matrix elements are updated. This implies that the one-electron orbitals remain unchanged. This scheme used with following INCAR tags

ALGO = EVGW0 ! partial self-consistent GW
NELM = 4     ! number of self-consistency cycles

Using this option, VASP will write the quasi-particle energies into the OUTCAR file for a set of NBANDSGW bands for every k-point in the Brillouin zone. Look for lines similar to

 band No.  KS-energies  QP-energies   sigma(KS)   V_xc(KS)     V^pw_x(r,r')   Z         occupation Imag(sigma) 
     
     1      -9.8139     -10.2490     -11.6986     -11.0666     -17.7440       0.6884       2.0000       1.1996
     2       2.9032       2.3351     -12.1377     -11.3852     -13.3214       0.7550       2.0000       0.0987
     3       2.9032       2.3351     -12.1377     -11.3852     -13.3214       0.7550       2.0000       0.0987
     4       2.9032       2.3351     -12.1377     -11.3852     -13.3214       0.7550       2.0000       0.0987
     5       3.4884       4.3792      -9.8672     -11.0531      -5.9700       0.7511       0.0000      -0.1035
     6       6.5738       6.9295      -8.9534      -9.4305      -4.7050       0.7455       0.0000      -0.1463
     7       6.5738       6.9295      -8.9534      -9.4305      -4.7050       0.7455       0.0000      -0.1463
     8       6.5738       6.9295      -8.9534      -9.4305      -4.7050       0.7455       0.0000      -0.1463

The first column is the band index, the second column are the quasi-particle energies from the previous (current) self-consistency step. If the self-consistent QPGW algorithms are chosen the OUTCAR will contain additional information of the form

 band No. DFT-energies  QP-energies  QP-e(diag)   sigma(DFT)    Z            occupation
 
     1      -9.8139     -10.2500     -10.2490     -10.4460       0.6884       2.0000
     2       2.9032       2.3350       2.3352       2.1508       0.7550       2.0000
     3       2.9032       2.3350       2.3350       2.1506       0.7550       2.0000
     4       2.9032       2.3352       2.3350       2.1506       0.7550       2.0000
     5       3.4884       4.3792       4.3792       4.6743       0.7511       0.0000
     6       6.5738       6.9297       6.9295       7.0510       0.7455       0.0000
     7       6.5738       6.9297       6.9295       7.0509       0.7455       0.0000
     8       6.5738       6.9297       6.9295       7.0509       0.7455       0.0000

Here the forth column should be identical to the third column of the EVGW0 results shown above, whereas the third column reports the quasi-particle energies obtained from including the off-diagonal matrix elements in the eigenvalue equation.

The GW implementations in VASP described in the papers of Shishkin et al.[1][2] avoids 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. This implementation scales roughly with the forth power of the system size and should be used for small unit cells with not more than ~20 atoms.

Large systems

As of VASP.6 a new cubic scaling GW algorithm[5] (called space-time implementation in the following) can be selected for QPGW calculations described above by simply adding an additional R to the ALGO option. This approach follows the idea of Rojas et al.[6] and allows to solve the Dyson equation for the Green's function self-consistently providing access for true self-consistent GW calculations. The corresponding ALGO tag is scGWR.

Note, that the cubic scaling GW algorithm works on the imaginary time and frequency axis and makes extensive use of Fast Fourier Transformations (FFT). The frequent usage of FFTs gives a relatively large overall scaling pre-factor, so that for small unit cells the QPGW ALGO options are often more efficient than the QPGWR ones. Only for large unit cells with more than ~30 atoms we recommend to use the space-time implementation.

Here similar settings for PRECFOCK and NOMEGA should be chosen as for ACFDTR/RPAR calculations, with one difference. OMEGAMIN(OMEGAMAX) should be smaller(larger) than the HOMO(LUMO) w.r.t. the Fermi energy.

while the eigenvalue equation for the quasi-particle energies is formulated on the real frequency axis. To this end, VASP performs an analytical continuation each time the quasi-particle energies are required. Details about the method can be found in the paper of Liu et al.[5].


Recipes

Large systems

As of version 6, an additional 'R' can be added to the GW ALGO tags, i.e. ALGO=G0W0R, GW0R, scGW0R, GWR or scGWR to select the cubic scaling GW algorithms as described by Liu et. al.[5]

Related Tags and Sections

Examples that use this tag

References


Contents