ゾウリムシは蜂蜜の中を泳いでいる — 粘性の分子的起源と Newton・Fourier・Fick が同じ一行になる理由
分子が運動量を運べば粘性になる、その一行が熱と拡散まで束ねる
蛇口をひねると水はなめらかに流れます。同じコップにゾウリムシを入れると、その水は人間が蜂蜜の中を泳ぐような粘り気で彼を捕まえます。どちらも同じ H₂O ですが、片方はさらりと、もう片方はねばねばします。本記事ではその差が、分子一つの運動量(momentum)のやり取りに起因することを追いかけ、その一行の話が Fourier の熱伝導や Fick の拡散までも同じ式で結ぶことを示します。最後には、分子衝突だけで粘性係数 μ を測る Python コードを実際に動かします。
0.2 mm のゾウリムシにとって、水は人間の蜂蜜である#
体長 0.2 mm のゾウリムシが 0.1 mm/s で泳いでいます。レイノルズ数(慣性力と粘性力の比) Re = UL/ν は約 2×10⁻⁵ です。1 m のイルカが 1 m/s で泳ぐと Re ≈ 10⁶ です。同じ水なのに 11 桁の差があります。ゾウリムシにとって慣性はほとんど意味を持ちません。一蹴りしても 1 マイクロ秒もたたずに止まってしまいます。彼の世界は「ねばねばした粘性の海」であり、その世界をつくっているのは分子一つの振る舞いです。
粘性とは、分子が運んだ運動量である#
気体分子はたえず衝突しながら上下前後左右の 6 方向に平均速さ で散らばっています。ある分子が次の衝突までに進む平均距離が平均自由行程(mean free path) です。1 気圧の空気では は約 470 m/s、 は約 68 nm です。
気体の中に水平な仮想面を一枚引いてみましょう。その面より上は速度 、下は で流れているとします。上から面を横切って降りてくる分子は、自分の速い運動量を下層に置いていきます。下から上る分子は遅い運動量を上に運びます。結果として両層は互いにブレーキをかけ合います。そのブレーキの大きさがせん断応力(shear stress) です。
この絵は Couette 流れで実際に手でいじることができます。下のシミュレーションで、二枚の平板の間を行き来する分子が運動量を運ぶ様子を直接操作してみましょう。
上板の速度 U を大きくするほど、平均速度分布 が点線(理論線)に早く張り付きます。熱速度 を大きくすると、測定された有効粘性 もそれにつれて上がります — 分子が速く動くほど運動量を速く運ぶという、 そのものです。
μ ∝ ρ c̄ ℓ — 一行の導出#
気体分子の数密度を とすると、単位時間に面を横切る分子数は です。一つの分子が運ぶ平均 運動量差は 。掛け合わせると
ここで です。Newton の粘性法則 と比べると
が得られます。厳密な Chapman–Enskog 計算は係数を 1/3 から 1/2 程度に補正しますが、比例式 自体は変わりません。決定的な事実が一つあります — は圧力にほぼ依存しません( は衝突断面積の逆数です)。したがって気体の粘性は圧力にほとんど依らず、温度が上がると( が上がると)増加します。1859 年に Maxwell が理論で予言し、自ら実験で確認した、直感に反する結果です。
液体は逆向き — 温めれば緩くなる#
油や蜂蜜は温めるとよく流れます。気体とは正反対です。理由はメカニズムが違うからです。液体分子は自由に飛び回れず、常に隣同士で手をつないでいます。一つの分子が動くには、つないだ手を離して新しい手を取らなければならず、その結合エネルギーが粘性を決めます。温度が上がると結合が弱まり、手を離しやすくなるので μ は下がります。Eyring の活性化エネルギーモデル(1936)はこれを
と書きます。 は粘性活性化エネルギー、 は Boltzmann 定数、 は絶対温度です。水を 30 °C から 90 °C に温めると粘性は約 2.5 倍下がります。同じ温度変化が空気では約 1.2 倍「上がります」。同じ「粘性」という言葉ですが、分子レベルではまったく別の話をしているのです。
Newton・Fourier・Fick — 三人が同じ一行を書いた#
さきほど描いた気体の運動量輸送の絵を、「運動量」のところに「熱エネルギー」または「分子数」を入れ替えてみましょう。上層は 、下層は 。同じ 1/6 × × という計算が、そのまま という Fourier の熱伝導法則を生み出します。濃度 を代入すれば の Fick の法則です。分子の振る舞いは一つ、運ばれる量だけが運動量・熱・物質に変わるのです。
三つのタブを切り替えてみてください。同じ台形分布、同じ矢印の向き、比例係数だけが違います。一次元の線形勾配の上で、自然は同じ書式を三回繰り返します。
動粘性係数 ν = μ/ρ の本当の意味#
運動量フラックスを と書き直すと、 が運動量密度 の拡散係数であることが見えてきます。熱拡散係数 が熱エネルギー について果たす役割を、 が運動量密度に対して果たします。両方とも単位が m²/s であるのは偶然ではありません。運動量は 1 次元棒の中で拡散方程式 に従います。ゾウリムシの世界で慣性が意味を失うのは、彼が作るすべての運動量がただちに周囲に「拡散してしまう」からです。
50 行の Python — 分子衝突から μ を取り出す#
理論抜きで、分子の跳ね返りだけから粘性が出てくるかを確かめてみましょう。2 次元 box に N 個の点粒子を入れ、上板を速度 、下板を速度 で分子を熱平衡化させます。長く回した後、 を測ります。
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 平行平板の分子モデルで ν を測定する。"""
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
# 下板 (u=0) との衝突 → 再熱平衡化
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]
# 上板 (u=u_top) との衝突 → 再熱平衡化
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]
# 運動量フラックスを累積 (-<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ν はほぼ に線形に比例します。平均自由行程が box サイズと同程度の極限なので 1/3 という係数までは合わせ込めませんが、「分子が速ければ粘性が大きい」という比例関係は明瞭に生きています。 を増やし、明示的な分子衝突を入れると 1/3 まで収束します。
覚えておくべき 3 行#
- 粘性は、分子がある層から別の層へ運動量を運んだ結果であり、その大きさは です。
- 気体では温度が上がると が大きくなり μ は増加しますが、液体では分子間結合が弱まって μ は減少します。メカニズムが正反対です。
- Newton・Fourier・Fick は同じ分子の絵を運動量・熱・物質に当てはめた結果で、 は文字通り運動量の拡散係数です。
役に立ったらシェアしてください。