Spline fits
It is possible to create a spline-fit to a set of potential energy points for 3D, 2D or 1D functions. The points need to be in a file called surface.3dspl, surface.2dspl or surface.1dspl respectively. The file format for the 3D version is:
# Title and any explanation. # This will be printed in the log file. # # KEYWORDS (see below) ntria n1 n2 n3 x y z v
Changes for lower dimensions are obvious. The first few lines of the file can be a title, with lines starting with a '#'. There can be no blank lines. ntria is the total no. of points (omitted if a 1D spline). n1, n2, n3 are the number of grid points in each direction. x, y, z, v are the coordinates and potential. The data needs to be ordered with the slowest changing coordinate first. For an example of what this means see nof_ec_s1.3dspl
Keywords: Manipulating the Data
If the coordinates and energies (or dipole moments if dipole surfaces) are in au then nothing further needs to be done. If other units are used, or if the spline fit needs altering, e.g. by cutting any high values, then keywords can be added to the header. All words, numbers, = and , must be separated by blank spaces.
Keyword | Description |
---|---|
units = S , S1 , S2 , S3 | S - S4 define the units of the coordinates and energy in the order x, y, z, energy. All usual MCTDH units are allowed. If a 2D spline fit the unit for z is omitted, for a 1D fit that for y and z. For example, for a bond angle in degrees and 2 bonds in Angstrom with the energy in cm-1 then # units = deg , angst , angst , cm-1 |
vzero = R , S | R is the zero energy point, S the unit (optional). I.e. the spline fit will be shifted by this value. |
vmax = R , S | R is the maximum energy, S the unit (optional). I.e. the spline fit will be cut. |
The data in nof_ec_s1.3dspl is for 2 bonds in Angstrom with a bond angle in degrees. A zero energy is also defined.
Interface to Quantics
The data files can be put in the $MCTDH_DIR/source/surfaces/splines directory. Alternatively, they may be put in a directory of choice which can be made available to the program using the splinepath = S keyword in the OPERATOR_SECTION . If the directory is the same as the directory with the input file, splinepath = . can be given. If a set of files in a directory all use the same keywords, then the header containing these can be put in a file spline.opt in the directory rather than in each file.
The filestem surface is the name by which the function is known in an operator (.op) file or potfit calculation. For example, the operator related to the NOF surface is nof_s1cas.op. Note that in this file Jacobian coordinates are being used, while the surface is in binding coordinates. The keyword V = nof_ec_s1{jacobian,tfac=0.533205} means that the transformation Jacobian <-> binding will be made using a factor for the position of the diatomic COM along the vibrational coordinate of 0.533205.
In a second example, a 5D model of the 2-cyclopentylidene-tetrahydrofuran rotor uses 3 spline fits in the operator cpthf.op. These are 2D data sets cpthf_S0.2dspl, cpthf_S1.2dspl and cpthf_S01.2dspl which are in terms of 2 angles: a torsion and ring pyramidalisation.