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.