Quantum ESPRESSO

Version
6.3

Quantum ESPRESSO

Introduction

Quantum ESPRESSO is a materials modeling program designed for nanoscale materials simulations and electronic structure computation.

Using Quantum ESPRESSO on RCC Resources

Quantum ESPRESSO does not require any module files to be loaded, but any Quantum ESPRESSO command has qe_ prepended to it on RCC's systems, so where you see pp.x in the official documentation, this will be qe_pp.x on RCC resources. Additionally, the GNU OpenMPI module must be loaded if you want to do parallel execution of the various QuantumESPRESSO programs. All Quantum ESPRESSO internal packages are installed:

PWscf (PW), Plane-Wave Self-Consistent Field
CP (CPV), Car-Parrinello Molecular Dynamics
PostProc (PP), post-processing and analysis Tools
PHonon, phonons with Density-Functional Perturbation Theory
PWneb (NEB), Nudged Elastic Band

Documentation for these packages can be found here. In addition, an excellent tutorial for using Quantum ESPRESSO is available at this QE Tutorial Site. When running Quantum ESPRESSO, the mpirun command will be similar to the following form:

qe_pw.x -inp [input file] > [output file]

Additionally, the qe_pw.x executable can be replaced with another package's executable such as qe_neb.x. More options and explanations are available on the Quantum Espresso website.

Running Quantum ESPRESSO in Parallel on RCC Resources

It is possible to use Quantum ESPRESSO on HPC in Parallel using the GNU OpenMPI module in tandem with the various software components of Quantum ESPRESSO.  For example, one possible SLURM submission script could be as follows:

#!/bin/bash
#SBATCH -J MyJob
#SBATCH -p genacc_q
#SBATCH -n 16
#SBATCH -t 10:00:00

module load gnu-openmpi

srun qe_pw.x -in infile.scf.in > outfile.scf.out

This code would allow you to run the qe_pw.x program in parallel on 16 processors.  You can adjust the -n, -p and -t parameters as needed and replace the program call after srun to any program in the Quantum ESPRESSO suite.  See the Quantum Espresso website for details on the various programs in the suite and how to call them and what arguments must be passed to the program.