喷管面积与马赫数
比喉部大的每个面积都对应两个解,一个亚声速,一个超声速。喷管计算在喉部之前取亚声速解,之后取超声速解。总温固定,总压由选定的出口状态反推。喷管内的激波和壁面边界层都不计算。
压力失配 · 可压缩流
超声速喷流的出口压力和周围不一样时,为什么会出现一串菱形? 出口压力比环境高,喷流先膨胀;比环境低,先被压缩。每次冲过头,波在喷流边界上反射成相反的类型,膨胀和压缩就沿喷流交替出现,画出一串菱形。压力正好匹配、又没有黏性的理想喷流,会一直保持笔直。
收缩—扩张喷管为一股平面喷流提供出口状态,喷流由 Euler 方程实时算出。在马赫数、压力和数值纹影视图里比较欠膨胀、压力匹配和过膨胀三种喷流。沿中心线追踪波系,检查开放箱域是否守恒,再拿一道有精确解的法向激波检验代码。
物理教程
背景超声速喷管出口的压力不一定等于周围环境的压力。喷流离开喷管后,要靠膨胀波和压缩波来调整。这些波在喷流里来回交叉,可能形成一串重复的激波单元。
为什么值得理解一段发光菱形的动画,看不出压力、质量流率或激波跳跃是否合理。这里给出四样可以分开检查的东西:喷管计算、喷管外算出的流场、中心线上的剖面,以及整个箱域的守恒检查。
先抓重点
比喉部大的每个面积都对应两个解,一个亚声速,一个超声速。喷管计算在喉部之前取亚声速解,之后取超声速解。总温固定,总压由选定的出口状态反推。喷管内的激波和壁面边界层都不计算。
面积和总压、总温都固定时,质量流量在气流达到声速处最大。喷管每个截面通过的质量流量都相同。推力取一维理想喷管的值,按单位展长计,不是在二维计算箱上测出的力。临界压力比描述的是局部声速喉部,不是所有收缩—扩张喷管通用的背压门槛。
激波两侧的质量、轴向动量和能量通量相等,总压却下降。法向激波检验用同一套二维代码演化这个静止的跳跃,中心线上的虚线则直接由解析式算出。误差取压力的平均绝对误差,再除以下游压力。这个检验看的是代码怎样处理激波,并不是说每个喷流都会出现马赫盘。
代码以守恒形式更新密度、两个动量分量、能量和一个被动输运的喷流质量分数。MUSCL 重建对原始变量取单调中心斜率。通量混合了 HLLC 和 HLLE,波速范围取 Roe 和 Davis 估计;在压缩区,压力跳跃一旦超过较小压力的十分之一,就改用 HLLE。时间推进用 SSP-RK2,积分未分裂的通量散度。
质量、动量和能量可以经边界流进或流出箱域。守恒检查把按龙格—库塔阶段加权的向外数值通量,加到箱内当前的体积分上。初始为零的分量改用初始质量作尺度。相对状态变化率是每单位时间的无量纲向量范数,不能当作离散误差的估计。某一步被拒绝时,先去掉重建再算一次,然后再减小步长;能量不靠裁剪来修补。
这幅图用中心差分求同一个有限体积密度场的梯度,再用固定对比度显示。激波和接触层都可能显示为暗色。网格同时有压力梯度、速度散度又为负,才会标出压缩提示。这些提示只是按阈值标出的网格,给不出精确的激波形状,也不是经过标定的光学测量。
容易误解亮的地方就是排气在燃烧发光,也能看出排气温度。
正确理解模型里没有燃烧,也没有辐射发光。彩色表示马赫数或压力,黑白图表示密度梯度。平面无黏喷流也给不出轴对称喷流的单元间距、黏性混合、真实气体化学或噪声。
容易误解守恒误差很小,激波单元图案就一定对。
正确理解守恒检查只能说明离散通量没有凭空增减守恒量。数值扩散、重建方式、激波判据、箱域边界和分辨率仍会改变图案。换几套网格,在相同模拟时间再比较。开头一段时间里,预填的喷流还在松弛,这是瞬态,还不是稳定的喷流。
在同一马赫数下依次运行三个喷流预设。等波系发展起来,再看压力图和纹影图。点击中心线,移动各视图共用的探针。
你会看到: 欠膨胀喷流先扩张,过膨胀喷流先压缩,压力匹配的喷流保持笔直,边界是一层剪切接触层。这些波是求解器算出来的,不是事先画好的正弦菱形。选择“法向激波检验”,让它运行,再提高网格分辨率。把压力曲线和表示精确跳跃的虚线对比,并读出激波压力误差。
你会看到: 算出的激波会摊开在几个网格上。网格越细,积分误差应越小。两侧平台的比值,以及相等的质量、动量和能量通量,都可以拿解析解独立检验。改变马赫数、比热比和喷管长度,比较出口与喉部的面积比和质量流率。再提高网格分辨率,看单步耗时和实际模拟时间。
你会看到: 喷管形状变了,每个截面通过的质量流量仍然相同;长度不改变设定的出口状态。每帧的计算时间有限,网格加密后模拟可能推进得更慢。守恒误差再小,也还要比较不同网格才能下结论。NASA Glenn:等熵流动、质量流量堵塞、法向激波与喷管推力关系,见 grc.nasa.gov/www/k-12/airplane/。HLLC 依据:Toro、Spruce 与 Speares(1994),Restoration of the contact surface in the HLL-Riemann solver,DOI 10.1007/BF01414629。
你会看到: Bugman123 FluidMotion 只提供了构思上的启发,代码和图形都是原创。自动测试覆盖解析的喷管和激波值、静止接触面的保持、独立的 Sod 解、网格加密、对称性、正性和边界通量守恒。概念灵感:FluidMotion。模拟和图形都是原创,模型的适用范围见上文。