# First-order energy scan: MC/DC case

Basis restrictions:

• Main basis must be type MC with spherical GTOs
• Auxiliary basis must be type DC with spherical GTOs.

Explanation of key aspects of the input file:

### Definition of the molecules

We need to define the molecules with an MC main basis (easy) and a DC auxiliary basis (not hard, but not obvious). Further, the order of the sites in the auxiliary basis sets of the two molecules must be the same. This is best illustrated with a diagram:

  For two molecules A and B with sites a1,a2,a3 and b1,b2 (say), we must define
the basis sets as follows:

A                        B
Main   Aux                Main  Aux
a1     a1                 b1    a1
a2     a2                 b2    a2
a3     a3                       a3
b1                       b1
b2                       b2

The coordinates used in these molecule definitions must be those of the molecules in their reference geometries. In the pyridine dimer example, the two molecules are identical, and have the following coordinates:

MOLECULE pyridine1 at 0.0 0.0 0.0
Charge    0
Echo No
Hessian format SAPT2006
MO-file vectA-daTZ.data Format BINARY
IP     0.500000 a.u.
Basis Main
Spherical
Units Bohr
Format GAMESS
Type MC
H1         1.0       -3.87454677       2.40829326       0.00000000  TYPE H1
#include-camcasp basis/gamess_us/d-aug-cc-pVTZ/H
---
H2         1.0       -4.05745524      -2.27382980       0.00000000  TYPE H2
#include-camcasp basis/gamess_us/d-aug-cc-pVTZ/H
---
H3         1.0        0.00000000      -4.70080300       0.00000000  TYPE H3
#include-camcasp basis/gamess_us/d-aug-cc-pVTZ/H
---
...
C5         6.0        2.14372406       1.30476509       0.00000000  TYPE C1
#include-camcasp basis/gamess_us/d-aug-cc-pVTZ/C
---
End
Basis Aux
Spherical
Units Bohr
Format TURBOMOLE
Type DC
H1         1.0       -3.87454677       2.40829326       0.00000000  TYPE H1
Limit G  MIN-S-EXP =  0.000
#include-camcasp basis/auxiliary/aug-cc-pVTZ/H
---
H2         1.0       -4.05745524      -2.27382980       0.00000000  TYPE H2
Limit G  MIN-S-EXP =  0.000
#include-camcasp basis/auxiliary/aug-cc-pVTZ/H
---
H3         1.0        0.00000000      -4.70080300       0.00000000  TYPE H3
Limit G  MIN-S-EXP =  0.000
#include-camcasp basis/auxiliary/aug-cc-pVTZ/H
---
...
C5         6.0        2.14372406       1.30476509       0.00000000  TYPE C1
Limit G  MIN-S-EXP = 0.0
#include-camcasp basis/auxiliary/aug-cc-pVTZ/C
---

H1         1.0       -3.87454677       2.40829326       0.00000000  TYPE H1
Limit G  MIN-S-EXP =  0.000
#include-camcasp basis/auxiliary/aug-cc-pVTZ/H
---
H2         1.0       -4.05745524      -2.27382980       0.00000000  TYPE H2
Limit G  MIN-S-EXP =  0.000
#include-camcasp basis/auxiliary/aug-cc-pVTZ/H
---
H3         1.0        0.00000000      -4.70080300       0.00000000  TYPE H3
Limit G  MIN-S-EXP =  0.000
#include-camcasp basis/auxiliary/aug-cc-pVTZ/H
---
...
C5         6.0        2.14372406       1.30476509       0.00000000  TYPE C1
Limit G  MIN-S-EXP = 0.0
#include-camcasp basis/auxiliary/aug-cc-pVTZ/C
---
End
END

