Numerical_Derivatives contains procedures for calculating numerically the first and second derivatives of the potential energy of a system with respect to the atomic coordinates.
Full details about the use of this module can be found in chapters 4 and 5 of the book A Practical Introduction to the Simulation of Molecular Systems.
Module | Variables |
---|---|
DEFINITIONS | DP |
ATOMS | ATMCRD, ATMFIX, NATOMS, NFIXED, NFREE |
POTENTIAL_ENERGY | ATMDER, ENERGY, ETOTAL, GRADIENT |
None.
There are two public subroutines in this module.
Subroutine | Purpose |
---|---|
NUMERICAL_GRADIENT | Calculate the first derivatives. |
NUMERICAL_HESSIAN | Calculate the second derivatives. |
Argument | Type | Intent | Optional | Purpose |
---|---|---|---|---|
DELTA | Real | In | No | The finite-difference step size. |
GRADIENT | Real(1:3,1:NATOMS) | Out | No | The numerical derivatives. |
SELECTION | Logical(1:NATOMS) | In | Yes | A selection array. |
Argument | Type | Intent | Optional | Purpose |
---|---|---|---|---|
DELTA | Real | In | No | The finite-difference step size. |
HESSIAN | Real(1:(3*NFREE*(3*NFREE+1))/2) | Out | No | The numerical derivatives. |
Stable.