Chapman–Enskog: The Viscosity Is a Prediction
Source: PHY653B Ch. 7
Intuition
You never tell a lattice Boltzmann solver what the viscosity is. You set a relaxation time \(\tau\), and the fluid that emerges has a viscosity that the Chapman–Enskog expansion predicts:
That equation is the most satisfying thing in the chapter, because it converts a modelling assumption into a falsifiable claim you can check to three digits — and the widget does exactly that, matching to under 1% across the useful range of \(\tau\).
Where it comes from
Expand \(f_i\) about equilibrium in the Knudsen number \(\varepsilon\):
and separate time scales, \(\partial_t = \partial_{t_0} + \varepsilon\partial_{t_1}\). Taking moments order by order:
- \(O(\varepsilon^0)\) gives the continuity and Euler equations — the inviscid fluid.
- \(O(\varepsilon^1)\) gives the viscous stress, with \(f_i^{(1)}\) providing the deviatoric part of the momentum flux. This is where the viscosity appears, and it comes out proportional to \(\tau\).
Recovering Navier–Stokes requires the third- and fourth-order moment conditions of the lattice to hold exactly — which is precisely why those conditions are stated as requirements rather than niceties.
Where the −½ comes from
The single most-asked question about LBM, and the answer is not a fudge.
The lattice Boltzmann equation is not a differential equation; it is a discrete update in which collision and streaming each act over a full time step. Taylor-expanding the discrete update to second order in \(\Delta t\) produces an extra term beyond the continuous Boltzmann equation, and that term contributes a negative numerical viscosity of exactly \(c_s^2\Delta t/2\).
In lattice units (\(\Delta t = 1\)):
So the \(-\tfrac12\) is the discretisation error of the scheme, computed exactly and folded into the answer. LBM is second-order accurate because this term is known and accounted for, not in spite of it. It is a rare and elegant case of a truncation error being turned into part of the model.
The consequences
Stability floor. \(\nu > 0\) requires \(\tau > \tfrac12\). As \(\tau \to \tfrac12\) the viscosity vanishes and the scheme approaches instability — exactly where you want to be for high Reynolds number. This one constraint drives most LBM research: multi-relaxation-time (MRT), regularised and entropic collision operators all exist to push the usable \(\tau\) closer to \(\tfrac12\).
Boundary slip. Halfway bounce-back places the wall exactly midway between nodes only in the small-\(\tau\) limit. At larger \(\tau\) the BGK operator develops a viscosity-dependent slip and the effective wall position drifts. In the widget this shows up as the measured \(\nu\) degrading from 0.1% error at \(\tau = 1.0\) to about 1.2% at \(\tau = 1.5\) — a real, documented effect of the boundary condition, not solver sloppiness.
Verification is easy and mandatory. Poiseuille flow has an exact parabola, \(u(y) = \frac{g}{2\nu}y(H-y)\). Fit it, extract \(\nu\), compare with \(c_s^2(\tau-\tfrac12)\). Any new LBM code should do this before doing anything else.
Common mistakes
- Treating \(-\tfrac12\) as an empirical correction. It is derived, exactly, from the discreteness of the update.
- Running at \(\tau\) very close to 0.5 for high \(Re\). You get instability, not accuracy.
- Comparing measured and predicted \(\nu\) without converging the flow. The parabola only holds at steady state; measure too early and the fit is meaningless.
Related concepts
- D2Q9 lattice — the moment conditions this expansion needs
- Closure problem — Chapman–Enskog as a principled closure
- Thermal LBM · Variable transport
- Verification and validation
- Viscosity (PC316) · Hagen–Poiseuille (PC316)
Knowledge graph position
Prerequisites: D2Q9 lattice, collision operators, Navier–Stokes. Leads to: thermal LBM, MRT and entropic schemes, turbulent LBM.
Quiz
Q1 (conceptual). Explain the origin of the \(-\tfrac12\) in \(\nu = c_s^2(\tau - \tfrac12)\).
Answer
The LBM update is discrete, not differential. Taylor-expanding it to second order in \(\Delta t\) produces a term beyond the continuous Boltzmann equation that acts as a negative numerical viscosity \(c_s^2\Delta t/2\). Subtracting it from \(c_s^2\tau\) gives the physical viscosity — a truncation error computed exactly and absorbed into the model.
Q2 (computational). What \(\tau\) gives \(Re = 1000\) for a channel of height 40 lattice units with peak velocity 0.05?
Answer
\(\nu = uH/Re = (0.05)(40)/1000 = 2\times10^{-3}\). Then \(\tau = \nu/c_s^2 + \tfrac12 = 3\times2\times10^{-3} + 0.5 = 0.506\) — uncomfortably close to the stability floor, which is exactly why high-\(Re\) BGK LBM is difficult and why MRT schemes exist.
Q3 (MCQ). The measured viscosity in the widget degrades from 0.1% error at \(\tau = 1.0\) to ~1.2% at \(\tau = 1.5\) because:
- (a) the solver becomes unstable
- (b) halfway bounce-back develops a viscosity-dependent slip, shifting the effective wall position
- (c) the Mach number rises
- (d) the moment conditions fail at large \(\tau\)
Answer
(b). The bounce-back wall sits exactly halfway between nodes only for small \(\tau\); the BGK operator introduces a slip that grows with viscosity. It is a boundary-condition effect, documented and expected — and a good example of a "converged" result that still moves when you change a numerical parameter.