Geometry Optimization

Geometry 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 / Delocal} {All / Selected}
 Branch {Old / New}
 Iterations Niter {Niter2}
 Hessupd HessUpdate
 Converge {E=TolE} {Grad=tolG} {Rad=TolR} {Angle=tolA}
 Step {Rad=MaxRadStep} {Angle=MaxAngleStep} {TrustRadius=MaxRadius}
 DIIS {N=NVect} {CYC=Ncyc}
End

Optim

Cartesian / Internal

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.

Delocal

Optimization in delocalized coordinates (Delocal) can only be used in geometry optimizations or transition state searches. Starting from ADF2007 with delocalized coordinates you can use constraints (see also NEWCONSTRAINTS key) and restraints, and you can supply the atoms in Z-matrix coordinates. You can not set the initial hessian, and you can not use dummy atoms, ghost atoms, or alternative elements. Starting from ADF2007 the adapted delocalized coordinates are used as described in Ref. [225].

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.

Branch

Old / New

Expert option. Specifies which branch of the code to use for making steps. Default the branch of code used depends on the optimization used. Optimization in delocalized coordinates can only be done with the new branch. Optimization in Z-matrix coordinates can only be done with the old branch. In case of Cartesian optimization default the old branch is used, but the new branch can also be used. The new branch can only be used in geometry optimizations and transition state searches, not in LT, IRC, and NEB.

Iterations

Niter

The maximum number of geometry iterations allowed to locate the desired structure. The default is 30.
This is a fairly large number. If the geometry has not converged (at least to a reasonable extent) within that many iterations you should sit down and consider the underlying cause rather than simply increase the allowed number of cycles and try again.

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.

Hessupd

HessUpdate

Specifies how the Hessian matrix is updated, using the gradient values of the current and the previous geometry. The methods available depend on the optimization branch being used. For both the old and new branches, the following options are available:
(i) BFGS : Broyden-Fletcher-Goldfarb-Shanno
(ii) MS : Murtagh-Sargent
(iii) FARKAS : Farkas-Schlegel, Eq. (15) and (16) of Ref. [139]
(iv) FARKAS-BOFILL : Farkas-Schlegel-Bofill, Eq. (15) and (14) of Ref. [139]
In the old branch, the following extra options are available:
(i) DFP : Davidon-Fletcher-Powell
(ii) FS : Fletcher switch
(iii) HOSHINO : Hoshino
In the new branch, the following extra option is available:
(i) BAKKEN-HELGAKER: Bakken-Helgaker, see Ref. [219]
The default is BFGS for geometry optimizations.

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.
Convergence criteria can be specified separately for each of these items:

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.
If only a numerical value is supplied as argument for converge, rather than a specification by name, it is considered to apply to the gradients (only). The other aspects (energy and coordinates) retain their default settings then.

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).
3. The convergence threshold for the coordinates (TolL, TolA) is not a reliable measure for the precision of the final coordinates. Usually it yields a reasonable estimate (order of magnitude), but to get accurate results one should tighten the criterion on the gradients, rather than on the steps (coordinates). The reason for this is that the program-estimated uncertainty in the coordinates is related to the used Hessian, which is updated during the optimization. Quite often it stays rather far from an accurate representation of the true Hessian. This does usually not prevent the program from converging nicely, but it does imply a possibly incorrect calculation of the uncertainty in the coordinates.

Step

Controls that changes in geometry from one cycle to another are not too large:

MaxRadStep

Can only be used in combination with the old branch. 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

Can only be used in combination with the old branch. Similarly this option limits changes in bond angles and dihedral angles. Default: 10 degrees.
Input for MaxRadStep, MaxAngleStep is in angstrom and degrees respectively, independently of the units used for atomic coordinates input.

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.

MaxRadius

Can only be used in combination with the new branch. By default, the trust radius is set to 0.2. Using the key, the user can override this, setting a constant value. A conservative value is 0.2. A large system (eg 100 atoms) typically needs a larger trust radius (eg 0.8).

DIIS N=NVect CYC=Ncyc

Can only be used in combination with the new branch. NVect is the number of vectors used by the DIIS interpolation method. NCYC is the number of geometry cycles run before the DIIS starts to modify the geometry steps. Default DIIS is used and default N=5 and CYC=0.

 

Copyright      Terms of Use      Privacy Policy
Search:
Home
About
News
Sitemap
Contact
Why ADF?
Brochure
Demos
Trial Version
How to buy
Downloads
FAQ
Newsletters
Documentation
Community