Technical Documentation
BONDS ENERGY FUNCTION: Introduction

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

Kb[ rij - bo ]2

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.

Bonds
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