FAQ

Below are lists of Frequency Asked Questions about Yambo.

  • General  
  • Installation
  • Usage
  • External codes

GENERAL

  1. What’s with the name?

    Don’t worry about it, it’s just a silly name. It doesn’t stand for anything like Yet Another Many-Body cOde, for instance. Unless you really want it to. 

  2. How do I cite Yambo?

    We would appreciate it if you cited Yambo in any publications you make using the code. The primary references for Yambo are the articles:

    1) Many-body perturbation theory calculations using the yambo code
    Davide Sangalli, Andrea Ferretti, Henrique Miranda, Claudio Attaccalite, Ivan Marri, Elena Cannuccia, Pedro Miguel Melo, Margherita Marsili, Fulvio Paleari, Antimo Marrazzo, Gianluca Prandini, Pietro Bonfà, Michael O Atambo,Fabio Affinito, Maurizia Palummo, Alejandro Molina Sanchez, Conor Hogan, Myrta Grüning, Daniele Varsano and Andrea Marini Journal of Physics: Condensed Matter 31 325902 (2019) https://doi.org/10.1088/1361-648X/ab15d0

    2) yambo: An ab initio tool for excited state calculations
    Andrea Marini, Conor Hogan, Myrta Grüning, and Daniele Varsano Computer Physics Communications 180, 1392-1403 (2009)
    https://doi.org/10.1016/j.cpc.2009.02.003

INSTALLATION

  • Can Yambo be used on OS/X?

    Yes, sure

USAGE

  • What is the meaning of each variable in the input file for GW calculations?
    Following the tutorials in the wiki page will provide you with the answers you are looking for. A detailed explanation of each variable can be found at yambo-wiki:Variables. The impatient can also find a short guide in this post of Dr. Attaccalite. 
  • What is the meaning of each variable in the input file for BSE calculations?
    Following the tutorials in the wiki page will provide you with the answers you are looking for. A detailed explanation of each variable can be found at yambo-wiki:Variables. The impatient can also find a short guide in this post of Dr. Attaccalite. 
  • Which values of the parameters are suitable for a calculation with Yambo?
    There is no general answer to this question. The parameters will strongly depend on your system and on the degrees of accuracy you want to reach. Our advice is to perform careful convergence tests before trusting your results. Strategies for the convergence tests are explained in the tutorials. Some useful advice can be also found in this post of Dr. Attaccalite.
  • Can I calculate GW correction on an arbitrary point of the Brillouin zone with Yambo? 
    Yes, as explained in details in this post by Dr. Attaccalite.
  • Can Yambo deal with self-consistent GW? 
    Partially, you can easily apply the so-called eigenvalue only self-consistent GW. In this post of Dr. Attaccalite you can find a short guide on how to do it.
  • Can I use Yambo on top of ground state calculated with hybrid functionals?
     
    At the moment it is possible to perform GW and BSE calculation on top of B3LYP, PBE0,GAU-PBE and plain Hartree-Fock ground state. In order to have meaningful results, you must treat the divergences of the exchange part in QE and Yambo on the same footing (vcut_spherical or vcut_ws in exxdiv_treatment for QE and CUTGeo=”sphere or ws” respectively in Yambo). Note that for gau-pbe exxdiv_treatment should be set to “none”. Moreover, it is strongly recommended to use the covariant algorithm for the calculations of the dipoles (DipApproach= “covariant”).
  • The convergence of the dielectric function with respect to k-point sampling is very slow.
    In Yambo there is implemented a double-grid technique that speeds up convergence versus k-points with a computational cost comparable to the standard calculations. In order to use it have a look at this post by Dr. Attaccalite. 

ERRORS DURING EXECUTION

  • My job crashed with segmentation fault, what could be the reason? 
    It is hard to say, as there are many possible reasons. Common reasons are related to the fact your jobs went out-of-memory,  or mathematical libraries were compiled with a different compiler. In the first case it could be useful to recompile Yambo using the flag –enable-memory-profile in the configure step. This will enable the monitor of the memory used by Yambo in runtime by expecting the log files and gives you an idea of how much memory per core you need to execute your job. In the second case it could be useful to recompile your code by using the flag –enable-int-linalg . In this way, Yambo is forced to compile and use internal linear algebra libraries.

EXTERNAL CODES

  • Can Yambo be interfaced with my favourite DFT code?

    If your favourite DFT code works with a planewave/pseudopotential basis and 3D periodicity, then yes. If you would like to help do this, get in touch.