background image
c CCLRC
Section 6.1
4. Every intramolecular bonded term U
type
in the system has a unique index number i
type
: from
1 to N
type
where type represents a bond, angle, dihedral, or inversion. Also attached there
with unique index numbers are core-shell units, bond constraint units, pmf constraint units
and tethered atoms, their definition by site rather than by chemical type.
5. On each processor a pointer array key
type
(n
type
, i
type
) carries the indices of the specific atoms
involved in the potential term labelled i
type
. The dimension n
type
will be 1 if the term
represents a tether, 1, 2 for a core-shell unit or a bond constraint unit or a bond, 1, 2, 3 for
a valence angle and 1, 2, 3, 4 for a dihedral or an inversion, 1, .., n
pmf unit
1or2
+ 1 for a pmf
constraint unit.
6. Using the key array, each processor can identify the global indices of the atoms in the bond
term and can use this in conjunction with the local sorted atoms list and a binary search
algorithm to find the atoms in local atom list.
7. Using the local atom identity, the potential energy and force can be calculated.
Note that, at the start of a simulation DL POLY 3 allocates individual bonded interactions to spe-
cific processors, based on the domains of the relevant atoms (DL POLY 3 routine build book intra).
This means that each processor does not have to handle every possible bond term to find those
relevant to its domain. Also this allocation is updated as atoms move from domain to domain i.e.
during the relocation process that follows the integration of the equations of motion (DL POLY 3
routine relocate particles). Thus the allocation of bonded terms is effectively dynamic, chang-
ing in response to local changes.
6.1.3
Distributing the Non-bonded Terms
DL POLY 3 calculates the non-bonded pair interactions using the link cell algorithm due to Hock-
ney and Eastwood [
43
]. In this algorithm a relatively short ranged potential cutoff (r
cut
) is assumed.
The simulation cell is logically divided into so-called link cells, which have a width not less than (or
equal to) the cutoff distance. It is easy to determine the identities of the atoms in each link cell.
When the pair interactions are calculated it is already known that atom pairs can only interact
if they are in the same link cell, or are in link cells that share a common face. Thus using the
link cell `address' of each atom, interacting pairs are located easily and efficiently via the `link list'
that identifies the atoms in each link cell. So efficient is this process that the the link list can be
recreated every time step at negligible cost.
For reasons, partly historical, the link list is used to construct a Verlet neighbour list [
16
]. The
Verlet list records the indices of all atoms within the cutoff radius (r
cut
) of a given atom. The use
of a neighbour list is not strictly necessary in the context of link-cells, but it has the advantage
here of allowing a neat solution to the problem of `excluded' pair interactions arising from the
intramolecular terms (see below) or frozen atoms.
In DL POLY 3 , the neighbour list is constructed simultaneously on each node, using the DD
adaptation of the link cell algorithm to share the total burden of the work reasonably equally
between nodes. Each node is thus responsible for a unique set of non-bonded interactions and the
neighbour list is therefore different on each node.
A feature in the construction of the Verlet neighbour list for macromolecules is the concept of
excluded atoms, which arises from the need to exclude certain atom pairs from the overall list. Which
atom pairs need to be excluded is dependent on the precise nature of the force field model, but as a
minimum atom pairs linked via extensible bonds or constraints and atoms (grouped in pairs) linked
117