Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
pes_generators [2020/06/12 13:08]
qianli [Options]
pes_generators [2022/02/28 08:35] (current)
rauhutmoschneide [Scaling of individual coordinates]
Line 28: Line 28:
 The following //options// are available: The following //options// are available:
  
 +  * **''BATCH3D''=//n//** After calculating a number of grid points within the iterative interpolation scheme the convergence of the individual surfaces will be checked and, if provided by the keyword ''DUMP'', dumped to disk. This leads typically to 3-5 iterations and thus the same number of restart points within the calculation of the 1D, 2D, ... surfaces. As the number of 3D and 4D terms can be very large this is not sufficient in these cases. Therefore, the lists of 3D and 4D terms is cut into batches which will be processed subsequently. ''BATCH3D'' and ''BATCH4D'' control the number of 3D and 4D surfaces within each batch. By default ''BATCH3D'' is set to 30 times the number of processors and ''BATCH4D'' to 10 times the number of processors. Accordingly the number of restart points is increased. Smaller values for ''BATCH3D'' and ''BATCH4D'', e.g. ''BATCH3D=20'', increase the number of restart points on cost of the efficiency of the parallelization. Note, this keyword is only relevant for ''SURF'' calculations, but not for ''XSURF'' runs.
 +  * **''DELLOG''=//n//** For large molecules or in the case of modelling the 3D and 4D terms, the .log-file may become huge. First of all the .log-file can be directed to scratch within the electronic structure program, i.e. ''logfile'', ''scratch''. The option ''DELLOG=1'' always truncates the .log-file in a way that it contains only the very last energy calculation. Default: ''DELLOG=0''.
 +  * **''EXT12D''=//value//** Outer regions of the potential energy surfaces may be determined by extrapolation rather than interpolation schemes. By default extrapolation is switched off, i.e. ''Ext12D=1.0'' and ''Ext34D=1.0''. However, an extrapolation of 10% in case of the 1D and 2D contributions to the potential (''Ext12D=0.9'') and of 20% in case of the 3D and 4D terms (''Ext34D=0.8'') may be useful as it usually stabilizes the fitting procedure.
 +  * **''FIT1D''=//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 8. 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.
 +  * **''INFO''=//n//** ''INFO=1'' provides a list of the values of all relevant program parameters (options). Default: ''INFO=0''.
 +  * **''MAX1D''=//n//** The maximum number of coarse grid points can be controlled by the keywords ''%%MAX1D, MAX2D, MAX3D, MAX4D%%''. These 4 keywords determine the maximum number of //ab initio// calculations in one dimension for each 1D, 2D, 3D and 4D surface. The defaults are currently ''MAX1D=24'', ''MAX2D=16'', ''MAX3D=10'', ''MAX4D=8''. Presently, values larger than 24 are not supported.
 +  * **''MIN1D''=//n//** The minimum number of coarse grid points can be controlled by the keywords ''%%MIN1D, MIN2D, MIN3D, MIN4D%%''. These 4 keywords determine the minimum number of //ab initio// calculations in one dimension for each 1D, 2D, 3D and 4D surface. The defaults are currently ''%%MIN1D=4, MIN2D=4, MIN3D=4, MIN4D=4%%''. Presently, values larger than 24 are not supported.
 +  * **''MPG''=//n//** Symmetry of the normal modes is recognized by the program automatically. Only Abelian point groups can be handled at the moment. Symmetry of the modes will be determined even if the ''NOSYM'' keyword is used in the electronic structure calculations. In certain cases numerical noise can be very high and thus prohibits a correct determination of the symmetry labels. Symmetry can be switched off by using ''MPG=1''.
 +  * **''NDIM''=//n//** The keyword ''NDIM=n'' terminates the expansion of the PES after the $n$-body term. Currently, at most 4-body terms can be included, but the default is set to 3. Please note, when you use ''NDIM=4'' as a keyword for the ''SURF'' program, you need to pass this information to the ''VSCF'' and ''VCI'' programs also. Otherwise these programs will neglect the 4-body terms.
 +  * **''NGRID''=//n//** Based on a coarse grid of //ab initio// points a fine grid will be generated from automated interpolation techniques. The keyword ''NGRID=n'' determines the number of equidistant grid points in one dimension. ''NGRID=n'' has to be an even number. The default is currently set to 16. Note that the number of grid points also controls the extension of the $n$-dimensional potential energy surfaces (see keyword ''SCALE'') and thus influences many internal thresholds which are optimized to the default value of ''NGRID''. The number of grid points also determines the number of basis functions in the grid-based ''VSCF'' program. At present the maximum grid size is 36.
  
-''NDIM''=//n// 
-The keyword ''NDIM=n'' terminates the expansion of the PES after the $n$-body term. Currently, at most 4-body terms can be included, but the default is set to 3. Please note, when you use ''NDIM=4'' as a keyword for the ''SURF'' program, you need to pass this information to the ''VSCF'' and ''VCI'' programs also. Otherwise these programs will neglect the 4-body terms. 
- 
-''NGRID''=//n// 
-Based on a coarse grid of //ab initio// points a fine grid will be generated from automated interpolation techniques. The keyword ''NGRID=n'' determines the number of equidistant grid points in one dimension. ''NGRID=n'' has to be an even number. The default is currently set to 16. Note that the number of grid points also controls the extension of the $n$-dimensional potential energy surfaces (see keyword ''SCALE'') and thus influences many internal thresholds which are optimized to the default value of ''NGRID''. The number of grid points also determines the number of basis functions in the grid-based ''VSCF'' program. At present the maximum grid size is 36. 
 ^Grid points        ^   14     16     18     20   ^ ^Grid points        ^   14     16     18     20   ^
 |Surface extension  |  4.30  |  4.69  |  5.05  |  5.39  | |Surface extension  |  4.30  |  4.69  |  5.05  |  5.39  |
  
