Practical guide to GW calculations: Difference between revisions

From VASP Wiki
No edit summary
Line 1: Line 1:
__TOC__
__TOC__
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.''<ref name="shishkin-PRB74"/><ref name="shishkin-PRB75"/><ref name="shishkin-PRL99"/> and Fuchs ''et al.''<ref name="fuchs-PRB76"/>  
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.''<ref name="shishkin-PRB74"/><ref name="shishkin-PRB75"/><ref name="shishkin:prl:07"/> and Fuchs ''et al.''<ref name="fuchs-PRB76"/>  
 
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.<ref name="HybertsenLouie"/> This method can be understood in terms of the following eigenvalue equation
== 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<ref name="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 good agreement with measurements for semiconductors and insulators.<ref name="HybertsenLouie"/> Today, this method is known as quasi-particle GW (QPGW) and can be understood in terms of the following eigenvalue equation


<span id="EVGW">
<span id="EVGW">
Line 44: Line 39:
<span id="I">
<span id="I">
<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)
\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>
</math>
</span>
</span>


where the common notation <math>1=({\bf r}_1,t_1)</math> was adopted and <math>V</math> denotes the bare Coulomb interaction.  
and provide an alternative to the Schrödinger equation for the many-body problem. Here the common notation <math>1=({\bf r}_1,t_1)</math> was adopted and <math>V</math> 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 <math>\Gamma(1,2;3)=\delta(1,2)\delta(1,3)</math> instead. Then the polarizability and self-energy reduce to  
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 reducing the equations for the polarizability and self-energy to  


</span>
</span>
Line 65: Line 60:
</span>
</span>


The form of the self-energy give this approximation its name.
The equations for the Green's function and the screened potential, however, remain the same, but usually are solved in reciprocal space


