欧拉方程(可压缩)

分类: 流体解析(CFD) | 综合版 2026-04-06
CAE visualization for euler equations theory - technical simulation diagram
オイラー方程式(圧縮性)

理论与物理

概述

🧑‍🎓

老师,可压缩欧拉方程是什么?它和不可压缩欧拉方程是两回事吗?


🎓

欧拉方程是忽略粘性的流体运动方程,但在可压缩情况下,密度会变化,所以会变成包含能量方程的联立守恒律形式。这就是可压缩CFD的出发点。


守恒型欧拉方程

🎓

在一维情况下,可以用守恒变量向量 $\mathbf{U}$ 和通量 $\mathbf{F}$ 这样表示。


$$ \frac{\partial \mathbf{U}}{\partial t} + \frac{\partial \mathbf{F}}{\partial x} = 0 $$

其中


$$ \mathbf{U} = \begin{pmatrix} \rho \\ \rho u \\ \rho E \end{pmatrix}, \quad \mathbf{F} = \begin{pmatrix} \rho u \\ \rho u^2 + p \\ (\rho E + p)u \end{pmatrix} $$

🧑‍🎓

原来是三个方程联立啊。分别是质量守恒、动量守恒、能量守恒吗?


🎓

没错。在三维情况下,动量方程会有三个分量,所以会变成五元联立方程组。


$$ \mathbf{U} = [\rho, \; \rho u, \; \rho v, \; \rho w, \; \rho E]^T $$

为了封闭这个方程组,需要状态方程,对于理想气体,使用


$$ p = (\gamma - 1)\rho\left(E - \frac{u^2+v^2+w^2}{2}\right) $$

对于空气,比热比 $\gamma = 1.4$。


作为双曲型方程的性质

🧑‍🎓

我听说欧拉方程是双曲型的,这是什么意思呢?


🎓

这是个重要的概念。一维欧拉方程的雅可比矩阵 $\mathbf{A} = \partial\mathbf{F}/\partial\mathbf{U}$ 的所有特征值都是实数,这是双曲型的条件。特征值是


$$ \lambda_1 = u - a, \quad \lambda_2 = u, \quad \lambda_3 = u + a $$

这里 $a = \sqrt{\gamma p/\rho}$ 是声速。这些被称为特征速度,表示信息传播的速度。


🎓

$\lambda_1$ 和 $\lambda_3$ 对应声波的前进波和后退波,$\lambda_2$ 对应熵波(接触不连续面)。在超音速流动($|u| > a$)中,所有特征值符号相同,因此信息只能单向传播。这直接关系到CFD边界条件的设置。


🧑‍🎓

也就是说,超音速时下游的信息不会传到上游。我终于明白为什么边界条件的设置会随马赫数变化了。


🎓

在亚音速入口,压力等信息会向上游传播,因此需要从外部指定一个物理量,其余从内部外推。在超音速入口,所有特征都指向流入方向,因此需要指定所有变量。如果不遵守这个原则,就会产生非物理的反射波。


Coffee Break 闲谈

18世纪天才写下的公式至今仍是CFD的核心

莱昂哈德·欧拉推导出流体运动方程是在1757年。这个假设了无粘性、无热传导的“理想流体”方程,在当时因过于抽象而受到批评。然而270年后,在超音速、高超音速CFD中,这个欧拉方程比受粘性支配的纳维-斯托克斯方程更早被使用。因为在高速流动中,粘性效应与惯性力相比变得极小,欧拉方程能很好地近似现实。这是能感受到跨越时代而延续的公式之力量的瞬间。

