# Lattice Boltzmann Theory

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}

# Bibliography

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

⁂