 
 
 
 
 
 
 
 
 
 
MODELLER currently implements a Beale restart conjugate gradients algorithm [Shanno & Phua, 1980,Shanno & Phua, 1982] and a molecular dynamics procedure with the leap-frog Verlet integrator [Verlet, 1967]. The conjugate gradients optimizer is usually used in combination with the variable target function method [Braun & Gõ, 1985] which is implemented with the automodel class (Section A.4). The molecular dynamics procedure can be used in a simulated annealing protocol that is also implemented with the automodel class.
Force in MODELLER is obtained by equating the objective function  with internal energy in kcal/mole. The atomic masses are all set to
that of C
with internal energy in kcal/mole. The atomic masses are all set to
that of C (MODELLER unit is kg/mole). The initial velocities
at a given temperature are obtained from a Gaussian random number
generator with a mean and standard deviation of:
 (MODELLER unit is kg/mole). The initial velocities
at a given temperature are obtained from a Gaussian random number
generator with a mean and standard deviation of:
|  |  | 0 | (A.7) | 
|  |  |  | (A.8) | 
 is the Boltzmann constant,
 is the Boltzmann constant,  is the mass of one C
 is the mass of one C atom,
and the velocity is expressed in angstroms/femtosecond.
 atom,
and the velocity is expressed in angstroms/femtosecond.
The Newtonian equations of motion are integrated by the leap-frog Verlet
algorithm [Verlet, 1967]:
 is the position of atom
 is the position of atom  . In addition, velocity is
capped at a maximum value, before calculating the shift, such that the
maximal shift along one axis can only be cap_atom_shift. The
velocities can be equilibrated every equilibrate steps to
stabilize temperature.  This is achieved by scaling the velocities
with a factor
. In addition, velocity is
capped at a maximum value, before calculating the shift, such that the
maximal shift along one axis can only be cap_atom_shift. The
velocities can be equilibrated every equilibrate steps to
stabilize temperature.  This is achieved by scaling the velocities
with a factor  :
:
|  |  |  | (A.11) | 
|  |  |  | (A.12) | 
 is the current kinetic energy of the system.
 is the current kinetic energy of the system.
Langevin dynamics (LD) are implemented as in [Loncharich et al., 1992]. The equations of motion (Equation A.9) are modified as follows:
 is a friction factor (in
 is a friction factor (in  ) and
) and  a random
force, chosen to have zero mean and standard deviation
 a random
force, chosen to have zero mean and standard deviation
|  | (A.14) | 
MODELLER also implements the self-guided MD [Wu & Wang, 1999] and LD [Wu & Brooks, 2003]
methods. For self-guided MD, the equations of motion (Equation A.9)
are modified as follows:
 is the guiding factor (the same for all atoms),
 is the guiding factor (the same for all atoms),  the guide
time in femtoseconds, and
 the guide
time in femtoseconds, and  a guiding force, set to zero at the
start of the simulation. (Position
 a guiding force, set to zero at the
start of the simulation. (Position  is updated in the usual way.)
 is updated in the usual way.)
For self-guided Langevin dynamics, the guiding forces are determined as follows (terms are as defined in Equation A.13):
|  | (A.17) | 
A scaling parameter  is then determined by first making an unconstrained
half step:
 is then determined by first making an unconstrained
half step:
|  |  |  | (A.18) | 
|  |  |  | (A.19) | 
|  |  |  | (A.20) | 
Finally, the velocities are advanced using the scaling factor:
Where rigid bodies are used, these are optimized separately from the other atoms in the system. This has the additional advantage of reducing the number of degrees of freedom.
 , and an orientation quaternion,
, and an orientation quaternion,  [Goldstein, 1980].
(The quaternion
has 4 components,
 [Goldstein, 1980].
(The quaternion
has 4 components,  through
 through  , of which the first three refer to the
vector part, and the last to the scalar.) The translational and rotational
motions of each body are separated. Each body is translated about its center
of mass using the standard Verlet equations (Equation A.9) using
the force:
, of which the first three refer to the
vector part, and the last to the scalar.) The translational and rotational
motions of each body are separated. Each body is translated about its center
of mass using the standard Verlet equations (Equation A.9) using
the force:
 operates over all atoms in the rigid body, and
 operates over all atoms in the rigid body, and  is the position of atom
