Tutorials: Difference between revisions

From The Yambo Project
Jump to navigation Jump to search
No edit summary
No edit summary
Line 73: Line 73:
  cd yambopy
  cd yambopy
  python setup.py install
  python setup.py install
If you meet an error when installing Yambopy, please review the [https://www.yambo-code.eu/wiki/index.php/First_steps_in_Yambopy#Frequent_issues frequent issues section] to find a solution.


== Tutorial files ==
== Tutorial files ==

Revision as of 11:39, 10 February 2023

If you are starting out with Yambo, or even an experienced user, we recommend that you complete the following tutorials before trying to use Yambo for your system.

The tutorials are meant to give some introductory background to the key concepts behind Yambo. Practical topics such as convergence are also discussed. Nonetheless, users are invited to first read and study the background material in order to get familiar with the fundamental physical quantities.

Two kinds of tutorials are provided: stand-alone and modular. In addition you must have a working environment where both Yambo (and eventually QE) are installed.

Setting up Yambo (and eventually QE)

To be able to follow the school you need a running version of the yambo/QE code.

There are several different ways to prepare a working environment.

Virtual Machine(s)

The easiest way is to access to a virtual machine which contains both (i) yambo/QE and (ii) the tutorials.

You can do it in one of two ways:

  • Virtual machine via ICTP cloud If the schools you are attending provided an ICTP virtual machine this is the preferred option. It works through internet connection inside a browser.
  • Install the yambo virtual machine on your laptop / desktop. This requires Oracle virtual box. Pre-download of the Virtual machine. No internet connection needed.

User installation

You can also setup the yambo code on your on laptop / desktop using different methods.

As far as the Yambo source is concerned you can:

Yambo User Installation with Anaconda

It is possible to install Yambo (up to v5.0.4) and Quantum-ESPRESSO via conda-forge (a conda channel/repository): To setup Anaconda, please start from installing Anaconda or Miniconda.

Then we suggest to create a conda environment and activate it:

conda create --name yambopy -c conda-forge
conda activate yambopy

Then you can install the prerequisites and the two codes:

conda install numpy scipy netcdf4 matplotlib pyyaml lxml pandas
conda install yambo 
conda install qe

Setting up Yambopy: Using Anaconda

If you need to install Yambopy and Yambo, conda can be used to setup both at the same time. First following the User Installation with anaconda procedure , then:

conda activate yambopy

Then you can install the prerequisites and yambopy:

pip install pymatgen
pip install abipy

Finaly install Yambopy

git clone https://github.com/yambo-code/yambopy.git
cd yambopy
python setup.py install

If you don't have administrative privileges (for example on a computing cluster), type instead

cd yambopy
python setup.py install --user

Advanced: Setting up Only YamboPy

If you need only Yambopy because you are able (or you prefer) to install Yambo and Quantum-ESPRESSO by yourself (from source or Spack) or using the Docker container, you can stay with the basic conda channel:

First install the prerequisites (needed only for Miniconda)

conda install numpy scipy netcdf4 matplotlib pyyaml lxml pandas
pip install pymatgen
pip install abipy

Then install Yambopy

git clone https://github.com/yambo-code/yambopy.git
cd yambopy
python setup.py install

If you meet an error when installing Yambopy, please review the frequent issues section to find a solution.

Tutorial files

The tutorial CORE databases can be obtained

From the Yambo Virtual Machine (VM)

If you are using the VM, a recent version of the tutorial files is provided.Follow these instructions to update the tutorial files to the most recent version.

From the Yambo website

If you are using your own installation or the docker, the files needed to run the tutorials can be downloaded from the lists below.

After downloading the tar.gz files just unpack them in the YAMBO_TUTORIALS folder. For example

$ mkdir YAMBO_TUTORIALS
$ mv hBN.tar.gz YAMBO_TUTORIALS
$ cd YAMBO_TUTORIALS
$ tar -xvfz hBN.tar.gz
$ ls YAMBO_TUTORIALS
  hBN

Files needed for modular tutorials

All of the following should be downloaded prior to following the modular tutorials:

Tutorial File(s)
hBN hBN.tar.gz
hBN-convergence-kpoints.tar.gz
hBN-2D.tar.gz
hBN-2D-para.tar.gz

Files needed for stand-alone tutorials

At the start of each tutorial you will be told which specific file needs to be downloaded:

Tutorial File(s)
Silicon Silicon.tar.gz
Silicon_Electron-Phonon.tar.gz
LiF LiF.tar.gz
Aluminum Aluminum.tar.gz
GaSb GaSb.tar.gz
AlAs AlAs.tar.gz
Hydrogen_Chain Hydrogen_Chain.tar.gz

From the Git Tutorial Repository (advanced users)

If you are using your own installation or the docker, the tutorials repository contains the updated tutorials CORE databases. To use it

$ git clone https://github.com/yambo-code/tutorials.git YAMBO_TUTORIALS
$ cd YAMBO_TUTORIALS
$ ./setup.pl -install

Stand-alone tutorials

These tutorials are self-contained and cover a variety of mixed topics, both physical and methodological. They are designed to be followed from start to finish in one page and do not require previous knowledge of yambo. Each tutorial requires download of a specific core database, and typically they cover a specific physical system (like bulk GaSb or a hydrogen chain). Ground state input files and pseudopotentials are provided. Output files are also provided for reference.

These tutorials can be accessed directly from this page of from the side bar. They include different kind of subjects:

Warning: These tutorials were prepared using previous version of the Yambo code: some command lines, variables, reports and outputs can be slightly different from the last version of the code. Scripts for parsing output cannot work anymore and should be edited to work with the new outputs. New command lines can be accessed typing yambo -h

Basic

Post Processing

Advanced

GW and Quasi-particles

Electron phonon coupling

Non linear response

Developing Yambo


Modular tutorials

These tutorials are designed to provide a deeper understanding of specific yambo tasks and runlevels. They are designed to avoid repetition of common procedures and physical concepts. As such, they make use of the same physical systems: bulk hexagonal boron nitride hBN and a hBN sheet hBN-2D.

Warning: These tutorials were prepared using previous version of the Yambo code: some command lines, variables, reports and outputs can be slightly different from the last version of the code. Scripts for parsing output cannot work anymore and should be edited to work with the new outputs. New command lines can be accessed typing yambo -h

Introduction

Quasiparticles in the GW approximation

Using Yambo in Parallel

This modules contains very general discussions of the parallel environment of Yambo. Still the actual run of the code is specific to the CECAM cluster. If you want to run these modules just replace the parallel queue instructions with simple MPI commands.

GW_parallel_strategies_CECAM

Excitons and the Bethe-Salpeter Equation

Yambopy

Modules

Alternatively, users can learn more about a specific runlevel or task by looking at the individual documentation modules. These provide a focus on the input parameters, run time behaviour, and underlying physics. Although they can be followed separately, non-experts are urged to follow them as part of the more structured tutorials given above.