Source-linked AI summary

Yambo: an \textit{ab initio} tool for excited state calculations

Andrea Marini, Conor Hogan, Myrta Grüning, Daniele Varsano

arXiv:0810.3118v2cond-mat.mtrl-sci

TL;DR

Excited-state quantities are not generally captured by standard ground-state DFT, while optical spectra require treatments of quasiparticles and electron–hole interactions. yambo addresses this gap with GW, Bethe–Salpeter, and TDDFT methods, supported by numerical solvers for large systems and reduced-dimensionality calculations. The code reproduces ethylene’s main 7.5 eV excitation peak and includes scope-specific treatments for metals and plane-wave supercells.

  • Problem

    Standard DFT is mostly limited to ground-state quantities, while RPA and practical TDDFT approximations can inadequately describe excited-state and optical properties.

  • Method

    yambo uses DFT Kohn–Sham states as a reference and applies GW Dyson equations, Bethe–Salpeter equations, TDDFT, and efficient numerical solvers.

  • Results

    The ALDA dynamical polarizability reproduces ethylene’s main excitation peak at 7.5 eV, composed of bound electron–hole states.

  • Takeaways & Limitations

    yambo provides first-principles calculations of quasiparticles, excitons, and plasmons for electronic and optical properties across varied physical systems.

  • Takeaways & Limitations

    For metals with localized d or f orbitals, the plasmon-pole approximation can be questionable; plane-wave supercells also create low-dimensionality complications.

Abstract

from arXiv · show

{\tt yambo} is an {\it ab initio} code for calculating quasiparticle energies and optical properties of electronic systems within the framework of many-body perturbation theory and time-dependent density functional theory. Quasiparticle energies are calculated within the $GW$ approximation for the self-energy. Optical properties are evaluated either by solving the Bethe--Salpeter equation or by using the adiabatic local density approximation. {\tt yambo} is a plane-wave code that, although particularly suited for calculations of periodic bulk systems, has been applied to a large variety of physical systems. {\tt yambo} relies on efficient numerical techniques devised to treat systems with reduced dimensionality, or with a large number of degrees of freedom. The code has a user-friendly command-line based interface, flexible I/O procedures and is interfaced to several publicly available density functional ground-state codes.

PROGRAM SUMMARY

yambo is an open-source, Fortran 95/C code for first-principles excited-state calculations using many-body perturbation theory and time-dependent density functional theory. It calculates quasiparticles, excitons, and plasmons, with plane-wave methods, broad platform support, and interfaces to public ground-state codes.

  • The program is distributed under the GNU General Public License v2.0 and provides manuals, tutorials, theory, and sample input files online.
  • yambo is written in Fortran 95 and C, supports UNIX architectures and several tested operating systems, and can use up to 100 processors.
  • yambo calculates excited-state properties—including quasiparticles, excitons, and plasmons—from first principles.
  • The code uses many-body perturbation theory through Dyson and Bethe–Salpeter equations, alongside time-dependent density functional theory.
  • Quasiparticle calculations use the quasiparticle approximation and a plasmon-pole model for dielectric screening with a plane-wave basis.
  • Typical running times range from a few minutes to some days, depending on approximation level, property, and physical system.

1. Introduction

The introduction motivates excited-state methods because standard DFT largely addresses ground-state quantities and can miss important excitation phenomena. yambo combines GW-based quasiparticle methods, Bethe–Salpeter calculations, and TDDFT to study quasiparticles, excitons, and plasmons.

  • Standard DFT produces high-quality ground-state results across many systems but generally does not correctly describe additional excited-state phenomena.
  • Standard LDA and GGA approximations can fail for semiconductor and insulator band gaps, whereas MBPT quasiparticle methods agree more accurately with experiment.
  • Quantitative optical response requires electron–hole interactions, motivating Bethe–Salpeter calculations of excitonic effects in extended systems.
  • TDDFT offers an alternative excited-state framework, but practical exchange-correlation-kernel approximations can fail for extended-system optics and high-lying molecular excitations.
  • yambo uses DFT results from public codes and implements TDDFT, Bethe–Salpeter, and GW-approximation Dyson-equation tools for quasiparticles, excitons, and plasmons.

2. Theoretical background

