Technical Documentation
TORSION ENERGY FUNCTION: Introduction

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.

Torsions
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