MM_Terms contains a definition of the terms necessary for calculating the molecular mechanics energy of the system. It also has several procedures that manipulate this data.
This module and the data stored in it are discussed in chapters 4 and 5 of the book A Practical Introduction to the Simulation of Molecular Systems.
Module | Variables |
---|---|
DEFINITIONS | DP |
IO_UNITS | OUTPUT |
ATOMS | ATOM_NAME_LENGTH, NATOMS |
Three public data types are defined by this module.
Type | Purpose |
---|---|
ANGLE_TERM | Hold a bond angle term definition. |
BOND_TERM | Hold a bond term definition. |
DIHEDRAL_TERM | Hold a dihedral angle term definition. |
Field | Type | Purpose |
---|---|---|
I | Integer | The number of the first atom in the angle. |
J | Integer | The number of the second atom in the angle. |
K | Integer | The number of the third atom in the angle. |
EQ | Real | The equilibrium angle in radians. |
FC | Real | The force constant. |
Field | Type | Purpose |
---|---|---|
I | Integer | The number of the first atom in the bond. |
J | Integer | The number of the second atom in the bond. |
EQ | Real | The equilibrium distance. |
FC | Real | The force constant. |
Field | Type | Purpose |
---|---|---|
I | Integer | The number of the first atom in the dihedral. |
J | Integer | The number of the second atom in the dihedral. |
K | Integer | The number of the third atom in the dihedral. |
L | Integer | The number of the fourth atom in the dihedral. |
PERIOD | Integer | The periodicity of the dihedral term. |
FC | Real | The force constant. |
PHASE | Real | The phase of the dihedral term. |
There are a number of variables defined in the module. None are parameters.
Variable | Type | Size | Purpose |
---|---|---|---|
ATMTYP | Character ( Len = ATOM_NAME_LENGTH ) | (1:NATOMS) | The force field atom types. |
NBONDS | Integer | Scalar | The number of bonds in the system. |
BONDS | Bond_Term | (1:NBONDS) | The bond terms. |
NANGLES | Integer | Scalar | The number of bond angles in the system. |
ANGLES | Angle_Term | (1:NANGLES) | The bond angle terms. |
NDIHEDRALS | Integer | Scalar | The number of dihedral angles in the system. |
DIHEDRALS | Dihedral_Term | (1:NDIHEDRALS) | The dihedral angle terms. |
NIMPROPERS | Integer | Scalar | The number of improper dihedral angles in the system. |
IMPROPERS | Dihedral_Term | (1:NIMPROPERS) | The improper dihedral angle terms. |
SCALE_EL14 | Real | Scalar | The scaling factor for the electrostatic 1-4 interactions. |
SCALE_LJ14 | Real | Scalar | The scaling factor for the Lennard-Jones 1-4 interactions. |
ATMEXCI | Integer | (1:NATOMS+1) | The index array for the 1-2, 1-3 and 1-4 excluded interactions. |
ATMEXCJ | Integer | (1:ATMEXCI(NATOMS+1)) | The second atoms of the 1-2, 1-3 and 1-4 excluded interactions. |
ATME14I | Integer | (1:NATOMS+1) | The index array for the 1-4 non-bonding interactions. |
ATME14J | Integer | (1:ATME14I(NATOMS+1)) | The second atoms of the 1-4 non-bonding interactions. |
ATMCHG | Real | (1:NATOMS) | The atomic charges. |
ATMCHG14 | Real | (1:NATOMS) | The atomic charges for 1-4 interactions. |
ATMEPS | Real | (1:NATOMS) | The Lennard-Jones well-depths for the atoms, E, stored as 2 E1/2. |
ATMEPS14 | Real | (1:NATOMS) | The Lennard-Jones well-depths for the 1-4 interactions stored in the same way as for ATMEPS. |
ATMSIG | Real | (1:NATOMS) | The Lennard-Jones radii for the atoms, S, stored as S1/2. |
There is a single subroutine that users may want to use from this module.
Subroutine | Purpose |
---|---|
MM_TERMS_SUMMARY | Print out a summary of the MM terms defined in the module. |
There are no arguments for this subroutine.
It may be that the atom data will be reorganized by defining an appropriate data type. Otherwise, stable.