c CCLRC
Section 6.1
6.1.6
Tersoff, Three Body and Four Body Potentials
DL POLY 3 can calculate Tersoff, three body and four body interactions. Although some of these
interactions have similar terms to some intramolecular ones (three body to the bond angle and
four body to inversion angle), these are not dealt with in the same way as the normal bonded
interactions. They are generally very short ranged and are most effectively calculated using a link-
cell scheme [
]. No reference is made to the Verlet neighbour list nor the excluded atoms list. It
follows that atoms involved these interactions can interact via non-bonded (pair) forces and ionic
forces also. Note that contributions from frozen pairs of atoms to these potentials are excluded. The
calculation of the Tersoff three-body and four body terms is distributed over processors on the basis
of the domain of the central atom in them. DL POLY 3 implements these potentials in the following
routines tersoff forces, tersoff generate, three body forces and four body forces.
6.1.7
Globally Summed Properties
The final stage in the DD strategy, is the global summation of different (by terms of potentials)
contributions to energy, virial and sterss, which must be obtained as a global sum of the contributing
terms calculated on all nodes.
The DD strategy does not require a global summation of the forces, unlike the Replicated Data
method used in DL POLY 2, which limits communication overheads and provides smooth paral-
lelisation to large processor counts.
6.1.8
The Parallel (DD tailored) SHAKE and RATTLE Algorithms
The essentials of the DD tailored SHAKE and RATTLE algorithms (see Section
1. The bond constraints acting in the simulated system are allocated between the processors,
based on the location (i.e. domain) of the atoms involved;
2. Each processor makes a list of the atoms bonded by constraints it must process. Entries are
zero if the atom is not bonded.
3. Each processor passes a copy of the array to the neighbouring processors which manage the
domains in contact with its own. The receiving processor compares the incoming list with its
own and keeps a record of the shared atoms and the processors which share them.
4. In the first stage of the the algorithms, the atoms are updated through the usual Verlet
algorithm, without regard to the bond constraints.
5. In the second (iterative) stage of the algorithms, each processor calculates the incremental
correction vectors for the bonded atoms in its own list of bond constraints. It then sends
specific correction vectors to all neighbours that share the same atoms, using the information
compiled in step 3.
6. When all necessary correction vectors have been received and added the positions of the
constrained atoms are corrected.
7. Steps 5 and 6 are repeated until the bond constraints are converged.
8. Finally, the change in the atom positions from the previous time step is used to calculate the
atomic velocities.
119