NERSCPowering Scientific Discovery Since 1974

MOLPRO

Description

MOLPRO is a complete system of ab initio programs for molecular electronic structure calculations, written and maintained by H.-J. Werner and P. J. Knowles, with contributions from several other authors. As distinct from other commonly used quantum chemistry packages, the emphasis is on highly accurate computations, with extensive treatment of the electron correlation problem through the multiconfiguration-reference CI, coupled cluster, and associated methods. Using recently developed integral-direct local electron correlation methods, which significantly reduce the increase of the computational cost with molecular size, accurate ab initio calculations can be performed for much larger molecules than with most other programs.

The heart of the program consists of the multiconfiguration SCF, multireference CI, and coupled-cluster routines, and these are accompanied by a full set of supporting features.

Accessing MOLPRO

NERSC uses modules to manage access to software. To use the default version of MOLPRO, type:

% module load molpro

To load a specific version, e.g., version 2008.1, use:

% module load molpro/2008.1

To see all the available versions, use:

% module avail molpro

To see where the MOLPRO executables reside (the bin directory) and what environment variables the modulefile defines, use:

% module show molpro

e.g., on carver,

% module show molpro           (or type module show molpro/2008.1)
-------------------------------------------------------------------
/usr/common/usg/Modules/modulefiles/molpro/2009.1:

prepend-path PATH /usr/common/usg/molpro/2009.1/bin
prepend-path LD_LIBRARY_PATH /usr/common/usg/mkl/default/lib/em64t
setenv TMPDIR /global/scratch/sd/JOE_USER
-------------------------------------------------------------------

Using MOLPRO on Hopper

You must use the batch system to run MOLPRO on the compute nodes. You can do this interactively or you can use a script. Examples of both are below.

Note that the file molpros is a script to run a serial (one-processor) version of the code and molprop is a script to run a parallel version.

To run a parallel job interactively use the qsub -I -q interactive -V -l mppwidth=# command to request an interactive batch session, where "#" is the number of cores you want. Here is an example, requesting 8 cores for the default time limit (30 minutes):

% qsub  -I -V -q interactive -l mppwidth=8

When this command is successful a new batch session will start in the window where you typed the command. Then, issue commands similar to the following (only the "module load ..." command may need to be different):

%  cd $PBS_O_WORKDIR 
% module load molpro
% molprop -n 8 your_molpro_inputfile_name

Note that when the time limit (30 minutes is maximum) is reached the job will end and the session will exit.

To run a batch job on Hopper, use a job script similar to this one:

#PBS -S /usr/bin/tcsh
#PBS -N test_molpro
#PBS -q debug
#PBS -l mppwidth=8,walltime=30:00
#PBS -j oe
#PBS -m e
#PBS -V

cd $PBS_O_WORKDIR

module load molpro
molprop -n 8 h2o_opt_dflmp2.test

Put those commands or similar ones in a file, say, test1.pbs and then use the qsub command to submit the job:

% qsub test1.pbs

If your job requires large memory, meaning more than available on a per-core basis (about 1.1 GB per core on Hopper), you can run with a reduced number of cores per node and more nodes, although your repo will be charged for the full number of nodes that you use. Here is an example job script using 8 cores, two cores per node on four nodes:

#PBS -N test_molpro
#PBS -q debug
#PBS -l mppwidth=8,mppnppn=2,walltime=30:00
#PBS -j oe
#PBS -m e
#PBS -V

cd $PBS_O_WORKDIR

module load molpro
molprop -n 8 -N 2 pentane_dflccsd.test

The -N option is used to pass the number of cores per node, and it should match the mppnppn directive above.

Note: We have seen cases where a job that runs across multiple nodes, when 4 cores per node are used, may hang randomly. Cray provided a fix to this on 4/17/2009 that is included in the molprop script. However, if you still run into this problem, please use a reduced number of cores per node, e.g., 2, or use only 1 node. If your job runs into a memory error, please try launching the MOLPRO binary directly through aprun, instead of a script. e.g.,

module load molpro
aprun -n 8 molprop_2008_1_Linux_XT_i8.exe pentane_dflccsd.test --no-xml-output

 

How to use MOLPRO on Carver

