|
The
torsion term is of the Inclusion type (i.e.,
indexed by the Atom Inclusion Type) and an
individual term is:
|
Et[
1 + cos(
nttijkl
-
dt
) ]
|
where
tijkl is the torsion angle
spanned by the atoms i, j, k
and l, Et is the reference
energy, nt is the periodicity and
dt is the phase shift. The three
constants are assigned to this particular torsion
angle based on the Atom Inclusion Types of the four
participating atoms. A term may be a cosine series
consisting of a sum of multiple instances of the
above expression with different sets of values for
Et, nt and
dt. All act on the same set of
four atoms (and therefore on the same
tijkl) so the series is
considered to be a single term.
The
Torsions
module is located in the Energy sub-directory of
the Yup package, hence:
Yup.Energy.Torsions.
The
torsion term is introduced into a simulation by
first creating an (empty) instance of the
Torsions
object. Participating atom groups of four atoms are
then added to this object. Previously added
torsions may also be deleted or modified. All these
actions affect only a list of candidate torsions.
The compile process binds Coordinate and Gradient
AtomVectors
to the Torsions
module and then goes through the candidate torsions
to form a compiled torsion list in which all the
atoms that are involved and the torsion parameters
that they are to use are positively identified.
Only then can the torsion 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
torsion list is fixed because the Coordinates are
different at each call. However, it is possible to
modify the torsion parameters (reference energy,
periodicity and phase shift) continuously during a
calculation. The parameters are accessed through
the subscript operator. More radical changes can be
made by adding new torsions and modifying or
deleting existing torsions. These actions affect
the candidate list and immediately clear the
compiled list. Therefore the
Torsions
module must be compiled again before evaluation can
resume. The state of the
Torsions
module can be judged by examining the data
attributes. The compiled torsions can also be
examined in great detail by printing the
object.
This
manual is divided into several pages:
|
Name
|
Content
|
|
Torsions
|
Introduction:
this page.
|
|
Create
|
Creating
a new Torsions
object. The function
Torsions().
|
|
Data
|
The
data attributes of a
Torsions
object; some of which may be assigned
new values.
|
|
Manage
|
Managing
torsions: add new torsions, modifying
existing torsions and deleting existing
torsions. The methods:
add(),
modify()
and delete().
|
|
Compile
|
Preparing
a Torsions
object for evaluation of the energy and
gradients. The methods:
update()
and compile().
|
|
Evaluate
|
Evaluate
the torsion energy and gradients. The
method: evaluate().
|
|
Subscript
|
The
subscript []
operator: used to access and to assign
values to the torsion
parameters
|
|
Print
|
Documents
the print, repr, delete and compare
operators.
|
|
Write
|
Writing
the finalized torsion record to the
force field file.
|
|