25.2.26 Keywords for Module relax
$optimizeoptions-
define what kind of nonlinear parameters are to be optimized by
relaxand 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
$intdefas 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 optioninternalhas to be switchedontoo, and optioncartesianhas to be switchedoff(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).
$coordinateupdateoptions-
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
defineis5) subsequent coordinates, gradient and energy values (default:on).
$gdiishistoryfile=char-
the presence of this keyword forces
relaxto provide informational output about the usage of DIIS for the update of the molecular geometry. $interconversionoptionsdefault=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/offoptions-
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
$forceupdatemethod 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
ahlrichsonly) - ingeo=integer
-
minimum number of geometries needed to start update
- additional suboptions if
method=ahlrichs modus=char fmode-
for an explanation see suboptions
pulaygiven 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
numpulprevious optimization cycles as specified bymodus(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
relaxrun and will be disabled automatically byrelax. 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
relaxafter 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.0means 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 eigenvalue drops belowthreig, 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).
$forceinitoption-
specify initialization of the (approximate) force constant matrix.
Available options are:
- on/off
-
this activates or deactivates initialization; if
onhas been set,relaxwill 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 initializationrelaxresets$forceinittooff! - 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
$hessianand use it as a start force constant matrix; if$optimize internalhas 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 specifyingno 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-matrixoptions-
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
ftmpallocated byrelaxcan 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/fileThe 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
$intdefor$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
gradoraoforceprogram. $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 $forceapproxoptions-
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
aoforceprogram and may be used to supply a high quality force constant matrix$forceapproxfor 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 onhas been specified. $global-
updated global scaling factor for all basis set exponents, if
$optimize global onhas 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
relaxspecifying:$forceupdate pulay…modus=<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
relaxprogram 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 thegradprogram.
degrees