is the position of atom  in real space.
 in real space.
For the rotational motion, the orientation quaternions are again integrated using the same Verlet equations. For this, the quaternion accelerations are calculated using the following relation [Rapaport, 1997]:
|  | (A.23) | 
 is the orthogonal matrix
 is the orthogonal matrix
|  | (A.24) | 
 is the first derivative of the angular velocity (in the
body-fixed frame) about axis
 is the first derivative of the angular velocity (in the
body-fixed frame) about axis  - i.e., the angular acceleration. These
angular accelerations are in turn calculated from the Euler equations for
rigid body rotation, such as:
 - i.e., the angular acceleration. These
angular accelerations are in turn calculated from the Euler equations for
rigid body rotation, such as:
|  | (A.25) | 
 and
 and  components.) The angular velocities
 components.) The angular velocities
 are obtained from the quaternion velocities:
 are obtained from the quaternion velocities:
|  | (A.26) | 
The torque,  , in the body-fixed frame, is calculated as
, in the body-fixed frame, is calculated as
|  | (A.27) | 
 is the rotation matrix to convert from world space to body space
 is the rotation matrix to convert from world space to body space
|  | (A.28) | 
 component of the inertia tensor,
 component of the inertia tensor,  , is given by
, is given by
|  | (A.29) | 
 is the position of each atom in body space (i.e. relative to
the center of mass, and unrotated), and
 is the position of each atom in body space (i.e. relative to
the center of mass, and unrotated), and  is the mass of atom
 is the mass of atom  (taken
to be the mass of one
 (taken
to be the mass of one  atom, as above). Similar relations exist for
the
 atom, as above). Similar relations exist for
the  and
 and  components.
 components.
The kinetic energy of each rigid body (used for temperature control) is given as a combination of translation and rotational components:
|  | (A.30) | 
Initial translational and rotational velocities of each rigid body are set in the same way as for atomistic dynamics.
 , and the rotations in radians about
the body-fixed axes:
, and the rotations in radians about
the body-fixed axes:  ,
,  , and
, and  . The first
derivative of the objective function
. The first
derivative of the objective function  with respect to the center of mass
is obtained from Equation A.22, and those with respect to the
angles from:
 with respect to the center of mass
is obtained from Equation A.22, and those with respect to the
angles from:
|  | (A.31) | 
 are given as:
 are given as:
| ![$\displaystyle \mathsfsl{M_x} = \left[ \begin{array}{ccc} 0 & -\sin{\theta_z}\si...
...s{\theta_y}\cos{\theta_x} & -\cos{\theta_y}\sin{\theta_x} \\ \end{array}\right]$](img258.png) | (A.32) | 
| ![$\displaystyle \mathsfsl{M_y} = \left[ \begin{array}{ccc} -\cos{\theta_z}\sin{\t...
...n{\theta_y}\sin{\theta_x} & -\sin{\theta_y}\cos{\theta_x} \\ \end{array}\right]$](img259.png) | (A.33) | 
| ![$\displaystyle \mathsfsl{M_z} = \left[ \begin{array}{ccc} -\sin{\theta_z}\cos{\t...
...- \cos{\theta_z}\sin{\theta_y}\cos{\theta_x} \\ 0 & 0 & 0 \\ \end{array}\right]$](img260.png) | (A.34) | 
The atomic positions  are reconstructed when necessary from the
body's orientation by means of the following relation:
 are reconstructed when necessary from the
body's orientation by means of the following relation:
|  | (A.35) | 
 is the rotation matrix
 is the rotation matrix
| ![$\displaystyle \mathsfsl{M} = \left[ \begin{array}{ccc} \cos{\theta_z}\cos{\thet...
...os{\theta_y}\sin{\theta_x} & \cos{\theta_y}\cos{\theta_x} \\ \end{array}\right]$](img263.png) | (A.36) | 
 
 
 
 
 
 
 
 