-''VAR1D''=//variable// +  * **''ORIENT''** Allows to specify a certain orientation of the molecule. With ''ORIENT=//yes//'' (Default) the orientation is choosed automatically according to the asymmetric parameter of the moleculeTo choose a certain orientation, ''ORIENT=//XC//'' need to be set. X represents a number from 1 to 3 (in arabic or roman letters)and C need to be set to **r** or **l**For example, ''ORIENT=//IIl//'' orientates the molecule according to the **IIl** convention. ''ORIENT=//old//'' does not rotate the molecule at all 
-The ''SURF'' program reads the energy of electronic structure calculations from the internal Molpro variables, e.g. ''ENERGY'', ''EMP2'', $\dots$The internal variable is specified by the keyword ''VAR1D''. Within the example shown above, ''VAR1D=ENERGY'' would read the CCSD energy, while ''VAR1D=EMP2'' would read the MP2 energy, which is a byproduct of the CCSD calculationThe default for the ''VAR1D'' keyword is the internal variable ''ENERGY''+  * **''PLOT''=//n//** ''PLOT''=//n// plots all //n//D surfaces and a corresponding Gnuplot script in a separate subdirectory (''plots1'') in the //home//-directory in order to allow for visualization of the computed //n//D surfacesE.g. the command "gnuplot plotV1D.gnu" in the ''plots1'' directory produces .eps files for all 1D surfaces. Default: ''PLOT=0''
- +  * **''SADDLE''=//n//** Standard ''SURF'' calculations expect the reference structure to be a (local) minimum on the PES, i.e. ''SADDLE=0'' (default). Alternatively, one may start the PES generation from a transition state, which is recommended for the calculation of double-minimum potentialsThis situation is not recognized automatically and thus requires the keyword ''SADDLE=1''. Within ''XSURF'' calculations, this keyword needs not to be provided
-''SYM''=//variable// +  * **''SCALE''=//value//** The extension of the potential energy surfaces is determined from Gauss-Hermite quadrature points. Using a fine grid ''NGRID=16'' the surface stretches out to the ''NGRID''/2$^{th}$ Gauss-Hermite point, i.e. 4.69, in each direction (see keyword ''NGRID''). As these values are fairly large within the calculation of fundamental modes, a scaling factor, ''SCALE=f'', has been introduced. A default scaling of 0.75 is used. Increasing the size of the surfaces usually requires the calculation of further //ab initio// points as the surface interpolation is more stable for surfaces of limited size. Alternative to the ''SCALE'' option, which introduces a uniform scaling of all coordinates, individual scaling of the coordinates as provided by the directive ''SCALNM'' may be used. 
-Symmetry within electronic structure calculations can be exploited by the keyword ''SYM=Auto''. Usually this leads to significant time savingsBy default this symmetry recognition is switched off as certain calculations may cause some trouble (e.g. local correlation methods)Symmetry in electronic structure calculations may not be mistaken by the symmetry of the mode-coupling terms (see keyword ''MPG'')Once ''SYM=Auto'' is used, it is advisable to insert an ''INT'' card prior to the call of the Hartree-Fock program+  * **''SKIP3D''=//value//** As the number of 3D and 4D surfaces can increase very rapidly, there exists the possibility to neglect unimportant 3D and 4D surfaces by the keywords ''SKIP3D'' and ''SKIP4D''. The criterion for the prescreening of the 3D surfaces is based on the 2D terms and likewise for the 4D terms the 3D surfaces are used. The neglect of 3D surfaces automatically leads to the neglect of 4D surfaces, as the latter depend on the previous ones. By default prescreening is switched on, but can be switched off by ''SKIP3D=0.0'' and ''SKIP4D=0.0''
- +  * **''SYM''=//variable//** Symmetry within electronic structure calculations can be exploited by the keyword ''SYM=Auto''. Usually this leads to significant time savings. By default this symmetry recognition is switched off as certain calculations may cause some trouble (e.g. local correlation methods). Symmetry in electronic structure calculations may not be mistaken by the symmetry of the mode-coupling terms (see keyword ''MPG'')Once ''SYM=Auto'' is used, it is advisable to insert an ''INT'' card prior to the call of the Hartree-Fock program. 
-''MPG''=//n// +  * **''THRFIT''=//value//** The iterative algorithm for generating potential energy surfaces is based on successive increase of interpolation points. The iterations are terminated once the interpolation of two subsequent iteration steps became stable. The convergence threshold can be changed by the keyword ''THRFIT=f''There is currently just one control variable for the different 1D, 2D, 3D, and 4D iterationsThe 4 thresholds are different but depend on each otherConsequentlychanging the default value (''THRFIT=4.0d-2''will change all thresholds simultaneously which keeps the calculation balanced
-Symmetry of the normal modes is recognized by the program automatically. Only Abelian point groups can be handled at the momentSymmetry of the modes will be determined even if the ''NOSYM'' keyword is used in the electronic structure calculationsIn certain cases numerical noise can be very high and thus prohibits a correct determination of the symmetry labels. Symmetry can be switched off by using ''MPG=1''+  * **''TYPE''=//variable//** ''TYPE=QFF'' calls a macro, which modifies the parameters of the ''SURF'' program in order to compute a quartic force field in the most efficient manner. This implies a reduction of the size of the coupling surfaces and a limitation of the maximum number of points for the $n$D-terms. It should be used for VPT2 calculations. ''TYPE=ZPVE'' calls a macro, which changes the defaults for several parameters of the ''SURF'', ''VSCF'' and ''VCI'' programs. It is meant for the quick and efficient calculation of zero point vibrational energies on cost of some accuracy. For example, the expansion of the potential will be truncated after the 2D terms. As a consequence the output of course is reduced to the presentation of the vibrational ground state only. ''TYPE=FULL'' (default) performs a standard calculation as needed for ''VSCF'' or ''VCI'' calculations. Note that, within ''XSURF'' calculations, this keyword will be ignored, but Taylor expansions of the potential can be generated by using the ''VTAYLOR'' directive
- +  * **''USEMRCC''=//n//** Once the Mrcc program of M. Kallay or the Gecco program of A. Köhn is used for determining individual grid points, the option ''USEMRCC=1'' needs to be set, which is needed to ensure proper communication between Molpro and Mrcc. Default: ''USEMRCC=0''
-''SCALE''=//value// +  * **''VAR1D''=//variable//** The ''SURF'' program reads the energy of electronic structure calculations from the internal Molpro variables, e.g. ''ENERGY'', ''EMP2'', $\dots$. The internal variable is specified by the keyword ''VAR1D''Within the example shown above, ''VAR1D=ENERGY'' would read the CCSD energy, while ''VAR1D=EMP2'' would read the MP2 energy, which is byproduct of the CCSD calculationThe default for the ''VAR1D'' keyword is the internal variable ''ENERGY''
-The extension of the potential energy surfaces is determined from Gauss-Hermite quadrature points. Using a fine grid ''NGRID=16'' the surface stretches out to the ''NGRID''/2$^{th}$ Gauss-Hermite point, i.e. 4.69, in each direction (see keyword ''NGRID''). As these values are fairly large within the calculation of fundamental modes, a scaling factor, ''SCALE=f'', has been introduced. A default scaling of 0.75 is used. Increasing the size of the surfaces usually requires the calculation of further //ab initio// points as the surface interpolation is more stable for surfaces of limited size. Alternative to the ''SCALE'' option, which introduces a uniform scaling of all coordinates, individual scaling of the coordinates as provided by the directive ''SCALNM'' may be used. +  * **''VRC''=//n//** Once the keyword ''VRC=1'' is provided, the ''SURF'' program will also compute the vibrational-rotational coupling surfaces and thus increases the number of degrees of freedom to 3N-3Vibrational-rotational coupling surfaces can only be used within the ''PESTRANS'' program (see below), but will be neglected in any VSCF or VCI calculations.
- +
-''THRFIT''=//value// +
-The iterative algorithm for generating potential energy surfaces is based on a successive increase of interpolation points. The iterations are terminated once the interpolation of two subsequent iteration steps became stable. The convergence threshold can be changed by the keyword ''THRFIT=f''. There is currently just one control variable for the different 1D, 2D, 3D, and 4D iterations. The 4 thresholds are different but depend on each other. Consequently, changing the default value (''THRFIT=4.0d-2'') will change all thresholds simultaneously which keeps the calculation balanced. +
- +
-''FIT1D''=//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 8. 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. +
- +
-''MIN1D''=//n// +
-The minimum number of coarse grid points can be controlled by the keywords ''%%MIN1D, MIN2D, MIN3D, MIN4D%%''. These 4 keywords determine the minimum number of //ab initio// calculations in one dimension for each 1D, 2D, 3D and 4D surface. The defaults are currently ''%%MIN1D=4, MIN2D=4, MIN3D=4, MIN4D=4%%''. Presently, values larger than 24 are not supported. +
- +
-''MAX1D''=//n// +
-The maximum number of coarse grid points can be controlled by the keywords ''%%MAX1D, MAX2D, MAX3D, MAX4D%%''. These 4 keywords determine the maximum number of //ab initio// calculations in one dimension for each 1D, 2D, 3D and 4D surface. The defaults are currently ''MAX1D=24'', ''MAX2D=16'', ''MAX3D=10'', ''MAX4D=8''. Presently, values larger than 24 are not supported. +
- +
-''EXT12D''=//value// +
-Outer regions of the potential energy surfaces may be determined by extrapolation rather than interpolation schemes. By default extrapolation is switched off, i.e. ''Ext12D=1.0'' and ''Ext34D=1.0''. However, an extrapolation of 10% in case of the 1D and 2D contributions to the potential (''Ext12D=0.9'') and of 20% in case of the 3D and 4D terms (''Ext34D=0.8'') may be useful as it usually stabilizes the fitting procedure. +
- +
-''SKIP3D''=//value// +
-As the number of 3D and 4D surfaces can increase very rapidly, there exists the possibility to neglect unimportant 3D and 4D surfaces by the keywords ''SKIP3D'' and ''SKIP4D''. The criterion for the prescreening of the 3D surfaces is based on the 2D terms and likewise for the 4D terms the 3D surfaces are used. The neglect of 3D surfaces automatically leads to the neglect of 4D surfaces, as the latter depend on the previous ones. By default prescreening is switched on, but can be switched off by ''SKIP3D=0.0'' and ''SKIP4D=0.0''+
- +
-''VRC''=//n// +
-Once the keyword ''VRC=1'' is provided, the ''SURF'' program will also compute the vibrational-rotational coupling surfaces and thus increases the number of degrees of freedom to 3N-3Vibrational-rotational coupling surfaces can only be used within the ''PESTRANS'' program (see below), but will be neglected in any VSCF or VCI calculations+
- +
-''BATCH3D''=//n// +
-After calculating number of grid points within the iterative interpolation scheme the convergence of the individual surfaces will be checked and, if provided by the keyword ''DUMP'', dumped to diskThis leads typically to 3-5 iterations and thus the same number of restart points within the calculation of the 1D, 2D, ... surfaces. As the number of 3D and 4D terms can be very large this is not sufficient in these cases. Thereforethe lists of 3D and 4D terms is cut into batches which will be processed subsequently''BATCH3D'' and ''BATCH4D'' control the number of 3D and 4D surfaces within each batchBy default ''BATCH3D'' is set to 30 times the number of processors and ''BATCH4D'' to 10 times the number of processors. Accordingly the number of restart points is increased. Smaller values for ''BATCH3D'' and ''BATCH4D''e.g. ''BATCH3D=20'', increase the number of restart points on cost of the efficiency of the parallelization. +
- +
-''SADDLE''=//n// +
-Standard ''SURF'' calculations expect the reference structure to be a (local) minimum on the PES, i.e. ''SADDLE=0'' (default). Alternatively, one may start the PES generation from a transition state, which is recommended for the calculation of double-minimum potentialsThis situation is not recognized automatically and thus requires the keyword ''SADDLE=1''+
- +
-''TYPE''=//variable// +
-''TYPE=QFF'' calls a macro, which modifies the parameters of the ''SURF'' program in order to compute a quartic force field in the most efficient manner. This implies a reduction of the size of the coupling surfaces and a limitation of the maximum number of points for the $n$D-terms. It should be used for VPT2 calculations. ''TYPE=ZPVE'' calls a macro, which changes the defaults for several parameters of the ''SURF'', ''VSCF'' and ''VCI'' programs. It is meant for the quick and efficient calculation of zero point vibrational energies on cost of some accuracy. For example, the expansion of the potential will be truncated after the 2D terms. As a consequence the output of course is reduced to the presentation of the vibrational ground state only. ''TYPE=FULL'' (default) performs a standard calculation as needed for ''VSCF'' or ''VCI'' calculations. +
- +
-''USEMRCC''=//n// +
-Once the Mrcc program of M. Kallay is used for determining individual grid points, the option ''USEMRCC=1'' needs to be set, which is needed to ensure proper communication between Molpro and Mrcc. Default: ''USEMRCC=0''+
- +
-''DELLOG''=//n// +
-For large molecules or in the case of modelling the 3D and 4D terms, the .log-file may become huge. First of all the .log-file can be directed to scratch within the electronic structure programi.e. ''logfile'', ''scratch''. The option ''DELLOG=1'' always truncates the .log-file in a way that it contains only the very last energy calculation. Default: ''DELLOG=0''+
- +
-''INFO''=//n// +
-''INFO=1'' provides list of the values of all relevant program parameters (options)Default: ''INFO=0''+
- +
-''PLOT''=//n// +
-''PLOT''=//n// plots all //n//D surfaces and a corresponding Gnuplot script in a separate subdirectory (''plots1'') in the //home//-directory in order to allow for visualization of the computed //n//surfaces. E.g. the command "gnuplot plotV1D.gnu" in the ''plots1'' directory produces .eps files for all 1D surfaces. Default: ''PLOT=0''.+
  
 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. 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.