各项的物理意义
  • 时间项 $\partial(\rho\phi)/\partial t$:请想象一下拧开水龙头的瞬间。一开始水会不稳定地哗啦哗啦流出,过一会儿就变成稳定的水流了,对吧?描述这个“正在变化的过程中”的就是时间项。心脏搏动导致血流脉动,发动机阀门每次开闭导致流动变化,这些都是非定常现象。那么定常分析是什么?就是只看“经过足够时间流动稳定之后”——也就是将此项设为零。计算成本会大幅下降,因此先用定常求解是CFD的基本策略。
  • 对流项 $\nabla \cdot (\rho \mathbf{u} \phi)$:把落叶丢进河里会怎样?会被水流带着运往下游,对吧?这就是“对流”——流体的运动搬运物体的效果。暖风的暖气能到达房间的另一端,也是因为空气这个“搬运工”通过对流输送热量。这里有趣的是——这项包含“速度×速度”,因此是非线性的。也就是说,流速变快,这项会急剧增强,变得难以控制。这就是湍流的根本原因。常见的误解:“对流和传导差不多吧?”→ 完全不一样!对流是流动搬运,传导是分子传递。效率有天壤之别。
  • 扩散项 $\nabla \cdot (\Gamma \nabla \phi)$:有过在咖啡里加入牛奶后放置不管的经历吗?即使不搅拌,过一会儿也会自然混合。那就是分子扩散。那么下一个问题——蜂蜜和水,哪个更容易流动?当然是水,对吧?因为蜂蜜的粘性($\mu$)高,所以不易流动。粘性越大,扩散项越强,流体的运动就变得“粘稠”。雷诺数小的流动(缓慢、粘稠)中扩散占主导。相反,Re数大的流动中,对流占压倒性优势,扩散则成为配角。
  • 压力项 $-\nabla p$:按下注射器的活塞,液体就会从针头有力地射出,对吧?为什么呢?因为活塞侧压力高,针头侧压力低——这个压力差成为推动流体的力。水坝放水也是同样的原理。天气图上等压线密集的地方会怎样?没错,会刮强风。“有压力差的地方就会产生流动”——这就是纳维-斯托克斯方程压力项的物理意义。这里的误解点:CFD的“压力”大多指表压而非绝对压力。切换到可压缩分析时结果突然变得奇怪,原因可能就是混淆了绝对压力/表压。
  • 源项 $S_\phi$:被加热的空气会上升——为什么呢?因为比周围更轻(密度更低),所以被浮力推上去。这个浮力作为源项添加到方程中。此外,燃气灶的火焰产生化学反应热、工厂的电磁泵对金属熔液施加洛伦兹力……这些都是“从外部向流体注入能量或力”的作用,都用源项表示。忘记源项会怎样?在自然对流分析中忘记加入浮力,流体就完全不动——就像冬天在房间里开了暖气,暖空气却不上浮一样,会得到物理上不可能的结果。
假设条件与适用范围
  • 连续介质假设:克努森数 Kn < 0.01(分子平均自由程 ≪ 特征长度)时成立
  • 牛顿流体假设:剪切应力与应变速率呈线性关系(非牛顿流体需要粘度模型)
  • 不可压缩假设(Ma < 0.3 时):将密度视为常数处理。马赫数0.3以上需考虑压缩性效应
  • Boussinesq近似(自然对流):仅在浮力项中考虑密度变化,其他项使用恒定密度
  • 不适用的情形:稀薄气体(Kn > 0.1)、超音速/高超音速流动(需要捕捉激波)、自由表面流动(需要VOF/Level Set等方法)
量纲分析与单位制
变量SI单位注意点·换算备忘
速度 $u$m/s从入口条件的体积流量换算时,注意截面积的单位
压力 $p$Pa区分表压和绝对压力。可压缩分析中使用绝对压力
密度 $\rho$kg/m³空气: 约1.225 kg/m³@20°C、水: 约998 kg/m³@20°C
粘性系数 $\mu$Pa·s注意与运动粘性系数 $\nu = \mu/\rho$ [m²/s] 的混淆
雷诺数 $Re$无量纲$Re = \rho u L / \mu$。层流/湍流转换的判定指标
CFL数无量纲$CFL = u \Delta t / \Delta x$。直接关系到时间步长的稳定性

数值解法与实现

数值解法

🧑‍🎓

要用计算机求解欧拉方程,激波的处理是关键点吧?


🎓

没错。欧拉方程的解包含激波、接触不连续面等不连续解。为了在数值上正确捕捉这些,正是可压缩CFD的核心技术。


Godunov方法与黎曼求解器

🎓

在Godunov方法中,通过求解单元界面处的局部黎曼问题来求数值通量。


$$ \mathbf{F}_{i+1/2} = \mathbf{F}(\mathbf{U}^*(0; \mathbf{U}_L, \mathbf{U}_R)) $$

这里 $\mathbf{U}^*$ 是黎曼问题的解,$\mathbf{U}_L, \mathbf{U}_R$ 是单元界面左右的状态。精确黎曼求解器计算成本高,因此广泛使用近似黎曼求解器。


求解器特点优点缺点
Roe (1981)线性化黎曼解接触不连续分辨率高需要熵修正
HLL (1983)2波近似鲁棒、实现简单接触不连续会扩散
HLLC (1994)3波近似(含接触波)也能分辨接触不连续比Roe略扩散
AUSM+ (1996)质量通量分离全马赫数对应需要参数调整
🧑‍🎓

Roe的黎曼求解器很有名,具体是怎么计算的呢?


🎓

Roe通过左右状态计算Roe平均,对雅可比矩阵进行线性化。Roe平均密度定义为 $\hat{\rho} = \sqrt{\rho_L \rho_R}$。数值通量为


