Yambo is an open source Many-body theory software package for study solids and molecular systems. It calculates the excited state properties of physical systems from first principles (e.g. from quantum mechanics law without the use of empirical data). Parts of it are licensed under the GNU GPL.
Excited state properties
With Yambo one can calculate:
- Quasiparticle energies (plasmon pole, COHSEX approximation or real-axis )
- Lifetimes within the GW approximation
- Optical absorption (RPA, Bethe Salpeter with or without Tamm-Dancoff Approximation, TDDFT in TD-LDA or LRC)
- Electron energy loss spectroscopy
- Dynamical polarizability
Yambo can treat molecules and periodic systems (both metallic an insulating) in three dimensions (crystalline solids) two dimensions (surfaces) and one dimension (e.g. nanotubes, nanowires, polymeric chains). It can also handle collinear (i.e. spin-polarized wave-functions) and non-collinear (spinors) magnetic systems.
Typical systems are of the size of 10-100 atoms/10-400 electrons (per unit cell in the case of periodic systems).
Theoretical methods and approximations
Yambo relies on many-body perturbation theory and time-dependent density functional theory. In particular quasiparticle energies are calculated within the GW approximation for the self energy. Optical properties are calculated either by solving the Bethe–Salpeter equation or by using the adiabatic local density approximation within time-dependent density functional theory.
Yambo uses a plane waves basis set to represent the electronic (single-particle) wavefunctions. Core electrons are described with norm-conserving pseudopotentials. The choice of a plane-wave basis set enforces the periodicity of the systems. Isolated systems, and systems that are periodic in only one or two directions can be treated by using a supercell approach. For such systems Yambo offers two numerical techniques for the treatment of the Coulomb integrals: the cut-off and the random-integration method.
- Yambo is interfaced with plane-wave density-functional codes: ABINIT, PWscf, CPMD and with the ETSF-io library. The utilities that interface these codes with Yambo are distributed along with the main program.
- The source code is written in C/Fortran95
- The code is parallelized using MPI running libraries
- Yambo has a command line user interface. Invoking the program with specific option generates the input with default values for the parameters consistent with the present data on the system.
- A postprocessing tool, distributed along with the main program, helps with the analysis and visualization of the results.
- Unix based systems
- c and fortran 95 compilers
- optional: netcdf,fftw, mpi (for parallel execution), etsf-io, libxc, hdf5
- Hardware requirements depends very much on the physical system under study and the chosen level of theory. For the RAM the requirements may vary from less than 1GB to few GBs depending on the problem.
Part of the YAMBO code is not released in the GPL version, these are the features implemented in the non-GPL part:
- total energy using adiabatic-connection fluctuation-dissipation theorem 
- electron-phonon coupling (static and dynamic perturbation theory)
- magnetic field
- magneto optical properties
- surface spectroscopy
- self-consistent GW
- dynamical Bethe–Salpeter
- real-time spectroscopy
- advanced kernels for time-dependent density functional theory (Nanoquanta kernel).
- Yambo: an ab-initio tool for excited state calculations Andrea Marini, Conor Hogan, Myrta Grüning, Daniele Varsano Comp. Phys. Comm. 180, 1392 (2009).
- Wilfried G. Aulbura, Lars Jönssona and John W. Wilkins Solid State Physics, 54, 1 (1999)
- A. Marini, R. Del Sole, A. Rubio e G. Onida, Phys. Rev. B 66, 161104(R) (2002).
- M. Grüning, A. Marini and X. Gonze Nano Letters, 9, 2820 (2009)
- S. Botti, et al. Phys. Rev. B 69, 155112 (2004).
- S. Botti, et al. Phys. Rev. B 72, 125203 (2005)
- E. Runge and E. K. U. Gross, Phys. Rev. Lett. 52, 997 (1984)
- E. K. U. Gross and W. Kohn, Phys. Rev. Lett. 55, 2850 (1985)
- F. Aryasetiawan, O. Gunnarsson Rep. Prog. Phys. 61 (1998) 237
- Bethe-Salpeter equation: the origins
- G. Strinati, Rivista del nuovo cimento 11,1 (1988)
- C. A. Rozzi, D. Varsano, A. Marini, E. K. U. Gross, and A. Rubio, Phys. Rev. B 73, 205119 (2006).
- D. Caliste, Y. Pouillon, M.J. Verstraete, V. Olevano, and X. Gonze, Computer Physics Communications Volume 179, Issue 10, (2008), Pages 748-758
- A. Marini, P. Garcia-Gonzalez, and A. Rubio. Phys. Rev. Lett., 96, 136404 (2006).
- A. Marini, Phys. Rev. Lett. 101, 106405 (2008)
- E. Cannuccia and A. Marini, Phys. Rev. Lett. 107, 255501 (2011)
- D. Sangalli and A. Marini, Nano Letters 11, 4052 (2011)
- D. Sangalli, A. Marini and A. Debernardi, Prys. Rev. B 86, 125139 (2012)
- C. Hogan, M. Palummo and R. Del Sole, Comptes Rendus Physique, 10, 560 (2009)
- F. Bruneval, N. Vast and L. Reining, Phys. Rev. B 74, 045102 (2006)
- A. Marini and R. Del Sole, Phys. Rev. Lett. 91, 176402 (2003)
- C. Attaccalite M. Grüning and A. Marini, Phys. Rev. B 84, 245110 (2011)
- A. Marini, R. Del Sole, and A. Rubio, Phys. Rev. Lett., 91, 256402 (2003)