ATOMS


Function

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.

Dependencies

Module Variables
CONSTANTS UNDEFINED
DEFINITIONS DP
ELEMENTS NELEMENTS, SYMBOL
IO_UNITS OUTPUT


Public Variables

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.


Public Procedures

There are five public subroutines in this module.

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


ATOMS_ALLOCATE

Argument Type Intent Optional Purpose
N Integer In No The number of atoms in the system.




ATOMS_FIX

Argument Type Intent Optional Purpose
QFIX Logical(1:NATOMS) In No An array indicating which atoms are to be fixed.




ATOMS_FORMULA

There are no arguments for this subroutine.



ATOMS_INITIALIZE

There are no arguments for this subroutine.



ATOMS_SUMMARY

There are no arguments for this subroutine.



Stability

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.



Back to the DYNAMO Home-Page.