CHPC Software: Quantum Espresso

Quantum Espresso (QE) is an integrated suite of computer codes for electronic-structure calculations and materials modeling at the nanoscale. It is based on density-functional theory, plane waves, and pseudopotentials (both norm-conserving and ultrasoft). The website for QE is http://www.quantum-espresso.org. GPU versions are available, please contact the CHPC help desk at issues@chpc.utah.edu if you need access to these versions. Also included is the GIPAW software for calculating NMR and EPR parameters.

To Use:

Users can access QE through the IMPI module:

module load intel impi qe

This build will work on all CHPC clusters. However, special care must be taken to select the correct MPI fabric for each cluster. 

The following line gives and example of how to run pw.x under SLURM:

mpirun -np $SLURM_NTASKS pw.x -inp input > output

Note that the QE developers recommend the use of "-inp" for supplying input, and not the standard redirects.

For constructing inputs and analyzing outputs the java program J-ICE is recommended. CHPC also has python scripts available for converting to and from CIF format; please contact issues@chpc.utah.edu for more information.

Please find an example script written in bash, and an example input file at /uufs/chpc.utah.edu/sys/installdir/qe/examples

The example slurm script is duplicated below for convenience:

#!/bin/bash
#SBATCH -t 3:00:00
#SBATCH -N 1
#SBATCH -n 16
#SBATCH -A owner-guest
#SBATCH -p kingspeak-guest
#SBATCH -o qe-%j

#Put the names of your input files in this list
#Names are separated by a space; make sure there's
#a space between the parentheses and the names

NAME=qe-input.in

#The data directory is where your input files are located

export DATADIR=/uufs/chpc.utah.edu/common/home/u0123458/qe-inputs/

#Make sure that the scratch path matches the path in your input files

export SCRATCH=/scratch/kingspeak/serial/u0123458/test/

#########################################################
# Don't edit stuff below this line
# Bad things will happen
#########################################################

module purge
module load chpc intel impi qe

mkdir -p $SCRATCH

echo "Evaluating $NAME at `date`"
mpirun -np $SLURM_NTASKS pw.x -inp $DATADIR/$NAME > $DATADIR/$NAME.$SLURM_JOB_ID.out
echo "Finished $NAME at `date`"