---
title: "让压力写出激波菱形互动实验｜Sandbox Physics"
description: "超声速喷流的出口压力和周围不一样时，为什么会出现一串菱形？出口压力比环境高，喷流先膨胀；比环境低，先被压缩。每次冲过头，波在喷流边界上反射成相反的类型，膨胀和压缩就沿喷流交替出现，画出一串菱形。压力正好匹配、又没有黏性的理想喷流，会一直保持笔直。"
canonical_url: "https://sandboxphysics.com/zh/labs/supersonic-jet-shock-diamonds/"
language: "zh-CN"
page_type: "lab"
alternate_languages:
  en: "https://sandboxphysics.com/labs/supersonic-jet-shock-diamonds/"
last_modified: "2026-10-22"
---

压力失配 · 可压缩流

# 超声速喷流与激波菱形

**超声速喷流的出口压力和周围不一样时，为什么会出现一串菱形？** 出口压力比环境高，喷流先膨胀；比环境低，先被压缩。每次冲过头，波在喷流边界上反射成相反的类型，膨胀和压缩就沿喷流交替出现，画出一串菱形。压力正好匹配、又没有黏性的理想喷流，会一直保持笔直。

收缩—扩张喷管为一股平面喷流提供出口状态，喷流由 Euler 方程实时算出。在马赫数、压力和数值纹影视图里比较欠膨胀、压力匹配和过膨胀三种喷流。沿中心线追踪波系，检查开放箱域是否守恒，再拿一道有精确解的法向激波检验代码。

> 交互仿真：在浏览器中打开本页，即可调整参数并运行模型。

气体按量热完全气体处理。模型不含燃烧、黏性和热传导，也不预测声音。上游喷管用一维等熵关系计算，不在二维网格里。喷管外的喷流是平面流，不是轴对称流。可调的压力范围假定出口为超声速，喷管内没有激波。数值纹影也会显示接触层，只看到暗边不能断定有激波。

物理教程

## 压力失配产生一组波系

**背景** 超声速喷管出口的压力不一定等于周围环境的压力。喷流离开喷管后，要靠膨胀波和压缩波来调整。这些波在喷流里来回交叉，可能形成一串重复的激波单元。

**为什么值得理解** 一段发光菱形的动画，看不出压力、质量流率或激波跳跃是否合理。这里给出四样可以分开检查的东西：喷管计算、喷管外算出的流场、中心线上的剖面，以及整个箱域的守恒检查。

先抓重点

- **核心问题**: 出口压力高于、等于或低于环境压力时，喷流会有什么不同？
- **一句话直觉**: 出口压力高于环境时，喷流先膨胀；低于环境时，先压缩。压力匹配时，笔直的无黏喷流本身就是定常解，边界只是一层静止的接触剪切层，所以求解器在这个极限下不会生出菱形。

### 核心数学模型

#### 喷管面积与马赫数

$$
\frac{A}{A_*}=\frac1M\left[\frac{2}{\gamma+1}\left(1+\frac{\gamma-1}{2}M^2\right)\right]^{\frac{\gamma+1}{2(\gamma-1)}},\quad \frac{p}{p_0}=\left(1+\frac{\gamma-1}{2}M^2\right)^{-\frac{\gamma}{\gamma-1}}
$$

比喉部大的每个面积都对应两个解，一个亚声速，一个超声速。喷管计算在喉部之前取亚声速解，之后取超声速解。总温固定，总压由选定的出口状态反推。喷管内的激波和壁面边界层都不计算。

#### 声速喉部的最大流量与理想推力

$$
\dot m=\rho u A=\frac{A_*p_0}{\sqrt{T_0}}\sqrt{\frac\gamma R}\left(\frac2{\gamma+1}\right)^{\frac{\gamma+1}{2(\gamma-1)}},\quad F=\dot m u_e+(p_e-p_a)A_e
$$

面积和总压、总温都固定时，质量流量在气流达到声速处最大。喷管每个截面通过的质量流量都相同。推力取一维理想喷管的值，按单位展长计，不是在二维计算箱上测出的力。临界压力比描述的是局部声速喉部，不是所有收缩—扩张喷管通用的背压门槛。

#### 法向激波的精确跳跃关系

$$
\frac{p_2}{p_1}=1+\frac{2\gamma}{\gamma+1}(M_1^2-1),\quad \frac{\rho_2}{\rho_1}=\frac{(\gamma+1)M_1^2}{2+(\gamma-1)M_1^2},\quad M_2^2=\frac{1+\frac{\gamma-1}{2}M_1^2}{\gamma M_1^2-\frac{\gamma-1}{2}}
$$

激波两侧的质量、轴向动量和能量通量相等，总压却下降。法向激波检验用同一套二维代码演化这个静止的跳跃，中心线上的虚线则直接由解析式算出。误差取压力的平均绝对误差，再除以下游压力。这个检验看的是代码怎样处理激波，并不是说每个喷流都会出现马赫盘。

#### 外部二维 Euler 流

$$
\partial_t\mathbf U+\partial_x\mathbf F+\partial_y\mathbf G=0,\quad \mathbf U=(\rho,\rho u,\rho v,\mathcal E,\rho c)^{\mathsf T},\quad p=(\gamma-1)\left[\mathcal E-\tfrac12\rho(u^2+v^2)\right]
$$

