Technical Documentation
IMPROPER TORSION ENERGY FUNCTION: Introduction

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

Kt[ tijkl - to ]2

where tijkl is the torsion angle spanned by the atoms i, j, k and l, Kt is the force constant and to is the equilibrium torsion angle. The two constants are assigned to this particular improper torsion angle based on the Atom Inclusion Types of the four participating atoms.

The Impropers module is located in the Energy sub-directory of the Yup package, hence: Yup.Energy.Impropers.

The improper torsion term is introduced into a simulation by first creating an (empty) instance of the Impropers 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 improper torsions. The compile process binds Coordinate and Gradient AtomVectors to the Impropers module and then goes through the candidate torsions to form a compiled improper torsion list in which all the atoms that are involved and the improper torsion parameters that they are to use are positively identified. Only then can the improper 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 improper torsion parameters (force constant and equilibrium torsion angle) continuously during a calculation. The parameters are accessed through the subscript operator. More radical changes can be made by adding new improper torsions and modifying or deleting existing torsions. These actions affect the candidate list and immediately clear the compiled list. Therefore the Impropers module must be compiled again before evaluation can resume. The state of the Impropers 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

Impropers

Introduction: this page.

Create

Creating a new Impropers object. The function Impropers().

Data

The data attributes of a Impropers object; some of which may be assigned new values.

Manage

Managing improper torsions: add new torsions, modifying existing improper torsions and deleting existing torsions. The methods: add(), modify() and delete().

Compile

Preparing a Impropers object for evaluation of the energy and gradients. The methods: update() and compile().

Evaluate

Evaluate the improper torsion energy and gradients. The method: evaluate().

Subscript

The subscript [] operator: used to access and to assign values to the improper torsion parameters

Print

Documents the print, repr, delete and compare operators.

Write

Writing the finalized improper torsion record to the force field file.

Impropers
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