NWChem
Description
NWChem is a computational chemistry package that has been developed by the Molecular Sciences Software group of the Environmental Molecular Sciences Laboratory at the Pacific Northwest National Laboratory. It provides many methods to compute the properties of molecular and periodic systems using standard quantum mechanical descriptions of the electronic wavefunction or density. It also has the capability to perform classical molecular dynamics and free energy simulations.
License
open-source under the terms of the Educational Community License version 2.0 (ECL 2.0)
Usage
Upcoming modulesystem change alert!
Due to large number of applications and their versions it is not practical to keep them explicitly listed at our wiki pages. Therefore an upgrade of modulefiles is underway. A feature of this upgrade will be the existence of default module for every application. This default choice does not need version number and it will load some (usually latest) version.
You can test the new version now by adding a line
source /cvmfs/software.metacentrum.cz/modulefiles/5.1.0/loadmodules
to your script before loading a module. Then, you can list all versions of NWChem and load default version of NWChem as
module avail NWChem/ # list available modules module load NWChem # load (default) module
If you wish to keep up to the current system, it is still possible. Simply list all modules by
module avail NWChem
and choose explicit version you want to use.
1. Running the application -- Interactive mode:
- ask the scheduler for an interactive job having a desired number of nodes and processors (
ppn
attribute) reserved
$ qsub -I -l nodes=X:ppn=Y -l mem=Zg
- Note: Do not forget to apppropriately set the amount of requested memory (
mem
attribute) and/or another job requirements.
- load the NWChem module
$ module add NWChem-6.3.2
$ ulimit -s unlimited
- prepare the input file and run the computation
- single-process single-threaded run (will use exactly 1 CPU on a single node)
$ nwchem <inputfile>
- single-process multi-threaded run (will use exactly Y CPUs on a single node)
$ export OMP_NUM_THREADS=$PBS_NUM_PPN
$ nwchem <inputfile>
- multi-process parallel/distributed run (will use X*Y CPUs on X nodes)
$ mpirun nwchem <inputfile>
WARNING: It the nwchem
shows an error message Unable to open nwchem.nw --- appending .nw
in the case of parallel/distributed run, create an empty file named nwchem.nw
in the computation working directory. This should resolve the problem.
2. Running the application -- Batch mode:
- prepare the job description script -- use a general skeleton supplemented by the following lines:
...
# load the NWChem module
module add NWChem-6.3.2
# increase the stack size
ulimit -s unlimited
# run the computation (choose one of the following)
export OMP_NUM_THREADS=$PBS_NUM_PPN # use, when multi-threaded single-node version is desired
nwchem mydata.nw >mydata.out # single-process single-node version
mpirun nwchem mydata.nw >mydata.out # parallel/distributed version
...
- pass the job description file to the scheduler together with (at least) the requested number of processors and requested amount of memory
$ qsub -l nodes=X:ppn=Y -l mem=Zg mydecriptionscript.sh
WARNING: It the nwchem
shows an error message Unable to open nwchem.nw --- appending .nw
in the case of parallel/distributed run, create an empty file named nwchem.nw
in the computation working directory. This should resolve the problem.