连续性方程(质量守恒)
理论与物理
概述
老师,连续性方程经常和NS方程一起出现,它表示的是什么意思呢?
它是质量守恒定律的微分形式。是把“流体不会凭空产生或消失”这一物理规律用数学公式表达出来。是CFD所有计算的基础。
一般形(可压缩流)
适用于任意流体的连续性方程如下。
展开后得到,
各项应该怎么理解呢?
$\partial\rho/\partial t$ 是控制体内密度的变化率。$\nabla\cdot(\rho\mathbf{u})$ 是通过控制体表面的质量通量的净流出率。两者之和为零,意味着质量是守恒的。
物质微分形
使用物质导数 $D/Dt$ 可以写成另一种形式。
这意味着“跟随流体粒子观察时,其密度的变化率与速度场的散度成正比”。
不可压缩流的情况
不可压缩时 $\rho$ 是常数对吧?
没错。因为 $D\rho/Dt = 0$,所以连续性方程变得非常简单。
分量形式为,
这意味着“速度场是无散的(divergence-free)”。也称为螺线管条件。
有没有不可压缩但密度随位置变化的情况(比如多相流)?
很敏锐的观察。例如,温差引起的浮力流(Boussinesq近似)只在浮力项中考虑密度变化,连续性方程仍使用 $\nabla\cdot\mathbf{u}=0$。但是,在使用VOF(Volume of Fluid)法处理水与空气时,密度会发生不连续变化,这时就需要使用可压缩形式的连续性方程。
积分形
作为有限体积法基础的积分形式也很重要。对于控制体 $V$,有:
在FVM中,在每个单元上对这个积分形式进行离散化。SIMPLE算法的核心就是调整压力场,使得通过单元面的质量通量收支为零。
血管堵塞时流速会变为16倍
连续性方程(质量守恒)在日常生活中最令人心惊的例子是动脉狭窄。横截面积减半,流速会变为2倍;但如果直径减半,横截面积会变为1/4,流速则变为4倍。那么,如果发生直径减半的动脉硬化呢?流速变为4倍,而壁面剪切应力与流速的平方成正比,所以实际上会增加到16倍以上。如果已经沉积了斑块的动脉壁承受着这样的应力——斑块当然会脱落。连续性方程在教科书里看起来不起眼,但心脏外科医生每天都在使用它。
各项的物理意义
- 时间项 $\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$。直接关系到时间步长的稳定性 |
数值解法与实现
不可压缩流中压力的作用
不可压缩时连续性方程里没有压力项呢。压力是怎么确定的?
这个问题问到了核心。在不可压缩NS方程中,密度是已知的,所以连续性方程 $\nabla\cdot\mathbf{u}=0$ 作为确定压力的约束条件,起到了状态方程的作用。压力可以理解为“为使速度场保持无散而引入的拉格朗日乘子”。
压力-速度耦合方法
我们来整理一下代表性的算法。
| 方法 | 概要 | 适用 |
|---|---|---|
| SIMPLE | 压力修正法。假设速度→压力修正→速度修正 | 定常·非定常 |
| SIMPLEC | SIMPLE的加速收敛版。无需修正的松弛 | 定常问题 |
| PISO | 一个时间步内进行两次压力修正。适合非定常 | 非定常问题 |
| 分离法(Fractional Step) | 速度预测→压力泊松方程→速度投影 | 非定常·学术代码 |
| Coupled | 同时求解速度和压力 | 需要快速收敛的情况 |
感觉SIMPLE是最常见的。
SIMPLE的压力修正方程,是从连续性方程推导出的泊松型方程。
这里 $p'$ 是压力修正值,$\mathbf{u}^$ 是假设速度(从动量方程暂定求得的速度),$a_P$ 是动量方程的对角线系数。用 $p'$ 来修正 $\nabla\cdot\mathbf{u}^ \neq 0$ 的残差。
质量守恒的验证
如何确认计算结果是否满足质量守恒?
检查各个面的质量流量的收支。
在Fluent中,可以通过 Report > Fluxes > Mass Flow Rate 查看各边界面的流量。如果不平衡量在总流量的0.1%以下,就认为收敛得足够好了。
Rhie-Chow插值
在同位网格(速度和压力布置在同一位置)中,会出现棋盘式不稳定性。Rhie-Chow插值是通过在单元面的速度上添加压力梯度修正来解决此问题的方法,在现代有限体积法求解器中已成为标准配置。
连续性方程看起来简单,但在数值实现上需要相当多的技巧呢。
是的。不可压缩CFD的大部分难点,都归结于“如何满足连续性方程”,也就是压力-速度耦合的问题。
Coffee Break 闲谈
流量计都基于连续性方程工作
工厂管道中使用的差压式流量计(孔板流量计)的工作原理,就是连续性方程本身。在节流处减小横截面积以提高流速,根据伯努利定理压力会下降。测量前后的压力差,就能反算出流量。飞机的空速计(皮托管)也是同样原理。在数值分析中,计算后确认“入口流量=出口流量”是否成立也是最基本的步骤。如果连续性方程不成立,要么是网格有泄漏,要么是边界条件有矛盾。
迎风格式(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法是“交替调整”的方法。首先假设速度(预测
相关主题
この記事の評価ご回答ありがとうございます!参考に
なったもっと
詳しく誤りを
報告
在同位网格(速度和压力布置在同一位置)中,会出现棋盘式不稳定性。Rhie-Chow插值是通过在单元面的速度上添加压力梯度修正来解决此问题的方法,在现代有限体积法求解器中已成为标准配置。
连续性方程看起来简单,但在数值实现上需要相当多的技巧呢。
是的。不可压缩CFD的大部分难点,都归结于“如何满足连续性方程”,也就是压力-速度耦合的问题。
流量计都基于连续性方程工作
工厂管道中使用的差压式流量计(孔板流量计)的工作原理,就是连续性方程本身。在节流处减小横截面积以提高流速,根据伯努利定理压力会下降。测量前后的压力差,就能反算出流量。飞机的空速计(皮托管)也是同样原理。在数值分析中,计算后确认“入口流量=出口流量”是否成立也是最基本的步骤。如果连续性方程不成立,要么是网格有泄漏,要么是边界条件有矛盾。
迎风格式(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法是“交替调整”的方法。首先假设速度(预测
相关主题
なった
詳しく
報告