壅塞流模拟器 返回
可压缩流动模拟器

壅塞流模拟器 — 收缩喷管的临界条件与质量流率

直观可视化收缩喷管或孔板中气流达到音速的「壅塞」现象。调整总压、总温、喉部面积和背压,观察临界压力比、最大质量流率与喉部音速如何随参数变化。

参数设置
上游总压 P_0
kPa
上游总温 T_0
K
喉部面积 A*
mm²
背压 P_b
kPa

假设空气 (γ = 1.4, R = 287 J/(kg·K))、等熵、一维、定常流动。

计算结果
质量流率 ṁ
临界压力 P*
流动状态
喉部速度
收缩喷管断面与流动

左=上游(P_0, T_0)/中央喉部=A*/右=背压区 P_b。颜色表示速度(蓝=低速、红=高速),红线为壅塞时的音速面。

质量流率 ṁ 与背压比 P_b/P_0 的关系

P_b/P_0 ≤ 0.528 时壅塞(ṁ = ṁ_max);高于此值时随背压升高 ṁ 下降。黄竖线=当前 P_b/P_0。

理论与主要公式

在完全气体、等熵、准一维定常流动的假设下,收缩喷管的临界条件仅由 γ 决定。喉部 M = 1 时的临界压力比:

$$\frac{P^*}{P_0} = \left(\frac{2}{\gamma+1}\right)^{\gamma/(\gamma-1)}$$

当 P_b/P_0 ≤ P*/P_0 时流动壅塞,质量流率在最大值处饱和:

$$\dot{m}_{\max} = A^*\,P_0\,\sqrt{\frac{\gamma}{R\,T_0}}\,\left(\frac{2}{\gamma+1}\right)^{(\gamma+1)/(2(\gamma-1))}$$

壅塞时的喉部温度与音速:

$$T^* = T_0\,\frac{2}{\gamma+1}, \qquad a^* = \sqrt{\gamma\,R\,T^*}$$

对空气 γ=1.4:P*/P_0 ≈ 0.528,T*/T_0 ≈ 0.833。喉部音速面阻断下游信息,即使再降低 P_b 也无法增大 ṁ_max。

壅塞流模拟器是什么

🙋
在压缩空气管道里听工程师说「这条线已经壅塞,流量再也升不上去了」,这到底是什么意思?
🎓
简单说就是最窄截面(喉部)的气流已经达到当地音速。看默认值 P_0 = 500 kPa、P_b = 200 kPa,背压比是 0.4,低于临界值 0.528,流动已经壅塞,ṁ = 0.117 kg/s。从这里再把 P_b 降到 10 kPa,流量一克都不会增加。安全阀、爆破片、小孔板流量计在工程上每天都在这个状态下工作。
🙋
为什么达到音速流量就停止增长?听说和「信息无法传播」有关。
🎓
对,这就是核心直觉。压力扰动以当地音速传播,但喉部一旦达到音速,下游的声波就再也无法逆流到上游。换言之,喉部以下的压力变化对入口流动毫无影响。从公式 dA/A = (M²−1) dV/V 也能看出,收缩管道中 M = 1 是上限。要再加速就必须加上扩张段,做成拉伐尔(收缩-扩张)喷管。
🙋
那 P_b 升到多少时不再壅塞?
🎓
分界点是 P_b/P_0 = 0.528。默认 P_0 = 500 kPa 时,P_b 升到约 264 kPa 以上壅塞就解除,ṁ 开始下降。把 P_b 滑到 270 kPa 你会看到 ṁ 从 0.117 缓慢下落;推到 500 kPa(= P_0)时 ṁ 归零。点 Play 让 P_b 自动扫描,整条经典的 S 形曲线一目了然。
🙋
喉部速度显示 317 m/s,这就是音速吧?
🎓
没错。T_0 = 300 K 时喉部温度 T* = 2T_0/(γ+1) = 250 K,音速 a* = √(γ R T*) ≈ 317 m/s。比地面常温下的 343 m/s 略低,是因为绝热膨胀冷却到 250 K。把 T_0 调高 a* 也会跟着上升,比如 T_0 = 600 K 时 a* ≈ 448 m/s。
🙋
那想增加流量该改什么参数?
🎓
看公式 ṁ_max = A* P_0 √(γ/(R T_0)) (2/(γ+1))^((γ+1)/(2(γ-1))),只有三个抓手:(1)提高 P_0;(2)扩大 A*;(3)降低 T_0(冷气密度大)。背压 P_b 在壅塞下完全不影响。实际工程里通常把 P_0 取到设计上限,再用所需 ṁ 反算 A*。

常见问题

