Technical Documentation
ANGLE ENERGY FUNCTION: Introduction

The angle term is of the Inclusion type (i.e., indexed by the Atom Inclusion Type) and an individual term is:

Ka[ Qijk - Qo ]2

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.

Angles
Create
Data
Manage
Compile
Evaluate
Subscript
Print
Write

OVERVIEW
Bonds
Angles
Torsions
SoftSphereI
ElectroI
VanderWaalsI
DistNOE
TorsionSeries
GenLJI
Potential
Hooke
Hand
Impropers
SoftSphereX
ElectroX
VanderWaalsX
SwissCheeseX
AngNOE
GenLJX

Technical
Introduction
Directory
Vectors
Energy
Model
Assembly
Methods
FPF
FFF
AVF
TaroScript
YammpScript
Python
Utilities

Home
Information
News
User
Technical
Programmer
iYup
Download
Showcase
ETC