Atoms contains data about the atoms in the system and various procedures for manipulating this data.
This module is discussed in chapter 2 of the book A Practical Introduction to the Simulation of Molecular Systems.
Module | Variables |
---|---|
CONSTANTS | UNDEFINED |
DEFINITIONS | DP |
ELEMENTS | NELEMENTS, SYMBOL |
IO_UNITS | OUTPUT |
There are a single public parameter, five public scalar variables and six public array variables in this module.
Variable | Type | Parameter | Size | Purpose |
---|---|---|---|---|
ATOM_NAME_LENGTH | Integer | Yes | Scalar | The maximum length of an atom name. |
NATOMS | Integer | No | Scalar | The number of atoms in the system. |
NFIXED | Integer | No | Scalar | The number of fixed atoms in the system. |
NFREE | Integer | No | Scalar | The number of free atoms in the system. |
NATOMSMM | Integer | No | Scalar | The number of MM atoms in the system. |
NATOMSQM | Integer | No | Scalar | The number of QM atoms in the system. |
ATMCRD | Real | No | (1:3,1:NATOMS) | The atoms' Cartesian coordinates. |
ATMFIX | Logical | No | (1:NATOMS) | A flag to indicate whether an atom is fixed or not. |
ATMIND | Integer | No | (1:NATOMS) | The free atom index. |
ATMMAS | Real | No | (1:NATOMS) | The atoms' masses in a.m.u. |
ATMNAM | Character ( Len = ATOM_NAME_LENGTH ) | No | (1:NATOMS) | The atoms' names. |
ATMNUM | Integer | No | (1:NATOMS) | The atomic numbers. |
ATMQMI | Integer | No | (1:NATOMS) | The atomic numbers of the atoms in a QM calculation. |
There are five public subroutines in this module.
Subroutine | Purpose |
---|---|
ATOMS_ALLOCATE | Allocate the ATOMS arrays and initialize the scalar variables. |
ATOMS_FIX | Fix some of the atoms in the system. |
ATOMS_FORMULA | Print out the elemental formula for the system. |
ATOMS_INITIALIZE | Initialize the ATOMS variables. |
ATOMS_SUMMARY | Print out a summary about the atoms in the system. |
Argument | Type | Intent | Optional | Purpose |
---|---|---|---|---|
N | Integer | In | No | The number of atoms in the system. |
Argument | Type | Intent | Optional | Purpose |
---|---|---|---|---|
QFIX | Logical(1:NATOMS) | In | No | An array indicating which atoms are to be fixed. |
There are no arguments for this subroutine.
There are no arguments for this subroutine.
There are no arguments for this subroutine.
It is possible that the data in this module will be substantially reorganized by grouping all data about a single atom under a single defined type. This would significantly alter the structure of many parts of the library.