代码以守恒形式更新密度、两个动量分量、能量和一个被动输运的喷流质量分数。MUSCL 重建对原始变量取单调中心斜率。通量混合了 HLLC 和 HLLE，波速范围取 Roe 和 Davis 估计；在压缩区，压力跳跃一旦超过较小压力的十分之一，就改用 HLLE。时间推进用 SSP-RK2，积分未分裂的通量散度。

#### 时间步限制与开放箱域的守恒

$$
\Delta t\le\frac{\mathrm{CFL}}{\max\left[(|u|+a)/\Delta x+(|v|+a)/\Delta y\right]},\quad a=\sqrt{\gamma p/\rho},\quad \mathbf Q(t)+\int_0^t\mathbf\Phi_{\partial\Omega}\,dt=\mathbf Q(0)
$$

质量、动量和能量可以经边界流进或流出箱域。守恒检查把按龙格—库塔阶段加权的向外数值通量，加到箱内当前的体积分上。初始为零的分量改用初始质量作尺度。相对状态变化率是每单位时间的无量纲向量范数，不能当作离散误差的估计。某一步被拒绝时，先去掉重建再算一次，然后再减小步长；能量不靠裁剪来修补。

#### 数值纹影显示密度梯度

$$
S=1-\exp\left(-0.16|\nabla\rho|\right)
$$

这幅图用中心差分求同一个有限体积密度场的梯度，再用固定对比度显示。激波和接触层都可能显示为暗色。网格同时有压力梯度、速度散度又为负，才会标出压缩提示。这些提示只是按阈值标出的网格，给不出精确的激波形状，也不是经过标定的光学测量。

### 常见难点

#### 颜色不是火焰

**容易误解** 亮的地方就是排气在燃烧发光，也能看出排气温度。

**正确理解** 模型里没有燃烧，也没有辐射发光。彩色表示马赫数或压力，黑白图表示密度梯度。平面无黏喷流也给不出轴对称喷流的单元间距、黏性混合、真实气体化学或噪声。

#### 守恒不等于网格收敛

**容易误解** 守恒误差很小，激波单元图案就一定对。

**正确理解** 守恒检查只能说明离散通量没有凭空增减守恒量。数值扩散、重建方式、激波判据、箱域边界和分辨率仍会改变图案。换几套网格，在相同模拟时间再比较。开头一段时间里，预填的喷流还在松弛，这是瞬态，还不是稳定的喷流。

### 动手实验

1. 01

   #### 让出口压力和环境压力不同

   在同一马赫数下依次运行三个喷流预设。等波系发展起来，再看压力图和纹影图。点击中心线，移动各视图共用的探针。

   **你会看到：** 欠膨胀喷流先扩张，过膨胀喷流先压缩，压力匹配的喷流保持笔直，边界是一层剪切接触层。这些波是求解器算出来的，不是事先画好的正弦菱形。

2. 02

   #### 先用一道激波检验代码

   选择“法向激波检验”，让它运行，再提高网格分辨率。把压力曲线和表示精确跳跃的虚线对比，并读出激波压力误差。

   **你会看到：** 算出的激波会摊开在几个网格上。网格越细，积分误差应越小。两侧平台的比值，以及相等的质量、动量和能量通量，都可以拿解析解独立检验。

3. 03

   #### 改变喷管和网格

   改变马赫数、比热比和喷管长度，比较出口与喉部的面积比和质量流率。再提高网格分辨率，看单步耗时和实际模拟时间。

   **你会看到：** 喷管形状变了，每个截面通过的质量流量仍然相同；长度不改变设定的出口状态。每帧的计算时间有限，网格加密后模拟可能推进得更慢。守恒误差再小，也还要比较不同网格才能下结论。

4. 04

   #### 科学依据与灵感

   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](http://www.bugman123.com/FluidMotion/index.html)。模拟和图形都是原创，模型的适用范围见上文。

场、流体与物质 · 入门路径

## 从电场到电子显微镜

先看懂电场、学会操控带电粒子，再算出电子的波长，用电子束观察晶体和表面。

[从这里开始 → **看见电场** 在偶极子周围移动探针，看电场是不是总指向电势地形的下坡方向。 观察 · 8 分钟](https://sandboxphysics.com/zh/labs/electric-field/)

1. [1 看见电场](https://sandboxphysics.com/zh/labs/electric-field/)
2. [2 电荷在场中转弯](https://sandboxphysics.com/zh/labs/charged-particle/)
3. [3 电子波长与加速电压](https://sandboxphysics.com/zh/labs/electron-wavelength/)
4. [4 电子衍射与倒空间](https://sandboxphysics.com/zh/labs/electron-diffraction/)
5. [5 TEM 明场、暗场与选区衍射](https://sandboxphysics.com/zh/labs/tem-mode-selector/)
6. [6 SEM 二次电子表面形貌](https://sandboxphysics.com/zh/labs/sem-topography/)

[查看完整路径 →](https://sandboxphysics.com/zh/topics/fields-and-matter/#starter-path)
