In this page you will find out more about **YAMBO** and its capabilities.

[00] Introduction

[01] Features

[01.01] Quasiparticle properties

[01.02] Spectroscopic properties

[01.03] Postprocessing

[02] Technical Details

[02.01] Methods and compatibility

[02.02] Platforms and parallel computing

[03] Reference publications

[03.01] Main **YAMBO** papers

[03.02] Papers describing **YAMBO** implementations

[00] Introduction

**YAMBO** is a plane-waves first-principles code for calculating excited-state properties – such as quasiparticle energies and optical spectra – of solid-state systems within the framework of many-body perturbation theory (MBPT) and time-dependent density functional theory (TDDFT).

Quasiparticle energies are** **calculated within the GW approximation for the self-energy. Optical properties are evaluated either by solving the Bethe–Salpeter equation (BSE) or by using the adiabatic local density approximation (ALDA).

**YAMBO** calculations require a previously computed electronic structure and for this reason it is currently interfaced with Quantum ESPRESSO and ABINIT.

Aiida plugins for **YAMBO**, such as YamboCalculation and YamboConvergence, automatise the very complex multi-parameter dependence that characterises GW calculations.

[01] Features

What can **YAMBO** do?

[01.01] Quasiparticle properties

- GW calculations of electronic excitation
- Dynamical screening (plasmon-pole, multi-pole approximations or full-frequency)
- Finite temperature electronic energies and lifetimes
- Electron-phonon corrections

[01.02] Spectroscopic properties

- Optical absorption and excitons
- Electron Energy Loss
- Kerr rotation
- Real-Time dynamics: Time–dependent Screened Exchange
- Nonlinear optical properties (including Berry’s phase polarization)

[01.03] Postprocessing

- Interpolation of quasiparticle and exciton energies and double grids
- Representation of excitonic wave functions in real and reciprocal space
- Python data analysis and scripting tool including:
- Quality-of-life automated scripts
- Visualization and plotting options for most quantities
- Data analysis tools for encoded databases beyond standard outputs

[02] Technical details

[02.01] Methods and compatibility

**YAMBO** supports norm-conserving pseudopotentials and many exchange-correlation functionals, from LDA to generalized-gradient corrections (PW91, PBE, B88-P86, BLYP) to meta-GGA, exact exchange (HF) and hybrid functionals (PBE0, B3LYP) via the libxc library.

Noncollinear magnetism and spin-orbit coupling calculations are also supported. There are several available Coulomb interaction cutoff geometries, sum-over-states terminators and interpolation schemes.

**YAMBO** is a Fortran/C code that exploits a number of optimized libraries such as BLAS, LAPACK, FFTW, SCALAPACK, NetCDF/HDF5, PETSC, and SLEPC.

[02.02] Platforms and parallel computing

The code is parallelized over several MPI+OpenMP levels. **YAMBO** stores information in several database files (the biggest reaching few GBs in size for our systems) for which a NetCDF/HDF5 format is adopted, optimizing IO and data portability. The code has been extensively tested and used on different HPC architectures, for large scale systems.

The **YAMBO** implementation of GW is parallel on the k/q grids, bands summation and quasiparticle energies, using a hybrid MPI-OpenMP approach. Explicit OpenMP support is implemented following different strategies according to the specific kernels. The BSE routines are parallel on k-points, electron-hole basis elements, and transitions. GW and BSE calculations are computationally expensive and, for complex materials and surfaces, can be performed only exploiting the resources offered by modern Tier0 systems.

The GPU porting was first made using CUDA-Fortran, and more recently enlarged to other programming models (like OpenACC and OpenMP5, both in development). We make an intense use of pre-processor macros that activate the language chosen at compile time, allowing ** YAMBO** to optimally integrate MPI-OpenMP with programming models for GPGPU.

[03] Reference publications

[03.01] Main **YAMBO** papers

**• ****Many-body perturbation theory calculations using the yambo code**

D. Sangalli, A. Ferretti, H. Miranda, C. Attaccalite, I. Marri, E. Cannuccia, P.M. Melo, M. Marsili, F. Paleari, A. Marrazzo, G. Prandini, P. Bonfa’, M. O. Atambo, F. Affinito, M. Palummo, A. Molina Sanchez, C. Hogan, M. Grüning, D. Varsano and A. Marini*Journal of Physics: Condensed Matter***31** 325902 (2019)

**•** **yambo: An ab initio tool for excited state calculations**A. Marini, C. Hogan, M. Grüning, and D. Varsano

*Computer Physics Communications*

**180**, 1392 (2009)

[03.02] Papers describing the **YAMBO** implementations

- Efficient full frequency GW for metals using a multipole approach for the dielectric screening

D. A. Leon, A. Ferretti, D. Varsano, E. Molinari, C. Cardoso - Towards high-throughput many-body perturbation theory: efficient algorithms and automated workflows

M. Bonacci, J. Qiao, N. Spallanzani, A. Marrazzo, G. Pizzi, E. Molinari, D. Varsano, A. Ferretti, D. Prezzi - Efficient GW calculations in two dimensional materials through a stochastic integration of the screened potential

A. Guandalini, P. D’Amico, A. Ferretti, D. Varsano - Frequency dependence in GW made simple using a multipole approximation

D. A. Leon, C. Cardoso, T. Chiarotti, D. Varsano, E. Molinari, and A. Ferretti*Phys. Rev. B***104**, 115157 (2021) - Reproducibility in G
_{0}W_{0}Calculations for Solids

T. Rangel, M. Del Ben, D. Varsano, G. Antonius, F. Bruneval, F. H. da Jornada, M. J. van Setten, O. K. Orhan, D. D. O’Regan, A. Canning, A. Ferretti, A. Marini, GM Rignanese, J. Deslippe, S. G. Louie, J. B. Neaton*Computer Physics Communication***255**, 107242 (2020) - Nonlinear optics from an
*ab initio*approach by means of the dynamical Berry phase: Application to second- and third-harmonic generation in semiconductors

C. Attaccalite, M. Grüning*Phys. Rev. B***88**, 235113 (2013) - Real-time approach to the optical properties of solids and nanostructures: Time-dependent Bethe-Salpeter equation

C. Attaccalite, M. Grüning, and A. Marini*Phys. Rev. B***84**, 245110 (2011) - Exciton-Plasmon States in Nanoscale Materials: Breakdown of the Tamm−Dancoff Approximation

M. Grüning, A. Marini, X. Gonze*Nano Lett.***9**, 2820-2824 (2009) - Exact Coulomb cutoff technique for supercell calculations

C. A. Rozzi, D. Varsano, A. Marini, E. K. U. Gross, and A. Rubio*Phys. Rev. B***73**, 205119 (2006)