Line 129: Line 92:
 ''VMULT'',//options// ''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.+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.
  
  
Line 257: Line 220:
 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 VARDIP//n//D[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. 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 VARDIP//n//D[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.
  
-Allows to switch between the different dipole surface calculations.=0 switches off all dipole calculations. ''DIPOLE''=1 (this is the default) computes the dipole surfaces at the Hartree Fock level of theory, and therefore does not increase the computation time of electronic structure theory. ''DIPOLE''=2 switches on the dipole surfaces at the full level of theory, therefore ''%%CPHF,1%%'' is required. This effectively doubles the computation time for surface calculations. +  * **''DIPOLE''=//n//** Allows to switch between the different dipole surface calculations.=0 switches off all dipole calculations. ''DIPOLE''=1 (this is the default) computes the dipole surfaces at the Hartree Fock level of theory, and therefore does not increase the computation time of electronic structure theory. ''DIPOLE''=2 switches on the dipole surfaces at the full level of theory, therefore ''%%CPHF,1%%'' is required. This effectively doubles the computation time for surface calculations. 
- +  * **''NDIMDIP''=//n//** This denotes the term after which the $n$-body expansion of the dipole surfaces is truncated. The default is set to 3. Note that ''NDIMDIP'' has to be lower or equal to ''NDIM''
-By default (''POLAR''=0) Raman intensities will not be computed. ''POLAR''=1 switches the calculation of polarizability tensor surfaces on. Note that currently only Hartree-Fock and MP2 polarizabilities are supported, which requires the ''POLARI'' keyword in the respective programs. Besides that, the frozen core approximation cannot yet be employed within the calculation of MP2 polarizabilities. +  * **''NDIMPOL''=//n//** This variable denotes the term after which the $n$-body expansion of the polarizability tensor surfaces is truncated. The default is set to 2. Note that ''NDIMPOL'' has to be lower or equal to ''NDIM'' and must be smaller than 4. 
- +  * **''POLAR''=//n//** By default (''POLAR''=0) Raman intensities will not be computed. ''POLAR''=1 switches the calculation of polarizability tensor surfaces on. Note that currently only Hartree-Fock and MP2 polarizabilities are supported, which requires the ''POLARI'' keyword in the respective programs. Besides that, the frozen core approximation cannot yet be employed within the calculation of MP2 polarizabilities. 
-This denotes the term after which the $n$-body expansion of the dipole surfaces is truncated. The default is set to 3. Note that ''NDIMDIP'' has to be lower or equal to ''NDIM''+  * **''VARDIP1DX''=//variable//** Variable which is used for the $x$ direction of the dipole moment for 1D surfaces. 
- +  * **''VARDIP1DY''=//variable//** Variable which is used for the $y$ direction of the dipole moment for 1D surfaces. 
-This variable denotes the term after which the $n$-body expansion of the polarizability tensor surfaces is truncated. The default is set to 2. Note that ''NDIMPOL'' has to be lower or equal to ''NDIM'' and must be smaller than 4. +  * **''VARDIP1DZ''=//variable//** Variable which is used for the $z$ direction of the dipole moment for 1D surfaces. 
- +  * **''VARPOL1DXX''=//variable//** Variable which is used for the $xx$ component of the polarizability tensor for 1D surfaces. 
-Variable which is used for the $x$ direction of the dipole moment for 1D surfaces. +  * **''VARPOL1DYY''=//variable//** Variable which is used for the $yy$ component of the polarizability tensor for 1D surfaces. 
- +  * **''VARPOL1DZZ''=//variable//** Variable which is used for the $zz$ component of the polarizability tensor for 1D surfaces. 
-Variable which is used for the $y$ direction of the dipole moment for 1D surfaces. +  * **''VARPOL1DXY''=//variable//** Variable which is used for the $xy$ component of the polarizability tensor for 1D surfaces. 
- +  * **''VARPOL1DXZ''=//variable//** Variable which is used for the $xz$ component of the polarizability tensor for 1D surfaces. 
-Variable which is used for the $z$ direction of the dipole moment for 1D surfaces. +  * **''VARPOL1DYZ''=//variable//** Variable which is used for the $yz$ component of the polarizability tensor for 1D surfaces.
- +
-Variable which is used for the $xx$ component of the polarizability tensor for 1D surfaces. +
- +
-Variable which is used for the $yy$ component of the polarizability tensor for 1D surfaces. +
- +
-Variable which is used for the $zz$ component of the polarizability tensor for 1D surfaces. +
- +
-Variable which is used for the $xy$ component of the polarizability tensor for 1D surfaces. +
- +
-Variable which is used for the $xz$ component of the polarizability tensor for 1D surfaces. +
- +
-Variable which is used for the $yz$ component of the polarizability tensor for 1D surfaces.+
  
 The higher order terms VARDIP//n//D[X,Y,Z] and VARPOL//n//D[XX,$\dots$,YZ] can be defined the same way. An example for a calculation, which provides both, infrared and Raman intensities, is given below. The higher order terms VARDIP//n//D[X,Y,Z] and VARPOL//n//D[XX,$\dots$,YZ] can be defined the same way. An example for a calculation, which provides both, infrared and Raman intensities, is given below.
