ABINIT: GW Quasiparticle Corrections and Phonon Dispersions with Many-Body Perturbation Theory
ABINIT: Computing Optical Properties and Phonon Dispersions with Many-Body Perturbation Theory
ABINIT is a mature, open-source density functional theory (DFT) and beyond-DFT package that has been in active development since the late 1990s. While tools such as VASP and Quantum ESPRESSO dominate routine ground-state calculations, ABINIT distinguishes itself through its production-ready implementations of Many-Body Perturbation Theory (MBPT) — specifically the GW approximation and the Bethe-Salpeter Equation (BSE) — as well as its tightly integrated Density Functional Perturbation Theory (DFPT) engine for phonon dispersions, dielectric tensors, and Born effective charges. For materials scientists who need to go beyond standard DFT band gaps and ground-state energies, ABINIT provides a coherent, well-documented workflow from pseudopotential generation to experimentally comparable spectra.
Why Go Beyond Standard DFT?
Kohn-Sham DFT systematically underestimates band gaps — often by 30–50% for semiconductors and insulators — because the exchange-correlation functional does not capture the quasiparticle self-energy correctly. This limitation is critical when predicting:
- Optical absorption edges in photovoltaic or LED materials
- Exciton binding energies in 2D materials and quantum dots
- Phonon-mediated properties such as thermal conductivity, superconducting transition temperatures, and electron-phonon coupling constants
ABINIT addresses these shortcomings through a layered workflow: DFT ground state → GW quasiparticle corrections → BSE optical spectra, all within a single code base and a unified input-file syntax.
Core Capabilities
GW Approximation for Quasiparticle Band Structures
ABINIT implements both one-shot G₀W₀ and self-consistent GW (scGW) corrections. The typical workflow proceeds as follows:
- Ground-state DFT run — converge the charge density using norm-conserving pseudopotentials (ONCVPSP or Troullier-Martins) from the PseudoDojo library.
- Wavefunction generation — compute a large number of empty bands (controlled by
nband) needed to converge the dielectric matrix. - Screening calculation — compute the irreducible polarizability χ₀ and the screened Coulomb interaction W using the plasmon-pole model or full-frequency integration.
- Self-energy evaluation — apply the GW self-energy Σ = iGW to obtain quasiparticle energies.
Key input variables include optdriver 3 (screening) and optdriver 4 (self-energy), with convergence controlled by ecuteps (dielectric matrix cutoff) and ecutsigx (exchange part of Σ). A well-converged GW calculation for a simple semiconductor like silicon typically requires ecuteps of 6–10 Ha and several hundred empty bands.

Bethe-Salpeter Equation for Optical Spectra
Once quasiparticle corrections are available, ABINIT solves the BSE to capture excitonic effects in optical spectra. The BSE Hamiltonian couples electron-hole pairs through the screened Coulomb interaction, producing bound exciton states that appear as sharp peaks below the quasiparticle gap. This is essential for:
- Predicting UV-Vis absorption spectra of wide-gap oxides (TiO₂, ZnO, Ga₂O₃)
- Modeling excitonic resonances in transition metal dichalcogenides (MoS₂, WSe₂)
- Interpreting EELS (Electron Energy Loss Spectroscopy) data
The BSE is invoked with optdriver 99 and requires specifying the number of valence and conduction bands included in the excitonic Hamiltonian (nv_bse, nc_bse). Diagonalization can be performed exactly or via the Haydock iterative scheme for large systems.
DFPT: Phonons, Dielectric Constants, and Born Charges
ABINIT's DFPT implementation (via rfphon 1) computes interatomic force constants on a q-point grid, which are then Fourier-interpolated to produce full phonon dispersion curves using the companion anaddb post-processor. A single DFPT run simultaneously yields:
- Phonon band structure and density of states — critical for thermal transport modeling
- Static and high-frequency dielectric tensors (ε₀ and ε∞)
- Born effective charge tensors — essential for polar materials and LO-TO splitting
- Piezoelectric and elastic constants (with additional response function drivers)
The integration with phonondb and phonopy allows ABINIT DFPT results to feed directly into thermal conductivity codes such as ShengBTE or BTE-Barna.

Practical Workflow: Silicon Band Gap Correction
Below is a condensed example of a G₀W₀ workflow for silicon:
# Step 1: Ground-state DFT
ndtset 1
ecut 20 # Ha
kptopt 1
ngkpt 4 4 4
nshiftk 1
shiftk 0.5 0.5 0.5
nband 50
tolvrs 1.0d-18
# Step 2: Screening (dataset 2)
optdriver 3
ecuteps 6.0
nband 200
awtr 1
# Step 3: Self-energy (dataset 3)
optdriver 4
ecutsigx 12.0
nkptgw 1
kptgw 0.0 0.0 0.0 # Γ point
bdgw 4 5 # VBM and CBM
Running these three datasets sequentially (or in parallel using MPI) produces quasiparticle corrections that typically bring the Si band gap from the DFT value of ~0.5 eV to the experimental 1.17 eV.
Performance and Parallelism
ABINIT scales efficiently across thousands of MPI tasks using a four-level parallelism hierarchy: k-points → spin → bands → FFT grid. For GW calculations, the most computationally intensive step is the dielectric matrix inversion, which benefits from ScaLAPACK and GPU offloading (available via the CUDA-enabled build). On modern HPC clusters, a GW calculation for a 64-atom supercell can complete in a few hours using 256–512 cores.
Integration with the Materials Ecosystem
ABINIT outputs are compatible with several downstream tools:
- AbiPy — a Python library for automating ABINIT workflows, parsing output files, and generating publication-quality plots of band structures, DOS, and phonon dispersions. AbiPy integrates with the FireWorks workflow manager for high-throughput screening.
- Materials Project — many GW and BSE calculations in the Materials Project database were benchmarked against ABINIT results.
- Wannier90 — maximally localized Wannier functions can be constructed from ABINIT wavefunctions for tight-binding model extraction.
Getting Started
ABINIT is freely available under the GNU GPL license. The recommended installation path for HPC environments is via Spack (spack install abinit +mpi +openmp), which handles the complex dependency chain (LibXC, NetCDF4, FFTW3, ScaLAPACK). Comprehensive tutorials covering GW, BSE, and DFPT are available on the official documentation site, and the AbiPy tutorials on GitHub provide Jupyter-notebook-based walkthroughs for each workflow.
For teams already using VASP or Quantum ESPRESSO for ground-state work, ABINIT's GW and BSE capabilities offer a natural extension path without switching codes entirely — pseudopotentials from PseudoDojo are compatible across multiple codes, and AbiPy can parse and compare results from different DFT packages.
Conclusion
ABINIT occupies a unique niche in the materials simulation ecosystem: it combines production-quality GW/BSE many-body perturbation theory with a robust DFPT engine in a single, open-source package. For researchers who need accurate optical spectra, phonon dispersions, and electron-phonon coupling constants — rather than just ground-state energies — ABINIT provides a well-validated, HPC-ready solution backed by decades of community development.