Quantum Espresso with ipython interface
This project was created to provide for students at the University of Saskatchewan an interactive interface and the illustrative scripts to use Quantum Espresso code. In the initial form the development is done in Linux environment. The presented here QE_nipy scripts have limited application and we are in the process of creating additional resources for more complex calculations (project QE_nipy_advanced).
The QE_nipy (QE_nipy_advanced (described in TMS 2015 proceedings)) project on a development of the interactive interface for Quantum Espresso code (http://www.fisica.uniud.it/~giannozz/QE-Tutorial/ – more) uses Atomic Simulation Environment library (ASE) implemented into ipython notebook (http://ipython.org/ - tutorials). The used basic libraries are: matplotlib, scipy, numpy that are described also in other documentation.
The most recent version of Quantum Espresso code is installed on the listed below WestGrid, Calcul Quebec supercomputers and Plato computer at the University of Saskatchewan. The examples of batch jobs to run Quantum Espresso are respectively shown for each computer (no spaces in #PBS: e.g.: procs=16):
· Jasper (quick access, shorter jobs with three days limit)
· Grex (larger memory, but smaller disk space)
· Plato (smaller jobs)
Quantum Espresso has modular structure and one can run each module by typing theirs execution name (e.g. for self-consistent calculations without geometry optimization and with geometry optimization). It is recommended to check tutorials and other recommendations (e.g. for this task see comments about Pulay stress) before submitting job for the first time. Quantum Espresso has recovery option command to restart the job if it crushed. The ready to use pseudopotentials are listed on QE web and additional are on THEOS web or can be generated using for example: opium.
The information about installation of ipython, in Linux environment, with the necessary libraries, used in this project, is provided in: installation instruction.
One can gain experience with ipython by playing with this simple example:
the iPython notebook environment (path where your software is installed e.g.
~/nipy/bin/) by typing:
start the notebook and upload basic libraries go to the directory where you
downloaded the example and type in the command line:
ipython notebook --pylab=inline
o The web browser will open a page with the example notebook listed. Click it.
o Click at the top Help button and select Keyboard Shortcuts and view theirs functions
o Try for example to execute cells in notebooks by pressing keys: Shift+Enter and so on.
Exemplary tasks performed using ipython notebooks for Quantum Espresso code installed on remote computer:
· Setup of calculations of crystal structure and electronic structure calculations on remote computer
· Electronic structure calculations (Band structure and density of states of electrons)
· Geometry optimization for non-cubic structure
· Phonons (dispersion & density of states)
· Elastic constants
o In this paper (Section Elastic Properties) you can find formulas how to calculate the related mechanical properties (compliancies, bulk, share and young moduli)
· Thermal expansion
· Molecular Dynamics
· IR, Raman
Comment: The restriction (in this version of ipythons) on the names of pseudo-potentials (ipythons create the same types pseudo-potentials names in the input for QE for different atoms) can be fixed by first accordingly rename pseudopotentials files and next after completion of the calculation change back the names of the files and theirs names in all files by using in the working directory the command: grep -lr -e "Atomiold" . | xargs sed -i "s/Atomiold/Atominew/g". Note the functionals name (e.g. pz) must be set the same in all names and also in the content of the pseudopotentials files.
Exemplary interactive Quantum Espresso (code installed on local computer) tasks performed using ipython notebook
· Setup of crystal structure and electronic structure calculations
· QE_nipy resources available on Bugaboo.westgrid.ca supercomputer on shared directory for group wg-jerzy.
· Development site for the related tutorials, software for Unix environment (not recommended to use for installation since it is not updated for the new version of QE): [QE-util] and [Elastic], created and maintained by Dr. Pawel T. Jochym.
· Elastic constant calculations using ipython for VASP and SIESTA: http://wolf.ifj.edu.pl/elastic
Contribution and history:
See this document for history and contributions.
Useful links and batch job examples for the latest versions of commonly used software on various computers.