Line 305: Line 256:
 ''ALTER'',//options// ''ALTER'',//options//
  
-The ''ALTER'' directive of the ''SURF'' 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. In the case of //multi level// calculations the ''ALT2D'' and ''ALT3D'' options can be set according to the ''START2D'' and ''START3D'' options. Note that the energy variable has to be the same in the original method and the alternative.+The ''ALTER'' directive of the ''SURF'' 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. In the case of //multi level// calculations the ''ALT2D'' and ''ALT3D'' options can be set according to the ''START2D'' and ''START3D'' options. Note that the energy variable has to be the same in the original method and the alternative. Within the ''XSURF'' program the ''ALTER'' directive is defined in a different way.
  
   * **''ALT1D''=//label//** Alternative procedure to calculate the single points of the 1st level.   * **''ALT1D''=//label//** Alternative procedure to calculate the single points of the 1st level.
Line 328: Line 279:
 ''LINCOMB'',//options// ''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 2x2 Jacobi rotations. At most 3N-6/2 rotations can be provided in the input. Using an angle of 45$^o$ between the degenerate modes of non-Abelian molecules avoids symmetry breaking in the subsequent ''VSCF'' and ''VCI'' calculations.+The ''LINCOMB'' directive allows for the calculation of linear combinations of normal coordinates for the expansion of the potential. This is realized by 2x2 Jacobi rotations. At most 3N-6/2 rotations can be provided in the input.
  
-  * **''NM1''=//n//, ''NM2''=//m//** Denotes the normal coordinates to be rotated. 
   * **''ANGLE''=//value//** Rotation angle in degree.   * **''ANGLE''=//value//** Rotation angle in degree.
   * **''LOCAL''=//n//** ''LOCAL''=1 localizes the normal coordinates of the CH-stretchings. Note that this destroys symmetry of these modes. Usually localization has strong impact on subsequent ''VSCF'' calculations. ''LOCAL''=3 localizes the normal coordinates of a molecular cluster to the contributing entities. This localization scheme localizes within the individual irreps, which usually leads to a very faint localization. Switching symmetry off by ''MPG''=1 in the ''SURF'' program leads to a much stronger localization. ''LOCAL''=2 is a combination of ''LOCAL''=1 and ''LOCAL''=3.   * **''LOCAL''=//n//** ''LOCAL''=1 localizes the normal coordinates of the CH-stretchings. Note that this destroys symmetry of these modes. Usually localization has strong impact on subsequent ''VSCF'' calculations. ''LOCAL''=3 localizes the normal coordinates of a molecular cluster to the contributing entities. This localization scheme localizes within the individual irreps, which usually leads to a very faint localization. Switching symmetry off by ''MPG''=1 in the ''SURF'' program leads to a much stronger localization. ''LOCAL''=2 is a combination of ''LOCAL''=1 and ''LOCAL''=3.
 +  * **''NM1''=//n//, ''NM2''=//m//** Denotes the normal coordinates to be rotated.
   * **''THRLOC''=//value//** (=1.0d-6 Default) Threshold within the localization procedure.   * **''THRLOC''=//value//** (=1.0d-6 Default) Threshold within the localization procedure.
  