To run a job interactively on up to 64 cores, use the qsub -I -q interactive -V -l mppwidth=# command to request an interactive batch session. Here is an example, requesting 16 cores for the default time limit (30 minutes):

% qsub  -I -V -q interactive -l nodes=2:ppn=8

When this command is successful a new batch session will start in the window where you typed the command. Then, issue the following commands to run a serial job:

%  cd $PBS_O_WORKDIR 
% module load molpro
% molpros your_molpro_inputfile_name

Or issue the following commands to run a parallel job:

%  cd $PBS_O_WORKDIR 
% module load molpro
% molprop -n 8 your_molpro_inputfile_name

Note that when the time limit (30 minutes is maximum) is reached the job will end and the session will exit.

To run a parallel job on Carver use a job script similar to the example below, and submit it to the batch queue using qsub command.

#PBS -S /bin/tcsh
#PBS -N test_mol
#PBS -l nodes=2:ppn=8
#PBS -q debug
#PBS -l walltime=00:30:00
#PBS -j oe
#PBS -V

cd $PBS_O_WORKDIR
module load molpro
molprop -n 16 pentane_dflccsd.test

To submit to the batch queue, type,

% qsub test1.pbs

On Carver if you want to use more memory per process (and few cores per node) then use a script like this one:

#PBS -S /bin/tcsh
#PBS -N test_mol
#PBS -l nodes=8:ppn=2
#PBS -q debug
#PBS -l walltime=00:30:00
#PBS -j oe
#PBS -V

cd $PBS_O_WORKDIR
module load molpro
molprop -n 16 pentane_dflccsd.test

This script will request that the MOLPRO job be run on eight nodes but using only two cores on each node. Note, however, that your account (repository) will be charged for the use of all 64 cores.

Restart Capabilities

By default, the job is run so that all MOLPRO files are generated in $TMPDIR. This is fine if the calculation finishes in one job, but does not provide for restarts. This section describes techniques which can be used to restart calculations.

MOLPRO has three main files which contain information which can be used for a restart: file 1 is the main file, holding basis set, geometry, and the one and two electron integrals; file 2 is the dump file and used to store the wavefunction information, i.e. orbitals, CI coefficients, and density matrices; file 3 is an auxiliary file which can be used in addition to file 2 for restart purposes. File 1 is usually too large to be saved in permanent storage

By putting the following lines in the input file, the wavefunction file (file number 2) can be saved as file "h2.wfu",and the auxiliary file (file number 3) saved as "h2.aux". By default, the files are saved to the subdirectory "wfu" of your home directory if the job runs out of time.

***,H2
file,2,h2.wfu,new
file,3,h2.aux,new
basis=vdz;
geometry={angstrom;h1;h2,h1,.74}
optscf;

The directory where the files are saved may be changed using the "-W" command line option.

These files enable some restarts to be performed, as they provide snapshots of the calculation as each module finishes. Unfortunately, restarting an incomplete SCF or CI calculation is not possible. To use the files in a restart, remove the "new" qualifier from the "file" command:

***,H2
file,2,h2.wfu
file,3,h2.aux
basis=vdz;
geometry={angstrom;h1;h2,h1,.74}
optscf;

Documentation

MOLPRO User's manual.

On Carver you can find the full manual and a quickstart version in MOLPRO's doc subdirectory.

Availibility

PackagePlatformCategoryVersionModuleInstall DateDate Made Default
molpro carver applications/ chemistry 2008.1 molpro/2008.1 2010-05-18 2010-04-29
molpro carver applications/ chemistry 2008.1.serial molpro/2008.1.serial 2012-02-09
molpro carver applications/ chemistry 2009.1 molpro/2009.1 2010-04-29 2010-04-29
molpro carver applications/ chemistry 2010.1 molpro/2010.1 2011-01-04 2012-02-09
molpro carver applications/ chemistry 2010.1.26.serial molpro/2010.1.26.serial 2012-12-13
molpro carver applications/ chemistry 2010.1.mppx molpro/2010.1.mppx 2012-02-09
molpro edison applications/ chemistry 2010.1.26 molpro/2010.1.26 2013-02-07
molpro hopper applications/ chemistry 2010.1.26 molpro/2010.1.26 2013-03-01