NORMAL_MODE


Function

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.

Dependencies

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


Public Variables

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.


Public Procedures

There are four public subroutines in this module.

SubroutinePurpose
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.


NORMAL_MODE_FREQUENCIES

Argument Type Intent Optional Purpose
HESSIAN Real(:) In Yes An input Hessian.
MODIFY Character ( Len = * ) In Yes The Hessian modify option.
PRINT 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".




NORMAL_MODE_INTENSITIES

Argument Type Intent Optional Purpose
PRINT Logical In Yes A print flag.


Error Meaning
There are no modes available. A normal mode calculation has not been performed beforehand.




NORMAL_MODE_PRINT

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.




NORMAL_MODE_TRAJECTORY

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.




Stability

Stable.



Back to the DYNAMO Home-Page.