Lattice Boltzmann method

Lattice Boltzmann method#

The Lattice Boltzmann Method (LBM) has its roots in kinetic gas theory, more specifically Boltzmann equation, which is written as:

(1)#\[\Omega\left(f\right) = \frac{\partial f}{\partial t} + \xi_{\alpha}\frac{\partial f}{\partial x_{\alpha}} + \frac{F_{\alpha}}{\rho}\frac{\partial f}{\partial \xi_{\alpha}}\]

In this approach, the flow space is defined as particles constantly colliding and changing its direction of motion. Such behaviour is quantified by the distribution function \(f\), which represents the amount of particles at certain position and time, travelling at certain velocity \(\xi_{\alpha}\). This consists in a mesoscopic representation, since it lies between the microscopic (where particles are considered individually) and macroscopic (where only the macroscopic fluid motion is perceived) scales.

When all mesoscopic velocities are considered in a summation, it is possible to obtain the fluid macroscopic density \(\rho\) at certain position through the integration of distribution function over mesoscopic velocity space. Similarly, higher order macroscopic moments can also be obtained from the distribution function and mesoscopic velocities. Thereby, it’s possible to recover the macroscopic description from mesoscopic.

The collision operator \(\Omega\left(f\right)\) is a function that represents the constant collisions, modifying the distribution function value and leading to flow evolution, as illustrated below:

../../_images/boltzmann_particles.svg

The most usual collision operator is the Bhatnagar, Gross and Krook (BGK) [1], which uses a mean free-path treatment and expresses the fact that collisions tend to relax the distribution function towards an equilibrium value:

(2)#\[\Omega_{\mathrm{BGK}} = -\frac{1}{\tau}\left(f-f^{\mathrm{eq}}\right)\]

where \(\tau\) is the relaxation time, and represents a suitable average collision time.

The LBM aims to solve macroscopic conservation equations through the modelling and numerical solution of particle distribution functions. It discretizes both physical and velocity space in a lattice arrangement commonly referred as velocity set, as illustrated below:

../../_images/velocity_set.svg

where the D2Q9 velocity set is discretized for 2 dimensions and 9 directions while the D319 for 3 dimensions and 19 velocity directions \(\left\{c_{i\alpha}\right\}\). With \(\mathbf{c_{0}} = \mathbf{0}\).

Note

The solver also supports the D327 velocity set, which is used for LES simulations with the RR-BGK collision operator.

For each direction a weight \(\left\{w_{i}\right\}\) is atributed such that \(\sum w_{i} = 1\). The distribution function is also separated for each direction being commonly referred to as “populations” \(\left\{f_{i}\right\}\) in this discrete form.

Note

In LBM, all mesoscopic variables are non-dimensional and flow characterization is performed through dimensionless parameters, for instance Reynolds number.