|
The
angle term is of the Inclusion type (i.e., indexed
by the Atom Inclusion Type) and an individual term
is:
where
Qijk is the angle spanned by the
atoms i, j and k,
Ka is the force constant and
Qo is the equilibrium angle. The
two constants are assigned to this particular angle
based on the Atom Inclusion Types of the three
participating atoms.
The
Angles
module is located in the Energy sub-directory of
the Yup package, hence:
Yup.Energy.Angles.
The
angle term is introduced into a simulation by first
creating an (empty) instance of the
Angles
object. Participating atom groups of three atoms
are then added to this object. Previously added
angles may also be deleted or modified. All these
actions affect only a list of candidate angles. The
compile process binds Coordinate and Gradient
AtomVectors
to the Angles
module and then goes through the candidate angles
to form a compiled angle list in which all the
atoms that are involved and the angle parameters
that they are to use are positively identified.
Only then can the angle term be evaluated. (Prior
attempts at evaluation will either yield an
exception or null results.) The evaluate method
would now be called many times as part of a
molecular mechanics calculation. Each call would
yield different results even though the compiled
angle list is fixed because the Coordinates are
different at each call. However, it is possible to
modify the angle parameters (force constant and
equilibrium angle) continuously during a
calculation. The parameters are accessed through
the subscript operator. More radical changes can be
made by adding new angles and modifying or deleting
existing angles. These actions affect the candidate
list and immediately clear the compiled list.
Therefore the Angles
module must be compiled again before evaluation can
resume. The state of the
Angles
module can be judged by examining the data
attributes. The compiled angles can also be
examined in great detail by printing the
object.
This
manual is divided into several pages:
|
Name
|
Content
|
|
Angles
|
Introduction:
this page.
|
|
Create
|
Creating
a new Angles
object. The function
Angles().
|
|
Data
|
The
data attributes of a
Angles
object; some of which may be assigned
new values.
|
|
Manage
|
Managing
angles: add new angles, modifying
existing angles and deleting existing
angles. The methods:
add(),
modify()
and delete().
|
|
Compile
|
Preparing
an Angles
object for evaluation of the energy and
gradients. The methods:
update()
and compile().
|
|
Evaluate
|
Evaluate
the angle energy and gradients. The
method: evaluate().
|
|
Subscript
|
The
subscript []
operator: used to access and to assign
values to the angle
parameters
|
|
Print
|
Documents
the print, repr, delete and compare
operators.
|
|
Write
|
Writing
the finalized angle record to the force
field file.
|
|