Line 341: Line 292:
 The ''SCALE'' option of the ''SURF'' program enables a modification of the extension of all difference potentials by a common factor. In contrast to that the ''SCALNM'' directive allows for the scaling with respect to the individual normal coordinates. 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. The ''SCALE'' option of the ''SURF'' program enables a modification of the extension of all difference potentials by a common factor. In contrast to that the ''SCALNM'' directive allows for the scaling with respect to the individual normal coordinates. 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.
  
 +  * **''AUTO''=//on / off//** ''AUTO''=//on// (default) switches on an automatic scaling procedure of the potential in order to determine meaningful elongations and ''SHIFT'' values with respect to all coordinates, i.e. for each normal mode an optimized scaling parameter ''SFAC'' and ''SHIFT'' parameter will be determined. Usually this results in an increased number of 1D grid points. The ''AUTO'' keyword intrinsically depends on the thresholds and parameters, which can be controlled by the keywords ''THRSHIFT'', ''ITMAX'', ''LEVMAX'', ''DENSMAX'', and ''DENSMIN''.
 +  * **''DENSMAX''=//value//** Threshold for the maximum vibrational density on the edges of the potential needed for the automated upscaling of the potentials (see keyword ''AUTO'').
 +  * **''DENSMIN''=//value//** Threshold for the minimum vibrational density on the edges of the potential needed for the automated downscaling of the potentials (see keyword ''AUTO'').
 +  * **''ITMAX''=//n//** Specifies the maximum number of iterations within the automatic scaling of the potentials (see Keyword ''AUTO'').
 +  * **''LEVMAX''=//n//** Maximum number of vibrational states to be included for controlling the automated scaling and shifting procedure. The default is set to 5. This value should support subsequent VCI calculations.
   * **''MODE''=//n//** Denotes the normal coordinate to be scaled or shifted.   * **''MODE''=//n//** Denotes the normal coordinate to be scaled or shifted.
   * **''SFAC''=//value//** Scaling factor for mode ''MODE''. The default is 1.0.   * **''SFAC''=//value//** Scaling factor for mode ''MODE''. The default is 1.0.
   * **''SHIFT''=//n//** Allows to shift the potential with respect to the specified coordinate by //n// or //-n// grid points, respectively. Default: ''SHIFT=0''.   * **''SHIFT''=//n//** Allows to shift the potential with respect to the specified coordinate by //n// or //-n// grid points, respectively. Default: ''SHIFT=0''.
-  * **''AUTO''=//on / off//** ''AUTO''=//on// (defaulr) switches on an automatic scaling procedure of the potential in order to determine meaningful elongations and ''SHIFT'' values with respect to all coordinates, i.e. for each normal mode an optimized scaling parameter ''SFAC'' and ''SHIFT'' parameter will be determined. Usually this results in an increased number of 1D grid points. The ''AUTO'' keyword intrinsically depends on the thresholds and parameters, which can be controlled by the keywords ''THRSHIFT'', ''ITMAX'', ''LEVMAX'', ''DENSMAX'', and ''DENSMIN''. 
-  * **''ITMAX''=//n//** Specifies the maximum number of iterations within the automatic scaling of the potentials (see Keyword ''AUTO''). 
   * **''THRSHIFT''=//value//** Threshold controlling the automated shifting of potentials as obtained from the state densities on the lhs and rhs of the potentials. The default is given as ''THRSHIFT=0.05''.   * **''THRSHIFT''=//value//** Threshold controlling the automated shifting of potentials as obtained from the state densities on the lhs and rhs of the potentials. The default is given as ''THRSHIFT=0.05''.
-  * **''LEVMAX''=//n//** Maximum number of vibrational states to be included for controlling the automated scaling and shifting procedure. The default is set to 5. This value should support subsequent VCI calculations. 
-  * **''DENSMAX''=//value//** Threshold for the maximum vibrational density on the edges of the potential needed for the automated upscaling of the potentials (see keyword ''AUTO''). 
-  * **''DENSMIN''=//value//** Threshold for the minimum vibrational density on the edges of the potential needed for the automated downscaling of the potentials (see keyword ''AUTO''). 
  
 ==== Deleting individual surfaces ==== ==== Deleting individual surfaces ====
Line 367: Line 318:
 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. 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.
  
-  * **''RMS1D''=//value//** The keywords ''RMS1D'' and ''RMS2D'' specify the threshold for terminating the 1D and 2D iterations in the local optimization of the semiempirical parameters. The defaults are given by ''RMS1D''=1.d-6 and ''RMS2D''=1.d-6. 
   * **''ITMAX1D''=//n//** The maximum number of iterations in the local optimization of the semiempirical parameters can be controlled by ''ITMAX1D'' and ''ITMAX2D''. The defaults are ''ITMAX1D''=100 and ''ITMAX2D''=150.   * **''ITMAX1D''=//n//** The maximum number of iterations in the local optimization of the semiempirical parameters can be controlled by ''ITMAX1D'' and ''ITMAX2D''. The defaults are ''ITMAX1D''=100 and ''ITMAX2D''=150.
 +  * **''RMS1D''=//value//** The keywords ''RMS1D'' and ''RMS2D'' specify the threshold for terminating the 1D and 2D iterations in the local optimization of the semiempirical parameters. The defaults are given by ''RMS1D''=1.d-6 and ''RMS2D''=1.d-6.
  
 The following example shows the input for a surface calculation in which the 3D terms will be modeled. The following example shows the input for a surface calculation in which the 3D terms will be modeled.
Line 510: Line 461:
  
  
-[\tt Problem:]+**Problem:**
 The Surf calculation crashes with an error message like The Surf calculation crashes with an error message like
 <code> <code>
Line 517: Line 468:
  CURRENT STACK:      MAIN  CURRENT STACK:      MAIN
 </code> </code>
-[\tt Solution:]+ 
 +**Solution:**
 The program has problems in the symmetry conversion when restarting a Hartree-Fock calculation from the reference calculation at the equilibrium geometry. You need to start the Hartree-Fock calculations independently by using the keywords ''%%start,atden%%''. The program has problems in the symmetry conversion when restarting a Hartree-Fock calculation from the reference calculation at the equilibrium geometry. You need to start the Hartree-Fock calculations independently by using the keywords ''%%start,atden%%''.
  
  
-[\tt Problem:]+**Problem:**
 In parallel calculations (mppx) the CPU-time of a ''SURF'' calculation differs considerably from the real-time (wallclock time). In parallel calculations (mppx) the CPU-time of a ''SURF'' calculation differs considerably from the real-time (wallclock time).
