background image
c CCLRC
Section 6.1
1. Using the atomic coordinates r
i
, each processor calculates the forces acting between the atoms
in its domain - this requires additional information in the form of the halo data, which must
be passed from the neighbouring processors beforehand. The forces are usually comprised of:
(a) All common forms of non-bonded atom-atom forces
(b) Atom-atom (site-site) coulombic forces
(c) Sutton-Chen density dependent forces (for metals) [
10
]
(d) Tersoff density dependent forces (for hydro-carbons) [
11
]
(e) 3-body valence angle and hydrogen bond forces
(f) 4-body inversion forces
(g) Ion core-shell model polarisation forces
(h) Tethering forces
(i) Chemical bond forces
(j) Valence angle forces
(k) Dihedral and improper dihedral angle forces
(l) Inversion forces
2. The computed forces are accumulated in atomic force arrays f
i
independently on each pro-
cessor
3. The force arrays are used to update the atomic velocities and positions of all the atoms in
the domain
4. Any atom which effectively moves from one domain to another, is relocated to the neighbour-
ing processor responsible for that domain.
It is important to note that load balancing (i.e. equal and concurrent use of all processors) is an
essential requirement of the overall algorithm. In DL POLY 3 this is accomplished quite naturally
through the DD partitioning of the simulated system. Note that this will only work efficiently if
the density of the system is reasonably uniform. There are no load balancing algorithms
in DL POLY 3 to compensate for a bad density distribution.
6.1.2
Distributing the Intramolecular Bonded Terms
The intramolecular terms in DL POLY 3 are managed through bookkeeping arrays which list all
atoms (sites) involved in a particular interaction and point to the appropriate arrays of parameters
that define the potential. Distribution of the forces calculations is accomplished by the following
scheme:
1. Every atom (site) in the simulated system is assigned a unique `global' index number from 1
to N ;
2. Every processor maintains a list of the local indices of the the atoms in its domain. (This is
the local atom list.)
3. Every processor also maintains a sorted (in ascending order) local list of global atom indices
of the atoms in its domain. (This is the local sorted atom list.)
116