NRLMOL on Seawulf. (Version1.0 Feb-28-2008)
Installation
Compiled excutable(s) are in /usr/local/NRLMOL.
The cluster.ser is the excutable for serial jobs and cluster.mpi is for parallel jobs.
Getting Source Code
Only
compiled binaries are installed in public directory. If you want
recompile NRLMOL. You need to have the source code. Contact the author
Dr. Mark R. Pederson (pederson@dave.nrl.navy.mil) for a copyright form.
Running NRLMOL
What do you need to begin running NRLMOL:
program cluster ( cluster.ser or cluster.mpi),
an input file CLUSTER (if you dont give one, nrlmol will generate the default CLUSTER)
RUNS (nrlmol will generate a default one if you dont have one).
Prepare to run nrlmol on Seawulf
Add /usr/local/NRLMOL/ to your PATH.
Make a directory for nrlmol. ( My example : /nfs/user01/xshen/testnrl)
Now start the 0th run of NRLMOL
Save the following script to job1
#PBS -l nodes=1:ppn=1
#PBS -l walltime=02:00:00
LD_LIBRARY_PATH="LD_LIBRARY_PATH:/usr/local/pkg/intel/fce/10.1.012/lib::/usr/local/pkg/iopenmpi-1.2.5/lib"
export LD_LIBRARY_PATH
cd /nfs/user01/xshen/testnrl
cluster.ser > print
then:
$qsub job1
It generates the default CLUSTER file (for CH4) and default RUNS file:
Let's look at the CLUSTER first.
GGA-PBE*GGA-PBE (DF TYPE EXCHANGE*CORRELATION)
TD
(TD, OH, IH, X, Y, XY, ... OR GRP)
2
(NUMBER OF INEQUIV. ATOMS IN CH4)
0.00 0.00 0.00 6 ALL (R, Z, PSEUDOPOT. TYPE FOR CARBON)
1.20 1.20 1.20 1 ALL (R, Z, PSEUDOPOT. TYPE FOR HYDROGEN)
0.0
0.0
(NET CHARGE AND NET SPIN)
--------------OR-------------------
@XMOL.DAT
IF YOU WISH TO START FROM AN XYZ XMOL FILE
The meaning of each line is shown in bracket. More complete explaination can be found here. NOTE: the unit of coordination is bohr.
RUNS tells us what nrlmol will do if it's excuted nrlmol again.
0 1 ITBEG, NCALC
3
4
START: 0=SCR.NUC, 1=HAM, 2=POT, 3=LSF, 4=WFUNC
0
START HAMILTONIAN IS INTERPOLATED: 0=NO, 1=YES
The print file saves the screen output of nrlmol. Have a look at it so you wont miss what nrlmol wants to tell you about this run.
Now let's start the 1st run of NRLMOL
$qsub job1
After this job is done, you will see those files:
AVRGDAT EFIELD EVAL006 GEOCNVRG ISYMGEN PSPINP SPNORB VMOLD
CGRAD EVAL001 EVAL007 GRPMAT MESHDAT PSPRAD STRTS WFOUT
CGRLOG EVAL002 EVAL008 HAMBABY MESHPSP REPMAT SUMMARY WHEREAMI
CLUSTER EVAL003 EVALUES HAMOLD OUTPUT RUNS SYMBOL XMOL.DAT
COULOMB EVAL004 FRCOUT HISTORY OVLBABY SCFDAT TMPTRE print
DIPOLE EVAL005 FRMLV INPUT POTOLD SPNDAT VIBINP
The SYMBOL file is generate from CLUSTER file. As CLUSTER file, it
contains input information needed by nrlmol. Using SYMBOL file gives
you more control of the calculation.
Look at the SYMBOL file it creates:
LBFGS
GGA-PBE*GGA-PBE (DF TYPE EXCHANGE*CORRELATION)
OLDMESH
1 NUMBER OF SYMBOLIC FILES
ISYMGEN = INPUT
4 NUMBER OF SYMBOLS IN LIST
2 NUMBER OF NUCLEI
1.0 1 1 1
1.0 1 1 1
1 CALCULATION SETUP BY ISETUP
ALL-CAR001 =
0.0000000000
0.0000000000
0.0000000000 UPO
ALL-HYD001 =
1.2000000000
1.2000000000
1.2000000000 UPO
ELECTRONS = 5.000000 5.000000
EXTRABASIS = 0
2 NEW CALCULATION CREATED BY UPDATE
ALL-CAR001 =
0.000000
0.000000 0.000000 UPO
ALL-HYD001 =
1.142265
1.142265 1.142265 UPO
ELECTRONS = 5.000000 5.000000
EXTRABASIS = 0
The GRPMAT file contains the symmetry elements in your
system, it expresses the symmetry operations in the form of 3x3
matrices. This file can be generated automaticly by nrlmol if the symmetry of the system in specified in CLUSTER file (and built in nrlmol). In
our current example, the CLUSTER file for CH4). If GRP
option is selected, you'll need to make your own GRPMAT.
Now check the FRCOUT file, it tells you the force acting on each atom.
We can see that there are some force on the H
atom, so we'd better move the H atom again. Actually this is what the
new RUNS file suggested
0 2 ITBEG, NCALC
4
4
START: 0=SCR.NUC, 1=HAM, 2=POT, 3=LSF, 4=WFUNC
0
START HAMILTONIAN IS INTERPOLATED: 0=NO, 1=YES
it suggest we do a 2nd run.
Now we keep going on.
$qsub job1 (then wait for the job is finished)
Now the the following is added at the end of SYMBOL file
3 NEW CALCULATION CREATED BY UPDATE
ALL-CAR001 =
0.000000
0.000000 0.000000 UPO
ALL-HYD001 =
1.195743
1.195743 1.195743 UPO
ELECTRONS = 5.000000 5.000000
EXTRABASIS = 0
It tells us an additional step of relaxation is performed.
The first line of RUNS has become:
0
3
ITBEG, NCALC
it tells us to do a 3rd run. So we again:
$qsub job1 (then wait for the job is finished)
Keep optimizing
untill RUNS file dont suggest more calculations. Or no more the
configurations are added to SYMBOL file. The geometry of system is
optimized now.
Now it's a good time to look at other important output files.
EVALUES
SUMMARY
XMOL.DAT
VIBNP
XMOL.DAT contains the postions of atoms
5
(number of atoms)
Cluster output
6 0.00000
0.00000 0.00000 ( type of
atom, x y z coordinate (in Angstrom)
1 0.60446 0.60446 0.60446
1 0.60446 -0.60446 -0.60446
1 -0.60446 0.60446 -0.60446
1 -0.60446 -0.60446 0.60446
Change .DAT to .xyz and you can open it with XCrysden.
Additional input file may be used if you want more than standard output.
RHOGRID
WFGRID
Now you may want to try an different atom, just make your own CLUSTER file and repeat the above process!
If you want to use nrlmol in parallel, use script like following:
#PBS -l nodes=4:ppn=1
#PBS -l walltime=02:00:00
LD_LIBRARY_PATH="LD_LIBRARY_PATH:/usr/local/pkg/intel/fce/10.1.012/lib:/usr/local/pkg/iopenmpi-1.2.5/lib"
export LD_LIBRARY_PATH
cd cd /nfs/user01/xshen/testnrl
mpirun -np 4 cluster.mpi > print
Compile NRLMOL
If you need to recompile the NRLMOL. You need to have the source code, modify the PARAMS file, and then
to build serial excutable, use command :
./compile
to build parallel excutable
export DMPI=-DMPI
./compile $DMPI
Tutorials
Kevin Brake, host of the site "NRLMOL for Dummies", should be given the credit for much of the content on this page. Visit his site for more information.