Table of Contents

PES generators

POTENTIAL ENERGY SURFACES (XSURF)

{XSURF,options}

The XSURF program allows for the calculation of the potential energy surface around a reference structure as required for the calculation of anharmonic frequencies (see the VSCF, VCI or VPT2 programs). The reference structure is supposed to be a (local) minimum or a transition state of a double-minimum potential. The potential is represented by energy grid points rather than an analytical representation. Within the XSURF program the potential energy surface is expanded in terms of normal coordinates, linear combination of normal coordinates or localized normal coordinates. XSURF can handle $n$-mode and Taylor expansions of the PES of arbitrary order, e.g.
$$V(q_1,\dots,q_{3N-6}) = \sum_i V_i(q_i) + \sum_{i<j} V_{ij}(q_i,q_j) + \sum_{i<j<k} V_{ijk}(q_i,q_j,q_k) + \dots$$ with $$\begin{eqnarray*} V_i(q_i) & = & V_i^0(q_i) - V(0) \\ V_{ij}(q_i,q_j) & = & V_{ij}^0(q_i,q_j) - \sum_{r\in\{i,j\}} V_r(q_r) - V(0) \\ V_{ijk}(q_i,q_j,q_k) & = & V_{ijk}^0(q_i,q_j,q_k) - \sum_{\stackrel{\scriptstyle r,s\in\{i,j,k\}}{r>s}} V_{rs}(q_r,q_s) - \sum_{r\in\{i,j,k\}} V_r(q_r) - V(0)\\ V_{ijkl}(q_i,q_j,q_k,q_l) & = & \dots \label{diff4}\end{eqnarray*}$$ where $q_i$ denotes the coordinates. This expansion needs to be terminated after an $n$-body contribution as controlled by the keyword NDIM. Moreover, it can handle any kind of symmetry, e.g. non-Abelian point groups or permutational symmetry. A harmonic frequency calculation needs to be performed first. This can be done by the FREQ program or the VFREQ directive of the XSURF program. For technical reasons the XSURF program always requires curly brackets around its call. The XSURF program is fully parallelized in a sense that the calculation of different grid points is send to different processors (embarassingly parallel MPPX scheme). For example, the input for the calculation of a CCSD surface looks like:

label1
hf
ccsd
{xsurf,sym=auto}

The XSURF program is based on an iterative algorithm, i.e. grid points will be added automatically to the grid representation of the potential until a convergence threshold will be met. This guarantees a well-balanced description of the different terms in the expansion of the potential and simultaneously minimizes the number of ab initio calculations for a representation of the potential. For further details see:

G. Rauhut, Efficient Calculation of Potential Energy Surfaces for the Generation of Vibrational Wave Functions, J. Chem. Phys. 121, 9313 (2004).
B. Ziegler, G. Rauhut, Rigorous use of symmetry within the construction of multidimensional potential energy surfaces, J. Chem. Phys. 149, 164110 (2018).
B. Ziegler, G. Rauhut, Localized Normal Coordinates in Accurate Vibrational Structure Calculations: Benchmarks for Small Molecules, J. Chem. Theory Comput. 15, 4187 (2019)

Options

The following options are available:

The following example shows the input of a calculation which computes energy and dipole surfaces at the MP2/cc-pVTZ level and subsequently determines the anharmonic frequencies at the VSCF and VCI levels. Hartree-Fock calculations will not be restarted and the .log-file is directed to the scratch directory as defined by the $TMPDIR variable.

!options: --logfile-scratch
memory,20,m
orient,mass
geometry={
   3
Water
O          0.0675762564        0.0000000000       -1.3259214590
H         -0.4362118830       -0.7612267436       -1.7014971211
H         -0.4362118830        0.7612267436       -1.7014971211
}

mass,iso
basis=vdz

hf
mp2
optg
frequencies,symm=auto

label1
int
{hf
 start,atden}
{mp2
 cphf,1}

