Difference between revisions of "First steps in Yambopy"

From The Yambo Project
Jump to navigation Jump to search
(29 intermediate revisions by 6 users not shown)
Line 1: Line 1:
A typical yambo calculation proceeds as follows:
The yambopy project aims to develop python tools to:  


* Obtain the ground state properties from a DFT code (pw.x or abinit) '''[[First steps: a walk through from DFT to optical properties]]'''
* Read and edit yambo and quantum espresso input files
* Create the yambo netCDF databases using the corresponding interface: (p2y for pw.x or a2y for abinit)
* Easily perform pre- and post-processing of the simulation data for these two codes - including hard-to-get, database-encoded data beyond standard outputs
* Run yambo once to complete the database
* Provide easy visualization and plotting options
* Run yambo specifying the run-levels to generate the input file
* Set up simple automatization workflows (e.g., convergence tests)
* Edit the yambo input file
* Run various yambo simulations
* Plot the data results


Since many of the parameters of the calculation have to be converged the user might end up running the last three steps many times. This is rather time-consuming without an automatization script.
=== Setup ===
First of all, make sure that you have a suitable python environment (crated for example with [https://docs.conda.io/projects/miniconda/en/latest/| conda] or [https://docs.python.org/3/library/venv.html| venv]) with python >=3.8.


The yambopy project aims to provide a simple set of python scripts to (i) read and edit yambo and quantum espresso input files, and (ii) to easily perform pre- and post-processing of the simulation data for these two codes.
Then, you may install yambopy in one of the following ways.
Yambopy was born with the primary objective of making the convergence tests easier.


"""Installation instructions for general users"'"
==== Quick installation from PyPI repository ====


A quick way to start using Yambopy is described here.
* In order to quickly install the officially released version type:


<!--
pip install yambopy
* Enter in a node and create in the scratch a folder


<source lang="python">
==== Installation from tarball ====
ssh -Y tutoXY@cecam; ssh -Y node0XY
cd /home/scratch
mkdir your_name; cd your_name
</source>
-->


* Make sure that you are using Python 3 and that you have the following python packages: <code>numpy</code>, <code>scipy</code>, <code>matplotlib</code>, <code>netCDF4</code>, <code>xml.etree</code>.
* In case you don't want to download from the pip repository and prefer to install a version of yambopy locally, you may download the appropriate tarball from the [https://github.com/yambo-code/yambopy/releases| yambopy github page]. Extract the tarball, enter the yambopy folder and type <code>pip install .</code>


* Go to a directory of your choice and clone yambopy from the git repository
==== Installation of latest patch ====


<source lang="python">
* In case you want the latest version of the code including new updates and patches that might not be present in the official version, then you can clone the yambopy git repository (a basic knowledge of git may be helpful):
git clone https://github.com/yambo-code/yambopy.git
</source>


* Enter into the yambopy folder and install
git clone https://github.com/yambo-code/yambopy.git
cd yambopy
pip install .


<source lang="python">
==== Dependencies ====
cd yambopy
sudo python setup.py install
</source>


If you don't have administrative privileges (for example on a computing cluster), type instead
* In principle, <code>pip</code> should take care of the required python dependencies. They are <code>numpy</code>, <code>scipy</code>, <code>matplotlib</code>, <code>netCDF4</code>, <code>lxml</code>, <code>PyYAML</code> and <code>monty</code>. In case some dependency-related problem arises, you can install each of them separately beforehand with:


<source lang="python">
pip install <code>dependency-name</code>
cd yambopy
python setup.py install --user
</source>


* [OPTIONAL] Install abipy [WEBSITE] for band structure interpolations
=== Tutorials ===
Now yambopy is ready to use! Just go to the tutorials folder and follow the docs!


<source lang="python">
cd tutorial/
pip install abipy
</source>


* Now yambopy is ready for use! Just go to tutorials folder and follow the docs!
On this wiki, we provide steps for the following tutorials:
 
* [[GW tutorial. Convergence and approximations (BN)]]
<source lang="python">
* [[Bethe-Salpeter equation tutorial. Optical absorption (BN)]]
cd tutorial/bn
* [[Yambopy tutorial: band structures | Database and plotting tutorial for quantum espresso: qepy]] (Get the databases: [https://media.yambo-code.eu/educational/tutorials/files/databases_qepy.tar.gz databases_qepy], 46.5MB)
</source>
* [[Yambopy tutorial: Yambo databases | Database and plotting tutorial for yambo: yambopy ]] (Get the databases: [https://media.yambo-code.eu/educational/tutorials/files/databases_yambopy.tar.gz databases_yambopy], 129MB)
 
* [[Phonon-assisted luminescence by finite atomic displacements]]
And go to [[GW tutorial. Convergence and approximations (BN)]] or [[Bethe-Salpeter equation tutorial. Optical absorption (BN)]].
 
You can find all the documentation of yambopy here http://yambopy.readthedocs.io/en/latest/index.html
 
"""Installation instructions for the hands-on of the 2020 Yambo school at ICTP, Trieste"""
 
* Yambopy is already preinstalled in the Quantum Machine. Start the Quantum Machine and go to the tutorial folder
 
<source lang="python">
cd yambopy/tutorial/bn
</source>
 
And go to [[GW tutorial. Convergence and approximations (BN)]] or [[Bethe-Salpeter equation tutorial. Optical absorption (BN)]].
 
You can find all the documentation of yambopy here http://yambopy.readthedocs.io/en/latest/index.html

Revision as of 14:05, 7 February 2024

The yambopy project aims to develop python tools to:

  • Read and edit yambo and quantum espresso input files
  • Easily perform pre- and post-processing of the simulation data for these two codes - including hard-to-get, database-encoded data beyond standard outputs
  • Provide easy visualization and plotting options
  • Set up simple automatization workflows (e.g., convergence tests)

Setup

First of all, make sure that you have a suitable python environment (crated for example with conda or venv) with python >=3.8.

Then, you may install yambopy in one of the following ways.

Quick installation from PyPI repository

  • In order to quickly install the officially released version type:
pip install yambopy

Installation from tarball

  • In case you don't want to download from the pip repository and prefer to install a version of yambopy locally, you may download the appropriate tarball from the yambopy github page. Extract the tarball, enter the yambopy folder and type pip install .

Installation of latest patch

  • In case you want the latest version of the code including new updates and patches that might not be present in the official version, then you can clone the yambopy git repository (a basic knowledge of git may be helpful):
git clone https://github.com/yambo-code/yambopy.git
cd yambopy
pip install .

Dependencies

  • In principle, pip should take care of the required python dependencies. They are numpy, scipy, matplotlib, netCDF4, lxml, PyYAML and monty. In case some dependency-related problem arises, you can install each of them separately beforehand with:
pip install dependency-name

Tutorials

Now yambopy is ready to use! Just go to the tutorials folder and follow the docs!

cd tutorial/

On this wiki, we provide steps for the following tutorials: