Practical guide to GW calculations: Difference between revisions

From VASP Wiki
No edit summary
Line 157: Line 157:
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.  
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.  
Here similar settings for {{TAG|PRECFOCK}},{{TAG|NOMEGAPAR}}, {{TAG|NTAUPAR}} 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.  
<span id="recipies">


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"/>.
<span id="recipies">
== Recipes ==
== Recipes ==



Revision as of 17:04, 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 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 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_{h} the Hartree potential. 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

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) where 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.

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 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) instead. Then 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)

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

  • Determine 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={\frac {G_{0}}{1-\Sigma G_{0}}}
  • Evaluate 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 =GG
  • Calculate 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={\frac {V}{1-\chi V}}
  • Compute 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 =GW
  • 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

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 {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}}}}}}}

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 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}}}}}^{{(i+1)}}({{\bf {r}}})+\int d{{\bf {r}}}\left[\Sigma ({{\bf {r}}},{{\bf {r}}}',E_{{n{{\bf {k}}}}}^{{(i)}})-E_{{n{{\bf {k}}}}}^{{(i)}}\Sigma '({{\bf {r}}},{{\bf {r}}}',E_{{n{{\bf {k}}}}}^{{(i)}})\right]\phi _{{n{{\bf {k}}}}}^{{(i+1)}}({{\bf {r}}}')=E_{{n{{\bf {k}}}}}\int d{{\bf {r}}}\left[\delta ({{\bf {r}}}-{{\bf {r}}}')-\Sigma '({{\bf {r}}},{{\bf {r}}}',E_{{n{{\bf {k}}}}}^{{(n)}})\right]\phi _{{n{{\bf {k}}}}}^{{(n+1)}}({{\bf {r}}}')

Here the procedure is as follows

  • Determine the Green's function using the spectral form
  • Evaluate 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 =GG
  • Calculate 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={\frac {V}{1-\chi V}}
  • Compute 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 =GW
  • 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 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}}}}} 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 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 as well as Fourier transformations between time and frequency domain entirely. That is, all calculations are performed solely on the real frequency axis 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/":): \omega using Kramers-Kronig transformations for convolutions in the equation of 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 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/":): \Sigma 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,NOMEGAPAR, NTAUPAR 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.

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