A unified transport picture via the Boltzmann equation and the Lattice Boltzmann Method
Starting from atoms and springs, building up to heat-carrying quantum packets.
A crystal is, at its heart, a very regular arrangement of atoms — a grid, like eggs in a carton, except in three dimensions and held together by electromagnetic bonds. Forget electrons for now. Just think about the atoms themselves, sitting at their equilibrium positions, each one connected to its neighbors by bonds that act, for small disturbances, exactly like springs.
Imagine a long line of people, each holding hands with their neighbors. You push the first person gently. They sway, pull their neighbors, who pull their neighbors. A ripple moves down the line. Nobody walks anywhere — they just pass the disturbance along through the connections. This is precisely what happens in a crystal when it vibrates.
If we call un the displacement of atom n from its rest position, then Newton's second law applied to that atom gives:
This is just Newton's second law — mass times acceleration equals force. There is nothing exotic here. But the challenge is that you have N of these equations, all coupled together. Atom n affects atom n+1, which affects n+2, and so on. How do you solve N coupled equations simultaneously?
The answer is: stop thinking about individual atoms. Think about wave patterns that involve all atoms simultaneously.
When you have a complicated system of coupled oscillators, the smart move is to look for normal modes — collective patterns in which every single atom oscillates at the same frequency at the same time. Like a choir, where every voice is singing the same note simultaneously.
We try a wave-shaped solution — what physicists call an ansatz (an educated guess):
You plug this trial solution into the equation of motion. The N coupled equations all reduce to one algebraic relationship between ω and k:
A crystal of N atoms has exactly N normal modes. And here is the crucial fact — the normal modes are independent of each other. Each one vibrates at its own private frequency without disturbing the others. The crystal, which looked like N terrifyingly coupled equations, is secretly just N independent oscillators.
Classical physics says a normal mode can vibrate with any amplitude — any energy value is allowed. Quantum mechanics says: no. The energy of a harmonic oscillator — which is what each normal mode is — comes in discrete steps:
Each normal mode is a bucket. Each phonon is one cup of water in that bucket. You can have zero, one, five, or a hundred cups — but never 2.7 cups. Quantum mechanics enforces whole cups only. Adding heat to the crystal means pouring more cups into the buckets. Cooling it means removing cups. Heat flowing from hot to cold means cups sloshing from fuller buckets toward emptier ones.
A phonon is one quantum of vibrational energy in a normal mode. It carries energy ℏω and crystal momentum ℏk. It is not a particle sitting somewhere in the crystal — it is a quantum of collective motion involving every atom at once. But it behaves like a particle in interactions, so we call it a quasiparticle and treat it as one.
Heat in a crystal is a gas of phonons. Temperature is a measure of how many phonons are present. This is not an analogy. This is what is literally happening.
Phonons are bosons — particles with the property that any number can occupy the same mode simultaneously. There is no restriction on how many phonons pile into a single mode. (The opposite holds for electrons, which are fermions — only one electron per state. Phonons have no such social inhibition.)
Because phonons can be freely created and destroyed — adding heat creates phonons, removing heat destroys them — their number is not fixed. There is no "conservation of phonon number." This means their chemical potential is zero.
From these two facts — bosons, zero chemical potential — statistical mechanics gives us the Bose-Einstein distribution: the average number of phonons in a mode of frequency ω when the crystal is at temperature T:
This distribution tells you the complete thermal state of a crystal at equilibrium. From it you can calculate specific heat, total energy, how heat is stored across modes. It is the answer to "what does a crystal at temperature T look like?" — but only at equilibrium, only when nothing is changing.
Now something interesting happens. Put the left end of your crystal in contact with a flame. Put the right end in ice water. The crystal is no longer at a uniform temperature — it has a gradient. Phonons are not distributed uniformly. There are more phonons on the hot left, fewer on the cold right. Heat is flowing.
To describe this, we need a function that tracks the phonon distribution at every point in the crystal, for every mode, at every moment in time. We define:
Two processes govern how f evolves. First: phonons move. A phonon with wavevector k travels at group velocity vg = dω/dk, carrying its "cup count" from one place to another — from high-f regions toward low-f regions. Second: phonons scatter — off each other, off defects, off boundaries. Scattering continuously nudges f back toward the equilibrium distribution f^eq.
Put these together and you get the Boltzmann Transport Equation (BTE):
This is the bridge point. The BTE governs all non-equilibrium phonon transport in a crystal. Solve it, and you know temperature, heat flux, and thermal conductivity everywhere. It supersedes Fourier's law — which is merely a special, approximate solution to the BTE valid only when the crystal is close to equilibrium.
Gas molecules instead of phonons — and a startling discovery.
Now forget the crystal completely. Think about air in a room — a gas of molecules flying around, bouncing off each other, bouncing off the walls. The molecules are real particles. They have mass, they carry momentum, and they crash into each other billions of times per second.
You cannot track every molecule individually — there are roughly 10²⁷ of them in a cubic meter of air. So you describe the gas statistically using a distribution function. But here is the critical point that must be stated clearly:
f(x, v, t) is not just an abstract symbol. It is a concrete, computable function. At equilibrium it has a specific, known functional form. Out of equilibrium, it deviates from that form — and the BTE tells you exactly how.
At equilibrium, the fluid distribution function is the Maxwell-Boltzmann distribution:
Picture a bell curve drawn on a graph where the horizontal axis is velocity (from very fast leftward, through zero, to very fast rightward) and the vertical axis is "how many molecules have this velocity." At room temperature the bell is narrow — most molecules cluster near moderate speeds. At 10,000 K the bell is wide and flat — molecules are spread across a vast range of speeds. That shape, precisely, is f₀(v). It is not vague. It is a Gaussian with a specific width \(\sqrt{k_BT/m}\).
Now — what happens out of equilibrium? Say you push the gas from the left. Molecules on the left are moving faster to the right than molecules on the right. The distribution f(x, v, t) is no longer a symmetric Gaussian — it is skewed. The peak shifts. The shape distorts. And it varies from place to place.
The full out-of-equilibrium BTE for a fluid, including an external force F (like gravity or a pressure gradient), is:
Now place the phonon picture next to the fluid picture. For phonons, the distribution function is f(x, k, t) — how many phonons of wavevector k are at position x at time t. At equilibrium, its concrete functional form is the Bose-Einstein distribution:
The Maxwell-Boltzmann is a Gaussian — it decays as e^{−v²}. The Bose-Einstein is not a Gaussian — it decays as 1/(e^{ω/T}−1). The shapes are different because the statistics are different: molecules are classical particles, phonons are quantum bosons. But both functions serve the same role: they are the concrete equilibrium answer to "what does the distribution look like at temperature T?"
Now compare the two transport equations side by side, with both f^eq written out explicitly:
This is not a coincidence and not an approximation. It is a deep structural truth: whenever you have a gas of things that move and scatter, their collective behavior is governed by the Boltzmann Transport Equation. The "things" can be phonons, molecules, photons, electrons — it doesn't matter. The equation is the same. Only f^eq changes.
Same mathematics, different meaning.
Let us place the two pictures next to each other and see exactly what is shared and what differs.
| Concept | Crystal (Solid) | Gas (Fluid) |
|---|---|---|
| Carriers | Phonons — quanta of collective vibration | Molecules — real particles with mass |
| Transport variable | Wavevector k (mode label) | Velocity v (molecular speed) |
| What is transported | Heat (energy) | Mass, momentum, energy |
| Distribution function | f(x, k, t) | f(x, v, t) |
| Equilibrium distribution | Bose-Einstein: 1/(e^{ℏω/kT} − 1) | Maxwell-Boltzmann: ∝ e^{−mv²/2kT} |
| Transport equation | BTE with v_g | BTE with v |
| Governing physics | Drift + scattering | Drift + scattering |
| Conserved quantity | Energy | Mass + momentum + energy |
The bottom row is where they differ most — phonons don't conserve their number, molecules do. This changes the equilibrium distributions. But the transport equation — the BTE — is structurally identical. Same skeleton, different organs.
Wagner's computational bridge — discretizing the universal equation.
The BTE is a partial differential equation in position, velocity/wavevector, and time — up to seven dimensions. You cannot solve it analytically for realistic geometries and boundary conditions. And naive numerical discretization of all seven dimensions would require roughly 10¹⁴ numbers just to represent the solution — far beyond any computer.
Moreover, there is a physical reason to care: at the nanoscale, Fourier's law — the standard macroscopic heat conduction equation — fails completely. Modern transistors are 5–10 nanometers across. The mean free path of phonons in silicon is 100–300 nanometers. The transistor is smaller than the distance a phonon travels between collisions. Phonons fly straight through ballistically. Fourier predicts wildly wrong heat fluxes. You need the full BTE.
The Lattice Boltzmann Method (LBM), developed by Alexander Wagner and others, is an elegant, efficient numerical method for solving the BTE. The core idea is radical in its simplicity:
Instead of tracking the full continuous distribution f(x, k, t) in seven dimensions — replace the continuous velocity/wavevector space with just a handful of discrete directions. A few populations moving in a few directions capture the essential physics at a tiny fraction of the computational cost.
We work in one spatial dimension with two velocity directions: right (+) and left (−). This is called D1Q2 — one Dimension, two velocities (Q=2). Simple enough to understand completely; rich enough to demonstrate all the physics.
At each node on the grid we store two numbers: f₊ (population heading right) and f₋ (population heading left). The entire state of the system at any moment is just these two numbers per node.
Allow only two velocities: +c (rightward) and −c (leftward), where c = v_g is the phonon group velocity (or molecular speed for fluids). Define populations f₊ and f₋ at every node.
Every population hops to the neighboring node in its direction. The rightward population at node i moves to node i+1. The leftward population moves to node i−1. This happens simultaneously at all nodes. No interactions — pure ballistic motion.
After streaming, at every node, nudge each population toward its equilibrium value. This encodes the scattering physics through a single parameter τ (the relaxation time).
The equilibrium distribution tells the collision step what to relax toward. For simplicity in D1Q2, we use equal partition: each direction gets half the local energy density ρ.
From the populations, you recover the physical quantities you actually care about:
Stream. Collide. Extract ρ and j. Repeat for as many timesteps as needed. What emerges — without you explicitly programming it — is the diffusion equation:
Why the algorithm doesn't care whether it's simulating heat or flow.
| Element | Crystal (Phonons) | LBM Fluid |
|---|---|---|
| Carriers | Phonons | Populations f_α |
| What they carry | Heat | Mass / momentum |
| How they move | At group velocity v_g | At discrete speed c |
| What stops them | Scattering (τ) | Relaxation (τ) |
| Equilibrium target | Bose-Einstein | ρ/Q (equal partition) |
| Algorithm step 1 | Streaming | Streaming |
| Algorithm step 2 | Scattering → equilibrium | Collision → equilibrium |
| Macroscopic result | Fourier's law (diffusive limit) | Diffusion / Navier-Stokes |
The LBM algorithm is completely indifferent to whether its populations represent phonons or molecules. It only implements two operations: stream and collide. You tell it what physics it is doing by choosing the equilibrium distribution and the relaxation time. Everything else is identical.
This is why LBM, originally developed for fluid dynamics, can be directly applied to phonon transport in solids by changing only two ingredients. The machinery is universal because the underlying equation — the BTE — is universal.