![]() | |
Geometry OptimizationGeometry Optimizations in ADF is based on a quasi Newton approach [6-8], using the Hessian for computing changes in the geometry so as to make the gradients vanish. The Hessian itself is initialized (for instance based on a force field) and updated in the process of optimization. Several subkeys in the geometry block can be used for control of the Geometry Optimization procedure and related strategy parameters.
GEOMETRY
Optim {Cartesian / Internal} {All / Selected}
Iterations Niter {Niter2}
Hessupd HessUpdate
Converge {E=TolE} {Grad=tolG} {Rad=TolR} {Angle=tolA}
Step {Rad=MaxRadStep} {Angle=MaxAngleStep}
End
Optim Cartesian or Zmatrix (equivalently: internal) specifies the type of coordinates in which the minimization is carried out. By default the coordinate type is applied that was used in the atoms key for the input of the (initial) atomic positions. (Cartesian if atoms were input in zcart format). Cartesian optimization is allowed if the atoms were input in Z-matrix format, but no constraints (see the key geovar) can then be used: all coordinates are optimized. An attempt to explicitly freeze variables may result in an error abort. Optimization in Z-matrix coordinates is not allowed if only Cartesian coordinates were supplied in atoms: the program does not construct a Z-matrix by itself. One should then use the zcart format: give Cartesian coordinates and supply the structure of the Z-matrix. Again, in this case you cannot use constraints. Selected Only those coordinates are optimized that are defined with the key geovar. All (The default value) means that in principle all atomic coordinates will be varied. The key geovar may modify this in the sense that some of the coordinates can be kept frozen or can be forced to remain equal to some other coordinates. Niter The maximum number of geometry iterations allowed to locate the desired
structure. The default is 30. Niter2 An optional second parameter that plays only a role in a LinearTransit run, see the LT section. It must not be used in other runtypes. HessUpdate Specifies how the Hessian matrix is updated, using the gradient
values of the current and the previous geometry. Converge Convergence is monitored for three items: the energy, the
Cartesian gradients and the estimated uncertainty in the (chosen type of
optimization) coordinates. For the latter, lengths (Cartesian coordinates,
bond-lengths) and angles (bond-, dihedral-) are considered separately. TolE The criterion for changes in the energy, in Hartrees. Default: 1e-3. TolG Applies to gradients, in Hartree/angstrom. Default: 1e-2. TolR Refers to changes in the Cartesian coordinates or bond lengths, depending on in what coordinates you optimize, in angstrom. Default: 1e-2. TolA Refers to changes in bond- and dihedral angles, in degrees. This
is only meaningful if optimization takes place in Z-matrix coordinates.
Default: 0.5 degree. Remarks: 1. Molecules may differ very much in the stiffness around the energy minimum. Application of standard convergence thresholds without second thought is therefore not recommended. Strict criteria may require a large number of steps, a loose threshold may yield geometries that are far from the minimum as regards atom-atom distances, bond-angles etc. even when the total energy of the molecule might be very close to the value at the minimum. It is good practice to consider first what the objectives of the calculation are. The default settings in ADF are intended to be reasonable for most applications but inevitably situations may arise where they are inadequate. 2. The numerical integration precision parameter accint (see the key integration)
should match the required level of convergence in gradients. Gradients are computed
as a combination of various integrals that are evaluated by numerical integration
in ADF. The integral values have a limited precision: roughly speaking the accint value is the number of decimal digits
in the value of the integrals that are correct. As soon as the gradients, which
are supposedly zero at the exact energy minimum, are of the order or 10**(-accint) they will, in worst cases,
become arbitrary and any attempt to continue convergence may not really
improve things. You may even find that, due to the numerical-integration noise,
the geometries start moving around in a random fashion, while the gradients
vary more or less arbitrarily. As a general rule: set the integration value
higher (by at least 1.0) than the
convergence level required for the gradients. Example: if gradients are to
be converged to 1e-3, set integration 4.5 (implying: higher by 1.5 than
the gradients convergence level). Step Controls that changes in geometry from one cycle to another are not too large: MaxRadStep An upper bound on changes in Cartesian coordinates or bond lengths, as the case may be. Default: 0.3 angstrom when optimization is carried out in internal coordinates, 0.15 angstrom for Cartesian optimizations. MaxAngleStep Similarly this option limits changes in bond angles and dihedral
angles. Default: 10 degrees. Note: Optimization of ring structures carried out in internal (z-matrix) coordinates is sometimes tricky due to the ill-defined last segment of the ring. When problems arise, try Cartesian optimization or consider using smaller limits on the steps (in particular the angles) so as to prevent the program from breaking the ring beyond repair. | |