$$ \mathbf{F}_{i+1/2} = \frac{1}{2}(\mathbf{F}_L + \mathbf{F}_R) - \frac{1}{2}|\hat{\mathbf{A}}|(\mathbf{U}_R - \mathbf{U}_L) $$

第二项是添加数值耗散的迎风项。


高精度化: MUSCL法与限制器

🎓

一阶精度的Godunov格式中,激波会跨越数十个单元。高精度化使用MUSCL(守恒律的单调迎风中心格式)法。


$$ \mathbf{U}_{L} = \mathbf{U}_i + \frac{1}{2}\phi(r)(\mathbf{U}_i - \mathbf{U}_{i-1}) $$

这里 $\phi(r)$ 是斜率限制器函数。不使用限制器,激波附近会产生Gibbs振荡。代表性的限制器有 minmod、van Leer、superbee。


🧑‍🎓

限制器的选择会影响结果吗?


🎓

影响很大。minmod 最扩散但稳定,superbee 最锐利但倾向于将稀疏波变成阶梯状。实用上 van Leer 或 van Albada 有较好的平衡。WENO(加权本质无振荡)格式具有五阶精度且激波捕捉性能优异,但计算成本高。


🧑‍🎓

时间积分怎么做呢?


🎓

显式法的话,TVD Runge-Kutta法(Shu-Osher 3段3阶)是经典。CFL条件是


$$ \Delta t \leq \text{CFL} \cdot \frac{\Delta x}{|u| + a} $$

CFL $\leq 1$ 是稳定条件。隐式法中,LU-SGS(下-上对称高斯-赛德尔)法效率高,可以取较大的CFL数,因此定常计算收敛快。


Coffee Break 闲谈

Godunov法的诞生——1959年苏联诞生的激波数值解法

在数值求解欧拉方程方面具有革命性意义的,是1959年苏联数学家Sergei Godunov提出的“Godunov法”。此前的差分法在激波周围难以抑制数值振荡(吉布斯现象),而Godunov引入了“在每个单元界面求解Riemann问题”的想法。据说原论文中甚至写有Godunov本人“这个一阶精度格式精度不太高”的诚实评论。即便如此,现代HLLC·Roe求解器所沿袭的激波计算谱系,全都建立在这个想法的延长线上。

迎风差分(Upwind)

一阶迎风:数值扩散大但稳定。二阶迎风:精度提高但有振荡风险。高雷诺数流动中必备。

中心差分(Central Differencing)

二阶精度,但Pe数 > 2时会发生数值振荡。适用于低雷诺数的扩散主导流动。

TVD格式(MUSCL、QUICK等)

通过限制器函数抑制数值振荡的同时保持高精度。对捕捉激波或陡峭梯度有效。

有限体积法 vs 有限元法

FVM:自然满足守恒律。CFD的主流。FEM:对复杂形状、多物理场有利。SPH等无网格法也在发展中。

CFL条件(库朗数)

显式法:CFL ≤ 1为稳定条件。隐式法:即使CFL > 1也稳定,但影响精度和迭代次数。LES:推荐CFL ≈ 1。物理意义:在一个时间步长内,信息前进不超过一个单元。

残差监控

连续方程、动量、能量的各项残差下降3~4个数量级可判断为收敛。质量守恒的残差尤其重要。

松弛因子

压力:0.2~0.3、速度:0.5~0.7是一般的初始值。发散时降低松弛因子。收敛后可提高以加速。

非定常计算的内部迭代

在每个时间步长内迭代直至收敛到定常解。内部迭代次数:5~20次为参考值。若残差在时间步长间波动,则需重新审视时间步长。

SIMPLE法的比喻

SIMPLE法是“交替调整”的方法。先假设求出速度(预测步),然后根据该速度修正压力以满足质量守恒(修正步),再用修正后的压力修正速度——重复这个接球游戏以接近正确答案。类似于两人调整架子水平的作业:一人调整高度,另一人调整平衡,如此反复交替。

迎风差分的比喻

迎风差分是“站在河流中重视上游信息”的方法。站在河里的人看下游也无法知道水的来源——这反映了“上游信息决定下游”的物理规律。虽然精度是一阶,但由于能正确捕捉流动方向,稳定性高。

实践指南

实践指南

🧑‍🎓

老师,欧拉方程求解器在实际工作中用在什么地方?忽略粘性还有意义吗?


関連シミュレーター

この分野のインタラクティブシミュレーターで理論を体感しよう

シミュレーター一覧

関連する分野

熱解析V&V・品質保証構造解析
この記事の評価
ご回答ありがとうございます!
参考に
なった
もっと
詳しく
誤りを
報告
参考になった
0
もっと詳しく
0
誤りを報告
0
Written by NovaSolver Contributors
Anonymous Engineers & AI — サイトマップ
关于作者