Practical guide to GW calculations: Difference between revisions

From VASP Wiki
No edit summary
Line 63: Line 63:
</span>
</span>


The main procedure for a self-consistent GW calculation consists of four steps
The form of the self-energy give this approximation its name.
 
*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 until self-consistency reached
*Solve the eigenvalue problem


== Quasi particle GW Method ==  
== Quasi particle GW Method ==  
Line 152: Line 145:
<span id="GWR">
<span id="GWR">


== Spacetime GW and large systems ==
== Self-consistent GW ==


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 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.  
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 using Kramers-Kronig transformations for convolutions in the equation of <math>\chi</math> and <math>\Sigma</math> in reciprocal space.


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''.
As of VASP.6 a new cubic scaling GW algorithm<ref name="liu"/> (called space-time implementation in the following) can be selected. 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 main procedure for a self-consistent GW calculation consists of four steps


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.  
*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 until self-consistency reached
*Solve the eigenvalue problem
 
This algorithm can be selected via
 
{{TAGBL|ALGO}} = scGWR ! self-consistent GW
{{TAGBL|NELM}} = 4    ! number of self-consistentcy steps
 
and updates the Green's function as well as the screened potential in every self-consistency step. Replacing ''scGWR'' by ''scGW0R'' updates the Green's function only, similar to the ''QPGW'' and ''EVGW'' options. After {{TAG|NELM}} iterations the self-energy is analytically continued on the real frequency axis using a continued fraction and the same linearized eigenvalue equation of the ''QPGW'' routines is solved. The resulting quasi-particle energies can be found in the {{TAG|OUTCAR}} file as discussed above.
 
Furthermore, the space-time implementation can be forced to perform ''QPGW'' and ''EVGW'' calcualtions as well by adding a ''R'' to the {{TAG|ALGO}} GW options described above.
 
=== Large systems ===
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'' and ''EVGW'' {{TAG|ALGO}} options are often more efficient than the ''QPGWR'' and ''EVWGR'' options. Only for larger unit cells (more than ~30 atoms) we recommend to use the space-time implementation.  


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.  
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.  
The reason for this is the additional Fourier transform (FT) of <math>G(i\tau)W(i\tau)=\Sigma(i\tau)\to\Sigma(i\omega)</math> and the fact that
<math>G(i\tau)~ e^{-(\epsilon_{n{\bf k}}-\mu)\tau}</math>
</span>
</span>



Revision as of 10:53, 26 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[5] 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 good agreement with measurements for semiconductors and insulators.[6] 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, the Hartree potential and the quasiparticle energies with orbitals . 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[5]

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 form of the self-energy give this approximation its name.

Quasi particle GW Method

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

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

Consequently, the QPGW 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 until self-consistency reached

This method is selected by following lines in the INCAR

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

Note that as of VASP.6 the GW ALGO tags have been renamed, see here for VASP.5.X tags.

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] and a simpler approach, where the screened interaction is not updated, often yields better agreement with experiment.[3] This method is named QPGW0 and is selected via

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

VASP supports a third QPGW method, where only the diagonal matrix elements of the eigenvalue equation 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.

Self-consistent GW

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.

As of VASP.6 a new cubic scaling GW algorithm[7] (called space-time implementation in the following) can be selected. This approach follows the idea of Rojas et al.[8] and allows to solve the Dyson equation for the Green's function self-consistently providing access for true self-consistent GW calculations. 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 until self-consistency reached
  • Solve the eigenvalue problem

This algorithm can be selected via

ALGO = scGWR ! self-consistent GW 
NELM = 4     ! number of self-consistentcy steps 

and updates the Green's function as well as the screened potential in every self-consistency step. Replacing scGWR by scGW0R updates the Green's function only, similar to the QPGW and EVGW options. After NELM iterations the self-energy is analytically continued on the real frequency axis using a continued fraction and the same linearized eigenvalue equation of the QPGW routines is solved. The resulting quasi-particle energies can be found in the OUTCAR file as discussed above.

Furthermore, the space-time implementation can be forced to perform QPGW and EVGW calcualtions as well by adding a R to the ALGO GW options described above.

Large systems

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 and EVGW ALGO options are often more efficient than the QPGWR and EVWGR options. Only for larger unit cells (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.

The reason for this is the additional Fourier transform (FT) of and the fact that

Recipes

Related Tags and Sections

Examples that use this tag

References


Contents