Ada: 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) with a vast set of exchange-correlation functionals, time-dependent density functional theory (TDDFT), plane wave 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 versions are available:

  • 6.1.1 (default version)
  • 6.3

This software is available on Ada 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         = job
# @ output           = $(job_name).$(jobid)
# @ error            = $(job_name).$(jobid)
# @ job_type         = parallel
# @ total_tasks      = 64
# @ wall_clock_limit = 10:00:00
# @ queue
 
### Module initialisation ###
module load nwchem/6.3
 
### Command echoes ###
set -x
 
### Run the calculation ###
poe nwchem input.nw

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

job.ll
# @ job_name         = NWChem
# @ output           = $(job_name).o$(jobid)
# @ error            = $(output)
# @ job_type         = parallel
# @ total_tasks      = 16
# @ wall_clock_limit = 1:00:00
# @ queue
 
### Module initialisation ###
module load nwchem
 
### Command echoes ###
set -x
 
### Copy to the TMPDIR ###
cp ./* $TMPDIR
 
### Run the calculation ###
cd $TMPDIR
poe nwchem input.nw
 
### Copy to the submission folder ###
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. For most of the calculations on Ada, the memory available on the standard nodes is sufficient. You need to indicate the needed memory amount in the input.nw file (for example):

memory total 3300 mb

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

If the available memory is not sufficient, you can either use more compute cores (if the size of your system allows this) or you can increase the memory requested. In the second case, the calculation would be carried out on the large memory nodes of Ada and you must then indicate the following directive in the launching script (for example):

# @ as_limit = 7.0 Gb

and the following in the input.nw file :

memory total 6800 mb