For SCALE 0 the `step length' is taken to be the total step length in the multidimensional space of Cartesian coordinates. For SCALE 1 we scale according to the largest displacement in Cartesian coordinates. For SCALE 2 we scale according to the largest displacement in the Hessian eigenvector basis. For SCALE 3 we scale according to the total step size called for by the steepest-descent routine. The default for all other SEARCH types is now SCALE 10 for which a different trust ratio is calculated for each eigendirection and used to adjust the maximum allowed step for each eigenvector. This is described in more detail below.
SCALE 10 employs a trust radius whose default value is 4.0. This value can be changed using the keyword TRAD. Appropriate values for the maximum initial step size and the trust radius for different systems may need to be found by experimentation. After the first step the program compares the predicted value of the Hessian eigenvalue for a given eigendirection, as calculated by finite difference of the present and previous component of the gradient in this direction, with the actual eigenvalue. The trust ratio for a particular eigendirection is the modulus of this predicted value minus the actual value, divided by the actual value. If the trust ratio is less than the trust radius then the maximum step allowed in this direction is increased by a factor of (up to a maximum of 0.5); if it is more than the trust radius the maximum allowed step in this direction is divided by (down to a minimum allowed value of ). The maximum allowed step for each direction is initialised at the value read from the odata file.
The trust ratio is not used in a transition state search for the uphill direction if the corresponding eigenvalue is positive; the step size is instead set to the value of the MAXMAX parameter.
This trust ratio approach assumes that all the eigenvectors are in correspondence for the present and previous geometries when they are arranged according to the eigenvalues in ascending or descending order. When large steps are being taken some eigendirections are likely to cross over, and it might be better to use an overlap criterion for all the present and previous eigenvectors. However, this has not proved to be necessary to date.
Scaling of the above sort does not apply in :BFGS minimisations, although the trust radius approach described above for SCALE 10 is used for the eigenvector-following step in hybrid transition state searches.
For SEARCH 0, 2, 3 and 4 OPTIM detects convergence to stationary points with the wrong Hessian index and steps away from them. The test is triggered when the RMS force falls below the value specified by PUSHCUT (default ) in the prevailing units. The test is only applied at the first step and every fourth step. If a transition state search converges to (or starts from) a minimum a step is taken in the direction specified by MODE of magnitude PUSHOFF. If PUSHOFF has not been set then the displacement is one tenth of the current maximum step size allowed for the eigenmode in question. If a transition state search converges to (or starts from) a higher index saddle then the action depends upon the value of MODE. For MODE 0 displacements are taken for all the eigenmodes with negative eigenvalues except for the one with the most negative eigenvalue. The magnitude of the displacement is determined in the same way as above. For MODE a displacement is applied only along the specified value of MODE. For search types 0 and 3 similar action is taken. If the search converges to (or starts from) a stationary point that is not a minimum then if MODE 0 displacements are applied for all the eigenmodes with negative eigenvalues. If MODE then a displacement is only applied in the direction specified by MODE.
David Wales 2018-07-21