Technical Documentation
VDW ENERGY FUNCTION: Introduction

This van der Waals term is of the Inclusion type (i.e., indexed by the Atom Inclusion Type). An Exclusion version of this term is also available, see [VanderWaalsX]. An individual term is:

A12
-
B6


rij12
rij6

where rij is the distance between atoms i and j, A12 and B6 are force constants. The two constants are assigned to this particular pair based on the Atom Inclusion Types of the two participating atoms. The van der Waals term is asymptotic and so there is potentially a very large number of pair interactions to be considered. Usually, only the pairs that are within a limited cutoff distance are considered. This creates a discontinuity at the cutoff point which can be minimized by using a large cutoff distance. The discontinuity can be artifically eliminated by applying a trimming function. This is a piecewise continuous function (below) that is multiplied on the plain van der Waals function (above):

1

, if rij <= rstart

( rfinish - rij )2( rfinish + 2rij - 3rstart )

, if rstart < rij < rfinish


( rfinish - rstart )3

0

, if rij >= rfinish

Trimming starts at the distance rstart and at rfinish the value and gradient are both 0. Normally, rstart is set beyond the cutoff distance so the trimming function is not used. In order to apply the trimming function, set rstart to a value less than rfinish that in turn is less than the cutoff distance. Distances are specified as proportions of the van der Waals distance:

[ 2A12 / B6 ]1/6

which is different for each pair type.

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

The van der Waals term is introduced into a simulation by first creating an (empty) instance of the VanderWaalsI object. Participating atom pairs are then added to this object. Previously added pairs may also be deleted or modified. All these actions affect only a list of candidate pairs. The compile process binds Coordinate and Gradient AtomVectors to the VanderWaalsI module and then goes through the candidate pairs to form a compiled pair list in which all the atoms that are involved and the van der Waals parameters that they are to use are positively identified. Only then can the van der Waals 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 pair list is fixed because the Coordinates are different at each call. However, it is possible to modify the van der Waals parameters (A12 and B6) continuously during a calculation. The parameters are accessed through the subscript operator. More radical changes can be made by adding new pairs and modifying or deleting existing pairs. These actions affect the candidate list and immediately clear the compiled list. Therefore the VanderWaalsI module must be compiled again before evaluation can resume. The state of the VanderWaalsI module can be judged by examining the data attributes. The compiled pairs can also be examined in great detail by printing the object.

This manual is divided into several pages:

Name

Content

VanderWaalsI

Introduction: this page.

Create

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

Data

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

Manage

Managing van der Waals pairs: add new pairs, modifying existing pairs and deleting existing pairs. The methods: add(), modify() and delete().

Compile

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

Evaluate

Evaluate the van der Waals energy and gradients. The method: evaluate().

Subscript

The subscript [] operator: used to access and to assign values to the van der Waals parameters

Print

Documents the print, repr, delete and compare operators.

Write

Writing the finalized van der Waals record to the force field file.

VanderWaalsI
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