INSTALLATION OF IPYTHON WITH SOFTWARE REQUIRED TO RUN IPYTHON NOTEBOOKS FOR QUANTUM ESPRESSO CODE

 

Note: This is a description of installation of software required to run ipython notebooks only. It is sufficient to run notebooks remotely with Quantum Espresso software installed on a remote computer. To run examples locally you need to install Quantum Espresso on your local computer.

INSTALLATION ON REDHAT LINUX

The use of the qe-util/nipy packages require some preparations to be made first.

You need to install and configure several packages first.

 

Pre-requisites

 

To run the programs you need a fairly recent linux system.

You will need the current python install with virtualenv system installed.

Older distributions (RHEL, CentOS, Scientific Linux)

You will need the current python install with virtualenv system installed.

The software is not fully compatible with python 2.6, so if you are on the old distribution (e.g. RHEL 6) you will need to compile the python interpreter from source. Python source can be downloaded from the python web page - you need version 2.7.x. To install alternative python interpreter without interfering with the system interpreter you unpack the distribution and run in command line:

./configure

make

sudo make altinstall

 

(the last line executed as superuser). The rest of the instalation is the same except the virtual environment creation command will change into:

virtualenv -p python2.7 nipy

The installation instructions for the virtualenv package can be found on its web page http://www.virtualenv.org/en/latest/. Tha package is avaliable for download at Virtualenv PyPi page. You do not need to install the package. It is enough to just unpack it and run it as (from the directory you have unpacked it into):

 

python virtualenv.py [any_parameters_you_need]

 

The installation instructions for the virtualenv package can be found on

its web page: http://www.virtualenv.org/en/latest/

 

Your system should also have a basic set of development packages installed:

 

·      gcc

·      g++

·      gfortran

·      python 2.7

·      development libraries for openssl and other basic system libraries (for Python compilation)

·      lapack and blas development libraries (for scipy installation)

·      freetype and png development libraries (for matplotlib installation)

 

Installation

 

It is best to perform all your work in the python virtualenv.

To create one go to the directory of your choice and run

(nipy is a name of the environment we have chosen, you can use a different

name, just stick with it):

 

virtualenv nipy

 

This will create the nipy directory which is a place all software will be

installed. You *do not need* to work in this directory! In fact it is better

not too. If you have a recent and complete distribution and you know what you

are doing  you can try to use a system-site-packages option to virtualenv and skip

the installation of packages already present in your system. Just remember that

this is not supported and tested variant (but it should work anyway). For this application iPython, ASE, SPGlib, Elastic, QE-util.

 

Next step is activation. Execute in your terminal a following line:

 

source nipy/bin/activate

 

replacing the nipy by your path to the environment directory. This command

activates the environment. (To deactivate simply type: deactivate)

 

Next you need to install the software in active environment by running:

pip install distribute --upgrade

pip install ipython

pip install pyzmq

pip install jinja2

pip install tornado

pip install numpy

pip install scipy

pip install matplotlib

 

This will take some time but should execute without problems.

 

Next go to the ASE website: https://wiki.fysik.dtu.dk/ase/download.html

and download a latest tarball. At this moment it is version:

https://wiki.fysik.dtu.dk/ase-files/python-ase-3.8.1.3440.tar.gz

 

Unpack it in some temporary place, enter its directory and run:

 

python setup.py install

 

We are almost done. The last dependence is the space-group library SPGlib. Download the spglib distribution and unpack it in some temporary place. Next enter the python/ase subdirectory and execute:

   python setup.py install

 

The last step is installation of the qe-util and elastic library that can be downloaded from QE_nipy_library.gz.

 

Move  to preferred location for the qe-util and elastic library

 

Unzip library by using:

 

   tar –zxvf QE_nipy_library.gz

 

    and execute:

 

    pip install qeutil

    pip install elastic

 

Now you have a ready working environment.

 

Upgrading

qe-util and elastic is a frozen version that was tested on provided examples.

qe-util_advanced and elastic_advanced  are being developed as a new version that will be more flexible and would allow user to use more advanced features of Quantum Espresso code.

The command to upgrade a supportive packages for package_name is:

pip install package_name --upgrade

 

Usage

 

To use software on the remote computers available at the University of Saskatchewan download respectively python scripts into working directory where your ipython notebook is located:

·          Bugaboo (longer jobs)

·         Jasper (quick access, shorter jobs with three days limit)

·         Grex (larger memory, but smaller disk space)

·         Plato (smaller jobs)

and create Host.py file by including needed Quantum Espresso execution commands like in the attached example:

·         host.py example

 

Since the qe-util package is designed to be used inside the iPython notebook

environment go to the directory where you downloaded the example notebooks

(*.ipynb files - it should be *outside* of the nipy tree) and run (remember

to have the nipy environment activated!) :

 

ipython notebook --pylab=inline

 

Your web browser will open a page with a list of example notebooks.

Open (click) the first and follow the instructions there.

 

OTHER DOCUMENTATION

Other sites with documentation and versions of tutorials can be found on: QE-doc

COMMENTS

The QE-util and Elastic code as well as most of their dependencies are developed and tested in the Linux environment.  The code itself was developed and tested on Ubuntu 13.10/64 and Debian stable.