A
line that starts with a colon ":" on column one signals the
start of a section that contains data which will be processed. The
colon is followed by a keyword which is an all-uppercase word. This
signals a header line. The body of the data must follow immediately and
in a strict format; the only variations allowed are white spaces
(including blank lines). The section is complete when the terminal
keyword ":END"
is found.
Data
sections may appear in any order that make sense. A section that refers
to a symbol defined in another section must follow the section that
defines the symbol.
The Exclusion
Atom Type is used to index energy terms where all pair interactions
are implied except those that appear in an Exclusion list.
An Exclusion
list force-field term such as the Exclusion list variant of the
Soft Sphere Interaction term must be provided with data for all pairs
of Atom Exclusion Types. Since an :A:B: pair is the same as a
:B:A: pair only data from the upper half the interaction matrix is
needed.
The Atom
Inclusion Type is used to index energy terms that have no implied
interactions; only those that are listed in an Inclusion list
are calculated. Atom Inclusion Groups are sets of Atom
Inclusion Types to collectively set parameter values.
A list
of names (such as of a bonded atom pair) is written between colons and
the names are separated by additional colons. For example, a trio of
atom types is written like ":A:B:C:" and it
describes an angle centered at an atom of type "B" flanked by
atoms of types "A" and "C".
Each
section may only appear once. More sections are on the way.
Yup.fpf
will produce a file for each force-field term, even for those terms
that do not contain any data. If a model makes use of a force-field
term, then the corresponding file must contain at least one set of
constants.
The
distinction between Inclusion and Exclusion Atom Types
may be minimized by using the same set of names for both types and
assigning the same type name to both the atomitype and atomxtype
attributes of each atom.
However,
there is a strong incentive to keep the number of Exclusion
types to a bare minimum, because of the requirement to provide data for
all pairs of Exclusion Atom Types,
The
number of Atom (Exclusion or Inclusion) Types
is limited to the largest unsigned integer that can fit in one quarter
of the width of the word that is used to represent an unsigned long
integer. Most machines today represent unsigned long integers in a
32-bit field; this limits the number of Atom Types to the
largest unsigned integer that can be represented with 8 bits which is 28
or 256. One would expect that the limit on a 64-bit machine would be 216
or 65536 but this is almost never the case. Most 64-bit machines
operate in a 32-bit compatible mode. Therefore, on nearly all machines
there can only be 256 Atom Inclusion Types and 256 Atom
Exclusion Types.