This is an old revision of the document!

PES transformations

Once a potential energy surface (PES) has been generated by the SURF program, it can be transformed to different representations. The first possibility is a representation by basis functions, i.e. the POLY program. The representation by grid points may be altered by the VGRID program, which includes a grid to grid transformation. Finally the PESTRANS program offers a transformation of the PES for vibrational structure calculations of isotopologues or Franck-Condon factors.

POLY,options [poly]

The POLY program allows for the transformation of the potential energy surface and property surfaces from a grid representation to an analytical representation. Once an analytical representation has been chosen, the corresponding VSCF, VCI or VMP2 programs need to be selected (see below). An example for the use of the POLY program can be found in chapter examples.
The following options are available:

  • NDIM=n The keyword NDIM=n terminates the transformation after the $n$D terms within the $n$-mode expansion of the surfaces. The default is set to 3. The transformation of the 4D terms can be very time consuming.
  • NDIMDIP=n Term after which the $n$-body expansions of the dipole surfaces are truncated. The default is set to 3. Note that NDIMDIP has to be lower or equal than NDIM.
  • NDIMPOL=n Term after which the $n$-body expansions of the polarizability tensor surfaces are truncated. The default is 0. NDIMPOL has to be lower or equal than NDIM and must be smaller than 4.
  • NGRID=n Once the value of the NGRID=n keyword for controlling the number of grid points has been changed in the SURF program, this information will be passed to the POLY program automatically.
  • POT=variable POT=POLY transforms the grid representation as passed over from the SURF program to a polynomial representation. Likewise, POT=BSPLINE and POT=GAUSS use B-splines or a distributed Gaussian basis. Note, that in contrast to the polynomials the latter two a local basis functions. The default is POT=POLY.
  • MINBF=n (=7 Default) This keyword controls the minium number of basis functions to be used.
  • MXBF=n This keyword controls the maximum number of basis functions to be used. This keyword may be used to restrict the basis for certain purposes.
  • TYPE=variable Once polynomials have been generated, the expansion of the potential can be restricted to the harmonic approximation or a semi-quartic force field, i.e. TYPE=HARM or TYPE=QFF.
  • DIPOLE=n In case that dipole surfaces have been computed, they need to be transformed to a analytical representation as well. This can be accomplished by DIPOLE=1 and will be set by default, if dipole surfaces are available. DIPOLE=0 excludes existing dipole surfaces from the transformation.
  • POLAR=n Once set to one this keyword switches the transformation of the polarizability tensor surfaces on. The default is POLAR=0.
  • VAM=n The Watson correction term, i.e. VAM=1, is absorbed in the potential by default. Once the polynomials to be generated should exclude this correction, this needs to be specified by VAM=0. Any other values, i.e. 2 or 3, will be ignored.
  • ADDZERO=n Within the fitting of the grid representation the expansion point usually is not included. In certain cases in might be meaningful to include it. This can be accomplished by ADDZERO=1.
  • DELAUTO=value In order to delete troublesome 2D, 3D or 4D surfaces from the multi-mode expansion of the potential, the DELAUTO keyword sets all coefficients of the polynomial expansion of these surfaces to zero. The threshold passed to the DELAUTO keyword corresponds to the $\chi^2$ value of the least squares fitting procedure. It acts on both, the energy and the dipole surfaces. The default is set to 9.d99, i.e. all surfaces with $\chi^2$ values below this threshold will not be affected.
  • NVARC=n For the calculation of vibrationally averaged rotational constants $\mu$-tensor surfaces will be generated and transformed to polynomials up to 2nd order (default). The order can be changed by the integer passed to the NVARC keyword. This transformation can also be extended within the VSCF program.
  • VRC=n Once vibrational-rotational coupling surfaces have been computed in the SURF program, these couplings can be considered (VRC=1) or excluded (VRC=0, default) in the POLY program.
  • SHOW=n The coefficients of the polynomial representation can be printed. In order to identify quartic potentials, it is recommended to use SHOW=1. Higher values will lead to a very long output file.
  • INFO=n INFO=1 provides a list of the values of all relevant program parameters (options).
  • VERSION=n (n=1,2,3) By default VERSION=2 will be used in combination with the SURF program, while the most generalized version, i.e. VERSION=3, will be used by default for the XSURF program. VERSION=1 can be used in combination with the XSURF program and uses conventional fitting (no Kronecker products).


The LEVELCURVES directive within the POLY program allows to plot isosurfaces for the sum of the corresponding 1D, 2D, and 3D surfaces. This enables the visual control of the potential including the 3D terms. Datafiles for the gnuplot program and associated input files will be provided in individual subdirectories.

The following options are available:

  • ENERGY=value If this keyword isn’t used, the energy value for the isosurface will be determined by the program automatically. The value determined this way is the lowest energy of the outer surfaces of the 3D cube. If a specific value is provided for ENERGY, the corresponding 3D level surface will be plotted.
  • ESTEP=value Once several isosurfaces shall be plotted for a given 3D potential, the energy difference between two isosurfaces can be specified by ESTEP=value. The first isosurface, that will be plotted, corresponds to the level energy of the stepwidth itself. In all subsequent isosurfaces the energy will be increased by the value of the stepwidth ESTEP, until the final energy as defined by the ENERGY keyword is obtained. As a consequence, a series of isosurfaces will be produced, which is different for each 3D potential.
  • DUMP=path DUMP=path provides the path of the subdirectory, in which the datafiles for the isosurfaces will be dumped.
  • MODE=n In order to restrict the generation of isosurfaces to individual triples of modes, the MODE keyword can be used. For example,

