加热得更烫反而更凉了 — 沸腾曲线与临界热流密度
越过沸点继续加热反而使传热崩溃的沸腾曲线悖论
1934年,在东京,抜山四郎一边给镍铬丝通电,一边观察沸腾的水。电流每往上调一档,气泡就更剧烈一分。然后某一瞬间,电线突然烧得通红、熔断了。气泡最旺盛的区段与电线熔断的区段之间究竟发生了什么,他始终未能亲眼看到。本文要追的,正是他错过的那一段 — 加热越猛、热量反而越难带走的沸腾曲线(boiling curve)悖论。临界热流密度为何像悬崖一样存在,莱顿弗罗斯特液滴为何在热锅上起舞,最后再用一段 Python 计算把它们串起来。
沸腾曲线 — 一张图里的四个区域#
沸腾是发生在固–液界面上的蒸发。壁面热流密度写成简单的形式。
是壁面温度,是饱和温度(水在1个大气压下为100°C),是二者之差,即过热度(excess temperature)。是对流换热系数。
直觉上,越大,似乎应当单调上升。真实的沸腾曲线却不肯。把对画在双对数坐标上,四个区域依次出现。
- 自然对流(°C):几乎没有气泡。浮力驱动的自然对流搬运热量。
- 核态沸腾(°C):气泡从成核点喷涌而出。上升得最陡。
- 过渡沸腾(°C):蒸气膜开始部分覆盖壁面。下降。
- 膜态沸腾(°C):连续的蒸气膜完全盖住壁面。加上辐射,再次上升。
请在下面的模拟中亲手操作。
把顶部按钮切换到'Heat-flux control',把热流密度推到临界点之上。工作点会从核态沸腾分支跳到膜态沸腾分支。这次跳跃就是熔断抜山电线的烧毁(burnout)。
核态沸腾 — 气泡把热量汲上来#
核态沸腾如此高效,靠的不是气泡本身,而是气泡掀起的搅拌(agitation)。气泡脱离壁面时,冷液体涌入那个空位。这种微小的泵送作用不停地置换壁面附近的液体。
Rohsenow 用一个无量纲关联式概括了该区域的热流密度。
是液体黏度,是汽化潜热,是液体与蒸气密度,是表面张力,是液体比热,是液体普朗特数。是与表面–流体组合有关的实验常数(水–铂为0.013)。
关键在于。过热度稍微提高一点,热流密度就按立方猛涨。所以核态沸腾能在很窄的温度区间内带走巨大的热量。反应堆堆芯、CPU水冷、锅炉,全都瞄准这个区域。
临界热流密度 — Zuber 预言的悬崖#
立方上升不会永远持续。气泡密集到一定程度就会彼此合并,开始覆盖壁面。液体通往表面的通道被堵住。恰在此前,达到最大值。这就是临界热流密度(critical heat flux, CHF)。水在1个大气压下超过1 MW/m²。
Zuber 从蒸气柱失稳的条件(开尔文–亥姆霍兹不稳定性)推导出 CHF。
符号同前,为蒸气密度。令人惊讶的是,这个式子里既没有壁温,也没有表面材质。CHF 仅由流体物性决定。
CHF 是一把双刃剑。它既是带走热量能力的上限,越过它的瞬间又是一场灾难。在热流密度受控的装置(电加热、核燃料)中,超过 CHF 会把工作点从核态沸腾抛向膜态沸腾。要用膜态沸腾承担同样的热流密度,壁温必须暴涨数百度。金属在那之前就熔化了。抜山看到的正是这次跳跃。
膜态沸腾与莱顿弗罗斯特#
过渡沸腾的尽头,再次触底的那一点,称为莱顿弗罗斯特点(Leidenfrost point)。越过它,连续的蒸气膜完全盖住壁面。液体碰不到壁面。热量只能靠穿过蒸气的传导和辐射传递。蒸气的导热系数远低于液体,所以传热很糟糕。
如果你曾把水甩到热锅上,那你已经见过膜态沸腾了。在中等热度的锅上,液滴嗤的一声沸腾、很快消失。可在非常热的锅上,液滴会团成珠子,在锅面上滑行、久久不散。它浮在自己造的蒸气膜上。
请在下面的模拟中亲手操作。
Push Ts past ~200 °C and the droplet lifts onto its own vapor film — the Leidenfrost effect. Counterintuitively it now lives far longer than at 130 °C.
把表面温度设在130°C附近,液滴会喷着气泡迅速蒸发。推过200°C,它就浮上蒸气膜、四处溜动。更烫,却反而活得更久 — 这种非单调性就是莱顿弗罗斯特悖论。
水平圆柱上的膜态沸腾热流密度遵循下面的形式。
是圆柱直径,是蒸气的运动黏度与导热系数,是形状常数(水平圆柱0.62,球0.67)。是修正了蒸气过热的潜热。
Python — 亲手画出沸腾曲线#
用水在1个大气压下的物性计算 Rohsenow 核态沸腾和 Zuber CHF。两个式子在哪里相遇、在哪里分道扬镳,一目了然。
import numpy as np
# 水, 1个大气压下的饱和物性
g = 9.81 # m/s^2
rho_l = 957.9 # kg/m^3
rho_v = 0.5956
h_fg = 2257e3 # J/kg
sigma = 0.0589 # N/m
mu_l = 279e-6 # N.s/m^2
cp_l = 4217.0 # J/kg.K
Pr_l = 1.76
Csf, n = 0.013, 1.0 # 水-铂
def rohsenow_nucleate_flux(dTe):
"""Rohsenow 核态沸腾热流密度 q'' (W/m^2)."""
bracket = np.sqrt(g * (rho_l - rho_v) / sigma)
ja = cp_l * dTe / (Csf * h_fg * Pr_l**n)
return mu_l * h_fg * bracket * ja**3
def zuber_critical_heat_flux():
"""Zuber 临界热流密度 (W/m^2)."""
return 0.149 * h_fg * rho_v * (
sigma * g * (rho_l - rho_v) / rho_v**2) ** 0.25
chf = zuber_critical_heat_flux()
print(f"CHF (Zuber) = {chf/1e6:.3f} MW/m^2")
# 扫描核态沸腾分支, 找出达到 CHF 的过热度
for dTe in [5, 10, 20, 30, 40]:
q = rohsenow_nucleate_flux(dTe)
flag = " <-- 超过 CHF (Rohsenow 失效)" if q > chf else ""
print(f"dTe={dTe:3d} C : q''={q/1e6:6.3f} MW/m^2{flag}")运行结果如下。
CHF (Zuber) = 1.259 MW/m^2
dTe= 5 C : q''= 0.017 MW/m^2
dTe= 10 C : q''= 0.137 MW/m^2
dTe= 20 C : q''= 1.094 MW/m^2
dTe= 30 C : q''= 3.692 MW/m^2 <-- 超过 CHF (Rohsenow 失效)Rohsenow 式在°C附近就已经超过了 CHF。这不是公式错了,而是它离开了适用范围。真实曲线在 CHF 处折转向下。核态沸腾关联式只在那个拐点之前有效。两个式子合用时,必须始终把 CHF 强制为上限。
无量纲数的语言 — Jakob 与 Bond#
支配沸腾的两个无量纲数值得一提。第一个是雅各布数(Jakob number)。
它是液体吸收的显热与潜热之比。小,意味着潜热压倒显热。水的潜热极大,所以沸腾情形下很小。Rohsenow 式括号里的那一项正是。
第二个是邦德数(Bond number)。
它是浮力与表面张力之比。气泡的特征尺寸由这两者的平衡得出。气泡直径按标度。这就是 CHF 式四次根里出现表面张力与密度差的原因。气泡的大小和脱离频率,最终决定了热流密度的上限。
记住这三行#
- 沸腾曲线不是单调上升的。提高过热度反而会在过渡沸腾区间内使热流密度下降,存在一道叫临界热流密度(CHF)的悬崖。
- 越过 CHF,工作点跳向膜态沸腾,壁温暴涨数百度。这就是抜山电线熔断的原因。
- 莱顿弗罗斯特效应是同一种非单调性的日常版。在更热的锅上,液滴浮在蒸气膜上、反而活得更久。
如果对您有帮助,请分享。