====NWChem==== NWChem is a scalable computational tool for large scale molecular simulations. Along with computational chemistry the package also inculdes quantum chemical and molecular dynamics functionality. It was developed at the [[https://en.wikipedia.org/wiki/Pacific_Northwest_National_Laboratory|Pacific Northwest National Labratory]]. More documentation is avaliable at the [[http://www.nwchem-sw.org/index.php/Main_Page|NWChem main page]]. ====Enviornment Setup==== First add these modules to your ''.bashrc'' file to satisfy the dependencies for and load NWChem itself. module load intel/12.1.5 module load mvapich2/1.8 module load mkl/12.1.5 module load nwchem Also two environmental variables are needed to adjust the behavior of MVAPICH2 library. Add these two lines to your $HOME/.bashrc file. export MV2_ENABLE_AFFINITY=0 export IPATH_NO_CPUAFFINITY=1 Additionally, NWChem looks for a $HOME/.nwchemrc file which specifies the location of the basis library and force field parameters. To use the preconfigured default nchemrc file run: razor-l1:jokinsey:~$ ln -s /share/apps/NWChem/nwchem-6.1.1/data/default.nwchemrc ~/.nwchemrc This links the default nchemrc file to your ''$HOME'' directory so NWChem knows where to find the file ====Example Job==== Create a directory ''NWCHEM-JOBS'' to store the output from the example. A set of example input files is located in ''/share/apps/NWChem/nwchem-6.1.1/examples'' directory. We'll use the ''benzene.nw'' example. Copy the input file to your ''$HOME/NWHCEM-JOBS'' directory. This example uses a separate file to store geometry of the molecule ''benzene.pdb'' which also needs to be copied. razor-l1:jokinsey:~$ mkdir NWCHEM-JOBS razor-l1:jokinsey:~$ cp /share/apps/NWChem/nwchem-6.1.1/examples/md/benzene/benzene.* ~/NWCHEM-JOBS Edit the ''benzene.nw'' file to specify the scratch directory. start benzene scratch_dir /scratch/YourUserNameHere prepare system benzene_em new_top new_seq solvate end task prepare md system benzene_em sd 100 end task md optimize task shell "cp benzene_em.qrs benzene_md.rst" md system benzene_md data 100 isotherm isobar print step 10 stat 100 end task md dynamics In the directory contianing the benzene.nw input file, create a ''PBS'' script and name it nwchem.pbs. #!/bin/bash #PBS -N nwchem #PBS -q tiny12core #PBS -j oe #PBS -o nwchem.$PBS_JOBID #PBS -l nodes=1:ppn=12 #PBS -l walltime=1:00:00 cd $PBS_O_WORKDIR cp benzene.* /scratch/$PBS_JOBID cd /scratch/$PBS_JOBID NP=$(wc -l < $PBS_NODEFILE) mpirun -np $NP -machinefile $PBS_NODEFILE nwchem benzene.nw > benzene.out mv benzene* bnz* $PBS_O_WORKDIR This ''PBS'' script moves the test files to the ''/scratch/$PBS_JOBID'' directory where we will run the job then moves the output files back to the ''$PBS_O_WORKDIR'' where we submitted the job from. Then submit the job to be run in the queue ''tiny12core'' which we specified in the PBS file. razor-l1:jokinsey:~/NWCHEM-JOBS$ qsub nwchem.pbs The job will produce several files . benzene.out as specified in the PBS input script will contain the most relevant output.