-[\tt Solution:]+ 
 +**Solution:**
 There may be two reasons for this: (1) Usually a ''SURF'' calculation spends a significant amount of the total time in the Hartree-Fock program and the 2-electron integrals program. As the integrals are stored on disk, 2 processes on the same machine may write on disk at the same time and thus the calculation time depends to some extend on the disk controller. It is more efficient to stripe several disks and to use several controllers. This problem can be circumvented by distributing the job over several machines, but limiting the number of processors for each machine to 1. (2) The integrals program buffers the integrals. Parallel jobs may require too much memory (factor of 2 plus the shared memory) and thus the integrals buffering will be inefficient. Try to reduce the memory as much as you can. It might be advantageous to separate the memory demanding ''VCI'' calculation from the ''SURF'' calculation. There may be two reasons for this: (1) Usually a ''SURF'' calculation spends a significant amount of the total time in the Hartree-Fock program and the 2-electron integrals program. As the integrals are stored on disk, 2 processes on the same machine may write on disk at the same time and thus the calculation time depends to some extend on the disk controller. It is more efficient to stripe several disks and to use several controllers. This problem can be circumvented by distributing the job over several machines, but limiting the number of processors for each machine to 1. (2) The integrals program buffers the integrals. Parallel jobs may require too much memory (factor of 2 plus the shared memory) and thus the integrals buffering will be inefficient. Try to reduce the memory as much as you can. It might be advantageous to separate the memory demanding ''VCI'' calculation from the ''SURF'' calculation.
  
Line 531: Line 484:
 ''XSURF'',//options// [xsurf] ''XSURF'',//options// [xsurf]
  
-The ''XSURF'' program is not just an extension of the old ''SURF'' program, but a new program, which works in a completely different manner. However, the syntax for controlling it is very much the same as for the ''SURF'' program. In contrast to the ''SURF'' program, ''XSURF'' can handle $n$-mode and Taylor expansions of the PES of arbitrary order. Moreover, it can handle any kind of symmetry, e.g. non-Abelian point groups or permutational symmetry, Besides that it offers a much more flexible multi-level input and many more options of minor importance. Most importantly, ''XSURF'' calculations can be restarted at any point and the external restart files are much smaller and have a completely different structure. In the following, only those options and directives will be listed, which are not valid for the ''SURF'' program or which differ considerably.+The ''XSURF'' program is not just an extension to the old ''SURF'' program, but a new program, which works in a completely different manner. However, the syntax for controlling it is very much the same as for the ''SURF'' program. In contrast to the ''SURF'' program, ''XSURF'' can handle $n$-mode and Taylor expansions of the PES of arbitrary order. Moreover, it can handle any kind of symmetry, e.g. non-Abelian point groups or permutational symmetry, Besides that it offers a much more flexible multi-level input and many more options of minor importance. Most importantly, ''XSURF'' calculations can be restarted at any point and the external restart files are much smaller and have a completely different structure. In the following, only those options and directives will be listed, which are not valid for the ''SURF'' program or which differ considerably. The ''XSURF'' program does no longer support a number of keywords being relevant for the ''SURF'' program, e.g. ''BATCH'' and ''VRC''. The ''SADDLE'' keyword is no longer needed as ''XSURF'' will recognize automatically if the expansion point is a minimum or a transition state. Moreover, the keywords ''NDIM'', ''NDIMDIP'' and ''NDIMPOL'' are no longer restricted to values between 1 and 4.\\ 
 +B. Ziegler, G. Rauhut, //Rigorous use of symmetry within the construction of multidimensional potential energy surfaces//, [[https://dx.doi.org/10.1063/1.5047912|J. Chem. Phys.]] **149**, 164110 (2018).\\ 
 +B. Ziegler, G. Rauhut, //Localized Normal Coordinates in Accurate Vibrational Structure Calculations: Benchmarks for Small Molecules//, [[https://dx.doi.org/10.1021/acs.jctc.9b00381|J. Chem. Theory Comput.]] **15**, 4187 (2019)\\ 
  
 ==== Options ==== ==== Options ====
  
-  * **''CORRECT''=//n//** (=1 (on) Default) If a certain subsurface does not converge despite increasing the number of ab initio calculations, symmetry in this subsurface (if any) will be neglected in order to avoid any errors due to inaccuracies in the displacement vectors and the subsurface will be recalculated accordingly. This option will automatically switched off in any Taylor expansions of the PES.+    **''AUTOFIT''=//n//** (=0 Default) If ''AUTOFIT''=1, the number of basis function for fitting the grid points is determined automatically. To do so, the fine grid of the energy is compared to the coarse grid points. If the deviation is too high, another basis function is added. The procedure starts with 8 basis functions and stops at the latest at ''FITXD_MAX'' basis functions. Once 'AUTOFIT' is used, the keywords ''FITXD'' does not have any use. 
 +  * **''CORRECT''=//n//** (=1 (on) Default) If a certain subsurface does not converge despite increasing the number of ab initio calculations, symmetry in this subsurface (if any) will be neglected in order to avoid any errors due to inaccuracies in the displacement vectors and the subsurface will be recalculated accordingly. This option is automatically switched off in any Taylor expansions of the PES
 +  * **''FITXD_MAX''=//n//**(=10 Default) For the automated procedure with ''AUTOFIT'' an upper limit for the number of basis functions can be set with this keyword.
   * **''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).   * **''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).
   * **''INFO''=//n//** (=1 Default) ''INFO''=0 suppresses any information about the program parameters and symmetry information. ''INFO''=1 refers to the standard output, while ''INFO''=2 provides additional information about the symmetry recognition.   * **''INFO''=//n//** (=1 Default) ''INFO''=0 suppresses any information about the program parameters and symmetry information. ''INFO''=1 refers to the standard output, while ''INFO''=2 provides additional information about the symmetry recognition.
Line 542: Line 500:
   * **''NSA''=//n//** (=1 Default) This option prints out some information about the progress of the ''XSURF'' calculation. ''NSA''=1 prints this information is an additional file, which will be deleted once the ''XSURF'' calculation is completed, ''NSA''=2 prints this information to the console.   * **''NSA''=//n//** (=1 Default) This option prints out some information about the progress of the ''XSURF'' calculation. ''NSA''=1 prints this information is an additional file, which will be deleted once the ''XSURF'' calculation is completed, ''NSA''=2 prints this information to the console.
   * **''ONLYFREQ''=//n//** (=0 (off) Default) If set to 1, the ''XSURF'' calculation will be terminated after writing the header of the external restart file, i.e. prior to the calculation of the 1D terms.   * **''ONLYFREQ''=//n//** (=0 (off) Default) If set to 1, the ''XSURF'' calculation will be terminated after writing the header of the external restart file, i.e. prior to the calculation of the 1D terms.
-  * **''POINT_SCHEME''=//variable//** (=''NOSHIFT'' Default) The distribution of ab initio points along a coordinate is determined by a fixed point scheme. This distribution has been generated for potentials, which have not been shifted. For strongly shifted potentials, improved point scheme can be used by the option ''POINT_SCHEME''=''SHIFT''.+  * **''POINT_SCHEME''=//variable//** (=''NOSHIFT'' Default) The distribution of ab initio points along a coordinate is determined by a fixed point scheme. This distribution has been generated for potentials, which have not been shifted. For strongly shifted potentials, improved point schemes can be used by the option ''POINT_SCHEME''=''SHIFT''.
   * **''RDM''=//n//** (=0 (off) Default) Degenerate modes can be rotated in a manner, that the corresponding 1D potentials will be identical. By default, this feature is switched off, but can be activated by ''RDM''=1. Typically this results in rotational angles of 45 or 135 degrees.   * **''RDM''=//n//** (=0 (off) Default) Degenerate modes can be rotated in a manner, that the corresponding 1D potentials will be identical. By default, this feature is switched off, but can be activated by ''RDM''=1. Typically this results in rotational angles of 45 or 135 degrees.
   * **''RDM_THR''=//n//** (=1.0d-10 Default) This threshold controls, if the potentials of two degenerate modes are identical or not. See the keyword ''RDM''=//n//.   * **''RDM_THR''=//n//** (=1.0d-10 Default) This threshold controls, if the potentials of two degenerate modes are identical or not. See the keyword ''RDM''=//n//.
