跳到主要内容
Sandbox Physics

可压缩流 · 双曲守恒律

Shock Tube & Riemann Problem

激波管的隔膜一破,为什么会同时生出激波、接触间断和稀疏扇? 一维 Euler 方程里的信号有三种传播速度:流速减声速、流速本身、流速加声速。初始跳变就按这三族拆成三道波:一道激波;一个接触间断,两侧密度不同,压强和速度却相同;还有一个稀疏扇。

分别设定左右两侧的初态,用 HLL、Rusanov 或 HLLC 有限体积通量推进一维 Euler 方程,再把结果和精确 Riemann 解叠在一起比较。管内密度、x–t 波系图、四个变量的剖面和守恒量漂移同步更新。

交互模型Shock Tube & Riemann Problem
初态适用域正密度、非真空初态
无量纲时间0.00000.0000
星区压强 p∗p_*0.3031 p00.3031\,p_0
激波速度 SsS_s1.752 a01.752\,a_0
密度误差 L1L_10.00 %0.00\,\%
质量漂移0.00 %0.00\,\%
能量漂移0.00 %0.00\,\%
波系稀疏扇 · 接触间断 · 激波

物理教程

激波管:一个初始跳变怎样拆成三类波

背景激波管里,一道隔膜把两段均匀气体隔开。隔膜一瞬间撤掉,管内只有一处不连续,它却会自己分成激波、接触间断和稀疏扇:激波压缩气体,接触间断是两种气体的分界面,稀疏扇让气体连续膨胀。

为什么值得理解Gary Sod 在 1978 年把这组初值定为检验可压缩流代码的经典算例。这里还用了 Harten、Lax 和 van Leer 在 1983 年提出的两波近似通量,数值解的每一格都和精确的自相似 Riemann 解对照。

先抓重点

核心问题
同一个隔膜跳变,为什么会同时生成激波、接触间断和稀疏扇?
一句话直觉
一维 Euler 系统有三族特征速度:u−au-a、uu 与 u+au+a。初始跳变分摊到这三族波上,各自以不同速度传开,一个跳变就不会只是一条波。

核心数学模型

一维 Euler 守恒律

∂∂t[ρρuE]+∂∂x[ρuρu2+pu(E+p)]=0\frac{\partial}{\partial t}\begin{bmatrix}\rho\\ \rho u\\ E\end{bmatrix}+\frac{\partial}{\partial x}\begin{bmatrix}\rho u\\ \rho u^2+p\\ u(E+p)\end{bmatrix}=0

三行分别表示质量、动量和总能量守恒。数值通量只在网格界面上让相邻两格交换这些量。

理想气体状态方程与声速

p=(γ−1) ⁣(E−12ρu2),a=γpρp=(\gamma-1)\!\left(E-\frac12\rho u^2\right),\qquad a=\sqrt{\frac{\gamma p}{\rho}}

比热比把内能、压强和声速联系起来;改变它,三族波的速度都会跟着变。

HLL 两波数值通量

FHLL=SRFL−SLFR+SLSR(UR−UL)SR−SLF_{\mathrm{HLL}}=\frac{S_R F_L-S_L F_R+S_LS_R(U_R-U_L)}{S_R-S_L}

左信号速度为负、右信号速度为正时,HLL 在两者之间只用一个平均的中间态。这样做仍然守恒,代价是接触间断比精确解宽。

CFL 稳定步长

Δt≤CCFLΔxmax⁡i(∣ui∣+ai)\Delta t\le C_{\mathrm{CFL}}\frac{\Delta x}{\max_i\left(|u_i|+a_i\right)}

一步之内,最快的波走不出一个网格宽。网格一加密,时间步就自动变短。

常见难点

接触间断不是较弱的激波

容易误解密度仍有跳变,所以中间那条线只是另一条小激波。

正确理解接触间断两侧的压强和速度都连续,跳变的只有密度和气体种类。它随星区里的气流一起移动。

图上的激波变宽,不代表真实激波很厚

容易误解图上的激波跨了好几个网格,真实的无黏激波应该也这么厚。

正确理解在 Euler 方程里,激波是一个间断。图上看到的宽度,主要来自一阶 HLL 格式的数值耗散和有限的网格分辨率。

动手实验

  1. 01

    复现 Sod 基准

    选择“Sod 基准”,保持精确解叠加显示,一直运行到自动暂停。

    你会看到: 左边展开一个连续的稀疏扇,中间的接触间断随气流移动,右边的激波跑在最前面。数值曲线紧贴着虚线画的精确解。
  2. 02

    放大压强比

    切换到“强激波”,逐步增加网格数,同时看密度误差。

    你会看到: 激波速度和星区压强都大幅上升。网格越多,激波前沿越窄,整体误差越小,但时间步也越短。
  3. 03

    改变波的组合

    打开 x–t 特征线图,比较“对撞流”和“对称膨胀”。

    你会看到: 两股气流对撞时,两侧的波都是激波;向外分开时,两侧都是稀疏扇。每一侧出现哪种波,要看星区压强比这一侧的初始压强高还是低。

概念灵感:FluidMotion。模拟和图形都是原创,模型的适用范围见上文。

反馈这个页面有错误、看不明白,或者缺了什么?告诉我们
反馈类型

提交时会附带本页地址、Lab ID、网站语言和设备类型。请不要填写个人信息。反馈最多保存 12 个月。隐私政策