vibstate,combi=1
{xsurf,sym=auto
 intensity,dipole=2}
poly
vscf,pot=poly
vci,pot=poly

Intensities

INTENSITY,options

The INTENSITY directive of the SURF program provides the option to alter the electronic structure methods for calculating the dipole surfaces. It also allows to define the VARDIPnD[X,Y,Z] variables separately. $n$ describes the dimension of the coupling surface and can be chosen to be 1 - 4.

Dipole surfaces can be computed for all those methods for which analytical gradients are available in Molpro. For all methods except Hartree-Fock this requires the keyword CPHF,1 after the keyword for the electronic structure method. In multi-level schemes for which the variables VAR1D, VAR2D and VAR3D are set individually, the VARDIPnD[X,Y,Z] variables have to be set accordingly. Symmetry is currently only implemented for the 1D, 2D and 3D dipole surfaces. For 4D terms symmetry will automatically switched off at the moment. The determination of dipole surfaces beyond Hartree-Fock quality effectively doubles the computation time for surface calculations.

Options

An example for a calculation, which provides both, infrared and Raman intensities, is given below.

label1
{hf
 start,atden}
{mp2
 core,0
 polari}

{xsurf,info=1
 intensity,ndimpol=3
 scalnm,auto=on }

poly,ndimpol=3
vscf,pot=poly,ndimpol=3,info=1
vci,pot=poly,version=4,ndimpol=3,info=1

Restart capabilities

DISK,options

As XSURF calculations are very demanding it is highly recommended to dump the grid representation of the potential to disk. This allows for convenient restarts for subsequent vibrational structure calculations. Note, that restarts can also be performed for incomplete potentials.

Options

Taylor expansions

VTAYLOR,options

By default, the XSURF program generates an $n$-mode expansion. However, the program structure allows also to retrieve a Taylor expansion of the potential, which is identical with a Taylor expansion obtained by differentiation. In principal Taylor expansions of arbitrary order can be generated, but of course it must be guaranteed that the order of coupling terms is sufficiently high, e.g. a sextic force field cannot be obtained from a NDIM=4 calculation, because this calculation generates coupling terms with at most 4 different indices. In such a case, the missing terms will simply be neglected.

Options

Multi-level calculations

VMULT,options

