NWChem

Description

NWChem provides many methods to compute the properties of molecular and periodic systems using standard quantum mechanical descriptions of the electronic wavefunction or density. In addition, NWChem has the capability to perform classical molecular dynamics and free energy simulations. These approaches may be combined to perform mixed quantum-mechanics and molecular-mechanics simulations. NWChem development has been devoted to providing maximum efficiency on massively parallel processors.

NWChem version 6.3 is currently installed at LRZ, in which several new major capabilities and bug fixes are available, for more details, please read the paragraph on documentation.

To get access to the implementation of NWChem at the LRZ, please satisfactorily show the LRZ that you have been granted the right to use NWChem. Usually, it will be sufficient to send us a copy of the fax containing the download information that you received.

See the NWChem Homepage for information on how to get the license to use NWChem.

License:

The code is distributed as open-source under the terms of the  Educational Community License version 2.0. The license agreement requires that all scholarly works created using the NWChem prominently cite the use of NWChem, the required and proper citation information may be found by clicking on the Citation link on the NWChem website at: http://www.emsl.pnl.gov/docs/nwchem/

Access and Execution

NWChem 6.3 is currently installed on SuperMUC and Linux-Cluster for serial and parallel use.

Each user needs a .nwchemrc file in their home directory. This file is used to set certain default options for the program, and to find the standard libraries to run NWChem. You will be noticed automatically when you load the nwchem modulefile. If you already have ~/.nwchemrc in your home directory, it will not be overwritten. If you want the new right file, you may need to remove the existing one and then copy the new one after you reload the module from: .


% cp $NWCHEM_BASE/.nwchemrc ~/.nwchemrc

 This is especially important if you are switching to a different version of NWChem.

Usually, a number of different versions of NWChem are installed on the systems. Each version can be made available by loading a different module. To use the default and recommended version type:

% module load nwchem

or for a specific version of NWChem:

% module load nwchem/6.0

To see where the nwchem executables reside (the bin directory) and what environment variables it defines, type

% module show nwchem

Serial and parallel interactive execution

There are two ways of running nwchem at LRZ, submitting a batch job, or running interactively in an interactive batch session. The interactive execution of NWChem can be done with:

To request an interactive batch session on Linux-Cluster at LRZ, issue a command (e.g., requesting 16 or 32 cores):

% salloc --ntasks=32 

when a new batch session is returned to you, issue the following commands:

% module load nwchem
% nwchem -n 1 inputfilename.nw >& outputfilename.log
% nwchem -n [N] inputfilename.nw >& outputfilename.log ( N: number of processors)

Running serial and parallel NWChem batch jobs

To use NWChem in batch mode, please find below sample batch script to run nwchem using single core or multicores for the available platforms at LRZ:

 Linux-Cluster (SLURM)

#!/bin/bash
#SBATCH -o /home/cluster/<group>/<user>/mydir/nwchem.%j.out
#SBATCH -D /home/cluster/<group>/<user>/mydir
#SBATCH -J <job_name>
#SBATCH --get-user-env
#SBATCH --clusters=mpp1
#SBATCH --ntasks=32
#SBATCH --mail-type=end
#SBATCH --mail-user=<email_address>@<domain>
#SBATCH --export=NONE
#SBATCH --time=24:00:00
source /etc/profile.d/modules.sh
cd mydir
# mydir contains your input file
module load nwchem
nwchem -n 32 my-input.nw

SuperMUC (LoadLeveler)

#!/bin/bash
#@ wall_clock_limit = 02:00:00
#@ job_type = MPICH
#@ class = micro
#@ node = 16
#@ total_tasks=160
#@ network.MPI = sn_all,not_shared,us
#@ energy_policy_tag = my_energy_tag
#@ minimize_time_to_solution = yes
#@ initialdir = $(home)/mydir
#@ output = job$(jobid).out
#@ error = job$(jobid).err
#@ queue
. /etc/profile
cd $HOME/mydir
module load nwchem
nwchem -n 160 my-input.nw

Then submit the job script using  sbatch (SLURM) or llsubmit (LoadLeveler) commands.

 e.g., assume the job script name is name-job.sh:

% sbatch name-job.sh

 

Documentation

The documentation for the current NWChem version can be found on the NWChem Homepage .

We provide a set of user manuals and a guide in .ps and .pdf format at the location $NWCHEM_DOC (after loading the module nwchem).

Support

If you have any questions regaring NWChem at LRZ, please contact the LRZ HPC support staff .