-  * **''SKIP''=//n//** (=(off) Default) By default, (pre)screening of any terms higher than 2D of the PES expansion is switched off. It can be activated by ''SKIP''=1.+  * **''SKIP''=//n//** (=(on) Default) By default, (pre)screening of any terms higher than 2D of the PES expansion is switched on. It can be deactivated by ''SKIP''=0.
   * **''SKIPCRIT''=//n//** (=1 Default) ''SKIPCRIT'' defines the method and thus the criterion for (pre)screening of the high-order terms of the PES expansion. ''SKIPCRIT''=1 activates prescreening and ''SKIPCRIT''=2 screening. In the latter case a label must be defined (see ''SKIPLABEL'').   * **''SKIPCRIT''=//n//** (=1 Default) ''SKIPCRIT'' defines the method and thus the criterion for (pre)screening of the high-order terms of the PES expansion. ''SKIPCRIT''=1 activates prescreening and ''SKIPCRIT''=2 screening. In the latter case a label must be defined (see ''SKIPLABEL'').
   * **''SKIPLAB''=//variable//** The name of the label in the input stream must be defined, which determines the electronic structure level to be used for screening the high-order terms of a PES expansion.   * **''SKIPLAB''=//variable//** The name of the label in the input stream must be defined, which determines the electronic structure level to be used for screening the high-order terms of a PES expansion.
Line 555: Line 513:
   * **''THRSED''=//value//** (=1.0d-6 Default) Threshold for determining symmetry elements of the molecule.   * **''THRSED''=//value//** (=1.0d-6 Default) Threshold for determining symmetry elements of the molecule.
   * **''THRSYMx''=//value//** ($x$=1,2,...) Threshold used for recognizing symmetry within a subsurface of the PES expansion - in dependence on the order of the expansion term. The defaults are ''THRSYM1''=5.0d-5, ''THRSYM2''=1.0d-5,''THRSYM3''=5.0d-6,''THRSYM4''=5.0d-6,''THRSYM5''=1.0d-7.   * **''THRSYMx''=//value//** ($x$=1,2,...) Threshold used for recognizing symmetry within a subsurface of the PES expansion - in dependence on the order of the expansion term. The defaults are ''THRSYM1''=5.0d-5, ''THRSYM2''=1.0d-5,''THRSYM3''=5.0d-6,''THRSYM4''=5.0d-6,''THRSYM5''=1.0d-7.
 +  * **''DELAUTO''=//variable//**(=//off// Default) If ''DELAUTO''=//on//, all not converged surfaces of the highest considered dimension are deleted. It only works after a restart from an external potfile.
  
 +==== 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.
 +
 +  * **''ENERGHIGH''=//x//** Modes with a frequency lower than **x** are used to span the surface (according to the harmonic frequencies)
 +  * **''ENERGLOW''=//x//** Modes with a frequency higher than **x** are used to span the surface (according to the harmonic frequencies)
 +  * **''HIGH''=//n//** the highest **n** modes are used to span the surface
 +  * **''LOW''=//n//** the lowest **n** modes are used to span the surface
 +  * **''MODE''=//n//** Mode which is used to span the surface (can be used multiple times)
 ==== Visualisation and interfaces ==== ==== Visualisation and interfaces ====
  
Line 562: Line 531:
 The ''GRAPH'' directive is the interface to programs for visualising potential terms and to provide potential information for any other programs in a most simple manner. The ''GRAPH'' directive is the interface to programs for visualising potential terms and to provide potential information for any other programs in a most simple manner.
  
-  * **''NDIM''=//n//** (=0 Default) This keyword writes all //n//D surfaces and a corresponding Gnuplot script in a separate subdirectory (''plots1'') in the //home//-directory in order to allow for visualization of the computed //n//D surfaces. E.g. the command "gnuplot plotV1D.gnu" in the ''plots1'' directory produces .eps files for all 1D surfaces. This keyword corresponds to the ''PLOT'' keyword of the ''SURF'' program. +  * **''DIRECTORY''=//path//** (=./plots1 Default) Path or name of the directory to be specified for dumping the files for visualisation. See the keyword ''NDIM''.
-  * **''DIRECTORY''=//path//** (=./plots Default) Path or name of the directory to be specified for dumping the files for visualisation. See the keyword ''NDIM''+
-  * **''MOLDEN''=//file name//** This allows to dump a file, which can directly read in by the Molden or Wxmacmolplot programs. This allows for the visualisation of the geometry and the harmonic frequencies of the molecule.+
   * **''GEOM''=//file name//** This option dumps the xyz coordinates of all structures used within the electronic structure calculations into an ASCII file.   * **''GEOM''=//file name//** This option dumps the xyz coordinates of all structures used within the electronic structure calculations into an ASCII file.
 +  * **''MOLDEN''=//file name//** This allows to dump a file, which can directly read in by the Molden or Wxmacmolplot programs. This allows for the visualisation of the geometry and the harmonic frequencies of the molecule.
 +  * **''NDIM''=//n//** (=0 Default) This keyword writes all //n//D surfaces and a corresponding Gnuplot script in a separate subdirectory (''plots1'') in the //home//-directory in order to allow for visualization of the computed //n//D surfaces. E.g. the command "gnuplot plotV1D.gnu" in the ''plots1'' directory produces .eps files for all 1D surfaces. This keyword corresponds to the ''PLOT'' keyword of the ''SURF'' program.
  
 ==== Error correction schemes ==== ==== Error correction schemes ====
Line 571: Line 540:
 ''ALTER'',//options// ''ALTER'',//options//
  
-AS the ''ALTER'' directive of the ''SURF'' program was slightly confusing, it has been completely redefined for the ''XSURF'' program. 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.+As the ''ALTER'' directive of the ''SURF'' program was slightly confusing, it has been completely redefined for the ''XSURF'' program. 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.
  
   * **''NEW''=//label//** Specification of the new label.   * **''NEW''=//label//** Specification of the new label.
Line 714: Line 683:
 ''VFREQ'',//options// ''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 ''VFREF'' 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.+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.
  
   * **''COORD''=//n//** (=2 Default) Symmetry adapted coordinates, ''COORD''=1, or Cartesian coordinates, ''COORD''=2, may be used within the numerical differentiation.   * **''COORD''=//n//** (=2 Default) Symmetry adapted coordinates, ''COORD''=1, or Cartesian coordinates, ''COORD''=2, may be used within the numerical differentiation.
 +  * **''METHOD''=//n//** (=1 Default) This option specifies the number of points within the numerical differentiation, i.e. ''METHOD''=1 refers to the standard 3-point formula (central differences), ''METHOD''=2 denotes the more accurate 5-point formula and ''METHOD''=3 the 7-point formula.
 +  * **''PRINT''=//n//** (=1 Default) Printout control.
   * **''START''=//label//** This sets the label in the input stream to determine the electronic structure level to be used.   * **''START''=//label//** This sets the label in the input stream to determine the electronic structure level to be used.
