NWChem

If you are a windows user – please ensure you create your jobscript ON THE CSF directly using gedit. This will prevent your job going into error (Eqw). Text files created on windows have hidden characters that linux cannot read. For further information please see the guide to using the system from windows, in particular the section about text & batch submission script files.

Overview

NWChem is a suite of highly scalable tools for atomistic computational chemistry, offering a wide range of quantum, classical and combined approximations. Molecular electronic structure calculations using ab initio, DFT and higher order methods utilise Gaussian orbitals, while plane wave + pseudopotential methods are available for periodic calculations. Most of these methods can also be used in conjunction with the QM/MM and MD modules.

Set up procedure

NWChem can be accessed by loading the module file as follows:

module load apps/intel-17.0/nwchem/6.8.1

This will also automatically load the appropriate MPI modulefile into your environment and set some environment variables where NWChem will look for basis set libraries, etc.

Running the application

Please do not run NWChem on the login nodes. Jobs should instead be submitted to the compute nodes via the batch system, SGE. Some example jobs are given below.

Serial batch job submission

Two NWChem executables are available: nwchem for MPI jobs and nwchem.serial for serial jobs. An example jobscript for a serial job is shown below:

#!/bin/bash --login
#SBATCH -p serial        # (--partition) Run on the Intel 1-core job compute nodes
#SBATCH -n 1             # (--ntasks) Optional, as it is always 1 in serial jobs.
#SBATCH -t 0-2           # Wallclock time limit. 0-2 is 2 days, max permitted is 7-0.

module purge
module load apps/intel-17.0/nwchem/6.8.1

# Use the serial nwchem executable
nwchem.serial h2o.nw

Submit the jobscript using:

sbatch scriptname

Single node parallel batch job submission (2-40 cores)

An example jobscript for a single node MPI job is given below.

#!/bin/bash --login
#SBATCH -p multicore_small      # Run on the nodes dedicated to jobs of size 2--40 cores.
#SBATCH -n 32                   # Request 32 cores

module purge
module load apps/intel-17.0/nwchem/6.8.1

# The nwchem executable is an MPI (parallel) executable
mpirun -n $SLURM_NTASKS nwchem uo2.nw

Submit the jobscript using:

sbatch scriptname

Multi-node parallel batch job submission (80-1280 cores in multiples of 40)

The following jobscript requests 120 cores (three 40-core nodes with Infiniband network):

#!/bin/bash --login
#SBATCH -p multicore         # (--partition) Run on the 40-core nodes with fast InfiniBand networking
#SBATCH -N 3                 # (--nodes) Number of nodes, which must be specified explicitly
#SBATCH -n 120               # (--ntasks) Request 120 cores
#SBATCH -t 0-2               # Wallclock time limit. 0-2 is 2 days, max permitted is 7-0

module purge
module load apps/intel-17.0/nwchem/6.8.1

mpirun -n $SLURM_NTASKS nwchem p2ta.nw

Submit the jobscript using:

sbatch scriptname

Last modified on October 19, 2026 at 5:29 pm by George Leaver