Practical guide to GW calculations
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,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
- G0W0 calculations: single-shot G0W0 calculations
- GW0, scGW0 calculations: partially selfconsistent, with respect to G (ALGO=GW0 or ALGO=scGW0)
- GW and scGW calculations: selfconsistent GW (ALGO=GW or ALGO=scGW)
- DM calculations with GW routines: Determination of the frequency dependent dielectric matrix (DM) using the GW routines
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
- ALGO for response functions and GW calculations
- LMAXFOCKAE
- NOMEGA, NOMEGAR number of frequency points
- LSPECTRAL: use the spectral method for the polarizability
- LSPECTRALGW: use the spectral method for the self-energy
- OMEGAMAX, OMEGATL and CSHIFT
- ENCUTGW: energy cutoff for response function
- ENCUTGWSOFT: soft cutoff for Coulomb kernel
- ODDONLYGW and EVENONLYGW: reducing the k-grid for the response functions
- LSELFENERGY: the frequency dependent self energy
- LWAVE: selfconsistent GW
- NOMEGAPAR: frequency grid parallelization
- NTAUPAR: time grid parallelization
References
- ↑ a b M. Shishkin and G. Kresse, Phys. Rev. B 74, 035101 (2006).
- ↑ a b c M. Shishkin and G. Kresse, Phys. Rev. B 75, 235102 (2007).
- ↑ a b M. Shishkin, M. Marsman, and G. Kresse, Phys. Rev. Lett. 99, 246403 (2007).
- ↑ F. Fuchs, J. Furthmüller, F. Bechstedt, M. Shishkin, and G. Kresse, Phys. Rev. B 76, 115109 (2007).
- ↑ a b P. Liu, M. Kaltak, J. Klimes and G. Kresse, Phys. Rev. B 94, 165109 (2016).
- ↑ H. N. Rojas, R. W. Godby, R. J. Needs, Phys. Rev. Lett. 74, 1827 (1995)