MOLECULE pyridine2 at 0.0 0.0 0.0
Charge    0
Echo No
Hessian format SAPT2006
MO-file vectA-daTZ.data Format BINARY
IP     0.500000 a.u.
Basis Main
Spherical
Units Bohr
Format GAMESS
Type MC
H1         1.0       -3.87454677       2.40829326       0.00000000  TYPE H1
#include-camcasp basis/gamess_us/d-aug-cc-pVTZ/H
---
H2         1.0       -4.05745524      -2.27382980       0.00000000  TYPE H2
#include-camcasp basis/gamess_us/d-aug-cc-pVTZ/H
---
H3         1.0        0.00000000      -4.70080300       0.00000000  TYPE H3
#include-camcasp basis/gamess_us/d-aug-cc-pVTZ/H
...
---
C5         6.0        2.14372406       1.30476509       0.00000000  TYPE C1
#include-camcasp basis/gamess_us/d-aug-cc-pVTZ/C
---
End
Basis Aux
Spherical
Units Bohr
Format TURBOMOLE
Type DC
H1         1.0       -3.87454677       2.40829326       0.00000000  TYPE H1
Limit G  MIN-S-EXP =  0.000
#include-camcasp basis/auxiliary/aug-cc-pVTZ/H
---
H2         1.0       -4.05745524      -2.27382980       0.00000000  TYPE H2
Limit G  MIN-S-EXP =  0.000
#include-camcasp basis/auxiliary/aug-cc-pVTZ/H
---
H3         1.0        0.00000000      -4.70080300       0.00000000  TYPE H3
Limit G  MIN-S-EXP =  0.000
#include-camcasp basis/auxiliary/aug-cc-pVTZ/H
---
...
C5         6.0        2.14372406       1.30476509       0.00000000  TYPE C1
Limit G  MIN-S-EXP = 0.0
#include-camcasp basis/auxiliary/aug-cc-pVTZ/C
---

H1         1.0       -3.87454677       2.40829326       0.00000000  TYPE H1
Limit G  MIN-S-EXP =  0.000
#include-camcasp basis/auxiliary/aug-cc-pVTZ/H
---
H2         1.0       -4.05745524      -2.27382980       0.00000000  TYPE H2
Limit G  MIN-S-EXP =  0.000
#include-camcasp basis/auxiliary/aug-cc-pVTZ/H
---
H3         1.0        0.00000000      -4.70080300       0.00000000  TYPE H3
Limit G  MIN-S-EXP =  0.000
#include-camcasp basis/auxiliary/aug-cc-pVTZ/H
---
...
C5         6.0        2.14372406       1.30476509       0.00000000  TYPE C1
Limit G  MIN-S-EXP = 0.0
#include-camcasp basis/auxiliary/aug-cc-pVTZ/C
---
End
END

Notice the following:

• The two molecules are identical! They share the same MOs and the same reference geometry.
• That means that the auxiliary basis set for each molecule contains two sets of apparently identical sites. For example, there are two H1 sites, and they are located at the same point in space.
• This is not a problem: In the next set of commands we will pair each molecule with the other. This will allow CamCASP to treat the second set of sites as belonging to the partner molecule, and CamCASP will get the actual coordinates of those sites from the partner molecule.

### Partner molecules

This is how we tell CamCASP that each molecule has a partner that will be used to determine the position of the dummy sites in the auxiliary basis set:

Edit pyridine1
Partner-Monomer = pyridine2
Update Geometry
End

Edit pyridine2
Partner-Monomer = pyridine1
Update Geometry
End

After these commands the second set of sites in the auxiliary basis definition of pyridine1 will be paired with the atomic sites of pyridine2, and the first set of sites in the auxiliary basis definition of pyridine2 will be paired with the atomic sites of pyridine1.

### DF and DF-INT settings

SET DF
REDO-DF-ON-ROTATION   True
END

SET DF
Molecule pyridine1
Type OO
Eta = 0.0
Lambda = 0.0
Gamma = 0.0
Print only normalization constraints
Solver LU
END
SET DF
Molecule pyridine2
Type OO
Eta = 0.0
Lambda = 0.0
Gamma = 0.0
Print only normalization constraints
Solver LU
END

Set DF-INTS
DF-TYPE-MONOMER  OO
DF-TYPE-DIMER    OO
End

We use the SET blocks shown above to alter the default settings in the CamCASP code for this calculation:

• REDO-DF-ON-ROTATION True : When using DC-type auxiliary basis sets, the density-fitting step needs to be re-done for every new dimer configuration. This is because the positions of the sites in the auxiliary basis changes. So we set this flag. If set to False, CamCASP will trap the error.

• Next we set the density-fitting parameters for this calculation. Since we are after first-order energies only, set the type of density-fitting to OO, i.e., fit occupied-occupied pairs of MOs only.

• We do something similar for the DF-Integral module by informing it that the default type of density-fitting will be OO. If this is not done, the code will use the OV default (which includes OO).

### Energy settings

Next set the Integral switch = 1 in the energy modules. This causes the code to use the more accurate integrals.

Set E1elst
Integral switch = 1
End
Set E1exch
Integral switch = 1
End

Important

//Integral Accuracy//: When the DF is done accurately - here when the DC-aux basis is used - then it seems that we must use 1-electron integrals computed as accurately as is possible. So we use Integral switch = 1. But if we use a relatively poor DF (as is the case with the MC-MC case when we use the MC-aux basis type), then we need to rely on an error cancellation in the terms that appear in $E^{(1)}_{\rm elst}$. So we need to use Integral switch = 0.

