Difference between revisions of "First steps in Yambopy"

From The Yambo Project
Jump to navigation Jump to search
(32 intermediate revisions by 7 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 proprieties from a DFT code (pw.x or abinit)
* 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 runlevels
* Set up simple automatization workflows (e.g., convergence tests)
* Edit the yambo input file
* Run yambo
* 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 read and edit yambo input files. The primary objective is to make the convergence tests easier.
Then, you may install yambopy in one of the following ways.


A quick way to start using Yambopy is described here.
==== Quick installation from PyPI repository ====


* Enter in a node and create in the scratch a folder
* In order to quickly install the officially released version type:


<source lang="python">
pip install yambopy
ssh -Y tutoXY@cecam; ssh -Y node0XY
cd /home/scratch
mkdir your_name; cd your_name
</source>


* Clone yambopy from the git repository
==== Installation from tarball ====


<source lang="python">
* 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>
git clone https://github.com/henriquemiranda/yambo-py.git
</source>


* Enter into the yambopy folder and install
==== 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):
cd yamboypy
python setup.py install --user
</source>


* Now yambopy is ready for use! Just go to tutorials folder and follow the docs!
git clone https://github.com/yambo-code/yambopy.git
cd yambopy
pip install .


<source lang="python">
==== Dependencies ====
cd tutorial/bn
</source>


And go to [[GW tutorial. Convergence and approximations (BN)]] or [[Bethe-Salpeter equation tutorial. Optical absorption (BN)]].
* 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:


You can find all the documentation of yambopy here http://yambopy.readthedocs.io/en/latest/index.html
pip install <code>dependency-name</code>
 
=== 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:
* [[GW tutorial. Convergence and approximations (BN)]]
* [[Bethe-Salpeter equation tutorial. Optical absorption (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)
* [[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]]

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: