Skip to content

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 helpdesk@chpc.utah.edu if you need access to these versions. Also included is the GIPAW software for calculating NMR and EPR parameters.

Also, please note that under the Rocky 8 OS we have encountered various problems with various QE versions. The version listed below seems to be the most stable. If you encounter problems with this version use the module spider quantum-espresso command to try other versions.

To Use:

The most stable QE seems to be built with the Intel compiler and MVAPICH2:

ml intel-oneapi-compilers/2021.4.0 mvapich2/2.3.7 quantum-espresso/7.0

This build will work on the InfiniBand network CHPC clusters, kingspeak, notchpeak or ash. For Lonepeak, try to replace the mvapich/2.3.7 module with intel-oneapi-mpi/2021.1.1.

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 helpdesk@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 intel-oneapi-compilers/2021.4.0 mvapich2/2.3.7 quantum-espresso/7.0

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`"
Last Updated: 7/5/23