Lattice Boltzmann Theory

5 May 2013

This page is quite different in tone and length to the rest of the site, because it’s an edited version of a dissertation chapter. People are nice enough to ask questions about a hydrodynamic code that I put online a long time ago - it even formed the basis of an example distributed with the Julia language - but often the best answer I can give is the old suggestion that “now is a good time to put your work on a firm theoretical foundation.” Here’s some theory to get you started. It has been through several reviews, but if you see any mistakes do let me know.

Classical Boltzmann Equation

Ludwig Boltzmann showed that a fluid’s macroscopic behaviour could be understood as the manifestation of vast numbers of `billiard-ball’ type collisions between individual molecules. Each molecule may possess a near-infinite variety of positions and velocities, and tracking such many-body collisions for a significant fluid volume remains significantly out of computational reach.

Boltzmann discovered a statistical solution to this problem, simultaneously removing the need to consider individual molecules and providing a convincing argument for the existence of atoms before they were universally accepted (for a readable discussion, see Cercignani (1998)). Instead of tracking the paths of individual molecules from collision to collision, Boltzmann saw that within a certain volume of space there would be a distribution of molecular velocities and that the averaged effect of collisions would be the redistribution of energy. The statistical mechanics of the molecules were enough to understand the fluid’s properties (see Chandler).

Development of statistical mechanics (notably by Maxwell, Chapman and Enskog) extended its reach beyond gases into liquids, and showed that the Navier-Stokes equation, describing the behaviour of a fluid with velocity $\bf u$, density $\rho$, pressure $p$ and viscosity $\mu$ subject to body force $\bf F$ \begin{equation} \rho \left( \frac{d{\bf u}}{dt} + {\bf u \cdot \nabla {\bf u}} \right) = - \nabla p + \mu \nabla^2{\bf u} + {\bf F}, \label{eqn:navier-stokes} \end{equation} could be derived from the Boltzmann equation Cercignani (1987). The concluding chapter of \cite{Chapman:1990} gives a historical summary of the progress towards an accepted microscopic model, due to Enskog, for the transport of dense gases and liquids, and for a general introduction, see for example \cite{Bird:1960}.

Lattice Boltzmann Equation

The lattice Boltzmann (LB) method further restricts the distribution of particles to discrete velocities and locations, which are more amenable to numerical solution. Using lattice Boltzmann, fluid dynamics are simulated through a cycle of propagation and collision of particle densities on a regular lattice. This has been shown (Chen) to solve the incompressible Navier-Stokes equations for the class of problems considered here, and this is used as the hydrodynamic solver in the present work.

Hydrodynamic Model

The Boltzmann equation, tracking the evolution of particle distributions $f_c$, with microscopic velocities $\xi_c$ is \begin{equation} \label{eq:boltzmann_equation} \frac{\partial f_c}{\partial t_c} + \xi_c \partial f_c = \Omega_c. \end{equation}

The $c$ subscript denotes the continuous, classical parameters, to distinguish from their discretised counterparts, which are introduced in the following section. This continuous Boltzmann equation updates $f_c$ according to propagation along microscopic velocities $\xi_c$, and a collision behaviour defined by the collision operator $\Omega_c$.

The widely used Bhatnagar-Gross-Krook (BGK) model considers the collision as a linear relaxation from the non-equilibrium (propagated) particle distribution towards an equilibrium state $f^{eq}_c$.
The time taken for $f_c$ to reach the equilibrium state $f_c^{eq}$ is termed the relaxation time $\lambda_c$. The BGK collision is therefore defined as: \begin{equation} \Omega_c = -\frac{1}{\lambda_c}(f_c-f^{eq}_c). \end{equation} The equilibrium distribution state is defined by the Maxwell-Boltzmann distribution function, which depends on the mean velocity ${\bf u}_c$, temperature $T$ and density $\rho_c$, as well as the gas constant $R$: \begin{equation} \label{eq:maxwell-boltzmann} f^{eq}_c = \frac{\rho_c}{2\pi RT} \exp\left(\frac{-({{\bf \xi}_c - {\bf u}_c})^2}{2RT}\right). \end{equation}


(descriptions to follow soon - but you’ll have to search the library for now :-) )

Bhatnagar-Gross-Krook (1954)

Cercignani (1987)

Cercignani (1998)