-  * **''METHOD''=//n//** (=1 Default) This option specifies the number of points with the numerical differentiation, i.e. ''METHOD''=1 refers to the standard 3-point formula (central differences), ''METHOD''=2 denotes the more accurate 5-point formula and ''METHOD''=3 the 7-point formula. 
   * **''STEP''=//value//** (=1.0d-2 Default) This option specifies the step width within the numerical differentiation.   * **''STEP''=//value//** (=1.0d-2 Default) This option specifies the step width within the numerical differentiation.
-  * **''PRINT''=//n//** (=1 Default) Printout control. 
  
 ==== Linear combinations of normal coordinates ==== ==== Linear combinations of normal coordinates ====
Line 736: Line 705:
 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. 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.
  
-  * **''POINTS''=//n//** (=5 Default) Number of ab initio points controlling the accuracy of the derivatives (e.g. 5-point formula). 
   * **''ORDER''=//n//** (=5 Default) Number of basis functions within the Taylor expansion.   * **''ORDER''=//n//** (=5 Default) Number of basis functions within the Taylor expansion.
-  * **''TYPE''=//variable//** ''TYPE''=QFF (corresponds to ''POINTS''=5 and ''ORDER''=5) specifies a full quartic force field''TYPE''=SQFF specifies a semi-quartic force field (as used in VPT2 calculations). ''TYPE''=SEXTIC (corresponds to ''POINTS''=7 and ''ORDER''=7) is the shortcut for a sextic force field.+  * **''POINTS''=//n//** (=5 DefaultNumber of ab initio points controlling the accuracy of the derivatives (e.g. 5-point formula).
   * **''SCALE''=//value//** (=7.0d-2 Default) This keyword controls the step width used and corresponds to the ''SCALE'' keyword in the ''SURF'' and ''XSURF'' programs.   * **''SCALE''=//value//** (=7.0d-2 Default) This keyword controls the step width used and corresponds to the ''SCALE'' keyword in the ''SURF'' and ''XSURF'' programs.
 +  * **''TYPE''=//variable//** ''TYPE''=''QFF'' (corresponds to ''POINTS''=5 and ''ORDER''=5) specifies a full quartic force field.\\
 +''TYPE''=''SQFF'' specifies a semi-quartic force field (as used in VPT2 calculations).\\
 +\\
 +''TYPE''=''SEXTIC'' (corresponds to ''POINTS''=7 and ''ORDER''=7) is the shortcut for a sextic force field.
  
 ==== Additional properties ==== ==== Additional properties ====
Line 747: Line 719:
 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. 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.
  
-  * **''VARx''=//variable//** (x=number) Name of the variable, which shall be read from the input file. 
-  * **''NEL''=//n//** Number of data to be read in for one point. 
   * **''NDIM''=//n//** Dimension of the $n$-mode expansion to be used for the new property.   * **''NDIM''=//n//** Dimension of the $n$-mode expansion to be used for the new property.
 +  * **''NEL''=//n//** Number of data to be read in for one point.
 +  * **''VARx''=//variable//** (x=number) Name of the variable, which shall be read from the input file.
  
 ==== Interface to other programs ==== ==== Interface to other programs ====
Line 759: Line 731:
   * **''COPY''=//n//** (=0 Default) Once new data have been generated in the external ASCII file, the coefficients of the corresponding polynomials can be displayed in the ''POLY'' program using the option ''COEF_INTERFACEx'' with (x=1,2...). It is also possible to replace the energy or dipole surfaces generated by Molpro by these new quantities by ''COPY=ENE'' or ''COPY=DIP''.   * **''COPY''=//n//** (=0 Default) Once new data have been generated in the external ASCII file, the coefficients of the corresponding polynomials can be displayed in the ''POLY'' program using the option ''COEF_INTERFACEx'' with (x=1,2...). It is also possible to replace the energy or dipole surfaces generated by Molpro by these new quantities by ''COPY=ENE'' or ''COPY=DIP''.
   * **''DATA''=//n//** (=1 Default) ''DATA=1'' provides detailed information about each single point of the PES in a formatted output. ''DATA=2'' provides the geometry and energy of a given point in a single line. New information about this point needs to be added at the end of the line. ''DATA=2'' prints the displacements along the coordinates and the energy in a single line. Again, new information needs to be added at the end of this line.   * **''DATA''=//n//** (=1 Default) ''DATA=1'' provides detailed information about each single point of the PES in a formatted output. ''DATA=2'' provides the geometry and energy of a given point in a single line. New information about this point needs to be added at the end of the line. ''DATA=2'' prints the displacements along the coordinates and the energy in a single line. Again, new information needs to be added at the end of this line.
-  * **''WFU''=//file name//** Specifies the name of the external file. 
   * **''NDIM''=//n//** (=0 Default) Dimension of the $n$-mode expansion to which the geometry information shall be dumped.   * **''NDIM''=//n//** (=0 Default) Dimension of the $n$-mode expansion to which the geometry information shall be dumped.
   * **''NRES''=//n//** (=1 Default) Number of columns being added to the external file by an external program.   * **''NRES''=//n//** (=1 Default) Number of columns being added to the external file by an external program.
Line 765: Line 736:
   * **''TYPE''=//variable//** (=OUT Default) This option controls, if the file shall be written ''TYPE=OUT'' or read in ''TYPE=IN''.   * **''TYPE''=//variable//** (=OUT Default) This option controls, if the file shall be written ''TYPE=OUT'' or read in ''TYPE=IN''.
   * **''ZERO''=//n//** (=1 Default) If set to 1, geometries of lower orders of the $n$-mode representation will be printed, i.e. the external file contains redundand data. ''ZERO=0'' neglects all redundancies and prints only unique points. As a consequence, an external file generated this way cannot be read in again for technical reasons.   * **''ZERO''=//n//** (=1 Default) If set to 1, geometries of lower orders of the $n$-mode representation will be printed, i.e. the external file contains redundand data. ''ZERO=0'' neglects all redundancies and prints only unique points. As a consequence, an external file generated this way cannot be read in again for technical reasons.
 +  * **''WFU''=//file name//** Specifies the name of the external file.
  
 ==== Grid computing interface ==== ==== Grid computing interface ====
Line 776: Line 748:
   * **''MEMORY''=//n//** Memory request of the individual single point calculations in MW.   * **''MEMORY''=//n//** Memory request of the individual single point calculations in MW.
   * **''WFU''=//file name//** If additional information need to be read in from a .wfu file, this can be specified here.   * **''WFU''=//file name//** If additional information need to be read in from a .wfu file, this can be specified here.
 +