OPTIMIZE_COORDINATES


Function

Optimize_Coordinates has procedures for finding stationary points on a system's potential energy surface.

The use of this module is fully explained in chapter 6 of the book A Practical Introduction to the Simulation of Molecular Systems.

Dependencies

Module Variables
DEFINITIONS DP
STATUS ERROR
BAKER_OPTIMIZATION BAKER_SEARCH
CONJUGATE_GRADIENT CONJUGATE_GRADIENT_MINIMIZE
ATOMS ATMCRD, ATMFIX, NATOMS, NFREE
NORMAL_MODE_UTILITIES RAISE_ROTATION_TRANSLATION
POTENTIAL_ENERGY ATMDER, ATMHES, ETOTAL, GRADIENT, HESSIAN


Public Variables

None.

Public Procedures

There are two public subroutines in this module.

SubroutinePurpose
OPTIMIZE_BAKER Find a minimum or a saddle point using the Baker algorithm.
OPTIMIZE_CONJUGATE_GRADIENT Find a minimum using a conjugate gradient algorithm.


OPTIMIZE_BAKER

Argument Type Intent Optional Purpose
POINT Character ( Len = * ) In No A string specifying the type of stationary point to look for.
STATUS Integer Out Yes A status flag.
FOLLOW_MODE Integer In Yes The mode to follow during the search procedure.
PRINT_FREQUENCY Integer In Yes The print frequency.
STEP_NUMBER Integer In Yes The maximum number of iterations.
USE_NR_STEP Logical In Yes The Newton-Raphson step flag.
GRADIENT_TOLERANCE Real In Yes The gradient tolerance convergence criterion.
MAXIMUM_STEP Real In Yes The maximum step size allowed.


Error Meaning
Unrecognized stationary point type. The argument POINT is not one of "MINIMUM" or "SADDLE".




OPTIMIZE_CONJUGATE_GRADIENT

Argument Type Intent Optional Purpose
STATUS Integer Out Yes A status flag.
PRINT_FREQUENCY Integer In Yes The print frequency.
STEP_NUMBER Integer In Yes The maximum number of iterations.
GRADIENT_TOLERANCE Real In Yes The gradient tolerance convergence criterion.
STEP_SIZE Real In Yes The starting step size.




Stability

Stable.



Back to the DYNAMO Home-Page.