The level of the electronic structure calculations can be changed for the different $i$-body terms in the expansion of the potential. As a consequence, the keywords START2D, START3D, VAR2D and VAR3D exist in full analogy to the keywords START1D and VAR1D in standard calculations (see above). The number always represents the level of the expansion term. Such calculations are termed multi-level calculations. There does not exist a corresponding set of keywords for the 4-body terms. 4-body terms will always use the variables specified for the 3-body terms (this restriction is lifted in the XSURF program.

Options

In 2D and 4D calculations (i.e. NDIM=2,4) the VMULT command can be used as well. In 4D calculations the last level must always be identical to the 3D level. In 2D the meaning of MULTI=1 and MULTI=3 is the same. Likewise, MULTI=2 and MULTI=4 are the same in case of 2D calculations. START2D and START3D define labels in the input stream in order to compute the 2D and 3D terms at different levels of electronic structure theory than the 1D terms. The use of the START2D and START3D commands usually requests the use of GOTO commands in the input. The keywords VAR2D and VAR3D are defined in full analogy to the VAR1D option. They specify the internal variable (e.g. ENERGY, EMP2, CCSD, …) to be read out for a given grid point.

The following example shows a 1D:CCSD(T)/cc-pVTZ; 2D:MP4(SDQ)/cc-pVTZ and 3D:MP2/cc-pVTZ multi-level calculation. As the MP2 energy is a byproduct of the CCSD(T) and MP4(SDQ) calculations only the 1D grid points will be computed twice (at the CCSD(T) and MP4(SDQ) levels). The 1D and 2D energies will be obtained from the internal variable ENERGY while the 3D energies make use of the EMP2 variable.

!options: --logfile-scratch
memory,50,m
orient,mass
geometry={
6
Ethene
C          0.0000000000        0.0000000000       -0.6685890718
C          0.0000000000        0.0000000000        0.6685890718
H          0.0000000000       -0.9240027061       -1.2338497710
H          0.0000000000        0.9240027061       -1.2338497710
H          0.0000000000        0.9240027061        1.2338497710
H          0.0000000000       -0.9240027061        1.2338497710
}

mass,iso
basis=vtz

hf
ccsd(t)
optg
freq,symm=auto

label1
int
{hf
 start,atden}
ccsd(t)
goto,label4

label2
int
{hf
 start,atden}
{mp4
 notripl}
goto,label4

label3
int
{hf
 start,atden}
mp2

label4
{xsurf,sym=auto
 vmult,start2D=label2,start3D=label3,Var3D=EMP2,Multi=3}
poly
vscf,pot=poly
vci,pot=poly

However, if you need a more specialized multi-level scheme, XSURF provides an expert mode. Within this you can for example change the method for 3D and 4D terms. When calculating an ab initio point for an $n$ dimensional body term, two aspects need to be considered. First, you may check whether information for higher-order terms can be retrieved from low-order terms, e.g. the MP2 energy is a byproduct of a CCSD calculation. Second, if the information cannot be retrieved, single-point calculations at different electronic structure levels may be repeated for the low-order terms. All this information is internally stored in a matrix. $$\begin{aligned} M&=&\left(\begin{array}{cccc} 1&0&-1&1\\ 0&1&-2&1\\ 0&0&1&1\\ 0&0&0&1 \end{array}\right)\end{aligned}$$ The columns of the matrix belong to the method and the lines to the dimension. The only important numbers are therefore the upper diagonals. A $1$ means calculate something and a number smaller than one, that the information is somewhere available. This matrix is an example for the following set of methods:

1D: CCSD(T)/cc-pVTZ
2D: CCSD(T)/cc-pVTZ
3D: MP2/cc-pVTZ
4D: HF/minao

For the other multi cases (see above) the matrix elements look like:

These expert multi level matrices can be set by MMAT(x,y)=n. Only non-zero elements need to be set.

Linear combinations of normal coordinates

LINCOMB,options

The LINCOMB directive allows for the calculation of linear combinations of normal coordinates for the expansion of the potential. This is realized by 2×2 Jacobi rotations. At most 3N-6/2 rotations can be provided in the input.

Options

Scaling of individual normal coordinates

SCALNM,options

The SCALNM directive allows for the scaling with respect to the individual normal coordinates or an automated scaling of all of them. This is the recommended choice for potentials dominated by quartic rather than quadratic terms. At most 3N-6 individual scale factors and shift parameters can be provided. In particular the AUTO option was found to be very helpful in practical applications.

Options

Fit Functions

FIT,options

A fit function has to be defined for each coordinate. These fit functions are used as an intermediate fit to generate a fine grid representation of the potential energy surface. The fit functions can be defined either by the user or automatically via cross-validation. If no electronic structure level for the cross-validation is provided by the user, polynomials are used as a default. This directive also exists in the POLY 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.

Options

Point Selection

POINTS,options

The positioning of the ab initio single points along a coordinate can be controlled by this directive. The default is currently an empirically fixed distribution. Alternatively one can use a positioning based on Gaussian process regression.

Options

Calculation of normal coordinates

VFREQ,options

Usually, the diplacements vectors of the normal coordinates are retrieved from a preceding harmonic frequency calculation called by the FREQ program. Alternatively, these vectors can be obtained from the XSURF program and the VFREQ directive. However, this alternative is solely based on a twofold numerical differentiation and does not take advantage out of analytical derivatives. However it offers a couple of options, which are not available in the FREQ program.

Options

Visualization and interfaces

GRAPH,options

The GRAPH directive is the interface to programs for visualizing potential terms and to provide potential information for any other programs in a most simple manner.

Options

Modeling of high-order n-body terms

REPAR,options

Within the framework of multi-level calculations (see the directive VMULT), 3D and 4D terms can be modeled. The modeling scheme is based on a reparametrization of the semiempirical AM1 method. Consequently, in the input stream the energy variable to be read in must refer to a semiempirical calculation. After the 2D terms the program optimizes the semiempirical parameters in order to represent the 1D and 2D surfaces best.

Options

The following example shows the input for a surface calculation in which the 3D terms will be modeled.

memory,20,m
orient,mass
geometry={
   3
Water
O          0.0675762564        0.0000000000       -1.3259214590
H         -0.4362118830       -0.7612267436       -1.7014971211
H         -0.4362118830        0.7612267436       -1.7014971211
}

hf
mp2
optg
freq

label1
abinitio
basis=vdz
int
rhf
mp2
goto,label4

label2
semi,am1
int
rhf

label4
{xsurf
 vmult,start2D=label1,start3D=label2,multi=4
 repar}
poly
vscf,pot=poly
vci,pot=poly

Error correction schemes

ALTER,options

The ALTER directive of the XSURF program allows to apply error correction schemes for individual single point calculations. For example, in case that the Hartree Fock calculation for a certain grid point did not converge and the ORBITAL directive in the subsequent electron correlation calculation uses the IGNORE_ERROR option, an alternative calculation scheme can be provided, e.g. MCSCF in contrast to RHF. It allows to apply error correction schemes for individual single point calculations. For example, in case that the Hartree Fock calculation for a certain grid point did not converge and the ORBITAL directive in the subsequent electron correlation calculation uses the IGNORE_ERROR option, an alternative calculation scheme can be provided, e.g. MCSCF in contrast to RHF. The ALTER directive always requests to specify a new label, which replaces the old one. If more than one label shall be replaced, the ALTER directive needs to be called repeatedly.

Options

Note that DFT calculations often still converge when RHF calculations already fail to do so. The following example demonstrates the use of the ALTER directive within a multi-level PES calculation. In case that the RHF calculation for the 1D or 2D terms does not converge, this will be recognized by the UCCSD(T)-F12a calculations. The option orbital,ignore_error=2 prevents a termination of Molpro and the programs tries to enforce convergence by the recipe specified below label5.

!options: --logfile-scratch
memory,500,m
gthresh,optgrad=1.d-7,twoint=1.d-14,prefac=1.d-16
geometry={
O   ,,     -0.4187902305    ,   -2.0024156961    ,    0.0000000000
N   ,,      0.9293931761    ,   -0.1403574221    ,    0.0000000000
N   ,,     -0.3385150234    ,    2.0246339597    ,    0.0000000000
H   ,,     -2.2504006895    ,    1.9819452952    ,    0.0000000000
H   ,,      0.6869538492    ,    3.6185403577    ,    0.0000000000
}

basis=vtz-f12
mass,iso

charge=1
{rhf
 start,atden}
uccsd(t)-f12a
optg
freq,symm=auto

{rhf
 start,atden}
{uccsd(t)-f12a,freeze_save=1891.2}

label1
symmetry,auto
charge=1
{rhf
 start,atden}
{uccsd(t)-f12a,freeze_start=1891.2;orbital,ignore_error=2}
goto,label4

label2
symmetry,nosym
charge=1
{uks,b3lyp
 start,atden}
goto,label4

label5
symmetry,nosym
basis=vtz-f12
int
{rhf
 start,atden
 save,2111.2}
{multi
 occ,13
 closed,11
 wf,23,1,1
 canonical,3111.2
 start,2111.2}
{rhf
 start,3111.2}
{uccsd(t)-f12a,freeze_start=1891.2}

label4
{xsurf,sym=auto
 alter,old=label1,new=label5
 vmult,start2D=label1,start3D=label2,multi=4
 disk,where=home,dump='N2H2O.pot'}

Deleting individual surfaces

DELETE,surface labels

The DELETE directive allows to eliminate individual surfaces within the multi-mode expansion of the potential. Unlike the SKIP keyword, this directive can only be used once a calculation is restarted from a completed potential energy surface calculation. This directive is meant for studying the impact of individual surfaces or to eleminate troublesome surfaces, which failed to converge in the iterative fitting procedure.

DELETE,i,j deletes the 2D surface $ij$
DELETE,i,j,k deletes the 3D surface $ijk$
DELETE,i,j,k,l deletes the 4D surface $ijkl$

Selection of Modes

VIBMODE,options

The VIBMODE directive allows to span the PES only with predefined modes. The following options can be combined in various ways.

Options

Interface to other programs

INTERFACE,options

The INTERFACE directive allows for the communication with other programs. It writes information about the individual grid points of a PES to an external ASCII file, which can be processed by other software. Likewise, files in the same structure with additional information from external programs can be read in. After reading in all data points, the date points will be transformed into a fine grid and fitted to polynomials.

Options

Grid Computing

XGRIDCOMP,options

The GRIDCOMP directive of the XSURF program allows to interface Molpro with a grid computing client such as Segl. It is also possible to use the grid computing interface without any grid computing client by using scripts, which will automatically been generated within the individual calls of XGRIDCOMP. The charge of the molecule as well as some other general commands are transferred to the individual grid point command files, which are printed out in the subdirectory points. If there are any doubts whether the specified command is transferred to the single point or not, the command should be given within the definition of the electronic structure calculations. Note, grid computing is needed is very special cases, when the standard “XSURF” procedure shall be bypassed.

Options

!options: --logfile-scratch
memory,50,m
orient,mass
geometry={
6
Ethene
C          0.0000000000        0.0000000000       -0.6685890718
C          0.0000000000        0.0000000000        0.6685890718
H          0.0000000000       -0.9240027061       -1.2338497710
H          0.0000000000        0.9240027061       -1.2338497710
H          0.0000000000        0.9240027061        1.2338497710
H          0.0000000000       -0.9240027061        1.2338497710
}

mass,iso
basis=vtz

hf
ccsd(t)
optg
freq,symm=auto

label1
int
{hf
 start,atden}
ccsd(t)
goto,label4

label2
int
{hf
 start,atden}
{mp4
 notripl}
goto,label4

label3
int
{hf
 start,atden}
mp2

label4
{xsurf,sym=auto
 xgridcomp,memory=10,loop=0
 vmult,start2D=label2,start3D=label3,Var3D=EMP2,Multi=3
 disk,where=home,dump='ethene.pot'}
vscf
vci

To generate a potential energy surface with the grid computing interface, follow these steps:

Extending existing potentials

VADD,options

In practice one may come to the conclusion that the $n$-mode expansion of an existing potential has been truncated too early and one needs to extend the order. Once the level of the electronic structure calculations shall not be changed between the highest existing order and the one to be added, one can simply restart the calculation from the exisiting restart file by increasing the option NDIM in the input stream. However, if one needs to alter the electronic structure level, the VADD directive needs to be used.

Options

Quality Check

CHECK,options

The CHECK directive of the XSURF program allows for a quality check of a completed surface. This routine simply computes the exact ab initio energies at randomly selected grid points and compares these values with the interpolated ones, which will be used subsequently for the determination of the wavefunction. This program is fully parallelized.

Options

Additional properties

EXTRADATA,options

The XSURF programs allows to compute energy surfaces, dipole surfaces and polarizability surfaces. In addition to that, arbitrary property surfaces can be generated and dumped into an external restart file.

Options

Recommendations

It is recommended to

THE OLD PES GENERATOR (SURF)

SURF,options

The old SURF program for generating potential energy surfaces is still implemented, but will no longer be supported in the future. The new and much improved XSURF code follows the same philosophy and many options are the same as in the old SURF code, but XSURF cannot read any potential files being generated by SURF. If you need to use the old SURF program, see older versions of the manual for the corresponding keywords.