25.2.26 Keywords for Module relax

$optimize options

define what kind of nonlinear parameters are to be optimized by relax and specify some control variables for parameter update.

Available options are:

internal on/off

optimize molecular structures in the space of internal coordinates using definitions of internal coordinates given in $intdef as described in Section 4.1 ( default: on).

redundant on/off

optimize molecular structures in redundant internal coordinates using definitions of redundant internal coordinates given in $redundant. For an optimization in redundant internal coordinates option internal has to be switched on too, and option cartesian has to be switched off (default: on).

Cartesian on/off

optimize molecular structures in the space of (symmetry-distinct) Cartesian coordinates (default: off).

basis on/off

optimize basis set exponents (default=off).

Available suboptions are:

logarithm

exponents of uncontracted basis functions will be optimized after conversion into their logarithms (this improves the condition of the approximate force constant matrix obtained by variable metric methods and the behavior of the optimization procedure); scale factors of contracted basis functions will not be affected by the logarithm suboption

scale

ALL basis set exponents will be optimized as scale factors (i.e. contracted blocks and single functions will be treated in the same way); if both suboptions (scale and logarithm) are given the logarithms of the scale factors will be optimized

global on/off

optimize a global scaling factor for all basis set exponents (default: off).

$coordinateupdate options

define some variables controlling the update of coordinates.

Available options are:

dqmax real

maximum allowed total change for update of coordinates. The maximum change of individual coordinate will be limited to \(dq_{max}/2\) and the collective change \(\mathrm{d}q\) will be damped by \(dq_{max} / \! \langle \mathrm{d}q \! \mid \! \mathrm{d}q \rangle\) if \(\langle \mathrm{d}q \! \mid \! \mathrm{d}q \rangle > dq_{max}\)q
(default: 0.3)

interpolate on/off

calculate geometry update by inter/extrapolation of geometries of the last two cycles (the interpolate option is always switched on by default, but it is only active ANY time if steepest descent update has been chosen, i.e. $forceupdate method=none; otherwise it will only be activated if the DIIS update for the geometry is expected to fail)

statistics on/ integer/off

provide a statistics output in each optimization cycle by displaying all (the last integer, default setting by define is 5) subsequent coordinates, gradient and energy values (default: on).

$gdiishistory file=char

the presence of this keyword forces relax to provide informational output about the usage of DIIS for the update of the molecular geometry.

$interconversion options default=off

special input related to the transformation of atomic coordinates between cartesian and internal coordinate spaces (default: off).

Available options are:

maxiter=n

maximum number of iterations for the iterative conversion procedure internal \({\rightarrow}\) cartesian coordinates (default: 25).

qconv

convergence criterion for the coordinate conversion (default: 1.d-10).

on/off options

this switch activates special tasks: transform coordinates/gradients/ hessians between spaces of internal/cartesian coordinates using the definitions of internal coordinates given in $intdef:
available suboptions are:

cartesian –> internal coordinate gradient hessian
cartesian <– internal coordinate

the direction of the transformation is indicated by the direction of the arrow

$forceupdate method options

this data group defines both the method for updating the approximate force constant matrix and some control variables needed for the force constant update.
Options for method:

none

no update (steepest descent)

ms suboptions

Murtagh–Sargent update

dfp suboptions

Davidon–Fletcher–Powell update

bfgs suboptions

Broyden–Fletcher–Goldfarb–Shanno update

dfp-bfgs suboptions

combined (bfgs+dfp) update

schlegel suboptions

Schlegel update

ahlrichs suboptions

Ahlrichs update (macro option)

suboptions if method=ms, dfp, bfgs, schlegel, ahlrichs
numgeo=integer

number of structures used

maxgeo=integer

maximum number of geometries (= rank of the update procedure, for ahlrichs only)

ingeo=integer

minimum number of geometries needed to start update

additional suboptions if method=ahlrichs
modus= char fmode

for an explanation see suboptions pulay gi­ven below e.g. ahlrichs numgeo=7 mingeo=3 maxgeo=4 modus=<g|dg> dynamic

pulay suboptions

try to find an optimal linear combination of the coordinates of the numpul previous optimization cycles as specified by modus (see below).
Available suboptions are:

options for $forceupdate

diagonal

update only the diagonal force constants (update for off-diagonals will be suppressed) (only active if method=ms, dfp, bfgs)

offdamp real

this allows to damp off-diagonal force constants by 1/ real (compare offreset, which discards off-diagonals completely). Only values \(>1.0\) will be accepted. This option is active only within one relax run and will be disabled automatically by relax. This is useful in difficult cases, where the non-diagonal update has lead to too large non-diagonal elements of the hessian.

offreset

reset off-diagonal force constants to zero. This option will be active for the current optimization cycle only, i.e. it will be removed by relax after having discarded off-diagonals!

allow=real

optimization cycle specification of a maximum energy change allowed (given in mHartree) which will be accepted using the actual approximate force constant matrix from $forceapprox; if this energy change will be exceeded, the force constants will be scaled appropriately
(The default: 0.0 means NO action)

scale=real

scaling factor for the input hessian (default: 1.0).

threig=real

lower bound for eigenvalues of the approximate hessian (default: 0.005); if any eigen­value drops below threig, it will be shifted to a reasonable value defined by:

reseig= real

default: texttt0.005.

thrbig=real

upper bound for eigenvalues of the hessian; if any eigenvalue exceeds thrbig, it will limited to this value (default: 1000.0).

