The lattice Boltzmann methods (LBM), originated from the lattice gas automata (LGA) method (Hardy-Pomeau-Pazzis and Frisch-Hasslacher-Pomeau models), is a class of computational fluid dynamics (CFD) methods for fluid simulation. Instead of solving the Navier–Stokes equations directly, a fluid density on a lattice is simulated with streaming and collision (relaxation) processes. The method is versatile as the model fluid can straightforwardly be made to mimic common fluid behaviour like vapour/liquid coexistence, and so fluid systems such as liquid droplets can be simulated. Also, fluids in complex environments such as porous media can be straightforwardly simulated, whereas with complex boundaries other CFD methods can be hard to work with.
Algorithm
Unlike CFD methods that solve the conservation equations of macroscopic properties (i.e., mass, momentum, and energy) numerically, LBM models the fluid consisting of fictive particles, and such particles perform consecutive propagation and collision processes over a discrete lattice. Due to its particulate nature and local dynamics, LBM has several advantages over other conventional CFD methods, especially in dealing with complex boundaries, incorporating microscopic interactions, and parallelization of the algorithm. A different interpretation of the lattice Boltzmann equation is that of a discrete-velocity Boltzmann equation. The numerical methods of solution of the system of partial differential equations then give rise to a discrete map, which can be interpreted as the propagation and collision of fictitious particles. In an algorithm, there are collision and streaming steps. These evolve the density of the fluid ρ ( x → , t ) {\displaystyle \rho ({\vec {x}},t)} , for x → {\displaystyle {\vec {x}}} the position and t {\displaystyle t} the time. As the fluid is on a lattice, the density has a number of components f i , i = 0 , … , a {\displaystyle 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 e → 4 = ( 0 , − 1 ) {\displaystyle {\vec {e}}_{4}=(0,-1)} , i.e., it points due south and so has no x {\displaystyle x} component but a y {\displaystyle y} component of − 1 {\displaystyle -1} . So one of the nine components of the total density at the central lattice point, f 4 ( x → , t ) {\displaystyle f_{4}({\vec {x}},t)} , is that part of the fluid at point x → {\displaystyle {\vec {x}}} moving due south, at a speed in lattice units of one. Then the steps that evolve the fluid in time are:
The collision step
For the Bhatnagar Gross and Krook (BGK) model, which leads relaxation to equilibrium via collisions between the molecules of a fluid, we have
… excerpt ends here. Continue reading the full article.


