|
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 Ap
< Oq
|
|
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.
|