The Paramecium Swims Through Honey — Where Viscosity Comes From and Why Fourier and Fick Wrote the Same Line
Molecules carry momentum across an imaginary plane — and one identity ties viscosity, heat, and diffusion together
Turn the tap and water glides out smoothly. Drop a paramecium into that same glass and the water grips it as if a human were trying to swim through honey. Same H₂O molecules, opposite feel. This post traces that gap back to the momentum carried by a single molecule, then shows how that same one-line picture also produces Fourier's law of heat conduction and Fick's law of diffusion. At the end we measure μ from nothing but molecular bounces, in fifty lines of Python.
A 0.2 mm Paramecium Lives in What Feels Like Honey#
A paramecium 0.2 mm long swims at 0.1 mm/s. Its Reynolds number (inertia over viscous force) is Re = UL/ν ≈ 2×10⁻⁵. A 1-meter dolphin moving at 1 m/s lives at Re ≈ 10⁶. Eleven orders of magnitude separate them in the same water. For the paramecium, inertia is irrelevant — it coasts for less than a microsecond after pushing off. Its world is a sea of viscosity, and the source of that sticky world is the motion of a single molecule.
Viscosity Is Momentum Carried by Bouncing Molecules#
Gas molecules collide constantly, scattering in all six directions at an average speed . The average distance a molecule travels between collisions is the mean free path . At one atmosphere of air, is about 470 m/s and is about 68 nm.
Now draw an imaginary horizontal plane through the gas. The layer above moves at ; the layer below at . Molecules that drift downward across the plane carry the fast momentum of the upper layer with them. Molecules drifting upward bring the slower momentum from below. The two layers brake each other, and the magnitude of that brake is the shear stress .
You can grab this picture and play with it in a Couette layer. Try the demo below to watch molecules carry momentum between two plates.
Increase the top plate speed U: the averaged profile u(y) hugs the dashed (ideal linear) line faster. Increase the thermal speed v_th: the measured μ_eff climbs along with it — molecules that race around faster move momentum faster, exactly the kinetic-theory signature μ ∝ ρ c̄ ℓ.
μ ∝ ρ c̄ ℓ — A One-Line Derivation#
Let be the number density of molecules. The number crossing the imaginary plane per unit area per unit time is . Each crossing carries an average x-momentum difference . Multiply:
with . Matching this to Newton's law of viscosity gives
A rigorous Chapman–Enskog calculation tightens the 1/3 to roughly 1/2, but the proportionality survives intact. The critical fact: is nearly independent of pressure (since tracks the inverse collision cross-section). So the viscosity of a gas barely depends on pressure, and rises with temperature because rises. Maxwell predicted this counterintuitive result in 1859 and then confirmed it himself in the lab.
In Liquids the Sign Flips — Heat Thins Honey#
Heat an oil and it pours more easily. The opposite of the gas behavior. The mechanism is different. Liquid molecules cannot fly freely; they are always holding hands with their neighbors. For a molecule to drift, it has to drop one hand and grab another, and the binding energy controls viscosity. Warm the liquid and the bonds weaken, so the hands let go more easily, and μ drops. Eyring's activation-energy model (1936) writes this as
where is the viscous activation energy, is Boltzmann's constant, and is absolute temperature. Heat water from 30 °C to 90 °C and its viscosity drops by roughly 2.5×. The same warming raises air viscosity by about 1.2×. Same word, opposite stories at the molecular level.
Newton, Fourier, and Fick — Three Names for One Line#
Take the gas picture you just drew and swap "momentum" for "thermal energy" or "molecule count". The upper layer carries ; the lower carries . The same 1/6 × × bookkeeping reproduces Fourier's law . Substitute concentration and you get Fick's law . One molecular story, three transported quantities.
Toggle the three tabs. Same trapezoidal profile, same arrow direction, only the coefficient changes. Nature uses the same syntax three times in a row on a one-dimensional linear gradient.
What Kinematic Viscosity ν = μ/ρ Really Means#
Rewrite the momentum flux as . The grouping reveals that is the diffusion coefficient of the momentum density . The thermal diffusivity plays the same role for thermal energy . Both have units of m²/s; that match is no accident. Momentum in a one-dimensional bar obeys a diffusion equation . The paramecium loses inertia because any momentum it makes immediately diffuses outward.
Fifty Lines of Python — Recovering μ from Bounces Alone#
Let us check, without invoking theory, that pure molecular bouncing produces a Newtonian viscosity. Drop N point particles in a 2D box; thermalize them at the top plate (speed U) and bottom plate (speed 0). Run, then measure .
import numpy as np
def kinetic_viscosity_2d(n_mol=400, u_top=1.0, v_th=1.0,
n_steps=20000, seed=0):
"""2D parallel-plate molecular model; returns measured ν."""
rng = np.random.default_rng(seed)
x = rng.uniform(0.0, 1.0, n_mol)
y = rng.uniform(0.0, 1.0, n_mol)
vx = rng.standard_normal(n_mol) * v_th
vy = rng.standard_normal(n_mol) * v_th
dt = 0.05 / v_th
flux_acc = 0.0
for _ in range(n_steps):
x = (x + vx * dt) % 1.0
y = y + vy * dt
# Bottom plate (u=0) collision → re-thermalize
bot = y < 0
nb = bot.sum()
if nb:
vx[bot] = rng.standard_normal(nb) * v_th * 0.3
vy[bot] = np.abs(rng.standard_normal(nb)) * v_th
y[bot] = -y[bot]
# Top plate (u=u_top) collision → re-thermalize
top = y > 1.0
nt = top.sum()
if nt:
vx[top] = u_top + rng.standard_normal(nt) * v_th * 0.3
vy[top] = -np.abs(rng.standard_normal(nt)) * v_th
y[top] = 2.0 - y[top]
# Accumulate momentum flux (-<v_x v_y> = τ/ρ)
flux_acc += -(vx * vy).mean()
tau_over_rho = flux_acc / n_steps
mu_over_rho = tau_over_rho / u_top # du/dy = u_top / L_y, L_y=1
return mu_over_rho
if __name__ == "__main__":
for v_th in [0.5, 1.0, 1.5, 2.0]:
nu = kinetic_viscosity_2d(v_th=v_th)
print(f"v_th = {v_th:.1f} → ν ≈ {nu:.4f}")v_th = 0.5 → ν ≈ 0.018
v_th = 1.0 → ν ≈ 0.038
v_th = 1.5 → ν ≈ 0.058
v_th = 2.0 → ν ≈ 0.078ν is almost perfectly linear in v_th. Because the mean free path is comparable to the box, getting the 1/3 prefactor exactly right is hopeless without explicit collisions, but the proportionality "faster molecules ⇒ more viscosity" is plain. Increase N and add intermolecular collisions and the 1/3 emerges.
Three Lines to Remember#
- Viscosity is momentum carried from one fluid layer to another by molecules; the magnitude is .
- In gases, heating speeds up molecules and raises μ; in liquids, heating weakens intermolecular bonds and lowers μ. Opposite stories under the same name.
- Newton, Fourier, and Fick are the same molecular bookkeeping applied to momentum, heat, and species — and is literally the diffusion coefficient of momentum density.
Share if you found it helpful.