### ENERGY-SCAN commands

Finally we set the ENERGY-SCAN commands:

Begin Energy-Scan
Probe pyridine1 with pyridine2
Energy  E1elst & E1exch
Units Bohr
! Debug
Points
File pyr2-scan.geom
---
End

• The Probe line tells the energy scan module that pyridine1 is going to be probed by pyridine2. This has the effect of keeping pyridine1 fixed at its reference geometry, while the geometry parameters contained in the pyr2-scan.geom file will be applied to pyridine2.

• The geometry file will be included so it must be present.

The geometries are in file:

  UNITS BOHR DEGREE
Skip-First-Column
! POINTS    10
! LABELS INDEX   Rx            Ry            Rz            alpha         Nx            Ny            Nz
1   0.136313E+02   0.000000E+00   0.000000E+00   0.180000E+03   0.100000E+01   0.000000E+00   0.000000E+00
2   0.119628E+02   0.000000E+00   0.000000E+00   0.180000E+03   0.100000E+01   0.000000E+00   0.000000E+00
3   0.122605E+02   0.000000E+00   0.000000E+00   0.180000E+03   0.100000E+01   0.000000E+00   0.000000E+00
4   0.134372E+02   0.000000E+00   0.000000E+00   0.180000E+03   0.100000E+01   0.000000E+00   0.000000E+00
5  -0.916710E+01   0.000000E+00   0.529263E+01   0.180000E+03  -0.707107E+00   0.000000E+00  -0.707107E+00
6  -0.972145E+01   0.000000E+00   0.561268E+01   0.180000E+03  -0.707107E+00   0.000000E+00  -0.707107E+00
7  -0.722802E+01   0.000000E+00   0.417310E+01   0.180000E+03  -0.707107E+00   0.000000E+00  -0.707107E+00
8  -0.975164E+01   0.000000E+00   0.563011E+01   0.180000E+03  -0.707107E+00   0.000000E+00  -0.707107E+00
9   0.000000E+00  -0.126520E+02   0.326673E+01   0.600000E+02   0.000000E+00  -0.100000E+01   0.000000E+00
10   0.000000E+00  -0.108432E+02   0.279972E+01   0.600000E+02   0.000000E+00  -0.100000E+01   0.000000E+00

### Output

Here is part of the output of the above calculation. I have used REDO-DF-ON-ROTATION FALSE to demonstrate how CamCASP traps and corrects this error.

