The VCPNT program sets up geometries and input files for quantum chemistry calculations to obtain the information needed for the fitting. The name is a contraction of VibronicCouplingPoiNTs. The program needs the geometry of the central point about which the potential functions are being expanded, called Q_0, and the normal mode vectors that form the set of coordinates. This is conveniently read from the output of a quantum chemistry calculation. Points are set up along vectors of choice at specified increments. For a definition of the dimentionless normal mode coordinates see here

Input data is specified in an input file. The system, Q_0 and normal mode vectors are contained in what is termed the file0 file. Output is to a set of point files , each containing a separate geometry. Information needed to run the quantum chemistry calculations can be specified using the opening and closing files . A go file is also created that can be used to launch all the calculations.

To run the program type
vcpnt input
or
vcpnt input.inp
where where input (or input.inp) denotes the input file. The input format uses, like all the Quantics package input files, keywords that are for the most part free format and case insensitive. See Quantics input file structure

for further information on the general use of keywords, noting that there are no sections in the VCHAM input files. The input file ends with the keyword end-input


Setting Up Geometries

The file0 file and the filestem for the point files need to be specified. The file0 file is the result of a frequency calculation. This is best done using symmetry as the normal mode symmetry labels can be used to help define the tuning and coupling modes in the subsequent steps. It is also best if the molecule is in the high symmetry orientation. For example in a Gaussian calculation the Input orientation and Standard orientation should be the same. This prevents confusion for the geometry around which the normal modes are defined.

Defining the input data files
Keyword Description
file0 = S S is name of file containing normal modes and Q0 geometry
nmodes = I (, I1) System contains I normal modes and I1 trivial degrees of
freedom (default 6).
all_eigenvectors Use all Hessian eigenvectors, including those corresponding
to translations and infinitesimal rotations.
fileout = S S is the file stem for the point files containing the geometries
formout = S format for point files:
Keyword Format
gaussian For the GAUSSIAN program
gamess For the GAMESS-UK program
molpro For the Molpro program
molcas For MOLCAS
qchem For qchem (Note any $special strings$ will be ignored) in open and closing files)
turbomole For turbomole (Note any $special strings$ will be ignored) in open and closing files)
xyz Simple xyz coordinates
file0orient = S If the file0 is a Gaussian output file, by default the coordinates are taken from the Input orientation. If S=standard, the Standard orientation coordinates are taken. It is good practice, and less likely to cause errors, if the Input and Standard orientations are the same, i.e. the molecule is in the high symmetry orientation.

Note for Molpro only H, C, N, O, S and Cl atoms are implemented while for MOLCAS only molecules with C, H, N, F atoms are implemented. (If you have others, change it in vcpntf90, in comout function)

e.g. file0 = geometry0.log
will read the file geometry0.log for the information. If using GAUSSIAN, this file should be created using the freq=hpmodes keyword (recommended).

Next the way the points are to be generated must be specified . A single keyword is required, and it must be alone on a line.

Defining the points
Keyword Description
along = M I R 2*I+1 points will be created along the Mth mode with an increment of R.
along_all = I R Cuts containing 2*I+1 points will be created along all modes with an increment of R.
grid2d = M M1 I I1 R R1 A 2D grid with 2*I+1 points along the M th mode with an increment of R, and 2*I1+1 points along the M1 th mode with an increment of R1 will be set up.
grid3d = M M1 M2 I I1 I2 R R1 R2 A 3D grid with 2*I+1 points along the M th mode with an increment of R, 2*I1+1 points along the M1 th mode with an increment of R1, and 2*I2+1 points along the M2 th mode with an increment of R2 will be set up.
rotate = M I R 2*I+1 points will be created along the Mth mode with an increment of R. The mode will be treated as a torsion.
nm2curv dihed = M transforms the normal mode M to the dihedral angle defined by the atoms in dihed-section (See note 1 below).
diagonal = M M1 I R R1 A diagonal cut with 2*I+1 points between the M th and M1 th modes will be set up. The increment along M will be R, and along M1, R1.
vector_points = R [, R1] Number of points generated along vector defined in a "define" or "vector_define" section. If R1 is specified, this number of points is added at either end of the cut.
vector_points = R Number of points generated along vector defined in vector_define section
define
i Q_i
end-define
A definite point in Q-space as a list of values (one to a line): Q_i is the value of the ith mode. Generates a cut to the point starting at Q=0. The point defined is at Q=10 (10R).
vector_define
initial
Q_1
...
Q_f
final
Q_1
...
Q_f
end-vector_define
Q-space coordinates that define a vector Q(final) - Q(initial). Generates a cut along the vector starting at Q=0 ending at Q=10 (10R).
noq0 The equilibrium geometry point Q0 will not be created.
set = I The points to be created are set I of this type. By default set = 0.
qval M val Cut at normal mode M at the value val

