PES transformations

Once a potential energy surface (PES) has been generated by the XSURF program, it can be transformed to different representations. The first possibility (analytical representations (POLY)) is a representation by basis functions, i.e. the POLY program. The PESTRANS program (transformation of the coordinate system (PESTRANS)) 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 by polynomials, Gaussians or B-splines. Once the PES calculation has been started from a transition state, this must be specified explictly by the SADDLE keyword.

B. Ziegler, G. Rauhut, Efficient generation of sum-of-products representations of high-dimensional potential energy surfaces based on multimode expansions., J. Chem. Phys. 144, 114114 (2016)
The following options are available:


  • CHI_AV_xD=value (x=1..3 default=1.d-10; x=4 default=1.d-5) Threshold for the average least squares criterion to be met for the individual orders of the potential.
  • CHI_MAX_xD=value (x=1 default=1.d-10; x=2 default=1.d-8, x=3 default=1.d-6, x=4 default=1.d-5) Threshold for the maximum least squares criterion to be met for the individual orders of the potential.
  • 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.
  • INFO=n INFO=1 provides a list of the values of all relevant program parameters (options).
  • MAXBF=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.
  • MINBF=n (=7 Default) This keyword controls the minimum number of basis functions to be used.
  • 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.
  • NDIMMU=n An n-mode expansion of the $\mu$-tensor will be generated and transformed to polynomials up to 3rd order (default). The order can be changed by the integer passed to the NDIMMU keyword.
  • PSUM=n Maximum number of basis functions to be used within the fits of the surfaces (sum of exponents).
  • SADDLE=n (=0 default) When a potential energy surface has been started from a transition state, SADDLE needs to be set to 1, in order to determine the barrier height, which is needed for the correction of absolute energy of the vibrational levels in subsequent VSCF or VCI calculations.
  • 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 very long output files.
  • 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.
  • 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.


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, which is recommended. 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.


  • 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 XSURF program.


A fit function has to be defined for each coordinate. These fit functions are used to transform an grid representation of a surface generated by the XSURF program to an analytical representation. If no fit functions are given, the fit functions used in the XSURF program for the intermediate fitting are used. This directive also exists in the XSURF program. If no fit functions are defined within the XSURF program, but in the POLY program, the fit functions of the POLY program are also used in the XSURF program.


  • COORD(x)=variable Defines the fit function for coordinate $x$. The possible fit functions are B-splines (bspline), Gaussian functions (gauss), Morse functions (morse), polynomials (poly) and trigonometric functions (trigo).
  • FITLABEL=variable The name of the label defined in the input stream. The label contains the electronic structure level which should be used for the cross-validation.
  • FITMETHOD=n (=1 Default) Within the iterative build-up of the individual subsurfaces, intermediate fitting will be used. This can be based on true multidimensional Kronecker product fitting (FITMETHOD=1) or on fitting along one-dimensional cuts (FITMETHOD=2).
  • FITxD=n The maximum order of the polynomials used for fitting within the iterative interpolation scheme can be controlled by the keywords FIT1D, FIT2D, FIT3D, FIT4D. The default is given by 9. However in certain cases higher values may be necessary, but require an appropriate number of coarse grid points, which can be controlled by MIN1D etc. (See XSURF options)
  • ONLY=variable Sets one fit function for all coordinates. The possible fit functons are the same as for the option COORD.

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. Due to that a completely different PESTRANS program will be used once XSURF has been called before. 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).


  • 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.
  • 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.
  • 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.
  • NDIM=n Order of the $n$-mode potential for the transformed potential. The information of the original potential will be taken from the the POLY calculation. This option is only available for XSURF calculations.
  • THRMATS=value Threshold controlling the analysis of the S-matrix indicating the accuracy of the transformation (default: THRMATS=0.3).
  • THRQ=value Elements in the displacement vectors below this threshold (default THRQ=10^{-8}) will be neglected within the transformation.
  • TRANSTYPE=variable specifies the transformation to be performed by PESTRANS. The default is generated automatically based on the given directives in the input stream.
    • TRANSTYPE=QFF transforms an n-mode expansion of the PES into a quartic force field (QFF).
    • TRANSTYPE=ISO indicates a transformation of the spanning axes of the PES for the calculation of isotopologues.
    • TRANSTYPE=FCF performs a Duschinsky transformation as needed for the calculation of Franck-Condon factors.

  • 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.

Most options and directives of the XSURF program can also be used in the PESTRANS program (i.e. INFO, INTENSITY, SCALNM, DISK, LINCOMB, VTAYLOR), 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.


The DISK directive essentially is the same as in the XSURF program, i.e. a transformed surface can be dumped or a restart can be performed from an external file.


  • AUTO=n For Franck-Condon calculations this allows to specify the number of the two potential energy surfaces.
  • DUMP=file name Specifies the name of the ASCII restart file (see the XSURF program) of the transformed potential to be dumped.
  • EXTERN=file name Specifies the name of an external ASCII restart file to be used. This may be used to continue the transformation of partly transformed potentials or for reading the header of a restart file in Franck-Condon calculations.
  • WHERE=variable In combination with the keywords DUMP and EXTERN for an external restart file, the keyword WHERE specifies the path for the external ASCII file. Two options are available, WHERE=home and WHERE=scr. As the external files can be huge for XSURF calculations, they will be stored on the scratch disk given by the Molpro variable $TMPDIR by default.

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