Multi-Particle Collision Dynamics

Physics is a science of models. The equations that we write down and the schematics that we draw are necessarily simplifications of reality but they capture some aspect of existence that we consider to be most important. The best models describe many situations while remaining simple. At times, our models can be stunningly simple and yet surprisingly ubiquitous (like the simple harmonic oscillator). At other times our models can be simple in concept yet require computers to solve (like a Lennard-Jones fluid).

Molecular Dynamics is a computational technique that considers spherical fluid molecules that interact through pair-wise Lennard-Jones potentials (check out our review for more details). But calculating the force between each pair of particles for each time step is a costly procedure. At times, more coarse-grained models of fluids will suffice.

One such model is Multi-Particle Collision Dynamics (MPCD), also called Stochastic Rotation Dynamics (SRD) (which, if you keep reading, you’ll realize is a specific MPCD realizations) or Real-coded Lattice Gas (RLG).

In MPCD collisions between fluid particles are replaced by multi-particle collision events that omit the molecular details and eliminate the need to calculate long-ranged forces between the fluid particles. These collisions are not physically insightful but rather are just constructed to conserve mass, momentum, and energy such that the hydrodynamic equations of motion are obeyed on sufficiently long length and time scales.


MPCD simulations occur in two steps. During the first, or streaming step, the particles move ballistically, and their positions are updated in discrete time intervals δt. During this portion of the algorithm the particles are simply an ideal gas. The second, or collision step transfers momentum between particles. The simulation domain is partitioned into cells. The number of particles in each cell may vary from one cell to another but the total number is conserved. Each cell has a centre of mass velocity, which corresponds to the local macroscopic velocity. Again, the collision step is a simple non-physical scheme that is constructed to conserve momentum. There are many different choices for this collision operator:

Stochastic Rotation Dynamics – The collision operator is a rotation through a given angle (which sets the fluid viscosity) about a randomly chosen axis. The randomly chosen axis can either be a random choice between a given set of orthogonal axes (say x,y,z)) or a random axis can be generated for every collision event.

There is a nice version of MPCD that includes an Andersen thermostat as an integrated parts of the simulation technique. I’m particularly fond of this collision operator. It simply generates random velocities from a Maxwell-Boltzmann distribution. It sets the velocity of each particle in a cell to be the cell’s centre of mass velocity plus a random velocity minus the average of all the random velocities generated for that cell.

Another thermostatted MPCD algorithm uses a Langevin thermostat with noise and a friction terms. My code has this version implemented as well but I tend to use the Andersen-MPCD version most.
A few of these collision operators can be extended to conserve angular momentum within collision events but this is usually not an issue for the systems I am concerned with.

A sharp reader may have noticed that Galilean invariance is broken by the discretization of space into cells in the MPCD algorithm. If the mean-free path of the molecules is comparable or larger than the cell dimension then this is a relatively insignificant effect. However, this can be completely remedied by performing the collision operation in a cell grid which is shifted each time step by a random vector. Galilean invariance is then restored.

A wonderful interactive can be found on the Institute of Complex Systems’ webpage.

More information about MPCD and other simulation techniques that we often use in Dr. Gary Slater’s research group can be found in our review of computational methods.


The MPCD code has proven a useful tool for revealing the behavior of solutes eluting through microfluidic devices while subject to an external, normal field. In this case, MPCD simulations corroborated experimental findings (with Dr. Michel Godin’s research group) and led to a numerical model for the retention of particles as a function of size.

We have also used it to study electrophoresis of polyelectrolytes and polyampoholytes, to look at electro-osmosis around a tethered polymer and to study polymer brushes.