Skip to content
cfd-lab:~/ja/posts/2026-07-14-kelvin-helmho…● online

この記事は著者が韓国語で書いた原文の翻訳です。 原文(한국어)を読む

NOTE #102DAY TUE 유체역학DATE 2026.07.14UPDATED 2026.10.19READ 6 min read#Kelvin-Helmholtz#Shear-Instability#Vortex#Stratified-Flow#Flow-Phenomena

空に浮かぶ波の正体 — ケルビン・ヘルムホルツ不安定

密度が等しく重力も表面張力もなければ、成長率は kΔU/2 で、短い波ほど速く育ちます。

ときどき空に、海の波が凍りついたような雲がかかります。かぎ状の形が、浜辺の砕け波のように並びます。写真では合成に見えます。実在する雲です。ケルビン・ヘルムホルツ雲。波が砕ける直前を、空気が真似ています。

かぎがどうやってできるかを追います。速い流れと遅い流れが接する薄い境界面、せん断層です。この面がなぜ渦に巻き上がるのか、いつ巻き上がっていつ静かなままなのかは、一つの成長率の式で分かれます。最後には薄い渦層を巻き上げて、そのかぎを作ります。

せん断 ΔU\Delta U、密度比、重力、表面張力のスライダーを動かすと、成長率の曲線が床に張りつくか、オレンジの帯が両側から狭まります。

UNSTABLE — fastest growth at λ* ≈ 0.79 cm (σ ≈ 597.78 /s)

ΔU\Delta U を 6 付近まで下げると曲線は「STABLE」に横たわります。重力や表面張力を強めると不安定帯が両側から縮みます。密度比が 1 に近いと、弱いせん断でも曲線が跳ね上がります。

空に浮かぶ波

ケルビン・ヘルムホルツ雲だけが特別なわけではありません。同じことがあちこちで起きています。木星の縞模様が裂ける境界、海中で密度の違う水が滑り合ってできる内部波、コーヒーにミルクを注いだときに一瞬現れる螺旋。まっすぐ立ちのぼるタバコの煙が突然乱れるあの点も、同じ原理です。

共通点は一つです。速度の違う二つの流体層が並んで流れます。上の層は速く、下の層は遅く。その間の薄い境界が滑ります。この滑り(せん断)が種です。

直感的には、二つの流れはただ並んで通り過ぎればよさそうに思えます。実際はそうなりません。境界面にほんの小さな揺らぎがあるだけで、その揺らぎが自ら成長します。これがケルビン・ヘルムホルツ不安定(せん断による界面の不安定)です。

二つの流れが滑るとき何が起きるか

境界面に小さな山が一つ盛り上がったとします。上の速い流れはこの山を越えなければなりません。越える通り道は狭くなります。流量が同じであるためには、狭いところで速度が上がります。

速くなれば圧力が下がります。ベルヌーイの法則(流れが速いところは圧力が低い)です。山の上の圧力が下がると、山はさらに上へ吸い上げられます。谷では逆に流れが遅くなって圧力が上がり、谷はさらに押し下げられます。

まとめるとこうです。山はさらに盛り上がり、谷はさらに深くなる。小さな揺らぎが自分自身を育てる正のフィードバックです。一度始まると止まりません。これが不安定の中核となるしくみです。

ここで誤解を一つ。「密度の大きい水が下、小さい空気が上にあるのだから安定では?」重力だけを見ればその通りです。しかしせん断が十分強ければ、重力の安定化効果に打ち勝ちます。安定な成層も強い風の前では崩れます。

分散関係 — 成長する波長と静かな波長

この力比べは一つの式に圧縮できます。上の層(密度 ρ1\rho_1)と下の層(密度 ρ2\rho_2)が相対速度 ΔU\Delta U で滑り合い、界面に重力 gg と表面張力 TT が働きます。波数 kk(単位長さあたりの波の数)の揺らぎが成長する速さ、すなわち成長率 σ\sigma は次のようになります。

