Technical Documentation
SWISS CHEESE ENERGY FUNCTION: Introduction

The Swiss Cheese term consists of a collection of holes fixed in space and each hole attracts atoms that are within a certain distance. (This is a re-implementation of the VLAT term found in Yammp 1.) The Swiss Cheese term is of the Exclusion type (i.e., indexed by the Atom Exclusion Type) and the expression for a given atom-hole pair is:

-E0Spq

, if rpq <= di

E0 [d0-rpq]2[3di-2rpq-d0] Spq

[d0-di]3

, if di < rpq < do

0

, if rpq >= do

where rpq is the distance between the atom p and the hole q, Eo is the maximum depth of a hole, and di and do are the inner and outer radii of the hole. All the holes are of equal size and each hole attracts any atom that is within the outer radius. The factor Spq is given by:

Spq={

Ap/Oq

, if ApOq

Oq/Ap

, if Ap >= Oq

where Ap is a constant assigned according to the exclusion atom type of the atom p, and Oq is a constant assigned specifically to the hole q. Both the constants Ap and Oq range in value from a small positive number (never zero) to a maximum value of 1.0. Thus, Spq adjusts the depth of the hole according to how evenly the atom constant Ap match the hole constant Oq.

The Swiss Cheese term is evaluated from an Inclusion list of atom-hole pairs that are within the outer radius plus some additional distance. This list is updated periodically.

Parameters are set from two sources. When a Swiss Cheese object is created, a Swiss Cheese file is read to obtain the coordinates of the center of each hole, the hole constant O for each hole and the inner radius di. From the parameter library, a second file is read to obtain the atom constants A. Default values are set for the ratio of outer to inner radii, the ratio of cutoff and outer radii, and the maximum depth of holes. This establishes the values of do, the cutoff distance and Eo; these settings can be changed during simulations, by setting the appropriate attributes. The Inclusion list is created during a nonbond list update: all atom-hole pairs that are within the cutoff distance are added to the list.

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

The Swiss Cheese term is introduced into a simulation by first creating an (empty) instance of the SwissCheeseX object. All atoms are automatically registered with this term and cannot be explicitly removed. However, atoms that have a Null exclusion atom type are not affected by this term. The compile process binds Coordinate and Gradient AtomVectors to the SwissCheeseX module and then proceed to build an Inclusion list. The list is of atom-hole pairs in which the atom is within a cutoff distance from the center of the hole. The cutoff distance is the outer radius of the hole plus an additional distance. Only then can the Swiss Cheese 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 Inclusion list is fixed because the Coordinates are different at each call. However, it is possible to modify some of the constants continuously during a calculation. The parameters are accessed through the subscript operator or an attribute. The state of the SwissCheeseX module can be judged by examining the data attributes. The candidate atom-hole pairs can also be examined in great detail by printing the object.

This manual is divided into several pages:

Name

Content

SwissCheeseX

Introduction: this page.

Create

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

Data

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

Manage

Managing this term: the methods: add(), modify() and delete() will raise exceptions. The method mapinfo() is unique to this term.

Compile

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

Evaluate

Evaluate the Swiss Cheese energy and gradients. The method: evaluate().

Subscript

The subscript [] operator: used to access and to assign values to the table of the A constants

Print

Documents the print, repr, delete and compare operators.

Write

Writing the finalized Swiss Cheese record to the force field file.

Other manuals exist for the Swiss Cheese (SCX) file format and the SwissCheese helper utilities.

SwissCheeseX
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