# 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`,

`or`

*surface*.2dspl`respectively. The file format for the 3D version is:`

*surface*.1dspl# 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.