Lattice Boltzmann Theory
Overview
The Lattice Boltzmann Method (LBM) is a mesoscopic simulation technique based on the discrete Boltzmann equation. Rather than solving the Navier–Stokes equations directly, LBM evolves a set of particle distribution functions on a regular lattice. Macroscopic quantities (density, momentum, pressure) are obtained as moments of these distribution functions.
LBM is particularly well suited to:
- Complex and moving boundary geometries
- Multi-phase and multi-component flows
- Coupling with phase-field models
- Efficient parallelization
Discrete Boltzmann equation
The continuous Boltzmann equation with BGK (Bhatnagar–Gross–Krook) collision approximation is:
where:
— particle distribution function — particle velocity — relaxation time (controls viscosity) — Maxwell–Boltzmann equilibrium distribution — external force source term
In LBM this is discretized on a lattice with a finite set of velocities
D3Q27 lattice
OpenPhase uses the D3Q27 velocity set: 3 spatial dimensions, 27 discrete velocities. Each velocity
The three stencils (1D, 2D, 3D) use different weight sets but are stored in the same
D1Q3 weights (1D, active dimension only):
D2Q9 weights (2D):
D3Q27 weights (3D):
The stencil is automatically selected during initialization based on the number of active spatial dimensions in Settings::Grid.
Equilibrium distribution
The local equilibrium distribution for component
where:
— lattice density of component — local macroscopic fluid velocity — lattice speed of sound squared (in lattice units) — D3Q27 stencil weight for direction
Macroscopic quantities
Density and momentum are obtained as moments of the populations:
The lattice pressure (isothermal EOS) is:
BGK collision step
The BGK collision operator relaxes populations toward equilibrium:
where
The kinematic viscosity is related to
In lattice units
Streaming step
After collision, populations are propagated to neighboring nodes along their respective velocity directions:
This is the exact advection step — no numerical diffusion is introduced.
Chapman–Enskog expansion
A Chapman–Enskog expansion of the LBM equations recovers the incompressible Navier–Stokes equations at second order:
with dynamic viscosity
Force incorporation
The module supports two force-incorporation schemes:
Guo forcing scheme
Modifies both the equilibrium (via corrected velocity) and the collision term:
Exact difference method (EDM)
Computes the force contribution as the difference of equilibrium distributions evaluated at shifted momenta:
where
EDM conserves momentum exactly and is preferred for multi-phase flows.
Lattice units and physical scaling
LBM operates in dimensionless lattice units. Physical quantities are recovered via scaling coefficients defined in FlowSolverLBM:
| Field | Coefficient | Unit |
|---|---|---|
| Density | dRho | kg/m³ |
| Pressure | dP | Pa |
| Momentum density | dm | kg/(m² s) |
| Force density | df | kg/(m² s²) |
| Kinematic viscosity | dnu | m²/s |
| Time | dt | s |
Proper choice of these coefficients ensures the simulation is in the physically relevant regime (low Mach number for incompressible flow).
Stability considerations
- The relaxation time
must satisfy for stability. - Typical values:
. - Very low viscosity (
) leads to instability. - Use
Do_FixPopulations = trueto correct negative populations that can arise near interfaces or obstacles. - For two-phase flows, the density ratio
is limited by the pseudo-potential model; excessively high ratios cause instability.