Skip to Content

NWCHEM

A. Description

NWChem is open source highly scalable high-performance electronic structure computational package for computer simulation of molecular systems, biomolecules, nanostructures, and solid-state systems. It incorporates classical molecular dynamics, Hartree-Fock, Density Functional Theory methods, and a wide range of post-Hartree-Fock methods including Moeller-Plesset and Coupled Cluster techniques for the treatment of electron correlation. See NWChem home page www.nwchem-sw.org for additional information.

B. How to obtain NWCHEM

NWCHEM is distributed under the terms of the Educational Community License (ECL 2.0). See instructions for obtaining the code.

C. How to build NWCHEM

Blue Waters does not provide precompiled NWCHEM binaries. The users are expected to obtain their own copy of the code and install it for the personal use.

C.1 Building CPU version under GNU environment

cd $HOME
tar zxvf Nwchem-6.6.revision27746-src.2015-10-20.tar.gz
cd $HOME/nwchem-6.6
 
module swap PrgEnv-cray PrgEnv-gnu
module add craype-hugepages8M
 
export NWCHEM_TOP=`pwd`
 
# specify your favourite modules
export NWCHEM_MODULES="nwdft nwpw driver stepper mp2_grad rimp2 ccsd property hessian vib tce"
 
export FC=ftn
export CC=cc
export MSG_COMMS=MPI
export TARGET=LINUX64
export NWCHEM_TARGET=LINUX64
export ARMCI_NETWORK=MPI-PR
 
export HAS_BLAS=yes
export BLAS_OPT=''
export LIBMPI=''
export USE_MPI=y
export USE_MPIF=y
export USE_MPIF4=y
export USE_64TO32=y
export MA_USE_ARMCI_MEM=y
 
export BLAS_SIZE=4
export LAPACK_SIZE=4
export SCALAPACK_SIZE=4
export SCALAPACK=-lsci_gnu
export BLASOPT=-lsci_gnu
 
export GA_DIR=ga-5-4
export USE_NOFSCHECK=TRUE
export USE_NOIO=TRUE
 
cd $NWCHEM_TOP/src
 
# perform precision conversion
# apply it only once
# repeated application will break the code
# comment out when recompiling already converted code
make 64_to_32
 
# compile the code
make realclean
make nwchem_config
make FC=ftn GA_DIR=ga-5-4
 
Successful compilation will create static executable: $HOME/nwchem-6.6/bin/LINUX64/nwchem

D. Sample test

Create file input.nw:

start guanine
memory total 2000 MB global 1500 MB
title "guanine molecule"
geometry
H  2.5399  1.8161  -0.0360
N  1.5349  1.7071  -0.0144
C  0.5833  2.7012  -0.0107
N -0.6537  2.2306   0.0124
C -0.4879  0.8641   0.0321
C -1.4774 -0.1880  -0.0008
N -0.8129 -1.4562   0.0346
C  0.5421 -1.6761   0.0161
N  1.4396 -0.7242   0.0169
C  0.8632  0.5129  -0.0009
H  0.8526  3.7486  -0.0223
O -2.6927 -0.1362  -0.0450
N  0.9378 -3.0020  -0.0675
H  1.9335 -3.1015   0.0844
H  0.3973 -3.6490   0.4919
H -1.4365 -2.2461  -0.0956
end
basis spherical
 * library 6-311++G**
end
scf
 noprint "final vectors analysis"
end
ccsd
 freeze core atomic
 maxiter 50
 thresh 1000.0
end
task ccsd energy
 
create run.pbs file having the following content:
 
#!/bin/bash
#PBS -l nodes=10:ppn=32:xe
#PBS -l walltime=00:30:00
#PBS -q debug
#PBS -N ztest
source /opt/modules/default/init/bash
module load craype-hugepages8M
module list
cd $PBS_O_WORKDIR
aprun -n160 -N16 -d 2 $HOME/nwchem-6.6/bin/LINUX64/nwchem input.nw > job.out
 
Submit the job

qsub run.pbs