Turing: NWChem

Introduction

NWChem (Northwest Computational Chemistry Package) is an ab initio computational chemistry software which includes quantum chemistry and molecular dynamics functionalities. This is a free software developed at Pacific Northwest National Laboratory.

NWChem enables the modelling of molecular systems including biomolecules, nanostructures, actinides and materials. It provides a vast range of highly scalable parallel computational chemistry methods relevant to reactive chemical processes which take place in the environment such as photosynthesis, protein functions, and combustion. Included are a multitude of highly correlated methods, density functional theory (DFT) and Car-Parrinello, molecular dynamics with AMBER and CHARMM force fields, and combinations of these.

If you publish research results for which you used this software, you must include the following reference:
M. Valiev, E.J. Bylaska, N. Govind, K. Kowalski, T.P. Straatsma, H.J.J. van Dam, D. Wang, J. Nieplocha, E. Apra, T.L. Windus, W.A. de Jong, “NWChem: a comprehensive and scalable open-source solution for large scale molecular simulations”, Comput. Phys. Commun. 181, 1477 (2010).

Availability

The following version is available:

  • 6.3 (default version)

This software is available on Turing in parallel MPI mode.

Launching script

The following is an example of a launching script for a calculation executed in the WORKDIR :

job.ll
# @ job_name         = NWChem
# @ job_type         = bluegene
# @ output           = $(job_name).$(jobid)
# @ error            = $(job_name).$(jobid)
# @ wall_clock_limit = 01:00:00
# @ bg_size          = 64
# @ queue
 
### Initialisation de Module ###
module load nwchem
 
### Echo des commandes ###
set -x
 
### Lancement du calcul ###
mv input.nw nwchem.nw
cp $NWCHEM_EXEDIR/nwchem .
runjob --np 2048 --ranks-per-node=32 : ./nwchem

The following is an example of a launching script for a calculation executed in the TMPDIR :

job.ll
# @ job_name         = NWChem
# @ job_type         = bluegene
# @ output           = $(job_name).$(jobid)
# @ error            = $(job_name).$(jobid)
# @ wall_clock_limit = 01:00:00
# @ bg_size          = 64
# @ queue
 
### Module initialisation###
module load nwchem
 
### Command echoes ###
set -x
 
### Copy to the TMPDIR ###
cp ./* $TMPDIR
 
### Run the calculation ###
cd $TMPDIR
mv input.nw nwchem.nw
cp $NWCHEM_EXEDIR/nwchem .
runjob --np 2048 --ranks-per-node=32 : ./nwchem
 
### Copy to the submission folder ###
rm ./nwchem
cd -
cp $TMPDIR/* .

Parameters specific to the software

Memory management

In the input.nw file containing the system to be calculated and the calculation parameters, the first line must designate the amount of memory to be allocated to each process. On Turing, the memory available per process depends on the distribution of the requested processes on the machine. To indicate the amount of memory accessible to NWChem, it is necessary to specify the amount in the input.nw file (for example):

memory total 1000 mb

Note : The memory must be indicated in mega (mb) (not in giga) or the request will not be considered.

If the memory is not sufficient, you should use a larger partition of the machine in order to access more memory. (Alternatively, you could use fewer processes than cores for the same reservation but in doing this, you would not be making good use of the resources.)