由等熵流喉部 M = 1 推得:驻点-喉部关系 P_0/P* = (1 + (γ−1)/2)^(γ/(γ-1)) 反转后即 P*/P_0 = (2/(γ+1))^(γ/(γ-1))。空气 γ = 1.4 时 (2/2.4)^3.5 = 0.5283。氦气 γ = 1.67 给出 0.487,CO_2 γ = 1.30 给出 0.546,气体不同结果有所差异。模拟器使用的是空气的值。
本模拟器假设完全气体、等熵、准一维定常。实际孔板与控制阀通常乘以流出系数 C_d(典型 0.6-0.95):ṁ_actual = C_d · ṁ_ideal。对低温高压液化气(如 LNG),闪蒸与 Joule-Thomson 效应不可忽略,需要真实气体状态方程(如 NIST REFPROP)与数值积分。API 520 与 ISO 4126 中的安全阀设计公式正是基于本模拟器的 ṁ_max 加上 C_d。
喉部临界条件与 ṁ_max 公式完全相同。区别在于喉部下游有扩张段,设计压比下流动可继续加速到超音速;若背压偏高,扩张段内会形成正激波。在壅塞条件下喉部的 ṁ 不变,因此本模拟器的「ṁ vs P_b/P_0」曲线左半部对收缩喷管和收缩-扩张喷管完全一致。
因为此时放出流量只由容器压力 P_0 与喉部面积 A* 决定,与下游条件无关。无论下游是配管、消声器、洗涤塔,放出能力都有保证。API 520 与 ASME Section VIII 的安全阀设计式正是以壅塞为前提,用本模拟器的 ṁ_max 加上 C_d 来计算所需 A*。在火灾或失控反应工况下,需要的 ṁ 反算出 A* 是标准做法。

实际工程应用

压力容器安全阀与爆破片:化工厂、LNG 储罐、气瓶等都需要在设定压力打开的安全装置,以防过压。关键设计是「始终保持壅塞」——这样放出能力仅由 P_0 与 A* 决定,与下游配管、消声器、洗涤塔的具体形式无关。API 520 与 ISO 4126 用的就是模拟器中的 ṁ_max 加流出系数 C_d。试着在工具里设 P_0 = 1000 kPa、A* = 100 mm²,得到约 0.23 kg/s 的空气放出能力,可以快速估算容器泄压时间。

临界流孔板流量计:用于气体校准的临界流文丘里(CFV)喷管刻意让流动壅塞,从而 ṁ = C_d · ṁ_max 仅取决于 P_0。ISO 9300 规范了这种几何,可达 0.5% 以下的精度。由于下游条件不影响流量,多台流量计可以串联同时校准,这正是 CFV 在气体计量行业广受欢迎的原因。

火箭与喷气发动机喷管:固体火箭、液体火箭与涡喷发动机中,燃烧室高温气体都必经一个壅塞的喉部。一旦燃烧室压(即 P_0)固定,喉部 ṁ_max 唯一确定,推力 F = ṁ · V_e + (P_e − P_atm)·A_e 的设计就大为简化。土星五号的 F-1 发动机燃烧室压约 7 MPa、喉部直径 0.95 m,对应 ṁ ≈ 2.6 t/s 的巨大壅塞流量。把数量级代入模拟器即可对量级建立直觉。

真空系统的泄漏评估:当真空腔或半导体设备无法达到本底真空时,工程师常把泄漏路径建模为壅塞流。常温空气穿过直径 0.1 mm 的针孔(A* ≈ 0.008 mm²),ṁ 约为 9 μg/s。用模拟器的公式可以从设计压力与面积估算最坏泄漏量,反算所需抽气速度——这是半导体、航天、粒子物理真空设计的常规计算。

常见误解与注意事项

最常见的误解是「降低背压总能增加流量」。在壅塞区,背压信息被音速面阻断无法上传,因此 P_b 从 200 kPa 降到 10 kPa 甚至真空,ṁ_max 一克都不变。在模拟器中逐步降低 P_b 试试看:只要还在壅塞区,ṁ = 0.117 kg/s 完全不动。「拉真空就能增大流量」只在 P_b/P_0 > 0.528 的亚音速区成立,把它套用到壅塞设计上必然导致容量不足。

另一个陷阱是「ṁ_max 由喉部状态决定」。仔细看公式 ṁ_max = A* P_0 √(γ/(R T_0)) (2/(γ+1))^((γ+1)/(2(γ-1))),里面只含上游 P_0、T_0、喉部面积 A* 与气体常数,P* 和 T* 已经被消掉。代码里「除以 P*」「单独测 T*」之类的多余处理是常见的 bug 源。在模拟器中只改 P_0 或 T_0 也能直接看到 ṁ_max 变化,这一性质一目了然。

第三个易错点是「收缩喷管可以加速到超音速」。准一维连续方程 dA/A = (M²−1) dV/V 表明 M < 1 时收窄截面会加速,但 M = 1 时 dA = 0,要继续加速必须让截面 扩大。因此纯收缩喷管的出口流速上限就是音速,无论背压降得多低。喷气发动机、火箭、超音速风洞中的超音速流动都需要收缩-扩张(拉伐尔)型面。