Tutorials: Difference between revisions

From The Yambo Project
Jump to navigation Jump to search
mNo edit summary
 
(60 intermediate revisions by 6 users not shown)
Line 1: Line 1:
<!-- '''ICTP students should start [[ICTP2020|HERE]]'''  -->
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.  
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 [[lectures|background material]] in order to get familiar with the fundamental physical quantities.
Nonetheless, users are invited to first read and study the [[lectures|background material]] in order to get familiar with the fundamental physical quantities.
We recommend that you complete the tutorials before trying to use Yambo for your system.


Two kinds of tutorials are provided: '''stand-alone''' and '''modular'''.
You must have a working environment where both Yambo and Yambopy (and eventually QE or abinit) are installed.
 
If you are starting out with Yambo, we suggest to follow [[Setting up Yambo|this page]] with a detailed explanation about how to set up all you need for running the tutorials.
== Tutorial files ==
 
The tutorial CORE databases can be obtained
 
* from the [[Yambo_Virtual_Machine|Yambo Virtual Machine]]
* from the Yambo web-page
* from the Yambo GIT tutorial repository
 
=== From the Yambo Virtual Machine (VM)  ===
If you are using the VM, a recent version of the tutorial files is provided.Follow these [[Yambo_Virtual_Machine#Updating_the_Yambo_tutorial_files| 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:<br>
[http://www.yambo-code.org/educational/tutorials/files/hBN.tar.gz hBN.tar.gz],
[http://www.yambo-code.org/educational/tutorials/files/hBN-convergence-kpoints.tar.gz hBN-convergence-kpoints.tar.gz],
[http://www.yambo-code.org/educational/tutorials/files/hBN-2D.tar.gz hBN-2D.tar.gz],
[http://www.yambo-code.org/educational/tutorials/files/hBN-2D-para.tar.gz hBN-2D-para.tar.gz],
<br>
[http://www.yambo-code.org/educational/tutorials/files/hBN_DBs.tar.gz hBN_DBs.tar.gz],
[http://www.yambo-code.org/educational/tutorials/files/hBN-convergence-kpoints_DBs.tar.gz hBN-convergence-kpoints_DBs.tar.gz],
[http://www.yambo-code.org/educational/tutorials/files/hBN-2D_DBs.tar.gz hBN-2D_DBs.tar.gz],
[http://www.yambo-code.org/educational/tutorials/files/hBN-2D-para_DBs.tar.gz hBN-2D-para_DBs.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:<br>
[http://www.yambo-code.org/educational/tutorials/files/Silicon.tar.gz Silicon.tar.gz],
[http://www.yambo-code.org/educational/tutorials/files/LiF.tar.gz LiF.tar.gz]
<br>
[http://www.yambo-code.org/educational/tutorials/files/Silicon_DBs.tar.gz Silicon_DBs.tar.gz],
[http://www.yambo-code.org/educational/tutorials/files/LiF_DBs.tar.gz LiF_DBs.tar.gz],
<!--
[http://www.yambo-code.org/educational/tutorials/files/Si_surface.tar.gz Si_surface.tar.gz]
[http://www.yambo-code.org/educational/tutorials/files/Si_wire.tar.gz Si_wire.tar.gz]
[http://www.yambo-code.org/educational/tutorials/files/H2.tar.gz H2.tar.gz]
-->
[http://www.yambo-code.org/educational/tutorials/files/Aluminum.tar.gz Aluminum.tar.gz],
<!--[http://www.yambo-code.org/educational/tutorials/files/GaSb.tar.gz GaSb.tar.gz]-->
[http://www.yambo-code.org/educational/tutorials/files/Hydrogen_Chain.tar.gz Hydrogen_Chain.tar.gz]
<br>
[http://www.yambo-code.org/educational/tutorials/files/Aluminum_DBs.tar.gz Aluminum_DBs.tar.gz],
[http://www.yambo-code.org/educational/tutorials/files/Hydrogen_Chain_DBs.tar.gz Hydrogen_Chain_DBs.tar.gz]
 
=== From the Git Tutorial Repository (advanced users) ===
If you are using your own installation or the docker, the [https://github.com/yambo-code/tutorials 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
 
== <span id="Stand-alone overview"></span>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 <code>yambo -h </code>
 
 
=== Basic ===
* [[LiF|Linear Response in 3D. Excitons at work]]
<!--
* [[Si_Surface|Linear Response in 2D]]
* [[Si_wire|Linear Response in 1D]]
* [[H2|Linear Response in 0D]]
-->
* [[Silicon|GW convergence]]
 
=== Advanced ===
* [[Hydrogen chain|TDDFT Failure and long range correlations]]
* [[Linear response from real time simulations]]
 
==== GW and Quasi-particles ====
 
* [[Real_Axis_and_Lifetimes|Real Axis and Lifetimes]]
* [[Self-consistent GW on eigenvalues only]]
 
==== Electron phonon coupling ====
* [[Electron Phonon Coupling|Electron Phonon Coupling]]
* [[Optical properties at finite temperature]]
* [[Exciton-phonon coupling and luminescence]]
 
==== Non linear response ====
 
* [http://www.attaccalite.com/lumen/linear_response.html Linear response using Dynamical Berry phase]
* [[Real time approach to non-linear response]]
* [[Correlation effects in the non-linear response]]
* [http://www.attaccalite.com/lumen/thg_in_silicon.html Third Harmonic Generation]
* [http://www.attaccalite.com/lumen/spin_orbit.html Spin-orbit coupling and non-linear response]
* [[Two-photon absorption]]
* [[Pump and Probe]]
* [[Parallelization for non-linear response calculations]]
 
==== Developing Yambo ====
 
* [[How to create a new project in Yambo]]
* [[How to create a new ypp interface]]
* [[Some hints on github]]
<!--
 
* [[SOC|Spin-Orbit Coupling MBPT]]
* [[Kerr|Kerr]]
* [[Real_Time|Real-Time]]
-->
 
<!-- For each TUTORIAL (Solid_LiF, Solid_Al, ...) , therefore, you can download the ground state files (zip archive named TUTORIAL_ground_state.zip) and generate the Yambo databases from your own by running abinit/PWscf and a2y/p2y. In this case the Yambo input and reference files are contained in the zip file (TUTORIAL_reference_files.zip). Alternatively, if (and only if) you have compiled yambo with the NetCDF support you can directly download the zip files containing the Yambo core databases (TUTORIAL_NETCDF_databases_and_reference_files.zip). These are generated using the NetCDF interface in order to be readable in any platform.
After you have downloaded the tutorial zip files and unziped them you should have now a tutorial tree:
localhost:> ls
YAMBO_TUTORIALS/
localhost:> ls  YAMBO_TUTORIALS/
COPYING  Fantastic_Dimensions/  Hydrogen_Chain/  README  Solid_LiF/ Solid_Al/ SiH4/ ...
In each folder you will find an Abinit or Pwscf subfolder in case you have downloaded the ground state zip files and the YAMBO subfolder. The tutorials start by entering the YAMBO subfolder and followinf the informations provided in the tutorial documentation.  -->
 
== <span id="Modular overview"></span>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 <code>yambo -h </code>
 
====Introduction====
* [[First steps: a walk through from DFT to optical properties]]
====Quasiparticles in the GW approximation====
* [[How to obtain the quasi-particle band structure of a bulk material: h-BN]]
====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|Parallel GW (CECAM specific)]]: strategies for running Yambo in parallel
[[GW_parallel_strategies_CECAM]]
* [[Pushing_convergence_in_parallel|GW convergence (CECAM specific)]]: use Yambo in parallel to converge a GW calculation for a layer of hBN (hBN-2D)
 
====Excitons and the Bethe-Salpeter Equation====
* [[How to obtain an optical spectrum|Calculating optical spectra including excitonic effects: a step-by-step guide]]
* [[How to choose the input parameters|Obtaining a converged optical spectrum]]
* [[How to treat low dimensional systems|Many-body effects in low-dimensional systems: numerical issues and remedies]]
* [[How to analyse excitons|Analysis of excitonic spectra in a 2D material]]
<!--* [[Two particle excitations]] (try to bypass this page) : Learn how to set up and run calculations to obtain and analyze an optical absorption spectrum of bulk and low dimension materials by using the Bethe-Salpeter equation-->
 
====Yambo-python driver====
* [[First steps in Yambopy]]
* [[GW tutorial. Convergence and approximations (BN)]]
* [[Bethe-Salpeter equation tutorial. Optical absorption (BN)]]
 
<!--
====Real-time simulations====
* [[Breaking of symmetries]]
* [[Independent-Particle Approximation Dynamics. Delta Pulse]]
* [[Post-processing. Optical Response]]
-->
 
<!-- [[Instructions for CECAM students]] -->
 
=== Modules ===
Alternatively, users can learn more about a specific runlevel or task by looking at the individual '''[[Modules|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.
 
== <span id="Schools"></span>Schools ==


* [[ICTP2020]]
In the left main menu you can access the different Tutorials sections:
* [[CECAM VIRTUAL 2021]]
* [[Tutorials_download|Download information]]
* [ICTP2022 https://www.yambo-code.org/wiki/index.php?title=ICTP_2022]
* [[Tutorials_standalone|Stand-alone tutorials]]
* [[Tutorials_modular|Modular tutorials]] and corresponding [[Modules|Modules]]
* [https://enccs.github.io/max-coe-workshop/day5-tutorials/ More tutorials in Markdown]

Latest revision as of 15:36, 31 October 2024

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. We recommend that you complete the tutorials before trying to use Yambo for your system.

You must have a working environment where both Yambo and Yambopy (and eventually QE or abinit) are installed. If you are starting out with Yambo, we suggest to follow this page with a detailed explanation about how to set up all you need for running the tutorials.

In the left main menu you can access the different Tutorials sections: