|
The
bond term is of the Inclusion type (i.e., indexed
by the Atom Inclusion Type) and an individual term
is:
where
rij is the distance between atoms
i and j, Kb is the
stretching constant and bo is the
equilibrium bond length. The two constants are
assigned to this particular bond based on the Atom
Inclusion Types of the two participating
atoms.
The
Bonds
module is located in the Energy sub-directory of
the Yup package, hence:
Yup.Energy.Bonds.
The
bond term is introduced into a simulation by first
creating an (empty) instance of the
Bonds
object. Participating atom pairs are then added to
this object. Previously added bonds may also be
deleted or modified. All these actions affect only
a list of candidate bonds. The compile process
binds Coordinate and Gradient
AtomVectors
to the Bonds
module and then goes through the candidate bonds to
form a compiled bond list in which all the atoms
that are involved and the bond parameters that they
are to use are positively identified. Only then can
the bond 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 bond list is fixed
because the Coordinates are different at each call.
However, it is possible to modify the bond
parameters (force constant and equilibrium bond
length) continuously during a calculation. The
parameters are accessed through the subscript
operator. More radical changes can be made by
adding new bonds and modifying or deleting existing
bonds. These actions affect the candidate list and
immediately clear the compiled list. Therefore the
Bonds
module must be compiled again before evaluation can
resume. The state of the
Bonds
module can be judged by examining the data
attributes. The compiled bonds can also be examined
in great detail by printing the object.
This
manual is divided into several pages:
|
Name
|
Content
|
|
Bonds
|
Introduction:
this page.
|
|
Create
|
Creating
a new Bonds
object. The function
Bonds().
|
|
Data
|
The
data attributes of a
Bonds
object; some of which may be assigned
new values.
|
|
Manage
|
Managing
bonds: add new bonds, modifying
existing bonds and deleting existing
bonds. The methods:
add(),
modify()
and delete().
|
|
Compile
|
Preparing
a Bonds
object for evaluation of the energy and
gradients. The methods:
update()
and compile().
|
|
Evaluate
|
Evaluate
the bond energy and gradients. The
method: evaluate().
|
|
Subscript
|
The
subscript []
operator: used to access and to assign
values to the bond
parameters
|
|
Print
|
Documents
the print, repr, delete and compare
operators.
|
|
Write
|
Writing
the finalized bond record to the force
field file.
|
|