Mach Architect#
只看教科书上 A/A∗ 和 Pb/P0 的图,状态怎么切换并不会留在手上。
上下拖动喉部的蓝点,并用右侧滑块改变 Pb/P0。出口马赫数和激波位置会一起动。
把喉部收窄,看质量流量是否顶住。把背压降到 0.5283 以下,看激波是否向出口滑。
操作方法
- 喷管形状: 在 SVG 上拖动蓝色控制点(control point)上下调整截面积
- 背压: 右侧滑块调节 Pb/P0
- 关卡选择: 上方 LV1~LV4 按钮切换
关卡解析
Level 1: 亚音速加速#
最基础的问题。在收缩喷管中,亚音速流动随截面减小而加速。
等熵关系式:
A∗A=M1[γ+12(1+2γ−1M2)]2(γ−1)γ+1
由于 M<1,A 减小时 M 增大。目标是出口马赫数 0.45~0.55。
Level 2: 阻塞#
流动**阻塞(choke)**时喉部 M=1。此状态下继续降低背压不会改变喉部上游的质量流量。
临界压力比 (γ=1.4):
P0P∗=(γ+12)γ−1γ=0.5283
将背压降至该值以下,或将喉部做得足够窄。
Level 3: 超音速喷管设计#
C-D 喷管中,喉部之后截面再次扩大就会加速到超音速。要达到 M=2:
A∗Ae=21[γ+12(1+2γ−1⋅4)]2(γ−1)γ+1≈1.6875
把 M=2、γ=1.4 代进面积比,印出来的 1.6875 会原样出现。(γ−1)/2=0.2,M2=4,括号里是 1+0.8=1.8。再乘 2/(γ+1)=1/1.2,得到 1.5。指数 (γ+1)/(2(γ−1)) 是 3。1.53=3.375。乘上 1/M=1/2,就是 1.6875。喉部为 1 时,出口必须是这个倍数才能到 M=2。
亚音速目标 0.45 到 0.55 是同一个式子的另一侧。M=0.45 时 A/A∗≈1.45,M=0.55 时约 1.25。区间很窄。喉部稍动一点,出口马赫数就出了窗口。喉部之后必须变宽才加速,这和拉伐尔喷管反过来的地方是同一个关系。
背压要降到设计压力 Pb_design,没有激波的超音速才会一直走到出口。
Level 4: 激波定位#
背压高于设计压力但低于临界压力时,喷管内部会出现正激波(normal shock)。
激波前后关系:
M22=γM12−(γ−1)/2M12(γ−1)/2+1
P1P2=γ+12γM12−(γ−1)
把 M1=2 代进激波关系,约分很干净。M22=(4×0.2+1)/(1.4×4−0.2)=1.8/5.4=1/3,所以 M2≈0.577。压力比是 (2×1.4×4−0.4)/2.4=10.8/2.4=4.5。按马赫数 2 设计,却把背压留在设计值之上,管内某处压力会跳到 4.5 倍,马赫数落到 0.58 附近。
背压升高,激波往喉部走。背压降低,激波往出口走。第 4 关的目标 x=0.65∼0.80 就是把这次跳跃放在出口附近。
模拟器的物理模型
本模拟器基于以下假设:
- 1D 准一维(quasi-1D)流: 仅考虑截面积变化,忽略粘性/传热
- 等熵流(激波除外): P0, T0 守恒
- 量热完全气体: γ=1.4(空气)
- 正激波: 应用 Rankine-Hugoniot 关系式
- 喷管形状: Hermite 插值生成光滑的截面积分布
激波位置通过离散搜索满足出口压力条件的位置。激波前方为等熵超音速,后方为反映总压损失的等熵亚音速。
设计背压留得太高, M=2 会被激波吃掉#
面积比配到 1.6875,背压却留在设计值之上,第 3 关做出的 M=2 会在管内掉到 M2≈0.577。压力跳到 4.5 倍。背压一落在 0.5283 和设计值之间,喉部仍然阻塞,超音速段就在激波前停住。
把这次跳跃放到网格上,得故意给它一个厚度。故意把激波涂糊的人工黏性就是这个选择。这个模拟器只离散地找位置,激波厚度一个格子也不分辨。背压滑块把 x 从 0.65 挪到 0.80 时,先看压力比有没有离开 4.5。