== Quasi particle GW Method ==
</span>
In the QPGW method the [[GW calculations#G|equation for the Green's function]] is never solved and the spectral form<ref name="HybertsenLouie"/>  
<span id="G_reci">
<math>
W_{{\bf G}{\bf G}'}({\bf q},\omega)=(\delta_{{\bf G}{\bf G}'}-\chi_{{\bf G}{\bf G}'}({\bf q},\omega)V_{{\bf G}{\bf G}'}({\bf q}))^{-1}V_{{\bf G}{\bf G}'}({\bf q})
</math>


<span id="SpectralG">
<span>
<span id="G_GW">
<math>
<math>
G({\bf r},{\bf r}',z)=\sum_{n{\bf k}}\frac{\phi_{n{\bf k}}^*
G_{{\bf G}{\bf G}'}({\bf q},\omega)=(\delta_{{\bf G}{\bf G}'}-\Sigma_{{\bf G}{\bf G}'}({\bf q},\omega)G^{0}_{{\bf G}{\bf G}'}({\bf q}))^{-1}G^{0}_{{\bf G}{\bf G}'}({\bf q})
({\bf r})\phi_{n{\bf k}}
</math>
({\bf r}')}{z-\epsilon_{n{\bf k}}}</math>
</span>
</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
Due to the complexity further approximations are usually performed giving rise to different GW flavors.
<span id="Sigma_linerized">
 
= General outline of a GW calculation =
 
As of VASP.6 all GW approximations can be selected directly via the {{TAG|ALGO}} tag (omitting {{TAG|NBANDS}}) without a preceding DFT calculation. However, for older versions a two step procedure is required, where the first step is always a DFT calculation.
The actual GW calculation is performed in the second step.
 
== First step: DFT calculation ==
''GW'' calculations always require the calculation of a standard DFT {{FILE|WAVECAR}} file in an initial step, using for instance the following INCAR file:
 
{{TAGBL|System}} = Si
{{TAGBL|NBANDS}} = 96
{{TAGBL|ISMEAR}} = 0 ; {{TAGBL|SIGMA}} = 0.05  ! small sigma is required to avoid partial occupancies
{{TAGBL|LOPTICS}} = .TRUE.
 
Note, that the a significant number of empty bands is required for ''GW'' calculations, so that it might be better to perform the calculations in two steps: first a standard grounstate calculation with few unoccupied orbitals only,
 
{{TAGBL|System}} = Si groundstate occupied orbitals
{{TAGBL|ISMEAR}} = 0 ; {{TAGBL|SIGMA}} = 0.05  ! small sigma is required to avoid partial occupancies
{{TAGBL|EDIFF}} = 1E-8              ! required tight tolerance for groundstate orbitals
 
and, second, a calculation of a large number of unoccupied orbitals
 
{{TAGBL|System}}  = Si unoccupied orbitals
{{TAGBL|ALGO}} = Exact              ! use exact diagonalization of the Hamiltonian
{{TAGBL|NELM}} = 1                  ! since we are already converged stop after one step
{{TAGBL|NBANDS}} = 96               
{{TAGBL|ISMEAR}} = 0 ; {{TAGBL|SIGMA}} = 0.05  ! small sigma is required to avoid partial occupancies
{{TAGBL|LOPTICS}} = .TRUE.
 
Furthermore note that the flag {{TAG|LOPTICS}}=.TRUE. is required in order to write the file {{FILE|WAVEDER}}, which contains the derivative of the orbitals with respect to '''k'''.
This derivative is used to construct the head and wings of the dielectric matrix employing '''k'''&middot;'''p''' perturbation theory and is important to accelerate k-point convergence for insulators and semiconductors. For metals, in general, we recommend to omit the {{TAG|LOPTICS}} tag and remove the {{FILE|WAVEDER}} file from the directory.
 
=== Optional: Use Hybrid functionals ===
Optionally, one can start a ''GW'' calculation from a hybrid functional, such as HSE.
For hybrid functionals, the two step procedure will accordingly involve the following {{FILE|INCAR}} files. In the first step, converged [[Hartree-Fock_and_HF/DFT_hybrid_functionals#HSE|HSE03]] orbitals are determined (usually hybrid functional calculations should be preceeded by standard DFT calculations, we have not documented this step here, see the [[Howto on Hybrid functional calculations]]):
 
{{TAGBL|System}}  = Si groundstate occupied orbitals
{{TAGBL|ISMEAR}} = 0 ; {{TAGBL|SIGMA}} = 0.05
{{TAGBL|ALGO}} = Damped ; {{TAGBL|TIME}} = 0.5  ! or {{TAGBL|ALGO}} = Conjugate
{{TAGBL|LHFCALC}} = .TRUE. ; {{TAGBL|AEXX}} = 0.25 ; {{TAGBL|HFSCREEN}} = 0.3
{{TAGBL|EDIFF}} = 1E-6      ! required tight tolerance for groundstate orbitals
 
Secondly, determine the HSE03 orbitals for unoccupied states:
 
{{TAGBL|System}}  = Si unoccupied orbitals
{{TAGBL|NBANDS}} = 96
{{TAGBL|ALGO}} = Exact
{{TAGBL|NELM}} = 1          ! since we are already converged stop after one step
{{TAGBL|ISMEAR}} = 0 ; {{TAGBL|SIGMA}} = 0.05
{{TAGBL|LHFCALC}} = .TRUE. ; {{TAGBL|AEXX}} = 0.25 ; {{TAGBL|HFSCREEN}} = 0.3
{{TAGBL|LOPTICS}} = .TRUE.
 
== Step 2: quasi-particle GW ==
The actual ''GW'' calculation is done in a second step. Here different ''GW'' flavors are possible and are selected with the {{TAG|ALGO}} tag.
 
<span id="G0W0">
=== G<sub>0</sub>W<sub>0</sub>: single shot quasi-particle energies ===
This is the simplest ''GW'' calculation, but computationally the most efficient one.
A single-shot G<sub>0</sub>W<sub>0</sub> calculation calculates the quasi-particle energies from a single ''GW'' iteration by neglecting all off-diagonal matrix elements of the self-energy and linearizing the eigenvalue equation around the DFT eigenvalues <math>E_{n{\bf k}}^{(0)}</math>. The corresponding equation reads
 
<span id="G0W0_eigenvalues">
<math>
<math>
(T+V_{ext}+V_h)\phi^{(i+1)}_{n{\bf k}}({\bf r})+\int d{\bf r}\left[
E_{n{\bf q}} = E_{n{\bf q}}^{(0)} + Z_{n{\bf q}} \langle \phi^{(0)}_{n{\bf q}}| \Sigma(E_{n{\bf q}}^{(0)}) - V_{xc} |\phi^{(0)}_{n{\bf q}}\rangle, \quad Z_{n{\bf q}}=\frac{1}{1-{\rm Re}\langle \phi^{(0)}_{n{\bf q}}| \Sigma'(E_{n{\bf q}}^{(0)}) | \phi^{(0)}_{n{\bf q}}\rangle }
\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>
</math>
</span>
</span>


Consequently, the QPGW procedure is as follows
In VASP, G<sub>0</sub>W<sub>0</sub> calculations can be selected using an {{TAG|INCAR}} file such as
 
*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 until self-consistency reached


This method is selected by following lines in the {{TAG|INCAR}}
{{TAGBL|System}}  = Si
   
  {{TAGBL|NBANDS}} = 96
  {{TAGBL|ALGO}} = QPGW ! self-consistent quasi-particle GW
  {{TAGBL|ISMEAR}} = 0 ; {{TAGBL|SIGMA}} = 0.05
  {{TAGBL|NELM}} = 4    ! number of self-consistency cycles
  {{TAGBL|NELM}} = 1 ; {{TAGBL|ALGO}} = EVGW0 ! use "GW0" for VASP.5.X
  {{TAGBL|LOPTICS}} = .TRUE. ; {{TAGBL|LPEAD}} = .TRUE. ! long-wave limit of chi with finite differences
{{TAGBL|NOMEGA}} = 50


Note that as of VASP.6 the GW {{TAG|ALGO}} tags have been renamed, see [[ALGO#GW tags in VASP.6|here]] for VASP.5.X tags.
Convergence with respect to the number of empty bands {{TAG|NBANDS}} and with respect to the number of frequencies {{TAG|NOMEGA}} must be checked carefully.


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"/> and a simpler approach, where the screened interaction is not updated, often yields better agreement with experiment.<ref name="shishkin-PRL99"/> This method is named ''QPGW0'' and is selected via
As of VASP.6 the corresponding space-time algorithm can be selected with the following setup


  {{TAGBL|ALGO}} = QPGW0 ! partial self-consistent GW
  {{TAGBL|System}}  = Si
  {{TAGBL|NELM}} = 4    ! number of self-consistency cycles
{{TAGBL|NBANDS}} = 96
{{TAGBL|ISMEAR}} = 0 ; {{TAGBL|SIGMA}} = 0.05
{{TAGBL|NELM}} = 1 ; {{TAGBL|ALGO}} = EVGW0R ! space-time GW algorithm, available as of VASP.6
  {{TAGBL|NOMEGA}} = 16 ! less frequency points necessary on imaginary axes


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 <math>\phi_{n{\bf k}}</math> remain unchanged. This scheme used with following {{TAG|INCAR}} tags
and is recommended for larger unit cells.  


{{TAGBL|ALGO}} = EVGW0 ! partial self-consistent GW
To avoid complicated inter-nested tests, we recommend to calculate all orbitals that the plane wave basis set allows to calculate (except for simple tests). For further reading please consult the section on {{TAG|ENCUTGW}}.
{{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  
After a successful G<sub>0</sub>W<sub>0</sub> run, 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)  
   band No.  KS-energies  QP-energies  sigma(KS)  V_xc(KS)    V^pw_x(r,r')  Z        occupation Imag(sigma)  
Line 129: Line 177:
       8      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.  
The first column is the band index, the second column are the quasi-particle energies <math>E_{n{\bf q}}</math>.
If the self-consistent QPGW algorithms are chosen the {{TAG|OUTCAR}} will contain additional information of the form
</span>
 
<span id="gw0">
=== Partially self-consistent EVGW<sub>0</sub> calculations ===
In most cases, the ''best'' results (''i.e.'', closest to experiment) are obtained by iterating only <math>G</math> via the spectral representation
 
<span id="SpectralG">
<math>
G({\bf r},{\bf r}',\omega)=\sum_{n{\bf k}}\frac{\phi_{n{\bf k}}^{*(0)}
({\bf r})\phi^{(0)}_{n{\bf k}}
({\bf r}')}{\omega-\epsilon_{n{\bf k}}}</math>
</span>
 
but keeping <math>W</math> fixed to the initial DFT level ''W''<sub>0</sub>.  
 
This can be achieved in two ways. If the spectral method is not selected ({{TAG|LSPECTRAL}}=.FALSE., requiring much more compute time), the quasi-particle (QP) shifts are iterated automatically four times, and you will find four sets of QP shifts in the {{FILE|OUTCAR}} file. The first one corresponds to the ''G''<sub>0</sub>''W''<sub>0</sub> case, the final one to the ''GW''<sub>0</sub> results. The {{FILE|INCAR}} file is simply:
 
{{TAGBL|System}} = Si
{{TAGBL|NBANDS}} = 96
{{TAGBL|ISMEAR}} = 0 ; {{TAGBL|SIGMA}} = 0.05
{{TAGBL|ALGO}} = EVGW0 ! use "GW0" in VASP.5.X
{{TAGBL|LSPECTRAL}} =.FALSE.
 
For technical reasons, it is not possible to iterate ''G'' in this manner if {{TAG|LSPECTRAL}}=.TRUE. is set in the {{FILE|INCAR}} file (this is the default). In this case, an iteration number must be supplied in the {{FILE|INCAR}} file using the {{TAG|NELM}}-tag. Usually three to four iterations are sufficient to obtain accurate QP shifts.
 
{{TAGBL|System}} = Si
{{TAGBL|NBANDS}} = 96
{{TAGBL|ISMEAR}} = 0 ; {{TAGBL|SIGMA}} = 0.05
{{TAGBL|ALGO}} = EVGW0 ! use "GW0" in VASP.5.X
{{TAGBL|NELM}} = 4
 
VASP.6 supports the space-time implementation of this procedure and can be selected via
 
{{TAGBL|System}} = Si
{{TAGBL|NBANDS}} = 96
{{TAGBL|ISMEAR}} = 0 ; {{TAGBL|SIGMA}} = 0.05
{{TAGBL|ALGO}} = EVGW0R ! space-time algorithm, available as of VASP.6
{{TAGBL|NOMEGA}} = 16  ! less points necessary on imaginary axes
{{TAGBL|NELM}} = 4
 
Again, we recommend to employ the the 'R' option for larger unit cells.
</span>
 
<span id="scgw0">
=== Self-consistent QPGW<sub>0</sub> calculations ===
If non diagonal components of the self-energy (in the orbital basis) should be included use {{TAG|ALGO}}=QGGW0. The following setting can be used:
 
{{TAGBL|System}} = Si
{{TAGBL|NBANDS}} = 96
{{TAGBL|ISMEAR}} = 0 ; {{TAGBL|SIGMA}} = 0.05
{{TAGBL|ALGO}} = QPGW0 ! or "scGW0" for VASP.5.2.11 and older
{{TAGBL|NELM}} = 4
 
In this case, the orbitals are updated as well by constructing a hermitian (energy independent) approximation to the self-energy.<ref name="shishkin:prl:07"/> The "static" COHSEX approximation can be selected by setting {{TAG|NOMEGA}} = 1.<ref name="bruneval:prb:06"/> To improve convergence to the groundstate, the charge density (and the charge density only) is mixed using a Kerker type mixing in VASP.5.3.2 and more recent versions (see {{TAG|IMIX}}). The mixing parameters {{TAG|AMIX}}, {{TAG|BMIX}}, {{TAG|AMIX_MAG}}, {{TAG|BMIX_MAG}}, {{TAG|AMIN}} can be adjusted, if convergence problems are encountered.
We strongly urge the user to monitor convergence by inspecting the lines <pre>charge density residual</pre> in the {{FILE|OUTCAR}} files.
 
Alternatively the mixing may be switched off by setting {{TAG|IMIX}}=0 and controlling the step width for the orbitals using the parameter {{TAG|TIME}} (which defaults to 0.4). This selects a fairly sophisticated damped MD algorithm, that is also used for DFT methods when {{TAG|ALGO}}=Damped. In general, this method is more reliable for metals and materials with strong charge sloshing.
 
As of VASP.6 the corresponding space-time implementation can be selected with an {{TAG|INCAR}} file such as
 
{{TAGBL|System}} = Si
{{TAGBL|NBANDS}} = 96
{{TAGBL|ISMEAR}} = 0 ; {{TAGBL|SIGMA}} = 0.05
{{TAGBL|ALGO}} = QPGW0R ! space-time algorithm, available as of VASP.6
{{TAGBL|NOMEGA}} = 16  ! less points necessary on imaginary axes
{{TAGBL|NELM}} = 4
 
After every iteration VASP writes following lines into the {{TAG|OUTCAR}}


   band No. DFT-energies  QP-energies  QP-e(diag)  sigma(DFT)    Z            occupation
   band No. DFT-energies  QP-energies  QP-e(diag)  sigma(DFT)    Z            occupation
Line 143: Line 258:
       8      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.  
Here the forth column should be identical to the third column of the EVGW0 results discussed above, whereas the third column reports the quasi-particle energies obtained from including the off-diagonal matrix elements in the eigenvalue equation.
 
==== Caveats ====
The ''QPGW0'' (or ''scGW0'' in VASP.5.2.11 and older) must be used with great caution, in particular, in combination with symmetry.
Symmetry is handled in a rather sophisticated manner, specifically, only the minimal number of required combination of ''q'' and ''k'' points is considered. In this case, symmetry must be applied to restore the full star of ''q''. This is done by determining degenerate eigenvalue/eigenvector pairs and restoring their symmetry according to their irreducible representation. Although the procedure is generally rather reliable, it fails to work properly if the degenerate states do not posses eigenvalues that are sufficiently close, due to insufficient convergence in the preceding DFT calculations. States are treated as degenerate if, and only if, their eigenenergies are within 0.01 eV.
 
For large supercells with low symmetry, we strongly recommend to switch off symmetry.
</span>
 
<span id="scgw">
=== Self-consistent QPGW calculations ===
Self-consistent ''QPGW'' calculations are only supported in a QP picture. As for ''QPGW''<sub>0</sub>, it is possible to update the eigenvalues only ({{TAG|ALGO}}=''EVGW'' or ''GW'' for VASP.5.X), or the eigenvalues and one-electron orbitals ({{TAG|ALGO}}=''QPGW'' or ''scGW'' in VASP.5.2.11 and older). In all cases, a QP picture is maintained, ''i.e.'', satellite peaks (shake ups and shake downs) can not be accounted for in the self-consistency cycle. Self-consistent ''QPGW'' calculations can be performed by simply repeatedly calling VASP using:
 
{{TAGBL|System}} = Si
{{TAGBL|NBANDS}} = 96
{{TAGBL|ISMEAR}} = 0 ; {{TAGBL|SIGMA}} = 0.05
{{TAGBL|ALGO}} = EVGW    ! "GW" in VASP.5.X, eigenvalues only  or alternatively
{{TAGBL|ALGO}} = QPGW    ! "scGW" in VASP.5.2.11 and older, eigenvalues and one electron orbitals
Analogously to the other ''GW'' algorithms, the low scaling GW implementation can be selected by using ''EVGWR'' or ''QPGWR'' respectively.
 
For QPGW0 or QPGW non diagonal terms in the Hamiltonian are accounted for, ''e.g.'' the linearized QP equation is diagonalized, and the one electron orbitals are updated.<ref name="shishkin:prl:07"/>
Alternatively (and preferably), the user can specify an electronic iteration counter using {{TAG|NELM}}:
 
{{TAGBL|System}} = Si
{{TAGBL|NBANDS}} = 96
{{TAGBL|ISMEAR}} = 0 ; {{TAGBL|SIGMA}} = 0.05
{{TAGBL|NELM}} = 3
{{TAGBL|ALGO}} = EVGW  ! "GW" in VASP.5.X
# or 
{{TAGBL|ALGO}} = QPGW  ! "scGW" in VASP.5.2.11 and older
 
In this case, the one-electron energies (=QP energies) are updated 3 times (starting from the DFT eigenvalues) in both G and W. For {{TAG|ALGO}}=''QPGW'' (or {{TAG|ALGO}}=''scGW'' in VASP.5.2.11 and older), the one electron energies and one electron orbitals are updated 3 times.<ref name="shishkin:prl:07"/> As for {{TAG|ALGO}} = ''QPGW0'' (or ''scGW0'' in vasp.5.2.11 and older), the "static" COHSEX approximation can be selected by setting {{TAG|NOMEGA}}=1.<ref name="bruneval:prb:06"/>
 
To improve convergence to the groundstate, the charge density is mixed using a Kerker type mixing starting with VASP.5.3.2 (see {{TAG|IMIX}}). The mixing parameters {{TAG|AMIX}}, {{TAG|BMIX}}, {{TAG|AMIX_MAG}}, {{TAG|BMIX_MAG}}, {{TAG|AMIN}} can be adjusted, if convergence problems are encountered.
Alternatively the mixing may be switched off by setting {{TAG|IMIX}}=0 and controlling the step width for the orbitals using the parameter {{TAG|TIME}} (which defaults to 0.4). This selects a fairly sophisticated damped MD algorithm, that is also used for DFT methods when {{TAG|ALGO}}=Damped. In general, this method is more reliable for metals and materials with strong charge sloshing.
 
==== Caveats ====
Fully self-consistent QPGW calculations with an update of the orbitals in ''G'' and ''W''<ref name="shishkin:prl:07"/> require significant care and are prone to diverge (QPGW0 calculations are usually less critical). As discussed, above, one can select this mode using:
 
{{TAGBL|System}} = Si
{{TAGBL|NBANDS}} = 96
{{TAGBL|ISMEAR}} = 0 ; {{TAGBL|SIGMA}} = 0.05
{{TAGBL|ALGO}} = QPGW  ! or "scGW" in VASP.5.2.11 and older, eigenvalues and one-electron orbitals
{{TAGBL|NELM}} = number of steps
 
However, one ''caveat'' applies to this case: when the orbitals are updated, the derivatives of the orbitals with respect to ''k'' (stored in the {{FILE|WAVEDER}} file) will become incompatible with the orbitals.
This can cause severe problems and convergence to the incorrect solution. For metals, we recommend to avoid using the {{FILE|WAVEDER}} file alltogether ({{TAG|LOPTICS}}=.TRUE. should not be used in the preparatory DFT runs).
 
For insulators, VASP (version 5.3.2 or higher) can update the {{FILE|WAVEDER}} file in each electronic iteration if the finite difference method is used to calculate the first derivative of the orbitals with respect to <math> k </math>:
 
{{TAGBL|System}} = Si
{{TAGBL|NBANDS}} = 96
{{TAGBL|ISMEAR}} = 0 ; {{TAGBL|SIGMA}} = 0.05
{{TAGBL|ALGO}} = QPGW ! "scGW" in VASP.5.2.11 and older, eigenvalues and one-electron orbitals
{{TAGBL|NELM}}  = 10
{{TAGBL|LOPTICS}} = .TRUE. ; {{TAGBL|LPEAD}} = .TRUE.
 
The combination <tt>{{TAG|LOPTICS}}=.TRUE.; {{TAG|LPEAD}}=.TRUE.</tt> is required since &delta;(''H''-&epsilon;<sub>''n'''''k'''</sub>''S'')/&delta;''k''<sub>i</sub> is not available for ''GW'' like methods.
{{TAG|LPEAD}}=.TRUE. circumvents this problems by calculating the derivatives of the orbitals using numerical differentiation on the finite k-point grid (this option is presently limited to insulators).
 
Vertex corrections are presently not documented. This is a feature still under construction, and we recommend to collaborate with the Vienna group if you are desperately in need of that feature.
 
Note that as of VASP.6 the GW {{TAG|ALGO}} tags have been renamed, see [[ALGO#GW tags in VASP.6|here]] for VASP.5.X tags.
</span>
</span>


<span id="GWR">
<span id="GWR">
 
=== Self-consistent GW ===
== 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.
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.
Line 169: Line 346:
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.  
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.  
Furthermore, the space-time implementation can be used to perform ''QPGW'' and ''EVGW'' calcualtions as well by adding a ''R'' to the {{TAG|ALGO}} GW options described above.  


=== Large systems ===  
==== 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.  
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.  


Line 217: Line 394:
<ref name="shishkin-PRB74">[http://link.aps.org/doi/10.1103/PhysRevB.74.035101 M. Shishkin and G. Kresse, Phys. Rev. B 74, 035101 (2006).]</ref>
<ref name="shishkin-PRB74">[http://link.aps.org/doi/10.1103/PhysRevB.74.035101 M. Shishkin and G. Kresse, Phys. Rev. B 74, 035101 (2006).]</ref>
<ref name="shishkin-PRB75">[http://link.aps.org/doi/10.1103/PhysRevB.75.235102 M. Shishkin and G. Kresse, Phys. Rev. B 75, 235102 (2007).]</ref>
<ref name="shishkin-PRB75">[http://link.aps.org/doi/10.1103/PhysRevB.75.235102 M. Shishkin and G. Kresse, Phys. Rev. B 75, 235102 (2007).]</ref>
<ref name="shishkin-PRL99">[http://link.aps.org/doi/10.1103/PhysRevLett.99.246403 M. Shishkin, M. Marsman, and G. Kresse, Phys. Rev. Lett. 99, 246403 (2007).]</ref>
<ref name="shishkin:prl:07">[http://link.aps.org/doi/10.1103/PhysRevLett.99.246403 M. Shishkin, M. Marsman, and G. Kresse, Phys. Rev. Lett. 99, 246403 (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="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>
<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>
<ref name="HybertsenLouie">[https://journals.aps.org/prb/abstract/10.1103/PhysRevB.34.5390 M. S. Hybertsen, S. G. Louie Phys. Ref. B 34, 5390 (1986)]</ref>
<ref name="HybertsenLouie">[https://journals.aps.org/prb/abstract/10.1103/PhysRevB.34.5390 M. S. Hybertsen, S. G. Louie Phys. Ref. B 34, 5390 (1986)]</ref>
<ref name="bruneval:prb:06">[http://link.aps.org/doi/PhysRevB.74.45102 F. Bruneval, N. Vast, and L. Reining, Phys. Rev. B 74, 45102 (2006).]</ref>
</references>
</references>
----
----

Revision as of 17:09, 2 October 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] 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.[5] This method 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[6]

and provide an alternative to the Schrödinger equation for the many-body problem. Here the common notation was adopted and denotes the bare Coulomb interaction.

The GW approximation is obtained by neglecting the equation for the vertex function and using the bare vertex instead reducing the equations for the polarizability and self-energy to

The equations for the Green's function and the screened potential, however, remain the same, but usually are solved in reciprocal space

Due to the complexity further approximations are usually performed giving rise to different GW flavors.

General outline of a GW calculation

As of VASP.6 all GW approximations can be selected directly via the ALGO tag (omitting NBANDS) without a preceding DFT calculation. However, for older versions a two step procedure is required, where the first step is always a DFT calculation. The actual GW calculation is performed in the second step.

First step: DFT calculation

GW calculations always require the calculation of a standard DFT WAVECAR file in an initial step, using for instance the following INCAR file:

System = Si
NBANDS = 96
ISMEAR = 0 ; SIGMA = 0.05  ! small sigma is required to avoid partial occupancies
LOPTICS = .TRUE.

Note, that the a significant number of empty bands is required for GW calculations, so that it might be better to perform the calculations in two steps: first a standard grounstate calculation with few unoccupied orbitals only,

System = Si groundstate occupied orbitals
ISMEAR = 0 ; SIGMA = 0.05  ! small sigma is required to avoid partial occupancies
EDIFF = 1E-8               ! required tight tolerance for groundstate orbitals

and, second, a calculation of a large number of unoccupied orbitals

System  = Si unoccupied orbitals
ALGO = Exact               ! use exact diagonalization of the Hamiltonian
NELM = 1                   ! since we are already converged stop after one step
NBANDS = 96                
ISMEAR = 0 ; SIGMA = 0.05  ! small sigma is required to avoid partial occupancies
LOPTICS = .TRUE.

Furthermore note that the flag LOPTICS=.TRUE. is required in order to write the file WAVEDER, which contains the derivative of the orbitals with respect to k. This derivative is used to construct the head and wings of the dielectric matrix employing k·p perturbation theory and is important to accelerate k-point convergence for insulators and semiconductors. For metals, in general, we recommend to omit the LOPTICS tag and remove the WAVEDER file from the directory.

Optional: Use Hybrid functionals

Optionally, one can start a GW calculation from a hybrid functional, such as HSE. For hybrid functionals, the two step procedure will accordingly involve the following INCAR files. In the first step, converged HSE03 orbitals are determined (usually hybrid functional calculations should be preceeded by standard DFT calculations, we have not documented this step here, see the Howto on Hybrid functional calculations):

System  = Si groundstate occupied orbitals
ISMEAR = 0 ; SIGMA = 0.05
ALGO = Damped ; TIME = 0.5  ! or ALGO = Conjugate
LHFCALC = .TRUE. ; AEXX = 0.25 ; HFSCREEN = 0.3 
EDIFF = 1E-6      ! required tight tolerance for groundstate orbitals

Secondly, determine the HSE03 orbitals for unoccupied states:

System  = Si unoccupied orbitals
NBANDS = 96
ALGO = Exact
NELM = 1          ! since we are already converged stop after one step
ISMEAR = 0 ; SIGMA = 0.05
LHFCALC = .TRUE. ; AEXX = 0.25 ; HFSCREEN = 0.3 
LOPTICS = .TRUE.

Step 2: quasi-particle GW

The actual GW calculation is done in a second step. Here different GW flavors are possible and are selected with the ALGO tag.

G0W0: single shot quasi-particle energies

This is the simplest GW calculation, but computationally the most efficient one. A single-shot G0W0 calculation calculates the quasi-particle energies from a single GW iteration by neglecting all off-diagonal matrix elements of the self-energy and linearizing the eigenvalue equation around the DFT eigenvalues . The corresponding equation reads

In VASP, G0W0 calculations can be selected using an INCAR file such as

System  = Si
NBANDS = 96
ISMEAR = 0 ; SIGMA = 0.05
NELM = 1 ; ALGO = EVGW0 ! use "GW0" for VASP.5.X
NOMEGA = 50

Convergence with respect to the number of empty bands NBANDS and with respect to the number of frequencies NOMEGA must be checked carefully.

As of VASP.6 the corresponding space-time algorithm can be selected with the following setup

System  = Si
NBANDS = 96
ISMEAR = 0 ; SIGMA = 0.05
NELM = 1 ; ALGO = EVGW0R ! space-time GW algorithm, available as of VASP.6
NOMEGA = 16 ! less frequency points necessary on imaginary axes

and is recommended for larger unit cells.

To avoid complicated inter-nested tests, we recommend to calculate all orbitals that the plane wave basis set allows to calculate (except for simple tests). For further reading please consult the section on ENCUTGW.

After a successful G0W0 run, 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 .

Partially self-consistent EVGW0 calculations

In most cases, the best results (i.e., closest to experiment) are obtained by iterating only via the spectral representation

but keeping fixed to the initial DFT level W0.

This can be achieved in two ways. If the spectral method is not selected (LSPECTRAL=.FALSE., requiring much more compute time), the quasi-particle (QP) shifts are iterated automatically four times, and you will find four sets of QP shifts in the OUTCAR file. The first one corresponds to the G0W0 case, the final one to the GW0 results. The INCAR file is simply:

System = Si
NBANDS = 96
ISMEAR = 0 ; SIGMA = 0.05
ALGO = EVGW0 ! use "GW0" in VASP.5.X
LSPECTRAL =.FALSE.

For technical reasons, it is not possible to iterate G in this manner if LSPECTRAL=.TRUE. is set in the INCAR file (this is the default). In this case, an iteration number must be supplied in the INCAR file using the NELM-tag. Usually three to four iterations are sufficient to obtain accurate QP shifts.

System = Si
NBANDS = 96
ISMEAR = 0 ; SIGMA = 0.05
ALGO = EVGW0 ! use "GW0" in VASP.5.X
NELM = 4

VASP.6 supports the space-time implementation of this procedure and can be selected via

System = Si
NBANDS = 96
ISMEAR = 0 ; SIGMA = 0.05
ALGO = EVGW0R ! space-time algorithm, available as of VASP.6
NOMEGA = 16   ! less points necessary on imaginary axes
NELM = 4 

Again, we recommend to employ the the 'R' option for larger unit cells.

Self-consistent QPGW0 calculations

If non diagonal components of the self-energy (in the orbital basis) should be included use ALGO=QGGW0. The following setting can be used:

System = Si
NBANDS = 96
ISMEAR = 0 ; SIGMA = 0.05
ALGO = QPGW0 ! or "scGW0" for VASP.5.2.11 and older 
NELM = 4

In this case, the orbitals are updated as well by constructing a hermitian (energy independent) approximation to the self-energy.[3] The "static" COHSEX approximation can be selected by setting NOMEGA = 1.[7] To improve convergence to the groundstate, the charge density (and the charge density only) is mixed using a Kerker type mixing in VASP.5.3.2 and more recent versions (see IMIX). The mixing parameters AMIX, BMIX, AMIX_MAG, BMIX_MAG, AMIN can be adjusted, if convergence problems are encountered.

We strongly urge the user to monitor convergence by inspecting the lines

charge density residual

in the OUTCAR files.

Alternatively the mixing may be switched off by setting IMIX=0 and controlling the step width for the orbitals using the parameter TIME (which defaults to 0.4). This selects a fairly sophisticated damped MD algorithm, that is also used for DFT methods when ALGO=Damped. In general, this method is more reliable for metals and materials with strong charge sloshing.

As of VASP.6 the corresponding space-time implementation can be selected with an INCAR file such as

System = Si
NBANDS = 96
ISMEAR = 0 ; SIGMA = 0.05
ALGO = QPGW0R ! space-time algorithm, available as of VASP.6 
NOMEGA = 16   ! less points necessary on imaginary axes 
NELM = 4

After every iteration VASP writes following lines into the OUTCAR

 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 discussed above, whereas the third column reports the quasi-particle energies obtained from including the off-diagonal matrix elements in the eigenvalue equation.

Caveats

The QPGW0 (or scGW0 in VASP.5.2.11 and older) must be used with great caution, in particular, in combination with symmetry. Symmetry is handled in a rather sophisticated manner, specifically, only the minimal number of required combination of q and k points is considered. In this case, symmetry must be applied to restore the full star of q. This is done by determining degenerate eigenvalue/eigenvector pairs and restoring their symmetry according to their irreducible representation. Although the procedure is generally rather reliable, it fails to work properly if the degenerate states do not posses eigenvalues that are sufficiently close, due to insufficient convergence in the preceding DFT calculations. States are treated as degenerate if, and only if, their eigenenergies are within 0.01 eV.

For large supercells with low symmetry, we strongly recommend to switch off symmetry.

Self-consistent QPGW calculations

Self-consistent QPGW calculations are only supported in a QP picture. As for QPGW0, it is possible to update the eigenvalues only (ALGO=EVGW or GW for VASP.5.X), or the eigenvalues and one-electron orbitals (ALGO=QPGW or scGW in VASP.5.2.11 and older). In all cases, a QP picture is maintained, i.e., satellite peaks (shake ups and shake downs) can not be accounted for in the self-consistency cycle. Self-consistent QPGW calculations can be performed by simply repeatedly calling VASP using:

System = Si
NBANDS = 96
ISMEAR = 0 ; SIGMA = 0.05
ALGO = EVGW    ! "GW" in VASP.5.X, eigenvalues only  or alternatively
ALGO = QPGW    ! "scGW" in VASP.5.2.11 and older, eigenvalues and one electron orbitals

Analogously to the other GW algorithms, the low scaling GW implementation can be selected by using EVGWR or QPGWR respectively.

For QPGW0 or QPGW non diagonal terms in the Hamiltonian are accounted for, e.g. the linearized QP equation is diagonalized, and the one electron orbitals are updated.[3] Alternatively (and preferably), the user can specify an electronic iteration counter using NELM:

System = Si
NBANDS = 96
ISMEAR = 0 ; SIGMA = 0.05
NELM = 3
ALGO = EVGW  ! "GW" in VASP.5.X 
# or  
ALGO = QPGW  ! "scGW" in VASP.5.2.11 and older

In this case, the one-electron energies (=QP energies) are updated 3 times (starting from the DFT eigenvalues) in both G and W. For ALGO=QPGW (or ALGO=scGW in VASP.5.2.11 and older), the one electron energies and one electron orbitals are updated 3 times.[3] As for ALGO = QPGW0 (or scGW0 in vasp.5.2.11 and older), the "static" COHSEX approximation can be selected by setting NOMEGA=1.[7]

To improve convergence to the groundstate, the charge density is mixed using a Kerker type mixing starting with VASP.5.3.2 (see IMIX). The mixing parameters AMIX, BMIX, AMIX_MAG, BMIX_MAG, AMIN can be adjusted, if convergence problems are encountered. Alternatively the mixing may be switched off by setting IMIX=0 and controlling the step width for the orbitals using the parameter TIME (which defaults to 0.4). This selects a fairly sophisticated damped MD algorithm, that is also used for DFT methods when ALGO=Damped. In general, this method is more reliable for metals and materials with strong charge sloshing.

Caveats

Fully self-consistent QPGW calculations with an update of the orbitals in G and W[3] require significant care and are prone to diverge (QPGW0 calculations are usually less critical). As discussed, above, one can select this mode using:

System = Si
NBANDS = 96
ISMEAR = 0 ; SIGMA = 0.05
ALGO = QPGW  ! or "scGW" in VASP.5.2.11 and older, eigenvalues and one-electron orbitals
NELM = number of steps

However, one caveat applies to this case: when the orbitals are updated, the derivatives of the orbitals with respect to k (stored in the WAVEDER file) will become incompatible with the orbitals. This can cause severe problems and convergence to the incorrect solution. For metals, we recommend to avoid using the WAVEDER file alltogether (LOPTICS=.TRUE. should not be used in the preparatory DFT runs).

For insulators, VASP (version 5.3.2 or higher) can update the WAVEDER file in each electronic iteration if the finite difference method is used to calculate the first derivative of the orbitals with respect to :

System = Si
NBANDS = 96
ISMEAR = 0 ; SIGMA = 0.05
ALGO = QPGW ! "scGW" in VASP.5.2.11 and older, eigenvalues and one-electron orbitals
NELM  = 10
LOPTICS = .TRUE. ; LPEAD = .TRUE.

The combination LOPTICS=.TRUE.; LPEAD=.TRUE. is required since δ(HnkS)/δki is not available for GW like methods. LPEAD=.TRUE. circumvents this problems by calculating the derivatives of the orbitals using numerical differentiation on the finite k-point grid (this option is presently limited to insulators).

Vertex corrections are presently not documented. This is a feature still under construction, and we recommend to collaborate with the Vienna group if you are desperately in need of that feature.

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

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[8] (called space-time implementation in the following) can be selected. This approach follows the idea of Rojas et al.[9] 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 used 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) has to capture all possible one-particle energies in the Green's function

Only then, the FT is carried out with small error.

Recipes

Related Tags and Sections

Examples that use this tag

References


Contents