This page gives hints on how to perform a GW calculation, including self-consistency with the ABINIT package.
DFT performs reasonably well for the determination of structural properties, but fails to predict accurate band gaps. A more rigorous framework for the description of excited states is provided by many-body perturbation theory (MBPT) [Fetter1971], [Abrikosov1975], based on the Green’s functions formalism and the concept of quasi-particles [Onida2002].
Within MBPT, one can calculate the quasi-particle (QP) energies, E, and amplitudes, Ψ, by solving a nonlinear equation involving the non-Hermitian, nonlocal and frequency dependent self-energy operator Σ.
This equation goes beyond the mean-field approximation of independent KS particles as it accounts for the dynamic many-body effects in the electron- electron interaction.
Details about the GW implementation in ABINIT can be found here
A typical GW calculation consists of two different steps (following a DFT calculation): first the screened interaction ε-1 is calculated and stored on disk (optdriver=3), then the KS band structure and W are used to evaluate the matrix elements of Σ, finally obtaining the QP corrections (optdriver=4).
The computation of the screened interaction is described in topic_Susceptibility, while the computation of the self-energy is described in topic_SelfEnergy. The frequency meshes, used e.g. for integration along the real and imaginary axes are described in topic_FrequencyMeshMBPT.
GW calculations can be made less memory and CPU time consuming, at the expense of numerical precision, by compiling ABINIT with the option enable_gw_dpc=“no” in the *.ac9 file.
The GW 1-body reduced density matrix (1RDM) from the linearized Dyson equation can be computed, and when used self-consistently with the Galitskii-Migdal correlation, provides an approximation the self-consistent GW total energy.
Related Input Variables¶
- optdriver OPTions for the DRIVER
- bdgw BanDs for GW calculation
- gw_nstep GW Number of self-consistent STEPs
- gw_sctype GW, Self-Consistency TYPE
- gw_toldfeig GW TOLerance on the DiFference of the EIGenvalues
- gwaclowrank GW Analytic Continuation LOW RANK approximation
- gwcalctyp GW CALCulation TYPe
- gwpara GW PARAllelization level
- nband Number of BANDs
- getqps GET QuasiParticle Structure
- getscr GET SCReening (the inverse dielectric matrix) from…
- getsuscep GET SUSCEPtibility (the irreducible polarizability) from…
- irdqps Integer that governs the ReaDing of QuasiParticle Structure
- irdscr Integer that governs the ReaDing of the SCReening
- irdsuscep Integer that governs the ReaDing of the SUSCEPtibility
- mbpt_sciss Many Body Perturbation Theory SCISSor operator
- nbandkss Number of BANDs in the KSS file
- nsym Number of SYMmetry operations
- rhoqpmix RHO QuasiParticle MIXing
- symmorphi SYMMORPHIc symmetry operation selection
- usepawu USE PAW+U (spherical part)
- fftgw FFT for GW calculation
- gw1rdm GW 1-Reduced Density Matrix
- gw_nqlwl GW, Number of Q-points for the Long Wave-Length Limit
- gwgmcorr GW Galitskii-Migdal CORRelation energy
- gwmem GW MEMory
- irdchkprdm Integer that governs ReaDing of CHecK-Point files for the GW 1-RDM
- prtchkprdm Integer that governs PrinTing of CHecK-Point files for the GW 1-RDM
- x1rdm EXchange-only 1-Reduced Density Matrix
Selected Input Files¶
- gw1 tutorial The first tutorial on GW (GW1) deals with the computation of the quasi-particle band gap of Silicon (semiconductor), in the GW approximation (much better than the Kohn-Sham LDA band structure), with a plasmon-pole model.
- gw2 tutorial The second tutorial on GW (GW2) deals with the computation of the quasi-particle band structure of Aluminum, in the GW approximation (so, much better than the Kohn-Sham LDA band structure) without using the plasmon-pole model.
- Parallelism of Many-Body Perturbation calculations (GW) allows to speed up the calculation of accurate electronic structures (quasi-particle band structure, including many-body effects).