damping=real

damp the variable metric update for the hessian by \(1/(1+\) real) (default: 0.0).

$forceinit option

specify initialization of the (approximate) force constant matrix.

Available options are:

on/off

this activates or deactivates initialization; if on has been set, relax will provide an initial force constant matrix as specified by one of the possible initialization options as described below and will store this matrix in data group $forceapprox; after initialization relax resets $forceinit to off!

diag=suboptions

provide a diagonal force constant matrix with:

available suboptions are:

real

this will lead to an assignment of diagonal elements (default: 1.0)).

default

this will lead to an assignment of initial force constant diagonals depending on the coordinate type.

individual

Provide individual defined force constant diagonals for

  • internal coordinates (supplied in $intdef ... fdiag=..)

  • a global scale factor ( $global ... fdiag=..)

This does not work for basis set optimization. For the correct syntax of ‘fdiag=..’ see descriptions of $intdef, $global

carthess

read a cartesian (e.g. analytical) hessian from $hessian and use it as a start force constant matrix; if $optimize internal has been set: use its transform in internal coordinate space. If large molecules are to be optimized, it may be necessary (large core memory requirements!) to deactivate the numerical evaluation of the derivative of the \(B\)-matrix with respect to cartesian coordinates, which is needed to transform \(\mathbf{H}(\mathbf{cart}) \rightarrow \mathbf{H}(\mathrm{int})\) exactly by specifying no dbdx.

$last SCF energy change = real
$last MP2 energy change = real

These keywords depend on the optimization task to be processed and are updated by the corresponding program (i. g. SCF energy).

$m-matrix options

This data block contains non-default specifications for the \(m\)-matrix diagonals. This is of use if some Cartesian atomic coordinates shall be kept fixed during optimization.

Available options are:

integer real real real

atomic index followed by diagonal elements of the \(m\)-matrix for this atom

$scratch files

The scratch file ftmp allocated by relax can be placed anywhere in your file systems instead of the working directory by referencing its path name in this data group as follows:

       $scratch files
        relax   ftmp          path/file
      

The first column specifies the program, the second column the scratch file and the third column the path name of the file to be used as scratch file.

Input Data Blocks Needed by Relax

$intdef or $redundant

Definitions of internal coordinates and, optionally, values of internal coordinates (val=..., given in a.u. or degrees) or force constant diagonal elements (fdiag=...).

$grad

Cartesian coordinates and gradients calculated in subsequent optimization cycles. Entries are accumulated by one of the gradient programs (grad, mpgrad, rimp2, ricc2, egrad, etc.).

$egrad

Basis set exponents scale factors and their gradients as calculated in subsequent optimization cycles. Entries are accumulated by one of the gradient programs.

$globgrad

Global scale factors and gradients as calculated in subsequent optimization cycles. Entries are accumulated by the grad or aoforce program.

$corrgrad

Allows to augment internal SCF gradients by approximate increments obtained from treatments (e.g. correlation or relativistic) on higher level. See the example below.

$corrgrad
#  coordinate    increment
     1            0.0600
     8           -0.0850
$forceapprox options

Approximate force constant matrix (as needed for geometry optimization tasks). The storage format may be specified by the
available options:

format=format

the default format is format=(8f10.5), but other 10-digit f10.x formats (e.g. x=4,6,..) are possible and will be used, after being manually specified within $forceapprox. See the example below:

$forceapprox  format=(8f10.4)
    0.9124
    -.0108    0.3347
    0.2101    0.0299    1.3347
    0.0076    0.1088    0.0778    0.6515
$hessian (projected)

this data block contains the analytical Cartesian force constant matrix (with translational and rotational combinations projected out) as output by the aoforce program and may be used to supply a high quality force constant matrix $forceapprox for geometry optimizations (specifying $forceinit on carthess, or $interconversion cartesian --> internal hessian).

Relax Output Data Groups

$coord

either updated Cartesian coordinates if a successful coordinate update has been performed, or Cartesian coordinates for input internal coordinates if only a conversion from internal to Cartesian coordinates has been performed.

$basis

updated basis set exponents, basis sets contraction coefficients or scaling factors, if $optimize basis on has been specified.

$global

updated global scaling factor for all basis set exponents, if $optimize global on has been specified.

$forceapprox

an approximate force constant matrix to be used in quasi-Newton type geometry optimizations; this matrix will be improved in subsequent optimization cycles if one of the variable-metric methods ($forceupdate) has been chosen. See 5.3.13 and 25.2.26.

$forcestatic

a static (i.e. never updated) approximate force constant matrix to be used in DIIS-type geometry optimizations. It will be initialized by relax specifying: $forceupdate pulaymodus=<dq|dq> static.

The next data groups are output by relax (depending on the optimization subject) in order to control the convergence of optimization procedures driven by the shell script jobex.

$maximum norm of cartesian gradient =
$maximum norm of internal gradient =
=

real is the absolute value of the maximum component of the corresponding gradient.

Other Input/Output data used by Relax

In order to save the effort for conversion of accumulated geometry and gradient data (as needed for the force constant update or the DIIS update of the geometry) to the optimization space, within which the geometry has to be optimized, one may specify the keyword

$oldgrad

Then the relax program accumulates all subsequent coordinates and gradient as used in optimization in this data group (or a referenced file). This overrides the input of old coordinate and gradient data from data blocks $grad, $egrad, …as accumulated by the grad program.

degrees