Go to the previous, next section.
The analysis facility provides the means for analyzing the trajectory of a dynamics calculation. Since there is a wealth of information in these runs, one must be able to look at the information at various levels of detail. Two methods are provided for such analysis: one can look at numerical measures such as the average or various moments of the time distribution of all internal coordinates or atoms at once or one can calculate correlation functions on a few atoms or internal coordinates. In this chapter we shall discuss the methods used to look at all the properties simultaneously, and in the next chapter, we shall look at correlation functions, see section Correlation Functions.
To analyze the dynamical properties of the system en masse, the table, see section Table Manipulation Commands, is used. This allows one to use the table manipulation commands to massage the information in the most appropriate way.
In order to perform the analysis successfully, one must understand the flow of data. The coordinates and/or velocities output during the dynamics runs are summed in various ways to provide the basis for calculating various moments of the time distribution. This information is put into one of several averaging data structures which are described below. One can read or write these averages using the analysis facility's I/O commands, see section Reading and Writing Analysis Data. One can combine two averaging data structures to get long time averages, and one can add more points from other trajectories to an existing average. The flow of data is diagrammed below:
Dynamics Trajectory | v Accumulation Command | v Averaging Data Structures<----+ | | | Combination Command | | +------------------+ | v Build Command | v Table
There are three types of averaging data structures -- one for all the internal coordinates, one for the positional time distributions for all the atoms, and one for velocity time distributions for all the atoms.
For internal coordinates, there is one averaging data structure
called ICAV
(Internal Coordinate AVerages). It contains the
minimum and maximum values as well as measures of the first four moments
of the time distribution for the geometries and energies for the bonds,
bond angles, torsion angles, and improper torsion angles in the
structure.
The measures of the first four moments is as follows: For the first moment, the average is used.
For averaging atomic positions and velocities, a complication arises because each position or velocity is specified by three coordinates which do not change independently of each other. In computing second and higher order moments, we must maintain all the cross correlations. These cross correlations form a tensor whose order is the same as the moment. Fortunately, the second moment tensor can be diagonalized so that the cross correlations are zero. In other words, the fluctuations can be resolved into independent components. The transformed second moment defines a set of principal axes. The principal axis can then be used to define a rotation which can be applied to the third and fourth moments as well.
The most important aspect of this transformation from the data
management point of view is that it is not easily inverted; one cannot
conveniently go from the principal axis set of moments to the cartesian
axis set. Therefore, the averaging data structures for positions and
velocities of atoms consist of two data structure each. The ones for the
coordinates are AVX
(AVerage X) and PAX
(Principal Axis
X). The ones for the velocities are called AVV
(AVerage Velocity)
and PAV
(Principal Axis Velocity).
The AV data structures are required only for accumulating
averages for an dynamics runs. The BUILD command only requires the
PA
data structures. The analysis facility automatically constructs a new
PA
data structure from an AV data structure whenever necessary.
If it is necessary to rotate all the coordinates in a trajectory with respect to a particular coordinate set, the COMPARE command may be used. See section Reorienting a Coordinate Trajectory, for details. If it is necessary to merge several trajectories together, the MERGE DYN command in the main part of CONGEN can be used, see section Manipulating Trajectories.
{ IC } ACCUM [COMPARE] [ADD] {COOR} FIRSTU unit-number [NUNIT integer] {VEL } [BEGIN integer] [STOP integer] [SKIP integer]
The function of the ACCUM command is to accumulate averaging information for the internal coordinates, positions, or velocities. The ACCUM command can add to existing accumulations or initiate a new set of accumulations. It will also perform the principal axis transformation on positional or velocity moments automatically once the accumulation is complete.
The data used by ACCUM is produced during the dynamics calculations. Two sets of data are produced, the coordinates and velocities of all the atoms at periodic intervals during the runs. One specifies a set of these files by specifying the first unit number of the first file and specifying how many unit numbers after that should also be read. These files should be arranged in time order.
To use the ACCUM command, two operands must always be specified -- the first unit from which the coordinate or velocity sets will be read and which data structures the accumulations should go into. FIRSTU specifies the unit number of the first unit. IC specifies that the internal coordinate averages are to be accumulated; the files which are read must be dynamical coordinates. COOR specifies that the coordinates averages are to be accumulated; the files must dynamical coordinates. VEL specifies that velocity averages are to be accumulated; the files must be dynamical velocities. If the files do not have what they are expected to have, the analysis facility will stop execution of CONGEN. The files themselves may be read repeatedly.
The NUNIT option specifies how many units are to be read for the accumulation. If not specified, it defaults to 1.
The COMPARE option specifies that the accumulation should be done using the comparison structure's averages. This allows comparisons between dynamical calculations. If not specified, the accumulation is done with respect to the main structure.
The ADD option allows one to add to a preexisting accumulation. If not specified, the accumulation is started from scratch. When it is specified, the data in the files is added to what is already present in the accumulation. Some important conditions must be satisfied for this to be done. First, the sampling interval for the pre-existing accumulation and the added data must be the same. The sampling interval is determined by the SKIP option (see below). Next, the range of the dynamics steps covered by the pre-existing accumulation and the files to be read must be adjacent in time. In other words, the stopping step of one set plus the sampling interval must equal the beginning step of the other set. These conditions ensure that the averages will be meaningful.
The BEGIN option specifies the first step in the files to be accumulated. All records which have a step number greater than or equal to BEGIN will be accumulated. If not specified, it defaults to 1 so that the range of steps to be accepted is not bounded from below.
The STOP option specifies the last step in the files to be accumulated. All records which have a step number less than or equal to STOP will be accumulated. If not specified, it defaults to infinity so that the range of steps to be accepted is not bounded from above.
The SKIP option indirectly specifies the sampling interval. As the coordinates or velocities are read in, the step number modulo SKIP is computed. If this number is zero, the step is used in the accumulation. If the step number modulo SKIP is not zero, the step is ignored. If not specified, SKIP defaults to 1. One must careful when using this option. If coordinates were written every 5 steps of dynamics and one specifies SKIP to be 7, the sampling interval will be 35 steps.
Reorienting a coordinate trajectory is possible using the COMPARE command. For details see section Reorienting a Coordinate Trajectory.
{ IC } COMBINE [COMPARE] {COOR} UNIT unit-number {VEL }
The COMBINE command is used to combine two averages together. One average is within the analysis facility, the other is read from a file. The averages on file are produced by the analysis facility and written there by the WRITE command. The result of the combination replaces the average kept within the facility.
The COMPARE option specifies that the comparison data structure should be used. Otherwise, the main data structures are used.
IC, COOR, or VEL is used to specify which of the three averaging data structures should be used. IC refers to the internal coordinate averages; COOR refers to the average coordinates; and VEL refers to the average velocities.
The UNIT operand specifies what unit the second average is coming from. The average stored in this file must be the same type as the one referred to be the command.
The data contained in the averages data structures is placed into a table using the BUILD command, see section Building Tables. There are a large number of dynamic properties available for table construction.
Prior to using any of the dynamic properties, one must be ensure
the correct data structures have been created within the analysis
facility. In order to get dynamical information about internal
coordinates, an ICAV
must have been built. If such information is
to be compared, the ICAV
's for both main and comparison data
structures must have been created. For positional dynamical properties
of atoms, one requires a PAX data structure. Likewise, for velocity
dynamical properties, one requires a PAV data structure. Note that both
positional and velocity properties of atoms may be mixed in the same
table. If one fails to ensure that the correct data structures have been
created, the BUILD command will print an error message and not
build the table.
For the internal coordinates (bonds, angles, torsion angles, and improper torsion angles), the syntax is as follows:
property ::= {GEOMETRY} [DYN moment-spec] { ENERGY }
A `moment-spec' has the following syntax:
{ M1 } { M2 } { M3 } moment-spec ::= { M4 } { MIN } { MAX } { AVE } { SD }
GEOMETRY and ENERGY specify whether the geometric or energetic values should be used. DYN specifies that we are dealing with dynamical properties. M1 through M4 stand for the measures of the first through fourth moments as explained earlier. AVE is synonymous with M1, and SD is synonymous with M2. MIN requests the minimum value, and MAX requests the maximum value.
A variety of dynamical properties of atoms exist. One can look at various moments of the position and velocity distribution over time. One can look at the anisotropy of the motion. One can look at temperature related properties, such as the kinetic energy and heat capacity. Finally, one can look at the orientation of the principal axes of the motion with respect to the bond vectors.
Reorienting a coordinate trajectory is possible using the COMPARE command. For details see section Reorienting a Coordinate Trajectory.
Syntax
{ X } { Y } { Z } property ::= DYN { R } moment-spec [PAX] { VX } { VY } { VZ } { VR } property ::= DYN TEMPFACTOR
Function
The function of this class of properties is to extract the first four moments of either the positional or velocity time distribution for all atoms. The moment-spec specifies which moment or minimum or maximum of the distribution for each atom to extract. X, Y, and Z specify the x, y, and z components of the positions. R specifies different things for different moments. For the first moment, it is the distance between the origin and average coordinates. For the second through fourth moments, it is the second through fourth power of the moments summed together and then raised to the reciprocal of the moment order. For example, R M4 is
PAX, which may be specified only for the second through fourth moments, causes the principal axis values to be used. Note that when PAX is not specified, the cross moment terms are not accessible. The same rules apply for VX, VY, VZ, and VR except they apply to velocities.
The TEMPFACTOR property converts the DYN R M2 property into the units used by crystallographers for isotropic temperature factors.
Syntax
property ::= DYN { ANISOTROPY } { X } { ANISTROPY } { V }
Note: the program will accept the above incorrect speling as well as the normal spelling.
Function
This property specification extracts the anisotropy of the fluctuations. Since the principal axis transformation orders the second moment fluctuations by their size, one can measure the anisotropy of the motion using the following measure:
where the second moments are in the principal axis system. For this measure, isotropic motion will yield an anisotropy of 0; motion along a single line will yield an anisotropy of 1,000,000,000,000. For large anisotropies, the measure will roughly yield the ratio of the dominant motion to the other motions. The anisotropy of X specifies the coordinate anisotropy; the anisotropy of V specifies the velocity anisotropy.
Syntax
{ M1 } property ::= DYN { KE } { M2 } {TEMP} {AVE } { SD }
Function
This property specifies the calculation of the average or standard deviation of the kinetic energy or temperature. This information is calculated from the velocity principal axis averages. The units for the average kinetic energy is kcal/mole. The unit for the standard deviation of the kinetic energy is cal/(deg*mole) -- the normal units for heat capacity. The units of temperature moments is degrees Kelvin.
The temperature factors of the atoms are available, see section Dynamic Properties of Position and Velocity.
Syntax
[ 1 ] { X } [ 2 ] property ::= DYN PAANG { Y } [ 3 ] { Z } [ 4 ] [ 5 ] [ 6 ]
[ 1 ] [ 2 ] property ::= DYN PABOND [ 3 ] [ 4 ] [ 5 ] [ 6 ]
Function
These property specifications are used for determining the
angles between the principal axes of positional time distribution and
the bond joined to each atom. Each atom has associated with it space for
6 times 3 sets of angles. Six is required because each atom may have up
to six bonds to neighboring atoms. Three is required for the angle
between each principal axis and a bond vector. The six sets of three
angles are sorted in ascending order on the magnitude of the angle
between the x principal axis and the bond vector. Therefore, to obtain
the principal axis bond vector angles, one uses the PAANG property
specification. In this specification, 1 specifies the angle
between the bond whose direction is closest to the first principal axis.
2 specifies the next closest angle, etc. If the number is omitted,
1 is assumed. X, Y, or Z specify which principal
axis angle should be included. To allow one to see how the bond vectors
have been sorted, the PABOND property specification may be used.
PABOND 1 gives the atom number of the first bond in PAANG
collection, PABOND 2 gives the next etc. If the number is omitted,
1 is used. The static atom property NUMBER may be used to assist
in the identification of the bonded atoms.
To compare the results from two dynamical calculations, one must perform the following steps: First, one must invoke a COMPARE command, see section Comparisons, to establish the comparison PSF and other comparison data structures and to construct the matching of atoms between the two PSF's. If the PSF is not changed, then any averaging data structures will be assigned from the main calculation to the comparison calculation. Then, any additional comparison averaging data structures must either read in or constructed for both main and comparison. The COMPARE option in the READ, ACCUM, and COMBINE command can be used to direct the averaging data structures to the comparison data structure collection. Finally, the BUILD command using the DIFF option, see section Building Tables, can be used to build tables which are the differences between the main and comparison dynamical averages.
Go to the previous, next section.