CamCASP/Notes/7
CamCASP => Notes => Using the batch scripts
The ${CAMCASP}/bin/ folder contains a few batch scripts for running sets of jobs at various dimer geometries.
Obtaining the geometry file
The batch scripts all use a geometry file that contains the translation and rotation parameters needed to construct the dimer. This file is constructed by CamCASP as follows.
- Create a standard CamCASP command file for the dimer using CLUSTER.
- Edit it to look like:
TITLE benzene1 and benzene2 : GRID TITLE Basis sadlej and type MC+ TITLE Midbonds 3S2P1D and type weighted MEMORY 2048 MB SET Global_data CamCASP-path /home/am592/SITUS Units Bohr cm-1 Scf-code Dalton XC-func PBE0 Overwrite yes END MOLECULE benzene1 at 0.0 0.0 0.0 Charge 0 Echo No Hessian format SAPT2006 Skip MOS <----------*** Basis Main Spherical Units Bohr Format GAMESS C1 6.0 2.64623243 0.00000000 0.00000000 TYPE C1 #include-camcasp basis/gamess_us/sadlej/C --- ... ... END MOLECULE benzene2 at 0.0 0.0 0.0 Charge 0 Echo No Hessian format SAPT2006 Skip MOS <----------*** Basis Main ... ... END Begin Energy-scan Probe benzene1 with benzene2 Scan Nothing Units Bohr Random Points 40 dRmin -1.5 dRmax 1.2 Radial 2 End Energy-file PREFIX random End FINISH
The new bits are the ENERGY-SCAN commands and those indicated by '***'. The Skip MOs command is needed to get CamCASP to go on without reading in the molecular orbitals. The ENERGY-SCAN module probes the first molecule (benzene1) with the second (benzene2). The order is important. But all we need are the geometries, so we Scan Nothing. The results of the energy scan will be in file random.dat.
N
SAPT(DFT) jobs with batch_SAPT.pl
You cannot always perform an energy scan using the ENERGY-SCAN module in CamCASP as this module requires you to use the MC type of basis. If you need to use the MC+, DC or DC+ types of bases, then you will need to use the batch_SAPT.pl script. What this script does is to use a template CLUSTER command file and a file containing the translation and rotation parameters that define the dimer in order to run a batch of SAPT(DFT) (and also SAPT) calculations in an automatic way.
Here are the options:
$ batch_SAPT.pl Usage: batch_SAPT.pl [-j] job [-geom name] [-clt name] [ -b dc | mc | mc+ | dc+ ] -ipa IP(A) -ipb IP(B) [-q queue] [-M memory in MB]
You need to supply:
- The job name. For example, this might be benzene2.
- The name of the geometry file. The default name will be jobname.geom, so if this file is called benzene2.geom, then there is no need to specify it explicitly.
- The name of the CLUSTER command file. See below. As with the geometry file, there is a default value of jobname.clt.
- The type of basis to be used. (Is this now obsolete?)
- The ionisation potentials of the two monomers.
- The name of the queue. As always, there are special 'queues': bg says run the job in the background. The other special 'queue' none may not be usable.
- You can also specify the memory to be used. This memory (in MB) will be passed to DALTON. The memory given to CamCASP should be in the CLUSTER file.
The template CLUSTER file
What the batch_SAPT.pl script does is use a template CLUSTER file to create the various DALTON and CamCASP input files at each dimer geometry. Here's what such a file looks like:
Title Benzene dimer : Sadlej MC+ ! Set Global-data CamCASP /home/ajm/CamCASP Units Bohr Degree End Molecule benzene1 Units Bohr C1 6.0 2.6462324347 0.0000000000 0.0000000000 C2 6.0 1.3231162173 2.2917045128 0.0000000000 C3 6.0 -1.3231162173 2.2917045128 0.0000000000 C4 6.0 -2.6462324347 0.0000000000 0.0000000000 C5 6.0 -1.3231162173 -2.2917045128 0.0000000000 C6 6.0 1.3231162173 -2.2917045128 0.0000000000 H1 1.0 4.7082995437 0.0000000000 0.0000000000 H2 1.0 2.3541497718 4.0775070135 0.0000000000 H3 1.0 -2.3541497718 4.0775070135 0.0000000000 H4 1.0 -4.7082995437 0.0000000000 0.0000000000 H5 1.0 -2.3541497718 -4.0775070135 0.0000000000 H6 1.0 2.3541497718 -4.0775070135 0.0000000000 End Molecule benzene2 Units Bohr C1 6.0 2.6462324347 0.0000000000 0.0000000000 C2 6.0 1.3231162173 2.2917045128 0.0000000000 C3 6.0 -1.3231162173 2.2917045128 0.0000000000 C4 6.0 -2.6462324347 0.0000000000 0.0000000000 C5 6.0 -1.3231162173 -2.2917045128 0.0000000000 C6 6.0 1.3231162173 -2.2917045128 0.0000000000 H1 1.0 4.7082995437 0.0000000000 0.0000000000 H2 1.0 2.3541497718 4.0775070135 0.0000000000 H3 1.0 -2.3541497718 4.0775070135 0.0000000000 H4 1.0 -4.7082995437 0.0000000000 0.0000000000 H5 1.0 -2.3541497718 -4.0775070135 0.0000000000 H6 1.0 2.3541497718 -4.0775070135 0.0000000000 End Rotate benzene2 by alpha about Nx Ny Nz Place benzene2 at Rx Ry Rz Files Molecules benzene1 and benzene2 File-prefix JOB Basis Sadlej Type MC+ Midbond 3s2p1d Type Weighted Aux-basis aTZ Interface files Memory 2 GB End Finish
Most of the file is as described in the Users' Guide. But there are important changes. We assume that the second molecule, benzene2 in the example, is to be rotated and translated. So we have included commands to do this:
Rotate benzene2 by alpha about Nx Ny Nz Place benzene2 at Rx Ry Rz
But the actual rotations and translations are not specified. Instead we have used tags alpha,Nx,Ny,Nz for the rotation angle (degrees) and axis, and tags Rx Ry Rz for the point (in Bohr) at which the benzene2 molecule will be placed. The units used can be changed but they must be consistent with those used to create the geometry file. The batch_SAPT.pl script will replace these tags by actual values.
The other change is the job name: This has been specified as
File-prefix JOB
and will be replaced by the actual job name by the batch_SAPT.pl script. The actual job name will be the job name given to this script and an additional '_###' numerical index taken from the geometry file. This helps to keep the runs distinct from each other.
So you can now run the job using
batch_SAPT.pl benzene2 -clt benzene2.clt -geom random.geom -b mc+ -ipa 0.3397 -ipb 0.3397 -q intel.q -M 3000
where my geometries are in file random.geom.
As jobs finish, they are copied to your main directory (from where the command was issued) to sub-folders benzene2_001, benzene2_002, etc. The actual indices used will depend on the geometry indices in the geometry file. This is handy as, should you split the geometry file into pieces to run on multiple nodes of your machine, the file names used will not clash.
You will need to search through all these directories for the results. This can be done using the batch_search.pl script.