Skip to content
cfd-lab:~/zh/posts/2026-07-14-kelvin-helmho…online
NOTE #104DAY TUE 유체역학DATE 2026.07.14READ 5 min readWORDS 2,403#Kelvin-Helmholtz#Shear-Instability#Vortex#Stratified-Flow#유동현상

挂在天上的波浪 — 开尔文-亥姆霍兹不稳定性

速度不同的两股流为何会卷成漩涡

天空偶尔会挂起一排像被冻住的海浪。钩状的波峰卷起来,像海滩上的碎浪一样整齐排列。照片看上去像合成的,但它们是真实存在的云,还有名字:开尔文-亥姆霍兹云。空气把波浪破碎前的一瞬间原样模仿了出来。

这篇文章追踪这些钩子是怎么形成的。快流与慢流相接的一层薄薄的边界面(剪切层)。我们要看清这层边界为何无法保持平整而卷成漩涡,何时会卷、何时安静,并把这一切压进一个增长率公式里。最后亲手把一层薄涡层卷起来,做出那些钩子。

挂在天上的波浪

开尔文-亥姆霍兹云并非唯一。同样的事到处都在发生。木星条纹裂开的边界,海水中不同密度的水互相滑动形成的内波,往咖啡里倒牛奶时瞬间出现的螺旋。就连一缕香烟的烟直直上升后突然散乱的那个点,也是同一个道理。

它们有一个共同点。两层速度不同的流体并排流动。上层快,下层慢。两者之间那层薄薄的边界在滑动。这个滑动(剪切)就是种子。

直觉上,你会觉得两股流只要并排擦过去就好。实际并非如此。边界面上哪怕只有极小的扰动,那扰动也会自行增长。这就是开尔文-亥姆霍兹不稳定性(由剪切引起的界面不稳定)。

两股流滑动时发生了什么

假设边界面上鼓起了一个小峰。上方的快流必须越过它。越过峰顶的通道变窄了。要保持流量相同,狭窄处的速度就会加快。

速度快,压强就低。这是伯努利原理(流动快的地方压强低)。峰顶上方压强降低,峰就被进一步向上吸。而在波谷处则相反,流动变慢、压强升高,波谷被压得更深。

归纳一下就是:峰更高,谷更深。小扰动喂养自己,这是一种正反馈。一旦开始就停不下来。这就是不稳定性的核心机制。

这里有一个常见误解:“重的水在下、轻的空气在上,不是很稳定吗?”只看重力,确实如此。但只要剪切足够强,就能压过重力的稳定化作用。稳定的分层在强风面前也会崩溃。

色散关系 — 哪些波长会增长

这场角力可以压缩成一个方程。上层(密度 ρ1\rho_1)与下层(密度 ρ2\rho_2)以相对速度 ΔU\Delta U 互相滑动,界面上作用着重力 gg 和表面张力 TT。波数为 kk(单位长度内的波数)的扰动增长的速度,也就是增长率 σ\sigma,如下所示。

σ(k)=kρ1ρ2(ρ1+ρ2)2(ΔU)2g(ρ2ρ1)(ρ1+ρ2)kTkρ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)。二者之间留下一条不稳定波长的带。

若剪切较弱,这条带根本打不开。加大剪切,到某一刻会在某个特定波长处最先突破不稳定。这个阈值正是风开始在平静水面掀起波浪的最小风速。

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

代入空气与水,可得 ΔUmin6.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 的某处可能出现不稳定。它是预测大气与海洋中何时爆发湍流的实用判据。

下面亲自踩一踩刹车。拖动剪切、密度比、重力、表面张力的滑块,看增长率曲线如何改变。

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

把剪切 ΔU\Delta U 降到6附近,曲线贴到底部,翻成 “STABLE”。加大重力或表面张力,不稳定带(橙色区域)从两侧收窄。把密度比推向1(让两层变得相似),哪怕极弱的剪切也会让曲线飙升。

用 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

风速为每秒3 m 时,水面平静。一旦越过 6.6 m,约 1.7 cm 的涟漪最先增长。风速再往上,增长率急剧变大,而最危险的波长变短。

卷成漩涡的那一刻

在不稳定最初增长的阶段,线性理论符合得很好。但一旦峰足够大,故事就变了。界面不再只是起伏,而是整个卷起来。薄薄的涡层缠绕成规则的涡列。这就是钩状云的真面目,也是理论中所说的斯图尔特猫眼(cat's eye)图案。

下面的模拟真的把一层略有扰动的涡层卷了起来。每个点是界面上的标记,通过无粘流动的诱导速度互相吸引。用滑块改变涡的数量和剪切的强度。

一条最初还是平缓波浪的线,几秒钟内就缠绕成猫眼。加大剪切 ΔU\Delta U,它卷得更快;增加涡的数量,就出现更细密的钩列。按 Reset,又从平坦的波浪开始。

在这里区分两个阶段很重要。增长率公式只描述线性阶段,即波最先变大的时候。卷起的猫眼是非线性阶段,是界面吸引自身而生成的另一幅画。自然把这两个阶段接连展示。波先立起,然后卷起。

这个现象告诉我们的

有剪切的地方,总有不稳定的种子。当两股速度不同的流相遇,那条边界就永远无法保持光滑。小峰喂养自己,最终卷成漩涡。这就是开尔文-亥姆霍兹不稳定性的本质。

增长率 σ(k)\sigma(k) 是这场较量的裁判。剪切在推,重力和表面张力在拉。三者的平衡决定哪个波长增长、哪个波长入睡。从在平静水面掀起波浪的最小风速,到衡量大气湍流阈值的理查森数,全都是同一杆秤上的刻度。挂在天上的那朵钩状云,就是这杆秤已经倒向剪切一侧的证据。

如果对您有帮助,请分享。