From The Yambo Project
Jump to: navigation, search

Plan for the CECAM VIRTUAL 2021 school tutorials. https://www.cecam.org/workshop-details/1081

Click to enlarge the full program

Setting up Yambo

In order to get the yambo code in your machine you have multiple options:

  • Yambo Virtual Machine
  • Yambo Container
  • Install the Yambo source in your computer

Setting up the Yambo Virtual Machine

The tutorials can be run on a dedicated Virtual Machine (called Yambo Quantum Mobile and adapted from the Quantum Mobile VM). This is run by installing it as Virtual Machine with the VirtualBox program. To install the Yambo VM in your computer you need to:

  • Download and install Virtualbox software
  • Download the Yambo Virtual Machine image
  • Install the Yambo Virtual Machine
  • Start the Yambo Virtual Machine
  • Update and install the Tutorials

To this end follow exactly the step listed here: Install the Yambo Quantum Mobile VM

Setting up the Yambo Container

An alternative to get the Yambo code is to install the Yambo container in your machine and this can be done in few steps:

  • Install the docker platform (Linux or Mac). Follow the instruction in the docker website.
  • Pull the Yambo container:
 sudo docker pull nicspalla/yambo-gcc_openmp_petsc:latest

sudo it is not necessary if your user is part of the group named docker (suggested on Linux!).

For Linux users:

 sudo groupadd docker
 sudo usermod -aG docker $USER

For Mac users:

 sudo dscl . create /Groups/docker
 sudo dseditgroup -o edit -a $USER -t user docker

Log out and log back in so that your group membership is re-evaluated.

  • You are done. To run Yambo into the container:
docker run -ti --user $(id -u):$(id -g) \
   --mount type=bind,source="$(pwd)",target=/tmpdir \
   -e OMP_NUM_THREADS=4  \
   nicspalla/yambo-gcc_openmp_petsc:latest \
   yambo -F yambo.in -J yambo.out

Otherwise (suggested!), copy and paste the code below in a file, i.e called drun.sh:

docker run -ti --user $(id -u):$(id -g) \
   --mount type=bind,source="$(pwd)",target=/tmpdir \
   -e OMP_NUM_THREADS=4  \
   nicspalla/yambo-gcc_openmp_petsc:latest $@

then give the file execute privileges:

chmod +x drun.sh

Move (or copy) this file in the directory where you want to use Yambo and use it as prefix of your Yambo calculation:

./drun.sh yambo -F yambo.in -J yambo.out

If the yambo container is working correctly you should obtain:

./drun.sh yambo

yambo: cannot access CORE database (SAVE/*db1 and/or SAVE/*wf)
./drun.sh yambo -h

should provide in output the help for yambo usage.

Install Yambo

If you have some experience with compiling codes, you can get the source and install it. If you never compiled a code, it is better to choose one of the above options as the technical assistance we can offer is limited.


Before starting, get the tutorial files.

Thursday 8 April

14:00 - 14:30 Hands-on setup

14:30 - 17:00 From the DFT ground state to the complete setup of a Many Body calculation using Yambo, Davide Sangalli (CNR-ISM, Italy), Pedro Melo (University of Utrecht, the Netherlands)

Friday 9 April

13:30 - 16:30 A complete tour through GW simulation in a complex material (from the blackboard to numerical computation: convergence, algorithms, parallel usage), Daniele Varsano (CNR-NANO, Italy), Andrea Ferretti (CNR-NANO, Italy)

Thursday 15 April

13:30 to 15: Calculating optical spectra including excitonic effects: a step-by-step guide

15 to 16:30: Analysis of excitonic spectra, BSE solvers and convergence Fulvio Paleari (CNR-ISM, Italy), Myrta Grüning (Queen's University Belfast, Northern Ireland)


All the lectures will be available in the Yambo-code YouTube channel

Thursday 8 April

10:00 to 10:10 - Welcome & Introduction, Daniele Varsano (CNR-NANO, Italy)

10:10 to 10:30 - Material Science and Yambo, what we can calculate, Andrea Marini (CNR-ISM, Italy)

10:40 to 11:00 - Introduction to Many Body Perturbation Theory, Pedro Melo (University of Utrecht, the Netherlands)

11:25 to 11:45 - The linear response theory, Claudio Attaccalite (CNRS Marseille, France)

12:00 to 12:20 - From equations to simulations: the hard life of a Materials scientist, Myrta Grüning (Queen's University Belfast, Northern Ireland)

Friday 9 April

10:00 to 10:30 - ARPES, quasiparticles and lifetimes: A theory overview, Andrea Ferretti (CNR-NANO, Italy)

11:10 to 11:40 - GW implementation and common approximations, Daniele Varsano (CNR-NANO, Italy)

Thursday 15 April

10:00 to 10:20 - Optical properties & excitons, Maurizia Palummo (Uni Roma2 Tor Vergata, Italy)

10:30 to 10:50 - Derivation of the Bethe-Salpeter Equation and main physical concepts , Claudio Attaccalite (CNRS Marseille, France)

11:20 to 11:40 - BSE implementation and common approximations, Davide Sangalli (CNR-ISM, Italy)

Friday 16 April

14:00 to 14:30 - Electron-phonon coupling in Yambo A.Marini

14:40 to 15:10 - Yambo parallelism and HPC A. Ferretti

15:30 to 16:10 - Parallel session in thematic rooms

  • Room A : Non-linear optics C. Attaccalite and M. Gruning
  • Room B : Automatisation and post processing with python layers F. Paleari and M. Bonacci

16:10 to 16:15 - Concluding remarks


Claudio Attaccalite (CNRS Marseille, France)

Miki Bonacci (CNR-Nano, University of Modena, Italy)

Andrea Ferretti (CNR-Nano, Italy)

Myrta Grüning (Queen's University Belfast, Northern Ireland)

Andrea Marini (CNR-ISM, Italy)

Pedro Melo (University of Utrecht, the Netherlands)

Fulvio Paleari (CNR-ISM, Italy)

Maurizia Palummo (Uni Roma2 Tor Vergata, Italy)

Davide Sangalli (CNR-ISM, Italy)

Daniele Varsano (CNR-Nano, Italy)


Ridwan Agbaoye (Federal University of Agriculture, Abeokuta, Nigeria)

Ignacio Alliati (Queen's University Belfast, UK)

Samaneh Ataei (Shahid Beheshti University, Iran)

Claudia Cardoso (CNR-Nano, Italy)

Alberto Guandalini (CNR-Nano, Italy)

Conor Hogan (CNR-ISM, Italy)

Antimo Marrazzo (EPFL, Switzerland)

Elena Molteni (CNR-ISM, Italy)

Daniel Murphy (Queen's University Belfast, UK)

Bo Peng (University of Cambridge, UK)

Michele Re Fiorentin (Politecnico di Torino, Italy)

Dario A. Leon Valido (CNR-Nano, University of Modena, Italy)

Matteo Zanfrognini (CNR-Nano, University of Modena, Italy)

Technical Support

Nicola Spallanzani (CNR-NANO, Italy)