ABINIT-GW

ABINIT-GW refers to the many-body perturbation theory (MBPT) functionality within the ABINIT package, an open-source plane-wave pseudopotential code for electronic structure calculations. ABINIT implements the GW approximation for comput…

2. TDDFT & EXCITED-STATE 2.3 GW Methods VERIFIED 1 paper
Back to Directory Official Website

Overview

ABINIT-GW refers to the many-body perturbation theory (MBPT) functionality within the ABINIT package, an open-source plane-wave pseudopotential code for electronic structure calculations. ABINIT implements the GW approximation for computing quasiparticle energies and band gaps, providing one of the major open-source GW implementations alongside BerkeleyGW and Yambo.

Reference Papers (1)

Full Documentation

Official Resources

  • Homepage: https://www.abinit.org/
  • Documentation: https://docs.abinit.org/theory/mbt/
  • Source Repository: https://github.com/abinit/abinit
  • License: GNU General Public License

Overview

ABINIT-GW refers to the many-body perturbation theory (MBPT) functionality within the ABINIT package, an open-source plane-wave pseudopotential code for electronic structure calculations. ABINIT implements the GW approximation for computing quasiparticle energies and band gaps, providing one of the major open-source GW implementations alongside BerkeleyGW and Yambo.

Within MBPT, ABINIT calculates quasiparticle (QP) energies and amplitudes by solving a nonlinear equation involving the non-Hermitian, nonlocal, and frequency-dependent self-energy operator. A typical GW calculation in ABINIT consists of two steps following a DFT calculation: first computing the screened interaction (dielectric matrix) and storing it on disk (optdriver=3), then evaluating the self-energy matrix elements to obtain QP corrections (optdriver=4). ABINIT supports plasmon-pole models and full numerical frequency integration, with the latter using contour integration along the imaginary axis.

Scientific domain: Many-body perturbation theory, quasiparticle band structure
Target user community: Computational materials scientists requiring open-source GW calculations

Theoretical Methods

  • GW approximation within Hedin's equations
  • G0W0 (single-shot quasiparticle energies)
  • Self-consistent GW (scGW) and GW0 (self-consistent G, fixed W0)
  • RPA screened interaction computation
  • Plasmon-pole models (Godby-Needs, etc.)
  • Full numerical frequency integration (contour deformation)
  • GW 1-body reduced density matrix (1RDM) with Galitskii-Migdal correlation
  • PAW and norm-conserving pseudopotential frameworks

Capabilities (CRITICAL)

  • Quasiparticle energy calculations (G0W0, scGW, GW0)
  • Screening (susceptibility and dielectric matrix) computation
  • Self-energy matrix element evaluation
  • Multiple frequency integration methods (plasmon-pole and contour)
  • Coulomb singularity treatment (icutcoul) for convergence acceleration
  • Support for PAW and norm-conserving pseudopotentials
  • Core contribution to self-energy via Fock operator (PAW)
  • GW total energy via Galitskii-Migdal approximation
  • BSE calculations (optdriver=99) on top of GW

Inputs & Outputs

Input formats:

  • ABINIT input files with optdriver=3 (screening) and optdriver=4 (self-energy)
  • WFK files from preceding DFT calculation
  • SCR files (screening/dielectric matrix)

Output data types:

  • Quasiparticle energies and corrections
  • Self-energy matrix elements (exchange and correlation parts)
  • Screened interaction (SCR files)
  • Dielectric matrices
  • GW total energies (with Galitskii-Migdal)

Interfaces & Ecosystem

  • Programming language: Fortran (with Python bindings)
  • Open-source: GNU GPL license
  • Parallel computing: MPI and OpenMP parallelization
  • Prerequisite: ABINIT DFT ground-state calculation
  • Downstream: BSE calculations using SCR files
  • Parameter files: .ac9 files for compilation options (enable_gw_dpc)

Limitations & Known Constraints

  • Pseudopotential-based (core-valence interaction approximated)
  • Memory-intensive for large dielectric matrices
  • Convergence with k-points, unoccupied states, and frequency grid required
  • Self-consistent GW variants are computationally very expensive

Performance Characteristics

  • Screening computation: scales with number of bands and G-vectors (ecuteps)
  • Self-energy: controlled by ecutsigx (exchange) and ecuteps (correlation)
  • FFT-based oscillator matrix evaluation (fftgw parameter)
  • Memory reduction option: enable_gw_dpc="no" at compilation
  • Parallel over k-points and frequency points

Comparison with Other Codes

  • vs VASP-GW: ABINIT is open-source (GPL); VASP is commercial. Both offer comprehensive GW
  • vs BerkeleyGW: BerkeleyGW is standalone post-processing; ABINIT-GW is integrated
  • vs Yambo: Yambo works with QE/ABINIT output; ABINIT-GW is self-contained
  • vs FHI-gap: FHI-gap is all-electron LAPW; ABINIT uses pseudopotentials

Best Practices

  • Converge ecuteps (screening) and ecutsigx (self-energy) separately
  • Use sufficient empty bands (nband) for correlation part of self-energy
  • For metals, use contour deformation instead of plasmon-pole
  • Use icutcoul for improved k-point convergence of Coulomb singularity
  • Follow GW1 and GW2 tutorials for systematic convergence testing

Verification & Sources

Primary sources:

  1. ABINIT MBPT theory: https://docs.abinit.org/theory/mbt/
  2. ABINIT GW topic: https://docs-10-4-3.abinit.org/topics/GW/
  3. ABINIT GW tutorials: https://docs.abinit.org/tutorial/gw1/

Confidence: VERIFIED - Official documentation and tutorials confirmed accessible

Related Tools in 2.3 GW Methods