LEVELCURVES,MODE=5,MODE=3,MODE=2 generates the isosurface for the 3D potential $V_{532}$. The ordering of the modes is insignificant. Once isosurfaces for different triples shall be plotted, the directive LEVELCURVES needs to be provided several times.


The DISK directive allows to specify explicitly, from where the grid information shall be taken and where it shall be stored to disk. This can also be accomplished in an automated manner. These features are only relevant for the simulation of vibronic spectra as one has to deal with several PESs in the same input. For simple VCI calculations, no information is needed here.

The following options are available:

  • START=record This keyword controls the record, from which the potential shall be read. The default is 5600.2.
  • SAVE=record Specification of the record, where to dump the polynomials. The default is 5750.2.
  • AUTO=n Rather than using the options START and SAVE one may simply assign a label n to a a certain PES and all the records will be set automatically. The grid information is read from the last PES specified in the call of the SURF program.

VGRID,options [vgrid]

For certain applications a finer grid may be needed than generated by the SURF program. In order to avoid the recalculation of the entire PES the VGRID program offers the possibility of a grid to grid transformation. The transformation of polarizability tensor surfaces is not yet supported.
The following options are available:

  • NGRID=n This keyword provides the number of grid points as generated by the SURF program, i.e. this is the old number of grid points.
  • NEWGRID=n Determines the number of grid points to be used in all subsequent programs. Note that in the subsequent programs the variable NGRID controls the number of grid points. The keyword NEWGRID exists only within the VGRID program.
  • NDIM=n Specifies the maximum order of the PES expansion, which shall be transformed. Default: NDIM=3.
  • DIPOLE=n In case that dipole surfaces have been computed, these may be transformed to a finer or coarser grid as well. This transformation can be switched off by DIPOLE=0.
  • NDIMDIP=n Specifies the maximum order of the dipole surfaces, which shall be transformed. $n$ must be equal or smaller than the corresponding value of NDIM.
  • INFO=n INFO=1 provides a list of the values of all relevant program parameters (options).

PESTRANS,options [pestrans]

The PESTRANS program allows to change the coordinate system being used within the representation of the potential by a Duschinsky-like transformation. This allows for the transformation of PESs as needed for the calculation of the vibrational spectra of isotopologues or Franck-Condon factors including Duschinsky rotations. This requires a representation of the potential energy surface by polynomials. Different versions of the PESTRANS program will be used in combination with the SURF and the XSURF programs. While for the old SURF program a fine grid in the new coordinate system will be generated from fits of the fine grid using the old coordinate system, the XSURF program itself will be used to generate a fine grid in the new coordinates, which usually is much faster. For further details see:
P. Meier, D. Oschetzki, R. Berger, G. Rauhut, Transformation of potential energy surfaces for estimating isotopic shifts in anharmonic vibrational frequency calculations, J. Chem. Phys. 140, 184111 (2014).
The following options are available:

  • ECKART=n By default the Eckart transformation matrix needed within the PESTRANS program will be computed explicitly. ECKART=0 replaces the Eckart transformation matrix by a unit matrix.
  • UMAT=n As needed for Franck-Condon calculations, UMAT=1 defines the linear combinations of the displacement vectors due to Duschinsky rotations, which influences the selection of states in subsequent VCI calculations. The default, UMAT=0, switches off this feature.
  • VRC=n Once vibrational-rotational coupling surfaces have been computed in the SURF program, these couplings can be considered (VRC=1) or excluded (VRC=0, default) in the PESTRANS program. The inclusion of these terms usually increases the accuracy of the transformation.
  • CUT=n CUT=0 (default) transforms all surfaces as requested by the input. CUT=1 neglects the generation of vibrational-rotational coupling surfaces for the new potential. CUT=2 neglects rotational-rotational coupling surfaces within the transformation and thus also for the new potential.
  • THRQ=value Elements in the displacement vectors below this threshold (default THRQ=10^{-8}) will be neglected within the transformation.
  • THRMATS=value Threshold controlling the analysis of the S-matrix indicating the accuracy of the transformation (default: THRMATS=0.3).
  • DVEC=n (=0 Default) This keyword controls the shift vector within the transformation. DVEC=0 sets this vector to zero. This works only for XSURF calculations.
  • NDIM=n Order of the $n$-mode potential for the tranformed potential. The information of the original potential will be taken from the the POLY calculation. This option is only available for XSURF calculations.

Most keywords and directives of the SURF program can also be used in the PESTRANS program (i.e. SCALE, INFO, INTENSITY, SCALNM, DISK, LINCOMB), while specific ones had to be excluded (i.e. NGRID, etc. ).


Once the PESTRANS program will be used for the calculation of isotopologues, the atomic masses of the individual atoms can be specified by this directive. Note, the use of the MASS directive here differs from that in the electronic structure code as it requests the running number of the atoms in the geometry definition.

  • MASS,n,value The $n$th atom is supposed to have the mass value.


Within Franck-Condon calculations information about the geometry and the Hessian of the 2nd system (belonging to the 2nd electronic state) is needed. This can be realized by the DISK directive, which thus differs from the directive of the same name within the SURF program. The options of this directive are the same as for the directive of the SURF program.

  • EXTERN=file name Specifies the name of the ASCII restart file (see the SURF program) belonging to the 2nd system, which includes the 2nd coordinate system.

The following example shows a calculation for water including vibrational-rotational coupling surfaces, the corresponding VSCF and VCI calculations a subsequent transformation of the potential to doubly deuterated water.

O   ,,     0.0000000000   ,    0.0000000000  ,     0.1241819425
H   ,,     0.0000000000   ,   -1.4320403835  ,    -0.9855926792
H   ,,     0.0000000000   ,    1.4320403835  ,    -0.9855926792