First steps in Yambopy: Difference between revisions

From The Yambo Project
Jump to navigation Jump to search
 
(15 intermediate revisions by 4 users not shown)
Line 6: Line 6:
* Set up simple automatization workflows (e.g., convergence tests)
* Set up simple automatization workflows (e.g., convergence tests)


===Quick installation===
=== 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.


A quick way to start using Yambopy is described here.
If you are not used with python environments, here two simple commands that you can use
python -m venv MYPATH/yamboenv/
(you can replace `MYPATH` with any path you prefer, e.g. `~/`)
source MYPATH/yamboenv/bin/activate
(for bash users, you can add to your .bashrt the line `. MYPATH/yamboenv/bin/activate`)


* 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>lxml</code>, <code>pyyaml</code>. Optionally, you may want to have abipy [[https://abinit.github.io/abipy/index.html]] installed for band structure interpolations.
Then, you may install yambopy in one of the following ways.


* Go to a directory of your choice and clone yambopy from the git repository
==== Quick installation from PyPI repository ====


  git clone https://github.com/yambo-code/yambopy.git
* In order to quickly install the officially released version type:
 
  pip install yambopy


If you don't want to use git, you may download a tarball from the git repository instead.
==== Installation from tarball ====


* Enter into the yambopy folder and install
* 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>


cd yambopy
==== Installation of latest patch ====
sudo python setup.py install


If you don't have administrative privileges (for example on a computing cluster), type instead
* 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
  cd yambopy
  python setup.py install --user
  pip install .
 
===Frequent issues===
When running the installation you may get a <code>SyntaxError</code> related to utf-8 encoding or it may complain that module <code>setuptools</code> is not installed even though it is. In this case, it means that the <code>sudo</code> command is not preserving the correct <code>PATH</code> for your python executable.
 
Solve the problem by running the installation step as
 
sudo /your/path/to/python setup.py install
or
sudo env PATH=$PATH python setup.py install


This applies only to the installation step and not to subsequent yambopy use.
==== Dependencies ====


===Installing dependencies with Anaconda===
* 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:
We suggest installing yambopy using Anaconda [[https://www.anaconda.com/products/distribution]] to manage the various python packages.


In this case, you can follow these steps.
pip install <code>dependency-name</code>


First, install the required dependencies:
=== Tutorials ===
conda install numpy scipy netcdf4 lxml pyyaml
 
Then we create a conda environment based on python 3.6 (this is to ensure compatibility with abipy if we want to install it later on):
conda create --name NAME_ENV python=3.6
Here choose <code>NAME_ENV</code> as you want, e.g. <code>yenv</code>.
 
Now, we install abipy and its dependency pymatgen using <code>pip</code>. Here make sure that you are using the <code>pip</code> version provided by Anaconda and not your system version.
 
pip install pymatgen
pip install abipy
 
Finally, we are ready to install yambopy:
 
git clone https://github.com/yambo-code/yambopy.git
 
(or download and extract tarball) and follow the steps outlined in the quick installation section.
 
===Setup complete===
Now yambopy is ready to use! Just go to the tutorials folder and follow the docs!
Now yambopy is ready to use! Just go to the tutorials folder and follow the docs!


Line 68: Line 47:


On this wiki, we provide steps for the following tutorials:
On this wiki, we provide steps for the following tutorials:
1. Data postprocessing:
* [[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)
2. Manage QE and Yambo runs:
* [[GW tutorial. Convergence and approximations (BN)]]
* [[GW tutorial. Convergence and approximations (BN)]]
* [[Bethe-Salpeter equation tutorial. Optical absorption (BN)]]
* [[Bethe-Salpeter equation tutorial. Optical absorption (BN)]]
* [[Yambopy tutorial: band structures | Database and plotting tutorial for quantum espresso: qepy]] (Get the databases: [http://www.yambo-code.org/educational/tutorials/files/databases_qepy.tar databases_qepy], 59MB)
3. Advanced topics:
* [[Yambopy tutorial: Yambo databases | Database and plotting tutorial for yambo: yambopy ]] (Get the databases: [http://www.yambo-code.org/educational/tutorials/files/databases_yambopy.tar databases_yambopy], 226MB)
* [[Phonon-assisted luminescence by finite atomic displacements]]

Latest revision as of 10:01, 3 October 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.

If you are not used with python environments, here two simple commands that you can use

python -m venv MYPATH/yamboenv/

(you can replace `MYPATH` with any path you prefer, e.g. `~/`)

source MYPATH/yamboenv/bin/activate

(for bash users, you can add to your .bashrt the line `. MYPATH/yamboenv/bin/activate`)

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:

1. Data postprocessing:

2. Manage QE and Yambo runs:

3. Advanced topics: