Parallel Short-Ranged Molecular Dynamics Simulation with HPF
Student
Giampietro Lea, University of Wales at Swansea
Supervisor
David Henty, EPCC
Molecular Dynamics (MD) is a standard technique for simulating solids,
liquids and gases at the atomic or molecular level. The principle is
very simple: evaluate the (pairwise) forces between all interacting
particles, and update their positions and velocities according to
Newton's equations. This naive approach is an N-squared operation, so
there are many tricks employed when implementing MD in practice. The
most straightforward is when the forces are short-ranged (e.g. arising
from a Lennard-Jones potential) where a particle only interacts with
other particles within some cutoff radius. The challenge is to perform
appropriate book-keeping so that the minimum time is spent deciding
which particles are within this cutoff. A common method (even in
serial codes) is to use domain decomposition, where the computational
domain is divided up into boxes with sides of length equal to the
cutoff. Thus, a particle can only possibly interact with other
particles in the same or neighbouring boxes (a total of 9 boxes in 2
dimensions and 27 in 3d). Since even the serial algorithm has regular
domain decomposition built into it, parallelisation is extremely
straightforward. An existing program that uses precisely this approach
is the award winning SPaSM code. This was written using MPI for
reasons of efficiency and portability. However, the algorithm is
perfect for parallelisation using HPF since all the communications can
be done using simple CSHIFT operations. This project involves writing
a simple MD code using HPF. A working version would not be hard to
write, but there is ample scope to investigate problems due to load
balance (which happens when boxes contain differing numbers of
particles). There is also the possibility of producing striking
visualisations of colliding particles, or even colliding solids made
up of many individual atoms.
The final report for this project is available here.