Begin Energy-Scan
Probe pyridine1 with pyridine2
Energy  E1elst & E1exch
Units Bohr
! Debug
Points
File pyr2-scan.geom
---
UNITS BOHR DEGREE
POINTS
Skip-First-Column
! POINTS    10
! LABELS INDEX   Rx            Ry            Rz            alpha         Nx            Ny            Nz
1   0.136313E+02   0.000000E+00   0.000000E+00   0.180000E+03   0.100000E+01   0.000000E+00   0.000000E+00
2   0.119628E+02   0.000000E+00   0.000000E+00   0.180000E+03   0.100000E+01   0.000000E+00   0.000000E+00
3   0.122605E+02   0.000000E+00   0.000000E+00   0.180000E+03   0.100000E+01   0.000000E+00   0.000000E+00
4   0.134372E+02   0.000000E+00   0.000000E+00   0.180000E+03   0.100000E+01   0.000000E+00   0.000000E+00
5  -0.916710E+01   0.000000E+00   0.529263E+01   0.180000E+03  -0.707107E+00   0.000000E+00  -0.707107E+00
6  -0.972145E+01   0.000000E+00   0.561268E+01   0.180000E+03  -0.707107E+00   0.000000E+00  -0.707107E+00
7  -0.722802E+01   0.000000E+00   0.417310E+01   0.180000E+03  -0.707107E+00   0.000000E+00  -0.707107E+00
8  -0.975164E+01   0.000000E+00   0.563011E+01   0.180000E+03  -0.707107E+00   0.000000E+00  -0.707107E+00
9   0.000000E+00  -0.126520E+02   0.326673E+01   0.600000E+02   0.000000E+00  -0.100000E+01   0.000000E+00
10   0.000000E+00  -0.108432E+02   0.279972E+01   0.600000E+02   0.000000E+00  -0.100000E+01   0.000000E+00
---
End
WARNING: ENERGY-SCAN with a dimer auxiliary basis needs to have:
REDO-DF-ON-ROTATION = .true.
Setting this here, but it should be set in the DF module.
WARNING: in subroutine energy_scan_parser line          719
Setting REDO-DF-ON-ROTATION=.true.
INFO =            1
Number of points =    10
Rx         Ry         Rz         alpha      Nx         Ny         Nz              E(1)elst        E(2)ind         E(2)disp        E(1)exch        E(2)exind       E(2)exdisp      TotOverlap      Eelst-MP        Eind-MP         Edisp-MP        Delta
BOHR       BOHR       BOHR    DEGREES        ---        ---        ---          KJ/MOL          KJ/MOL          KJ/MOL          KJ/MOL          KJ/MOL          KJ/MOL          KJ/MOL          KJ/MOL          KJ/MOL          KJ/MOL
------------------------------------------------------------------------------
1  13.6313000   0.0000000   0.0000000 180.0000000   1.0000000   0.0000000   0.0000000   8.1208599E-01   0.0000000E+00   0.0000000E+00   4.7754761E-01   0.0000000E+00   0.0000000E+00   0.0000000E+00   0.0000000E+00   0.0000000E+00   0.0000000E+00   0.0000000E+00
2  11.9628000   0.0000000   0.0000000 180.0000000   1.0000000   0.0000000   0.0000000   6.5729689E-01   0.0000000E+00   0.0000000E+00   1.0251847E+01   0.0000000E+00   0.0000000E+00   0.0000000E+00   0.0000000E+00   0.0000000E+00   0.0000000E+00   0.0000000E+00
3  12.2605000   0.0000000   0.0000000 180.0000000   1.0000000   0.0000000   0.0000000   1.0223858E+00   0.0000000E+00   0.0000000E+00   5.9771538E+00   0.0000000E+00   0.0000000E+00   0.0000000E+00   0.0000000E+00   0.0000000E+00   0.0000000E+00   0.0000000E+00
4  13.4372000   0.0000000   0.0000000 180.0000000   1.0000000   0.0000000   0.0000000   8.8945294E-01   0.0000000E+00   0.0000000E+00   6.8629620E-01   0.0000000E+00   0.0000000E+00   0.0000000E+00   0.0000000E+00   0.0000000E+00   0.0000000E+00   0.0000000E+00
5  -9.1671000   0.0000000   5.2926300 180.0000000  -0.7071070   0.0000000  -0.7071070  -1.1622463E+00   0.0000000E+00   0.0000000E+00   3.5327413E+00   0.0000000E+00   0.0000000E+00   0.0000000E+00   0.0000000E+00   0.0000000E+00   0.0000000E+00   0.0000000E+00
6  -9.7214500   0.0000000   5.6126800 180.0000000  -0.7071070   0.0000000  -0.7071070  -5.4924311E-01   0.0000000E+00   0.0000000E+00   1.2086289E+00   0.0000000E+00   0.0000000E+00   0.0000000E+00   0.0000000E+00   0.0000000E+00   0.0000000E+00   0.0000000E+00
7  -7.2280200   0.0000000   4.1731000 180.0000000  -0.7071070   0.0000000  -0.7071070  -4.5123293E+01   0.0000000E+00   0.0000000E+00   1.4932393E+02   0.0000000E+00   0.0000000E+00   0.0000000E+00   0.0000000E+00   0.0000000E+00   0.0000000E+00   0.0000000E+00
8  -9.7516400   0.0000000   5.6301100 180.0000000  -0.7071070   0.0000000  -0.7071070  -5.3223392E-01   0.0000000E+00   0.0000000E+00   1.1407984E+00   0.0000000E+00   0.0000000E+00   0.0000000E+00   0.0000000E+00   0.0000000E+00   0.0000000E+00   0.0000000E+00
9   0.0000000 -12.6520000   3.2667300  60.0000000   0.0000000  -1.0000000   0.0000000  -2.4924072E+00   0.0000000E+00   0.0000000E+00   9.7557631E-01   0.0000000E+00   0.0000000E+00   0.0000000E+00   0.0000000E+00   0.0000000E+00   0.0000000E+00   0.0000000E+00
10   0.0000000 -10.8432000   2.7997200  60.0000000   0.0000000  -1.0000000   0.0000000  -9.6588506E+00   0.0000000E+00   0.0000000E+00   2.0501909E+01   0.0000000E+00   0.0000000E+00   0.0000000E+00   0.0000000E+00   0.0000000E+00   0.0000000E+00   0.0000000E+00
------------------------------------------------------------------------------
Scan results will be written in file: energy_file.dat

AJMPublic/camcasp/energy-scan-module/e1-scan-mc-dc (last edited 2021-04-14 11:45:41 by apw109)