σ(k)=kρ1ρ2(ρ1+ρ2)2(ΔU)2−g(ρ2−ρ1)(ρ1+ρ2) k−Tkρ1+ρ2\sigma(k) = k\sqrt{\frac{\rho_1\rho_2}{(\rho_1+\rho_2)^2}(\Delta U)^2 - \frac{g(\rho_2-\rho_1)}{(\rho_1+\rho_2)\,k} - \frac{T k}{\rho_1+\rho_2}}

σ\sigma は揺らぎが大きくなる速さです。根号の中の第一項はせん断(不安定を起こす)、第二項は重力(重い流体が下にあれば安定化する)、第三項は表面張力(界面をぴんと張って安定化する)です。

根号の中が正なら σ\sigma は実数になり、揺らぎは指数的に成長します。負なら σ\sigma は虚数になり、揺らぎは振動するだけで成長しません。不安定条件は根号の中が正であること、つまりせん断項が残りの二つに勝つことです。

ρ1ρ2ρ1+ρ2(ΔU)2>g(ρ2−ρ1)k+Tk\frac{\rho_1\rho_2}{\rho_1+\rho_2}(\Delta U)^2 > \frac{g(\rho_2-\rho_1)}{k} + T k

もっとも純粋な場合はこうなります。二つの層の密度が等しく(ρ1=ρ2=ρ\rho_1=\rho_2=\rho)、重力も表面張力もなければ、式は驚くほど単純になります。

σ=k ΔU2\sigma = \frac{k\,\Delta U}{2}

波数が大きいほど、つまり波長が短いほど速く成長します。ブレーキがまったくなければ、どれほど短い波長も爆発的に成長します。実際の流れでは、粘性がこの暴走を短波長側で断ち切ります。

重力と表面張力がブレーキをかける

二つのブレーキは異なる波長を止めます。重力項は 1/k1/k に比例するので、波長の長い側(小さい kk)を抑えます。表面張力項は kk に比例するので、波長の短い側(大きい kk)を抑えます。その間に不安定な波長の帯が残ります。

せん断が弱ければ、この帯はそもそも開きません。せん断を強めると、ある瞬間に特定の波長で最初に不安定が突き抜けます。その閾値こそ、風が穏やかな水面に波を立て始める最小風速です。

ΔUmin⁡2=2(ρ1+ρ2)ρ1ρ2g T (ρ2−ρ1)\Delta U_{\min}^2 = \frac{2(\rho_1+\rho_2)}{\rho_1\rho_2}\sqrt{g\,T\,(\rho_2-\rho_1)}

空気と水を入れると ΔUmin⁡≈6.6 m/s\Delta U_{\min} \approx 6.6\ \mathrm{m/s}、最初に突き抜ける波長は約 1.7 cm です。ケルビンが19世紀に計算した値です。(実際の水面は粘性のため、より低い風速でもさざ波が立ちます。理想理論の限界です。)

連続的に成層した流れでは、リチャードソン数(浮力対せん断の比)で判定します。Ri=N2/(dU/dz)2\mathrm{Ri} = N^2/(dU/dz)^2、ここで NN は浮力振動数です。マイルズ・ハワードの定理によれば、Ri<1/4\mathrm{Ri} < 1/4 のどこかで不安定が可能になります。大気・海洋で乱流がいつ発生するかを予測する実務上の基準です。

上の曲線のオレンジ帯が、この閾値で初めて開きます。巻き上がったあとの核の速度分布は、強制渦と自由渦が分け持つ図と重なります。

Python で描く成長率の曲線#

式をそのままコードに移せば、どの風速でどの波長が最初に成長するかがすぐに確認できます。

import math
 
def kh_growth_rate(k, dU, rho_u, rho_l, g=9.81, T=0.072):
    """ケルビン・ヘルムホルツモードの成長率 sigma(k)。"""
    shear   = rho_u * rho_l * dU**2 / (rho_u + rho_l)**2   # 不安定化 (せん断)
    gravity = g * (rho_l - rho_u) / ((rho_u + rho_l) * k)  # 長波長を安定化
    tension = T * k / (rho_u + rho_l)                      # 短波長を安定化
    disc = shear - gravity - tension
    return k * math.sqrt(disc) if disc > 0 else 0.0
 
