In an algorithm, there are collision and streaming steps. These evolve the density of the fluid \rho(\vec{x},t), for \vec{x} the position and t the time. As the fluid is on a lattice, the density has a number of components f_i, i=0,\ldots, a equal to the number of lattice vectors connected to each lattice point. As an example, the lattice vectors for a simple lattice used in simulations in two dimensions is shown here. This lattice is usually denoted D2Q9, for two dimensions and nine vectors: four vectors along north, east, south and west, plus four vectors to the corners of a unit square, plus a vector with both components zero. Then, for example vector \vec{e}_4=(0,-1), i.e., it points due south and so has no x component but a y component of -1. So one of the nine components of the total density at the central lattice point, f_4(\vec{x},t), is that part of the fluid at point \vec{x} moving due south, at a speed in lattice units of one.
