CHPC Software: NWChem

NWChem is a highly efficient portable massively parallel processor (MPP) computational chemistry package that was developed by the High Performance Computational Chemistry Group from the Environmental Molecular Science Laboratory (EMSL) at Pacific Northwest National Laboratory. NWChem has broad capabilities, from classical mechanics to quantum mechanics. Users can obtain information on the use and functionality of this package at the NWChem website http://www.emsl.pnl.gov/docs/nwchem/nwchem.html where there are manuals for users and developers as well as a tutorial on the program. Please direct any questions/problems with the use of the package on the CHPC systems to Anita Orendt at orendt@chpc.utah.edu. There are also a number of sample input files that you can use to study the structure of the input files located in: /uufs/arches/sys/nwchem/QA/tests.

  • Machines: Arches
  • Version: 5.1
  • Location: /uufs/arches/sys/nwchem/bin/LINUX64

To Use:

  • For parallel runs you need to have a directory named pdir under your home directory, i.e. $HOME/pdir. On Arches, this file is made created in the PBS script by editing the PBS_NODEFILE and it will have a line for each of the nodes that you get assigned.
  • In the input file, *.nw, you will need to add several lines near the beginning to tell NWChem where to put files it thinks are scratch files and where to put files that it thinks are permanent files. The format of these specifications are:
    • scratch_dir /scratch/serial/chmamo/nwchemjob
    • permanent_dir /uufs/inscc.utah.edu/commonhome/chmamo/nw
    In addition, you may want to add a memory specification, as the defaults were not established for our computer systems. The program defaults are total memory of 64MB for a Linux system. The format of this specification is:
    • memory 128 MB
  • Arches PBS Script

    nwchem_arches.script

    Note that NWChem can be run on all dual processor nodes using ppn=2 or all quad processor nodes using ppn=4 in the #PBS -l line. Do not mix.

    In the above you will have to change $SCRDIR, $WORKDIR, $FILENAME $USERID, $PPN and $NODES to the appropriate names. The above script is set up to run either serial or parallel jobs. Either global or local scratch can be used, however local is much faster.

    Last Modified: March 02, 2009 @ 23:28:55