HPP model

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Small scale demonstration of the square lattice HPP model (click the picture for animated version).

The HPP model is a fundamental lattice gas automaton for the simulation of gases and liquids. It was a precursor to the lattice Boltzmann methods. From lattice gas automata, it is possible to derive the macroscopic Navier-Stokes equations.[1] Interest in lattice gas automaton methods levelled off in the early 1990s, due to rising interest in the lattice Boltzmann methods.[2]


The HPP model was first introduced in papers published in 1973 and 1976 by Hardy, Pomeau and de Pazzis, whose initials give the model its name. The model can be used as a simple model for both the movement of gases and fluid.[3]


Visual examples of the four rules governing the HPP Model.

In this model the lattice takes the form of a two-dimensional square grid, with particles capable of moving to any of the four adjacent grid points which share a common edge, and particles cannot move diagonally. This means each grid point can only have one of sixteen possible interactions.

  • Particles exist only on the grid points, never on the edges or surface of the lattice.
  • Each particle has an associated direction (from one grid point to another immediately adjacent grid point).
  • Each lattice grid cell can only contain a maximum of one particle for each direction, i.e., contain a total of between zero and four particles.

The following rules also govern the model:

  1. A single particle moves in a fixed direction until it experiences a collision.
  2. Two particles experiencing a head-on collision are deflected perpendicularly.
  3. Two particles experience a collision which isn't head-on simply pass through each other and continue in the same direction.
  4. Optionally, when a particles collides with the edges of a lattice it can rebound.

The HPP models follows a two-stage update process.

Collision Step[edit]

In this step the above rules, 2., 3. and 4. are checked and applied if any collisions have occurred. This results in head-on collision particles changing direction, pass-through collisions continuing unchanged, or non-colliding particles simple remaining the same.

Transport Step[edit]

The second step consists of each particle moving one lattice step in the direction they are currently travelling, which could have been changed by the above Collision Step.


The model is badly flawed, as momentum is always conserved in both the horizontal and vertical lanes. No energy is ever removed from the model, either by collisions or movement, so it will continue indefinitely.

The HPP model lacked rotational invariance, which made the model highly anisotropic. This means for example, that the vortices produced by the HPP model are square-shaped.[4]


  1. ^ Succi, section 2.3 describes the process
  2. ^ Succi, section 2.6
  3. ^ Gershenfeld, pp. 103
  4. ^ Succi, footnote p. 22


  • Sauro Succi (2001). The Lattice Boltzmann Equation, for fluid dynamics and beyond. Oxford Science Publications. ISBN 0-19-850398-9. (Chapter 2 on Lattice gas Cellular Automata)
  • Neil Gershenfeld (1998). The Nature of Mathematical Modeling. Cambridge University Press. ISBN 978-0521570954.