Quantum ESPRESSO 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).
Quantum Espresso can do:
- Ground-state calculations
- Structural optimizations
- Ab-inito molecular dynamics
- Response properties
- Spectroscopic properties
- Quantum transport
Usage on Bridges-2
Copy the necessary pseudopotential files from the Quantum Espresso website.
You will need the pseudopotential files for the elements you are interested in. You can get them from the Quantum Espresso web site at http://www.quantum-espresso.org/pseudo.php.
Include commands which do the following in your job script or interactive session
Load the Quantum Espresso module.
module load QuantumEspresso
Define $PSEUDO_DIR to be where you stored the pseudopotential files. Quantum Espresso will look for this environment variable when it is executing.
export PSEUDO_DIR=your-pseudo-directory # for bash
setenv PSEUDO_DIR your-pseudo-directory # for csh
Define $TMP_DIR to be your $PROJECT directory in ocean so Quantum Espresso has a large space to write intermediate files.
export TMP_DIR=/ocean/projects/group-name/user-name # for bash
setenv TMP_DIR /ocean/projects/group-name/user-name # for csh
Define the variable I_MPI_JOB_RESPECT_PROCESS_PLACEMENT to be zero so that task placement commands are effective; otherwise, they are ignored.
export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0 # for bash setenv I_MPI_JOB_RESPECT_PROCESS_PLACEMENT 0 # for csh
Execute the code with a command like
mpirun -np $SLURM_NTASKS $QuantumEspresso/bin/executable < input > output