Special Guidelines for "HoW exciting! 2018" Participants

by Pasquale Pavone for exciting nitrogen

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

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 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 the workshop, a workstation will be assigned to you. Please, always use the same workstation for running the tutorial examples. Then, create the directory /home/tutorials on the local disk (called /home) of the workstation you are using.

$ mkdir /home/tutorials

Download exciting using the next link.

Following the usual downloading procedure of your browser, the file exciting.nitrogen.tar.gz containing the current release of exciting will be located in the directoty $HOME/Downloads. Move this file in the directory /home/tutorials and unpack it. This can be done using the commands

$ mv $HOME/Downloads/exciting.nitrogen.tar.gz /home/tutorials
$ cd /home/tutorials
$ tar xvf exciting.nitrogen.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, before you compile the code, you should set the environmental variables in the proper way.


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=/home/tutorials/exciting
export EXCITINGBIN=$EXCITINGROOT/bin
export EXCITINGTOOLS=$EXCITINGROOT/tools
export EXCITINGSTM=$EXCITINGTOOLS/stm
export EXCITINGVISUAL=$EXCITINGROOT/xml/visualizationtemplates
export EXCITINGCONVERT=$EXCITINGROOT/xml/inputfileconverter
#-------------------------------------------------------------------------------------
export TIMEFORMAT="   Elapsed time = %0lR"
#-------------------------------------------------------------------------------------
export WRITEMINMAX="1"
#-------------------------------------------------------------------------------------
export PYTHONPATH=$PYTHONPATH:$EXCITINGSTM
export PATH=$PATH:$EXCITINGTOOLS:$EXCITINGBIN:$EXCITINGSTM
#-------------------------------------------------------------------------------------
module load intel
PS1='\u@\h:\w$ '
#-------------------------------------------------------------------------------------
function DOS  () { xsltproc $EXCITINGVISUAL/xmldos2grace.xsl dos.xml > $1 ; }
function BAND () { xsltproc $EXCITINGVISUAL/xmlband2agr.xsl bandstructure.xml ; }
#=====================================================================================
Description of the most relevant environment variables
  • EXCITINGROOT = Directory where exciting has been downloaded. In our case: /home/tutorials/exciting.
  • EXCITINGBIN = Path to the exciting executable files, defined as $EXCITINGROOT/bin .
  • EXCITINGTOOLS = Directory where the tutorial scripts are located, defined as $EXCITINGROOT/tools .
  • EXCITINGSTM = Directory containing the STM scripts, defined as $EXCITINGTOOLS/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.

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

$ source ~/.bashrc

3. Compilation: Guide for a quick serial installation of exciting

In order to quickly install a serial version of exciting, go first to the directory /home/tutorials/exciting

$ cd /home/tutorials/exciting

Then, compile the code using the ifort compiler by typing

$ make -j 8

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


4. Tutorial scripts

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

General classification of script types
  • SETUP-xxxxxx.py: Python scripts for preparing appropriate input files for exciting calculations.
  • EXECUTE-xxxxxx.sh: (Bash) shell scripts for running exciting calculations.
  • CHECKFIT-xxxxxx.py: 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.
  • PLOT-xxxxxx.py: Python visualization tools.
  • PLOT-xxxxxx.gnu: Gnuplot visualization tools.

5. How to continue?

  • Move inside the directory /home/tutorials where you will perform all the calculations presented in the tutorial examples:
$ cd /home/tutorials

6. Useful hints for those who have little experience with Unix/Linux

  • There are a bunch of Unix/Linux editors available in the Debian distribution that can be used, try one of the following examples and decide what you like more:
$ kwrite FILENAME &
$ nedit FILENAME &
$ vim FILENAME
$ nano FILENAME
$ emacs FILENAME &
  • In order to visualize png, ps, or pdf files, you can use the okular program as in the following example:
$ okular PLOT.png &
$ okular PLOT.ps &
$ okular PDF-FILE.pdf &

More details on these and further Linux commands can be found here.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License