PES transformations
Once a potential energy surface (PES) has been generated by the SURF
or XSURF
programs, 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 representation by grid points (grid to grid transformations (VGRID)) may be altered by the VGRID
program, which includes a grid to grid transformation. Finally 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.
Analytical representations (POLY)
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 an analytical representation has been chosen, the corresponding VSCF, VCI or VMP2 programs need to be selected (see below). There are different versions of the POLY
program (see keyword VERSION
), but the program will recognize automatically, which one to use. An example for the use of the POLY
program can be found in chapter examples.
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:
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 byADDZERO=1
.DELAUTO
=value In order to delete troublesome 2D, 3D or 4D surfaces from the multi-mode expansion of the potential, theDELAUTO
keyword sets all coefficients of the polynomial expansion of these surfaces to zero. The threshold passed to theDELAUTO
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.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 byDIPOLE=1
and will be set by default, if dipole surfaces are available.DIPOLE=0
excludes existing dipole surfaces from the transformation.INFO
=nINFO=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 minium number of basis functions to be used.NDIM
=n The keywordNDIM=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 thatNDIMDIP
has to be lower or equal thanNDIM
.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 thanNDIM
and must be smaller than 4.NGRID
=n Once the value of theNGRID=n
keyword for controlling the number of grid points has been changed in theSURF
program, this information will be passed to thePOLY
program automatically.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 theNVARC
keyword.POLAR
=n Once set to one this keyword switches the transformation of the polarizability tensor surfaces on. The default isPOLAR
=0.POT
=variablePOT=POLY
transforms the grid representation as passed over from theSURF
orXSURF
programs to a polynomial representation. Likewise,POT=BSPLINE
andPOT=GAUSS
use B-splines or a distributed Gaussian basis. Note that, in contrast to the polynomials the latter two are local basis functions. The default isPOT=POLY
.SHOW
=n The coefficients of the polynomial representation can be printed. In order to identify quartic potentials, it is recommended to useSHOW=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
orTYPE=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 byVAM=0
. Any other values, i.e. 2 or 3, will be ignored.VERSION
=n (n=1,2,3) By defaultVERSION=2
will be used in combination with theSURF
program, while the most generalized version, i.e.VERSION=3
, will be used by default for theXSURF
program.VERSION=1
can be used in combination with theXSURF
program and uses conventional fitting (no Kronecker products).VRC
=n Once vibrational-rotational coupling surfaces have been computed in theSURF
program, these couplings can be considered (VRC=1
) or excluded (VRC=0
, default) in thePOLY
program. Note that VRCs are not supported by theXSURF
program.
Plotting of 3D surfaces
LEVELCURVES
,options
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:
DUMP
=pathDUMP=path
provides the path of the subdirectory, in which the datafiles for the isosurfaces will be dumped.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 forENERGY
, 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 byESTEP=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 stepwidthESTEP
, until the final energy as defined by theENERGY
keyword is obtained. As a consequence, a series of isosurfaces will be produced, which is different for each 3D potential.MODE
=n In order to restrict the generation of isosurfaces to individual triples of modes, theMODE
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.
Record handling
DISK
,options
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.
The following options are available:
AUTO
=n Rather than using the optionsSTART
andSAVE
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 theSURF
program.SAVE
=record Specification of the record, where to dump the polynomials. The default is 5750.2.START
=record This keyword controls the record, from which the potential shall be read. The default is 5600.2.
Grid to grid transformations (VGRID)
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. There is no need for calling the VGRID
program once the potential has been generated with the XSURF
program. In that case the number of grid points can be altered by using the keyword NGRID
within the restart from the potential. Surfaces of the polarizability tensor are not supported by VGRID
.
The following options are available:
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 byDIPOLE=0
.INFO
=nINFO=1
provides a list of the values of all relevant program parameters (options).NDIM
=n Specifies the maximum order of the PES expansion, which shall be transformed. Default:NDIM=3
.NDIMDIP
=n Specifies the maximum order of the dipole surfaces, which shall be transformed. $n$ must be equal or smaller than the corresponding value ofNDIM
.NEWGRID
=n Determines the number of grid points to be used in all subsequent programs. Note that in the subsequent programs the variableNGRID
controls the number of grid points. The keywordNEWGRID
exists only within theVGRID
program.NGRID
=n This keyword provides the number of grid points as generated by theSURF
program, i.e. this is the old number of grid points.
Transformation of the coordinate system (PESTRANS)
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).
The following options are available:
CUT
=nCUT=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 forXSURF
calculations.ECKART
=n By default the Eckart transformation matrix needed within thePESTRANS
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 thePOLY
calculation. This option is only available forXSURF
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 (defaultTHRQ=10^{-8}
) will be neglected within the transformation.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 theSURF
program, these couplings can be considered (VRC=1
) or excluded (VRC=0
, default) in thePESTRANS
program. The inclusion of these terms usually increases the accuracy of the transformation. This keyword is not supported in combination with theXSURF
program.
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. ).
Definition of atomic masses
MASS
,options
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.
Reading of 2nd Hessian
DISK
,options
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 theSURF
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.
memory,100,m gthresh,optgrad=1.d-7,twoint=1.d-14,prefac=1.d-16 geometry={ O ,, 0.0000000000 , 0.0000000000 , 0.1241819425 H ,, 0.0000000000 , -1.4320403835 , -0.9855926792 H ,, 0.0000000000 , 1.4320403835 , -0.9855926792 } basis=vtz-f12 hf optg ccsd(t)-f12 freq,symm=auto label1 int {hf start,atden} ccsd(t)-f12 {surf,start1D=label1,sym=auto,vrc=1,ndim=4 scalnm,auto=on disk,where=home,dump='h2o.pot'} vscf vci poly,vam=0,vrc=1,ndim=4 {pestrans,vrc=1,ndim=4 mass,2,2.0141017778d0 mass,3,2.0141017778d0 scalnm,auto=on disk,where=home,dump='d2o.pot'} vscf vci