Points along the selected modes are set at -I*R, -(I-1)*R, .... -R, 0, R, .... (I-1)*R, I*R. If noq0 is set, then the point at 0 is excluded. This is to prevent duplication if more than one cut is made.

The program will set up files containing the geometries of the points at which quantum chemical information will be calculated. The exact file names will combine the defined filestem with the mode and point number. Thus if the filestem for the points file has been set using fileout = points , and a cut along mode m is made with P points either side of Q0 ( along = M , P , XX ,) then 2P+1 files are created with names points_M_Pl, points_M_(P-1)l,... points_M_000, points_M_1r, ... points_M_Pr where l and r denote "left" and "right" (i.e. minus and plus) wrt Q0.

If more than one set of points of the same type (e.g. a cut along a particalar mode) are set up they can be distinguished using the set = I keyword, in which case the files points_M_Pl_I, points_M_(P-1)l_I,... points_M_000_I, points_M_1r_I, ... points_M_Pr_I are set up.

Note 1: defining a dihedral
If the nm2curv dihedral keyword is used the atoms to be kept fixed and those that are to be rotated are specified in the dihed-section. Each atom is listed in the same order as in the file0, followed by a letter denoting its place. In the digram below a,b and c are frozen and each of the atoms labeled d are rotated.

The atom denoted a is not rotated but used as the reference for the dihedral angle. A is connected to b which forms part of the b-c bond which the dihedral angle is rotated about. The above digram would require the following example input section.

dihed-section
H a
O b
C c
H d
H d
H d
end-dihed-section

Any other atoms in the molecule which are not to be rotated and do not form part of the dihedral bond must be frozen using the flag f A full example using 1,1-Difluoroethylene is shown available here aswell as the file0 used for reference here.


Opening and Closing Files

To include the information required by the quantum chemistry program, two files can be used to write lines before and after the geometry. The last line on this files needs to read end-opening and end-closing respectively.

Keyword Description
opening = S information in file S to be written to start of point files (before geometry).
closing = S information in file S to be written to end of point files (after geometry).

Note that for GAUSSIAN calculations a blank line is left at the end of the geometry so that information in the closing file should start on the first line. The information in these files is taken "as is", and no comments are allowed. Special strings may be substituted for, e.g. a filename

Special strings in opening and closing files
String Substitued by
$filestem$ filestem of created point file


The GO File

A file go.com is set up. This lists the names of all the points files created, preceded by commands to run the job, submit them to a queue etc.

Keyword Description
go_none The go.com file is not created.
subcmd = S The command S is used to submit a job to the local machine. The default is qsub
go_add An exisiting go.com file is not overwritten but new commands added. Thus if a number of cuts are to be generated a single go.com file can be generated to start all the calculations.
go_cmd
...
end-go_cmd
The commands written between the two keywords are used to set up the go.com file.

By default the file is a simple list
qsub point_M_05r.com
qsub point_M_04r.com
...

This contents of this file can be manipulated not only by the subcmd keyword that can change qsub to another value, but by defining a set of commands between the keywords go_cmd ... end-go_cmd . Special strings as for the opening and closing files may be used (see above). For example
go_cmd
cp template_cas.chk $filestem$.chk
submit_g03 $filestem$
end-go_cmd
would produce a file with the list of commands
cp template_cas.chk point_M_05r.chk
submit_g03 point_M_05r
cp template_cas.chk point_M_04r.chk
submit_g03 point_M_04r
...


Example:

Points are being generated for Cr(CO)5 using the input file, crco5_pnt.inp . together with the opening and closing files, crco5_open.dat . and crco5_close.dat . The input file directs the program to look in the file CrCO5_D3h.log for the atoms in the system, normal modes and Q0 geometry. This file is the output from a GAUSSIAN calculation - the program automatically recognizes this.

On running

vcpnt crco5_pnt.inp
11 points are generated along the first vibrational mode at Q_1 = -2.5, -2, -1.5, ..., 2, 2.5 and stored in the files crco5_1_05l.com , crco5_1_04l.com ...., crco5_1_000.com, crco5_1_01r.com, crco5_1_02r.com ...., crco5_1_05r.com. The filenames contain the string specified by fileout, the mode (_1) and the point (_Nl to the negative side of Q0 and _Nr to the positive where N is an integer). The format of these files is suitable for a GAUSSIAN calculation. See how the information from the opening and closing files is incorporated. Notice also how the string $filestem$ in the opening file has been replaced by the correct name for the checkpoint file.

Now the electronic structure calculations can be run. The file go.com has been generated to do this. If a submission command other than qsub is required, this can be changed using the subcmd keyword in the input file. As the calculations specified require a checkpoint file (guess = read) these must be provided by copying the master checkpoint file at Q0 to the names required by the point files. Now type

go.com
and wait for the results.