The theoretical framework combines DFT-based Green’s functions, GW quasiparticle calculations, and response-function methods based on the Bethe–Salpeter equation or TDDFT. Numerical approximations and algorithms address screening, optical correlations, low-dimensional systems, and large matrix inversions.

  • Quasiparticles: Yambo uses DFT Kohn–Sham states as the reference noninteracting system and constructs the corresponding Green’s function for many-body calculations.The states are indexed by band n and Brillouin-zone vector k, with occupations fnk and Kohn–Sham energies εnk.
  • Quasiparticles: The GW self-energy depends on the noninteracting Green’s function and inverse dynamical dielectric function, with exchange and correlation contributions.Within GW, the self-energy describes screening of a particle by the polarization of the surrounding medium.
  • Quasiparticles: Yambo uses the plasmon-pole approximation to replace repeated frequency-dependent dielectric-function inversions with a single-pole model calibrated at two frequencies.The residuals and pole energies are chosen to reproduce the exact inverse dielectric function at ω = 0 and ω = iEPPA.
  • Optical properties: RPA may poorly describe optical absorption in insulating and metallic systems, whereas the Bethe–Salpeter treatment addresses the missing electron–electron correlations.For solid SiO2, RPA’s disagreement with experiment motivated analysis of the material’s experimentally observed absorption peaks.
  • Optical properties: The Bethe–Salpeter equation incorporates electron–hole interactions into the response function and can be reduced to an eigenvalue problem for systems with a gap at zero temperature.The resulting eigenstates can be bound excitons whose energies lie within the single-particle gap of wide-gap insulators.
  • Low-dimensional systems: Plane-wave calculations for low-dimensional systems require super-cell and Coulomb-integral treatments, while TDDFT/ALDA reproduces ethylene’s main 7.5 eV excitation peak.The code addresses super-cell image interactions and low-density numerical complications; random integration also stabilizes Coulomb integrals near Γ.

3. Some numerical aspects

yambo implements numerical strategies for optical-response calculations that avoid costly full diagonalization and address Coulomb-integral difficulties in reduced dimensions. The Lanczos–Haydock method is especially efficient for large electron–hole Hamiltonians.

  • Coulomb singularities: Reduced-dimensionality systems can develop Coulomb-integral instabilities when the Brillouin zone is sampled with lower-dimensional grids.In three dimensions, phase-space reduction removes the q→0 divergence, but this cancellation fails for lower-dimensional sampling.
  • Coulomb singularities: yambo offers cutoff-Coulomb and random-integration methods to remove divergences arising from Coulomb integrals in low-dimensional systems.The random-integration method evaluates Γ-region contributions using three-dimensional Monte Carlo integration.
  • Lanczos–Haydock solver: The Lanczos–Haydock method computes dielectric and related optical quantities without explicitly diagonalizing the Bethe–Salpeter or TDDFT Hamiltonian.The Hamiltonian is represented in an orthonormal Lanczos basis, while diagonalization uses standard BLAS/LAPACK routines.
  • Lanczos–Haydock solver: About 50 iterations reproduce trans-azobenzene polarizability up to 6 eV for a Hamiltonian with approximately 4000 electron–hole pairs.The iteration stops when the dielectric-function difference falls below a user-defined threshold.
  • Lanczos–Haydock solver: For N≈4000 electron–hole pairs, Lanczos–Haydock is about 70 times faster than diagonalization and stores only three vectors at a time.Its operation count is O(kN^2), compared with O(N^3) for diagonalization.

4. Overview of the software

yambo is organized as modular runlevels that import ground-state data, initialize databases, compute quasiparticle and optical quantities, and support post-processing. Compatible databases allow completed stages to be reused in later runs.

  • Stages I–II: A driver and data converters import ground-state results from external codes and create the core databases required by yambo.The C/Fortran90 driver passes control to the main executable or converters such as a2y, p2y, and e2y.
  • Stages I–II: The initialization stage prepares general-purpose databases, reorders G-vectors, calculates electronic occupations, sets energy grids, and constructs Brillouin-zone meshes.It also expands k-points to the full Brillouin zone and checks grid uniformity.
  • Stage III: The physics stage computes Hartree–Fock and DFT potential matrix elements, screening, GW quasiparticle corrections, and RPA or ALDA optical properties.Screening supplies inverse dielectric functions for the GW self-energy and the BS/TDDFT kernel.
  • Stage III: The BS/TDDFT stage creates its Hamiltonian and solves it either with LAPACK diagonalization or the Lanczos–Haydock iterative procedure.This provides two alternative solver paths for the optical-response Hamiltonian.
  • Stage IV and runlevels: Post-processing analyzes single-particle and excitonic wavefunctions and plots electronic wavefunctions and densities.The modular runlevel structure writes databases to disk that compatible later runs can reuse, allowing stages to be skipped.

5. Description of the individual software components

