NERSCPowering Scientific Discovery Since 1974



Q-Chem is a comprehensive ab initio quantum chemistry package for accurate predictions of molecular structures, reactivities, and vibrational, electronic and NMR spectra. The new release of Q-Chem 5 represents the state-of-the-art of methodology from the highest performance DFT/HF calculations to high level post-HF correlation methods:

  • Fully integrated graphic interface including molecular builder, input generator, contextual help and visualization toolkit (See amazing image below generated with IQmol; multiple copies available free of charge);
  • Dispersion-corrected and double hybrid DFT functionals;
  • Faster algorithms for DFT, HF, and coupled-cluster calculations;
  • Structures and vibrations of excited states with TD-DFT;
  • Methods for mapping complicated potential energy surfaces;
  • Efficient valence space models for strong correlation;
  • More choices for excited states, solvation, and charge-transfer;
  • Effective Fragment Potential and QM/MM for large systems;
  • For a complete list of new features, click here.

How to Access Q-Chem

NERSC uses modules to manage access to software.  To use the default version of Q-Chem, type:

%  module load qchem

Running Q-Chem on Cori

To run Q-Chem parallel jobs interactively on Cori, you need to request a batch session using the salloc command in your run directory, e.g., the following command request one Haswell node on Cori for 1 hour, 

% salloc -N 1 -q interactive -C haswell -t 1:00:00

When the batch session returns with a shell prompt, you will be on a compute node. Then execute the following commands to run Q-Chem 

% module load qchem
% qchem -slurm -nt 32 <Q-Chem input file>

The above qchem command will run the code with 32 OpenMP threads (-nt 32) on a Cori Haswell node. 

To run batch jobs, you need to submit a batch script using the sbatch command. Here is a sample batch scripts:

Sample job script for Cori

#!/bin/bash -l
#SBATCH -q debug
#SBATCH -t 00:30:00
#SBATCH -J my_job
#SBATCH -C haswell

module load qchem
qchem -slurm -nt 32

This script requests to run qchem on one Cori Haswell nodes with 32 OpenMP threads (-nt 32) per task.

If you run single node Q-Chem jobs and do not need all the cores and memory available on the node, you can run your jobs under the shared QOS, which then you will be charged less. For more information about using the shared QOS, see our running jobs page. Here is a sample job script to run Q-Chem with the shared QOS:

Sample job script to run under the shared QOS

#!/bin/bash -l
#SBATCH -q shared
#SBATCH -n 2
#SBATCH -t 1:00:00
#SBATCH -J my_job

module load qchem
qchem -slurm -nt 2

The above script requests two cores (-n 2) (four CPUs in total) for 1 hour.

Sample job script to run Q-Chem with distributed memory parallelism (MPI)

#!/bin/bash -l
#SBATCH -q debug
#SBATCH -t 00:30:00
#SBATCH -J my_job
#SBATCH -C haswell

module load qchem
qchem -slurm -mpi -np 2 -nt 32

The job script requests two Haswell nodes, and run qchem with two MPI tasks (-np 2) each with 32 OpenMP threads (-nt 32) on a Cori Haswell node. 

NOTE: Only basic DFT and TD-DFT features in Q-Chem are capable of utilizing MPI parallelism, please consult the Q-Chem manual to ensure effective utilization of computational resources.


Q-Chem 5.2 manual [PDF] [Html]


PackagePlatformCategoryVersionModuleInstall DateDate Made Default
Q-Chem cori applications/ chemistry 5.1 qchem/5.1 2018-06-27
Q-Chem cori applications/ chemistry 5.1.2 qchem/5.1.2 2019-02-14
Q-Chem cori applications/ chemistry 5.1beta qchem/5.1beta 2018-04-03 2018-04-03
Q-Chem cori applications/ chemistry 5.2 qchem/5.2 2019-05-24
Q-Chem edison applications/ chemistry 5.1 qchem/5.1 2018-06-28
Q-Chem edison applications/ chemistry 5.1.2 qchem/5.1.2 2019-02-14
Q-Chem edison applications/ chemistry 5.1beta qchem/5.1beta 2018-04-24 2018-04-24