![]() | |
Initial HessianIn a Geometry Optimization (or Transition State search) the Hessian matrix - second derivatives of the energy with respect to changes in coordinates - is updated while the program steps around in an attempt to find the (local) energy minimum. The quality of the initial Hessian may have a considerable impact on the required number of steps to reach geometric convergence. By default the initial Hessian is read from a restart file - see the key restart - or constructed from a force field [11] that is implemented in the program. In the latter case the user can modify the so-generated initial Hessian in four ways:
For each element i for which a diagonal Hessian value Hii is supplied the off-diagonal elements Hij, (all j ij) are set to zero. A combination of the above options is possible. The rules of how combinations are interpreted by the program are:
All input values of the Hessian are in units of Hartree/bohr2 for Cartesian coordinates and bond lengths. Hartree/radian2 for bond angles and dihedral angles. The first 3 options are controlled by the key HESSDIAG:
HESSDIAG {General}
{ List
end }
HESSDIAG A general key: it has either an argument (General), or a data block (List). It is also possible to supply the argument and the data block, but this requires that the continuation symbol (&) is given after the argument, separated from the argument by at least one blank. General Must be either a single numerical value, or one or more named specifications of options, in the format optionname=value.
ang=angvalue to assign a
value to all elements that refer to bond angles, and finally dih=dihvalue for dihedral angles. List A list of numerical values, which may expand over any number of lines. If n numbers are supplied, they are assigned to the first n diagonal elements of the Hessian. The remaining diagonal elements, if any, are not effected. The maximum number of Hessian diagonal elements equals the number of atomic coordinates. The force field derived initial Hessian can be printed for inspection. Type in input:
HESSTEST
ADF will construct and print the initial Hessian and then abort. | |