IMPRS 2014

by Pasquale Pavone for exciting boron

Purpose: First, it will be explained here how to download and compile exciting Then, you will set up the environment variables which are needed for running examples presented in the tutorials. Finally, some general information is given about the scripts that are used in exciting tutorials. It is assumed throughout the tutorials that you have a basic knowledge of the commands of the Linux operative system.

0. Choice of the browser

Open a new Linux shell window on your workstation. We strongly suggest to use the browser chromium for visualizing the text of the tutorial examples (from now on the symbol $ will indicate the shell prompt):

$ chromium &

1. How to download and compile exciting?

This is the first step to do if you want to start to use the code!


The first step is the creation of the directory where exciting will be downloaded. During this hands-on workshop, a workstation will be assigned to you. Please, always use this workstation for running the tutorial examples. Then, create the directory /home1/IMPRS-tutorial on thle local disk (called /home1) of the workstation you are using.

$ mkdir /home1/IMPRS-tutorial

Download exciting using the next link.

Following the usual downloading procedure of your browser, the file exciting.boron-IMPRS.tar.gz containing the current release of exciting with some additional files specific for the IMPRS hand-on workshop. When the downloading procedure is completed, the file exciting.boron-IMPRS.tar.gz will be located in the directoty $HOME/Downloads. Move this file in the directory /home1/IMPRS-tutorial and unpack it. This can be done using the commands

$ mv $HOME/Downloads/exciting.boron-IMPRS.tar.gz /home1/IMPRS-tutorial
$ cd /home1/IMPRS-tutorial
$ tar xvf exciting.boron-IMPRS.tar.gz

By executing the last command, a subdirectory called exciting is created. This directory contains all files which make up the exciting software package. Now, you are ready for compiling the code.

Compilation: Guide for a quick serial installation of exciting

In order to quick install a serial version of exciting, go first to the directory /home1/IMPRS-tutorial/exciting

$ cd /home1/IMPRS-tutorial/exciting

Then, compile the code using the ifort compiler by typing

$ make -j 8

and answer 7 (ifort), no, and no to the 3 questions that will be asked on the screen, respectively. A successful installation usually takes some minutes, depending on the machine processor.

2. Setting environment variables

The next instructions have to be executed only once before starting your first tutorial!

The setting of the relevant environment variables can be done in a bash shell. In order to do this, edit the ~/.bashrc file in your $HOME directory. Then, append the following lines to the ~/.bashrc file.

# The following shell variables are needed for executing scripts in exciting tutorials
export EXCITINGROOT=/home1/IMPRS-tutorial/exciting
export EXCITINGVISUAL=$EXCITINGROOT/xml/visualizationtemplates
export EXCITINGCONVERT=$EXCITINGROOT/xml/inputfileconverter
export TIMEFORMAT="   Elapsed time = %0lR"
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/global/intel/mkl/lib/intel64/
function DOS  () { xsltproc $EXCITINGVISUAL/xmldos2grace.xsl dos.xml > $1 ; }
function BAND () { xsltproc $EXCITINGVISUAL/xmlband2agr.xsl bandstructure.xml ; }
Description of the used environment variables
  • EXCITINGROOT = Directory where exciting has been downloaded. In our case: /home1/IMPRS-tutorial/exciting.
  • EXCITINGRUNDIR = Scratch directory used for running calculation by some exciting scripts. Example of definition: /home1/tmpdir . In our case this variable is not defined, therefore, a running directory called xc-rundir will be created inside the directory where the scripts are executed.
  • EXCITINGBIN = Path to the exciting executable files, defined as $EXCITINGROOT/bin .
  • EXCITINGSCRIPTS = Directory where the tutorial scripts are located, defined as $EXCITINGROOT/tools .
  • EXCITINGSTM = Directory containing the STM scripts, defined as $EXCITINGSCRIPTS/stm .
  • EXCITINGVISUAL = Directory containing several visualization templates.
  • EXCITINGCONVERT = Directory containing several conversion templates.
  • TIMEFORMAT = Output format for writing on the screen the running elapsed time, used in some script.
  • LD_LIBRARY_PATH = Path to a library of routines which are necessary when using the ifort (INTEL) compiler.

Please note: In order to activate the changes above, you have to start a new shell or source ~/.bashrc.

$ source ~/.bashrc

3. Tutorial scripts

All the scripts used in the exciting tutorials can be found in the directory $EXCITINGROOT/tools.

General classification of script types
  • Python scripts for preparing appropriate input files for exciting calculations.
  • (Bash) shell scripts for running exciting calculations.
  • Python scripts used for post-processing results of exciting calculations.
  • OPTIMIZE-xxxxxx.xx: Scripts used for lattice optimization.
  • ElaStic@exciting-xxxxxx.xx: Scripts which use the ElaStic tool.
  • STRESS-exciting-xxxxxx.xx: Scripts which use the STRESS-exciting tool.
  • Python visualization tools.
  • PLOT-xxxxxx.gnu: Gnuplot visualization tools.

4. How to continue?

  • Move inside the directory /home1/IMPRS-tutorial where you will perform all the calculations presented in the tutorial examples:
$ cd /home1/IMPRS-tutorial
  • You can now start the tutorial exercises by connecting to Graphene: From the ground-state to excitations.
  • Please note, that the settings described in this page are valid only for participants of the IMPRS 2014 hands-on workshop. Furthermore, for participants of this workshop the settings described in this page should be used instead of the general ones described in How to set environment variables for tutorials scripts.
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License