yambo comprises converters, the main calculation executable, and the ypp post-processor, organized around staged database generation and command-line control. Its database and I/O design supports reusable data, flexible storage, and fragmentation for large calculations.

  • 5.1. Main utilities: Converters a2y, p2y, and e2y generate core databases from Abinit, Quantum-ESPRESSO/PWscf, or netCDF ground-state data.The yambo executable performs input generation or serial and parallel calculations, while ypp analyzes pre-calculated databases.
  • 5.1. Main utilities: The program proceeds through data import, initialization, physical calculations, and database creation stages.The C/Fortran driver passes control to yambo or converters, which prepare ground-state and general-purpose databases before physical calculations.
  • 5.2. User interface: The command-line interface generates and edits input files, supports runtime I/O and execution options, and suggests parameter ranges from existing databases.Lowercase options drive input editing, while uppercase options control directories, reports, and parallel execution.
  • 5.2. User interface: A verbosity flag limits the input-file detail shown to users while leaving unspecified parameters at default values.This addresses the large number of tunable technical parameters available in yambo.
  • 5.3. I/O: the yambo databases: Database files distinguish static core data, stable intermediate data, job-dependent data, outputs, reports, and logs by prefixes and storage conventions.Databases normally reside in ./SAVE, while static and dynamic data can be placed in separate directories and netCDF versions use an additional n prefix.
  • 5.3. I/O: the yambo databases: Large databases can be fragmented into chunks, especially for wavefunctions by k-points or bands and Bethe–Salpeter Hamiltonians by k-point index.This capability is intended for systems with large memory or disk requirements.

6. Installation instructions

yambo uses GNU autotools for installation and can build its main executables, post-processor, and converters. Compile-time configuration also controls optional converters and links to numerical libraries.

  • 6. Installation instructions: GNU autotools provides the installation framework for yambo.The standard procedure places executables in the source tree's bin/ folder.
  • 6. Installation instructions: The installation can enable p2y and e2y converters and link yambo with netCDF, BLACS, and FFTW libraries.Installation options and compile-time settings are documented and inspectable through the standard configuration command.

7. Running yambo: excitonic effects in bulk silicon

A typical yambo run imports bulk-silicon ground-state data, performs setup, generates an excitonic optical-response input, and solves the Bethe–Salpeter equation with the LH algorithm. The resulting spectra are written for comparison with RPA, experiment, and a more converged calculation.

  • 7. Running yambo: excitonic effects in bulk silicon: A sample bulk-silicon run begins from precompiled netCDF core databases extracted into the working directory.The databases include ns.db1 and ns.wf, normally created by importing output from a ground-state code.
  • 7. Running yambo: excitonic effects in bulk silicon: The default setup run stores Brillouin-zone sampling indexes and G-vector shells in SAVE/ndb.gops and SAVE/ndb.kindx for later runs.Each runlevel also generates a corresponding report file.
  • 7. Running yambo: excitonic effects in bulk silicon: The command `yambo -b -o b -y h` creates an input for optical absorption with excitonic effects using the Bethe–Salpeter equation and LH solver.The input editor reads existing databases and knows the permitted transferred momenta and calculated bands.
  • 7. Running yambo: excitonic effects in bulk silicon: The sample input uses 51 reciprocal-lattice vectors for both the statically screened interaction and response block sizes.The test calculation restricts the band summation to bands 2–6 and uses the available band and momentum ranges.
  • 7. Running yambo: excitonic effects in bulk silicon: Increasing BEnSteps to 1000 and setting a 0.02000–0.8000 eV damping range produces a finer spectrum with experimentally motivated peak broadening.The calculation writes dielectric, Bethe–Salpeter, and restart databases in the SAVE folder.
  • 7. Running yambo: excitonic effects in bulk silicon: The output file contains BSE and RPA spectra, and the BSE absorption spectrum is compared with independent-particle, experimental, and more converged results.The sample-run spectrum is red-shifted by 1 eV to simulate the correct quasiparticle gap calculated in the converged spectrum.

8. Appendices

The appendices describe numerical strategies that reduce the cost of response-function calculations. yambo groups electron–hole transitions by energy and exploits symmetry to reduce frequency dependence and oscillator evaluations.

  • 8.1. The χ0 poles accumulation: Evaluating χ0 is costly because its k-point, occupied-level, empty-level, and frequency summations can reach millions of terms.χ0 contributes to the RPA dielectric function and GW self-energy.
  • 8.1. The χ0 poles accumulation: yambo groups electron–hole indexes with similar energies and approximates each group using a single pole with an occupation factor.The number of groups is controlled by the CGrdSp input variable.
  • 8.1. The χ0 poles accumulation: Decoupling oscillator evaluation partly from energy dependence makes χ0 evaluation nearly independent of the number of frequencies when groups are reduced.This provides a tunable way to reduce numerical effort.
  • 8.2. Oscillator symmetries: Wavefunction products and related quantities are evaluated with FFTs, while symmetry arguments reduce the number of FFT-interface calls.The procedure rewrites Brillouin-zone points using symmetry operations and irreducible-zone points.
  • 8.2. Oscillator symmetries: Using the symmetry-group relation R^-1R′ = S reduces oscillator-calculation cost at a given k point by the number of symmetries in its star.The resulting expression depends on one symmetry index rather than two.
Loading 0810.3118v2…