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.
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 |
None.
There are two public subroutines in this module.
Subroutine | Purpose |
---|---|
OPTIMIZE_BAKER | Find a minimum or a saddle point using the Baker algorithm. |
OPTIMIZE_CONJUGATE_GRADIENT | Find a minimum using a conjugate gradient algorithm. |
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". |
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. |
Stable.