CamCASP/Notes/3

From CUC3
Revision as of 19:40, 6 November 2008 by import>Am592
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

CamCASP => Notes => Energy scans for display

Energy scans for Display using ORIENT

  • Obtaining the grid

ORIENT calculates the surface around the molecule. So we need to setup an ORIENT file to obtain this grid of points. This grid will then be passed to CamCASP which will calculate the interaction energies (next step).

We will use the CLUSTER program to help construct the ORIENT command file.

Title Pyridine : properties cluster file

Global
  CamCASP /home/ajm/SITUS/current
  Units Bohr Degree
  Overwrite Yes
End

Molecule pyridine
 ! Optimzed with PBE0/cc-pVTZ Gaussian03
 ! C2v symmetry
 Units Angstrom
 H1 1.0     -2.050322    1.274414    0.000000
 H2 1.0     -2.147113   -1.203259    0.000000
 H3 1.0      0.000000   -2.487558    0.000000
 H4 1.0      2.147113   -1.203259    0.000000
 H5 1.0      2.050322    1.274414    0.000000
 N  7.0      0.000000    1.382844    0.000000
 C1 6.0     -1.134410    0.690452    0.000000
 C2 6.0     -1.190513   -0.695795    0.000000
 C3 6.0      0.000000   -1.403912    0.000000
 C4 6.0      1.190513   -0.695795    0.000000
 C5 6.0      1.134410    0.690452    0.000000
End

Files
  Molecule pyridine
  Basis daTZ
  File-prefix pyridine
  Orient files for display
  Interface file
  Memory 2000 MB
End

Finish

CLUSTER will create three file. The *.template file is not needed. You can delete it.

Copy pyridine_display.ornt to pyridine_display_grid.ornt. Edit pyridine_display_grid.ornt so that:

1. The radius of any polar hydrogen (one that can participate in an hydrogen-bond) is set to zero. You can do this using

Types
  Hp   Z  1  Radius 0.0
  ...
End

at the start of the file. And in the Molecule block set all polar hydrogens to Type Hp. For more details please see the ORIENT manual. By the way, you do not need to do this, but doing so makes the scan more true to reality as the distance of close-approach to such hydrogen atoms is smaller than that for other hydrogen atoms.

2. Comment out the statements in the Polarizabilities block. We will not need polarizabilities to construct the grid.

3. Un-comment the Write command in the Display energy block.

Now run ORIENT

orient < pyridine_display_grid.ornt

You will see a blob around the molecule. This is OK. Make sure the blob looks roughly like you think it would. There will be no colours. This too is OK. Also, ORIENT will have produced the file pyridine_2vdW.grid that contains the grid points and triangles. We need only the grid points. So edit it to comment out the first line which contains the number of points in the grid and delete the list of triangles. Here's what it looks like:

#  2370  4736
    -9.00000000    -1.50000000    -0.63302610
    -9.00000000    -2.18117397     0.00000000
    -9.03969412    -1.50000000     0.00000000
   ...
   ... 2370 sets of coordinates...

NOTE: By default the surface constructed is the so-called 2 x vdW surface. Basically, double the van der Waals radii of the atoms (except polar hydrogens), stretch a rubber sheet over those spheres, construct the grid of points on the rubber sheet. Well, that's it conceptually. The ORIENT manual has the details. What's important is to realise that you can change the parameters of this surface. For example, you may want a 1.8 x vdW surface. Have a peek in the Display energy block and tweak the parameters.

  • CamCASP energy scan

Now we need to use this list of points to perform a CamCASP energy scan. Only this scan will be with the molecule (pyridine) and a spherical probe (a neon atom for the dispersion and a +1 charge for the electrostatics and induction). This is not necessary, but is very convenient.

The CamCASP file pyridine.cks that has been produced by CLUSTER is not in the correct format. We need to add the description of the probe molecule (neon) and the commands for the energy scan. You will also need to copy the MO and Hessian files for the molecule (pyridine) and neon atom to this directory. I have assumed you have these at hand. If not, calculate them (I'll describe this later)

Copy pyridine.cks to pyridine_scan.cks and edit it to look like:

TITLE pyridine ... neon / Q energy scan
TITLE Basis d-aug-cc-pVTZ

MEMORY       2454 MB

SET Global_data
  CamCASP-path /home/ajm/SITUS/current
  Units Bohr cm-1
  Scf-code Dalton
  XC-func PBE0
  Overwrite yes
END

MOLECULE pyridine at 0.0 0.0 0.0
   Charge    0
   Echo No
   Hessian format SAPT2006
   MO-file mo-pyridine.data
   H1-file h1-pyridine.data
   Basis Main
     ...
   End
   Basis Aux
     ...
   End
END

Molecule Ne at 0.0 0.0 0.0
   Charge    0
   Echo No
   Hessian format SAPT2006
   MO-file mo-ne-daTZ.data
   H1-file h1-ne-daTZ.data
   Basis Main
      Spherical
      Units Bohr
      Format GAMESS
      Ne   10.0        0.00000000       0.00000000       0.00000000  TYPE Ne
        #include-camcasp basis/gamess_us/d-aug-cc-pVTZ/Ne
      ---
   End
   Basis Aux
        Cartesian
        Units Bohr
        Format TURBOMOLE
      Ne   10.0        0.00000000       0.00000000       0.00000000  TYPE Ne
        Limit G
        #include-camcasp basis/aux/aug-cc-pVQZ/Ne
      ---
   End
End

SET QUAD
  Type Gauss-Legendre
  Beta 0.5
END

BEGIN DF
  Molecule pyridine
  Type FULL
  Eta = 0.0
  Lambda = 0.0
  Print only normalization constraints
END
BEGIN DF
  Molecule Ne
  Type FULL
  Eta = 0.0
  Lambda = 0.0
  Print only normalization constraints
END

SET PROPAGATOR
  Type CKS
  DF without constraints
  DF-integrals
END

Begin Energy-scan
  Probe pyridine with Ne and Charge +1.0
  Scan E2ind & E2disp & E1elst
  Units Bohr
  Points
    Translations-only
    #include pyridine_2vdW_points.grid
  End
End

FINISH

And I have the MO and Hessian files:

ls
h1-ne-daTZ.data   pyridine_2vdW.grid  pyridine_daTZ_DMA2_L4.mom
h1-pyridine.data  pyridine.axes       pyridine_display_grid.ornt
mo-ne-daTZ.data   pyridine.cks        pyridine_display.ornt
mo-pyridine.data  pyridine.clt

Now we can run CamCASP using

runcamcasp pyridine_scan -q intel.q --nochecks