rho_air, rho_water = 1.225, 1000.0
ks = [1 + 0.2 * i for i in range(4000)]
for dU in (3.0, 6.6, 10.0):
    s = [kh_growth_rate(k, dU, rho_air, rho_water) for k in ks]
    smax = max(s)
    if smax > 0:
        kstar = ks[s.index(smax)]
        lam = 2 * math.pi / kstar * 100   # cm
        print(f"dU={dU:4.1f} m/s -> unstable, lambda*={lam:5.2f} cm, sigma_max={smax:6.2f} /s")
    else:
        print(f"dU={dU:4.1f} m/s -> stable (no waves)")

実行結果はこうなります。

dU= 3.0 m/s -> stable (no waves)
dU= 6.6 m/s -> unstable, lambda*= 1.69 cm, sigma_max=  4.89 /s
dU=10.0 m/s -> unstable, lambda*= 0.78 cm, sigma_max=183.30 /s

渦の数とせん断 ΔU\Delta U のスライダーを上げると、巻き上がる速さと、かぎの間隔が一緒に変わります。

ゆるやかな線が数秒で猫の目に巻きます。ΔU\Delta U を強めるとより速く巻きます。数を増やすとかぎが細かく分かれます。Reset はまた平らな波です。

風速が毎秒 3 m なら水面は穏やかです。6.6 m/s を超えると、λ∗=1.69\lambda^*=1.69 cm、σmax⁡=4.89\sigma_{\max}=4.89 /s のさざ波が最初に育ちます。10 m/s では λ∗=0.78\lambda^*=0.78 cm、σmax⁡=183.30\sigma_{\max}=183.30 /s です。風速は 6.6 から 10 へ約 1.5 倍なのに、成長率は 4.89 から 183.30 へ約 37 倍です。閾値の直後なので、根号の中が薄いのです。

コードの 1.69 cm は k=2π/0.0169k=2\pi/0.0169 で、およそ 372 m−1372\ \mathrm{m}^{-1} です。ブレーキを全部外した σ=kΔU/2\sigma=k\Delta U/2 に ΔU=6.6\Delta U=6.6 を入れると、σ\sigma は毎秒千の桁です。出力の 4.89 /s とは桁が違います。6.6 m/s は、せん断と重力・表面張力がほぼ釣り合う場所です。密度は空気 1.225、水 1000、g=9.81g=9.81、T=0.072T=0.072 です。この四つが ΔUmin⁡≈6.6\Delta U_{\min}\approx 6.6 m/s を作ります。波長が 1.69 cm から 0.78 cm へ縮んだのは、短い側が勝ち始めたという意味です。

線形のあとに目ができる

不安定が最初に育つあいだは、線形理論が合います。山が大きくなると話が変わります。界面は波打ちで止まらず、まるごと巻き上がります。薄い渦層が巻いて渦の列になります。かぎ雲の正体で、スチュアートの猫の目(cat's eye)です。

成長率の式が見るのは、波が最初に大きくなる線形段階だけです。猫の目は非線形段階です。界面が自分自身を引き合って生まれます。各点は粘性のない誘導速度で隣を引きます。波が立ち、そのあと巻きます。

Riが1/4を超えるとせん断だけでは巻かない#

Ri=N2/(dU/dz)2\mathrm{Ri}=N^2/(dU/dz)^2 が 1/4 より大きいと、マイルズ・ハワードの定理は不安定を許しません。成層がせん断を押さえている状態です。空気と水の界面でも、ΔU\Delta U が 6.6 m/s 未満なら出力は stable です。3 m/s の行は波を一つも開きません。

同じ界面が張力だけで滴になる側は、液柱の Plateau–Rayleigh 分裂です。ここでは、せん断がその張力に勝つ側だけを見ます。σ=kΔU/2\sigma=k\Delta U/2 のようにブレーキがなければ、短い波が際限なく勝ちます。粘性がその端を切ります。空にかかるかぎは、その切断の前にせん断がすでに勝った場所です。

役に立ったらシェアしてください。