Normal_Mode is the module that handles normal mode calculations.
The use of this module fully explained in chapter 7 of the book A Practical Introduction to the Simulation of Molecular Systems.
Module | Variables |
---|---|
CONSTANTS | KBOLTZ, NAVOGADRO, PI, TO_HZ, TO_KM_PER_MOLE, TO_WAVENUMBERS |
DEFINITIONS | DP |
ELEMENTS | SYMBOL |
IO_UNITS | OUTPUT |
STATUS | ERROR |
DIAGONALIZATION | SYMMETRIC_UPPER |
ATOMS | ATMFIX, ATMMAS, ATMNUM, NATOMS, NFIXED, NFREE |
DCD_IO | Many public items in the module. |
MULTIPOLES | DIPOLE_DERIVATIVES |
NORMAL_MODE_UTILITIES | Most public items in the module. |
POTENTIAL_ENERGY | ATMHES, HESSIAN |
There are a single public scalar variable and three public array variables in this module.
Variable | Type | Size | Purpose |
---|---|---|---|
NMODES | Integer | Scalar | The number of modes stored in the module. |
FREQUENCIES | Real | (1:NMODES) | The mode frequencies (cm^-1). |
INTENSITIES | Real | (1:NMODES) | The mode intensities (km mol^-1). |
MODES | Real | (1:NMODES,1:NMODES) | The mode vectors. |
There are four public subroutines in this module.
Subroutine | Purpose |
---|---|
NORMAL_MODE_FREQUENCIES | Perform a normal mode analysis. |
NORMAL_MODE_INTENSITIES | Calculate the infrared intensities. |
NORMAL_MODE_PRINT | Print information about the modes. |
NORMAL_MODE_TRAJECTORY | Generate a trajectory for a single mode. |
Argument | Type | Intent | Optional | Purpose |
---|---|---|---|---|
HESSIAN | Real(:) | In | Yes | An input Hessian. |
MODIFY | Character ( Len = * ) | In | Yes | The Hessian modify option. |
Logical | In | Yes | A print flag. |
Error | Meaning |
---|---|
Existing HESSIAN invalid. | The input Hessian is inconsistent with the currently defined system. |
Invalid MODIFY option. | The argument MODIFY is not one of the strings "PROJECT" or "RAISE". |
Argument | Type | Intent | Optional | Purpose |
---|---|---|---|---|
Logical | In | Yes | A print flag. |
Error | Meaning |
---|---|
There are no modes available. | A normal mode calculation has not been performed beforehand. |
Argument | Type | Intent | Optional | Purpose |
---|---|---|---|---|
START | Integer | In | Yes | The first normal mode to print. |
STOP | Integer | In | Yes | The last normal mode to print. |
SELECTION | Logical(1:NATOMS) | In | Yes | An atom selection array. |
Argument | Type | Intent | Optional | Purpose |
---|---|---|---|---|
FILE | Character ( Len = * ) | In | No | The trajectory file name. |
MODE | Integer | In | No | The mode for which the trajectory is to be generated. |
NCYCLES | Integer | In | No | The number of periods of vibration for which the trajectory is to be generated. |
NFRAMES | Integer | In | No | The number of frames per period of vibration in the trajectory. |
T | Real | In | No | The temperature at which the trajectory is to be generated. |
Stable.