Translated from the author's Korean original. Read the original (한국어)
The Paramecium Swims Through Honey — Where Viscosity Comes From and Why Fourier and Fick Wrote the Same Line
Gas viscosity climbs with molecular speed. From 30°C to 90°C, water thins by about 2.5× while air thickens by about 1.2×.
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.
Two knobs sit on the Couette box. Plate speed is the shear the top wall drags. Thermal speed is how fast molecules hop between layers.
Raise and the mean profile locks onto the dashed line sooner. Raise and the on-screen climbs with it. Faster molecules hand momentum across more often.
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. The Reynolds-number ratio is . The base-10 log is about 10.7, which is the eleven orders named above.
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 .
The two plates in the figure above are the two sides of that imaginary plane. The upper layer drops off a fast . The lower layer brings a slow up.
μ ∝ ρ 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.
The 1/3 is not an extra constant. The fraction of molecules that cross the plane is 1/6, and the speed gap a mean free path away is . One sixth times two is one third. Chapman–Enskog lifts the prefactor from 1/3 to 1/2, so grows by at fixed , , and . The elementary estimate sits , about 33%, under that correction. Pressure independence is the same line. If scales as , then collapses to the inverse collision area. Pack the gas tighter and the free path shortens by the same factor. barely moves.
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.
On an absolute scale those temperatures are 303 K and 363 K, and . The stated 1.2× rise in air sits on that ratio. Drop the water factor 2.5 into Eyring's exponential. equals . The gap of reciprocals is . Division puts near 1680 K. That is not a looked-up activation energy. It is the 2.5× already on the page, divided through the exponential already written.
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. Pulling and conductivity out of that same story shifts the Prandtl number. The 9/4 factor that split a wall temperature when and came from one formula follows the coefficient into the near-wall 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.078The slope in the printout is the momentum column. Change the tab and the same gradient is asked to carry heat, or concentration.
The trapezoid and the arrow direction stay put. Only the coefficient changes. The same way goes from 0.018 to 0.078 as goes from 0.5 to 2.0, the flux only changes its name among , , and .
ν 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.
Read the four printed lines as ratios. Doubling from 0.5 to 1.0 takes from 0.018 to 0.038, a factor 2.11. Quadrupling it, from 0.5 to 2.0, takes 0.018 to 0.078, a factor 4.33. The quotients are 0.036, 0.038, 0.0387, and 0.039. In a box whose side is comparable to , that flat run is the result. Do not wait on the 1/3 prefactor here. Speed the molecules up and the viscosity follows the speed.
Parking the 1/3 Where a Property Table Sits#
Drop the elementary 1/3 into a property table and the stress comes out about 33% low against the Chapman–Enskog 1/2. If this formula is going to stand in for gas viscosity, that gap has to be written down first. Tuning with a pressure sweep goes nowhere. is nearly constant, so raising the pressure does not move the number.
Liquids flip the sign. The same heat, 30°C to 90°C, thickens air by 1.2× and thins water by 2.5×. Feed a gas-style rising to honey and the wall shear grows as the jar warms. The jar does the opposite. The choice is whether the molecules are flying, or still holding their neighbors. The half-step that read viscosity 51× high at is where this continuum goes next. Once it is poured into a discrete relaxation time, the coefficient on the page is no longer the one in the update.
Related
Share if you found it helpful.