Lattice-Boltzmann, a revolution in computational fluid dynamics (CFD)
12-01-2018 | Posted by Luis Lacoma
From school onwards, equations are part of our lives. Initially they appear as abstract mathematical expressions, more or less complicated, but with time we come to realise that equations represent, and allow us to understand, the world around us.
In a “hit-parade” of the more famous equations, we find classics like the Pythagorean theorem, Newton’s law of gravitation, Einstein’s relativity theory, the Gaussian distribution… and others, perhaps less famous but no less important, like the Second Law of Thermodynamics or Schrödinger’s equation.

Finally we come to the Navier-Stokes equations which govern the motions of fluids, as in ocean currents, the atmosphere, or the flow patterns around a vehicle, considering them as continuous means. But there is another alternative.
The latest advances in simulation have shown the value in using methods based on solving Boltzmann’s equation, which analyses the fluid as an array of mesoscopic particles rather than molecules, studying their motions on a regular lattice and considering their collisions.
The advantages of the “Lattice-Boltzmann” CFD methods are undeniable:
- The generation of the lattice is automatic, practically without user intervention, and unlike traditional procedures, geometrical complexity is not a drawback;
- From a computational perspective, since collisions are locally handled, parallel processing becomes much simpler; the problem is linearly scalable, a particularly important feature as we access ever larger numbers of CPUs;
- It allows a more physical representation of turbulence and, because of the simplicity of the lattice construction, it is especially suitable for problems with moving geometries or those that require adaptive mesh refinements, such as capturing the evolution of a wake.
Lattice-Boltzmann software packages, such as XFlow, are revolutionising the CFD world. A calculation can be set up in minutes rather than the days required when using traditional codes.
This expedites the performance of multiple calculations for different sets of conditions. And the quality of the results obtained is similar to those achieved by solving the Navier-Stokes equations.