科学仿真 · 从零学起 第 2 / 9 节

第 2 章 · 流体力学的控制方程(全书地基)

这一节是全书地基。后面所有格式、稳定性分析、边界条件处理,全部建立在控制方程上。目标不是背下方程,而是理解每一条方程"从哪个守恒律来、每一项是什么意思、不同形式之间怎么互相转换"。

三条守恒律与三种形式

$$\frac{\partial \rho}{\partial t} + \nabla\cdot(\rho \mathbf{V}) = 0$$

这是连续方程:单位体积内质量的增加率等于净流入。动量方程是牛顿第二定律的流体版本:

$$\frac{\partial (\rho u)}{\partial t} + \nabla\cdot(\rho u \mathbf{V}) = -\frac{\partial p}{\partial x} + \dots$$

左边是"单位体积动量的增长率 + 流出动量",右边是压力、粘性力、体积力。能量方程同样是"随体导数 = 流入 - 流出 + 源"。

三种形式:为什么要换来换去

  • 守恒形式(散度形式):通量写成 $\nabla\cdot(\cdot)$,有限体积法直接对应,能自动守恒。
  • 非守恒形式:用乘积法则展开后的样子,有限差分法推导时更直观。
  • 原始变量 / 导出变量:$(p, u, v, w, T)$ 与 $(\rho, u, v, w, e)$ 之间靠状态方程 $p = \rho R T$ 联系。
$$\frac{D}{Dt} = \frac{\partial}{\partial t} + \mathbf{V}\cdot\nabla$$

随体导数是本章最重要的概念:第一项是当地变化,第二项是对流变化。烟囱的烟被风吹走是对流项的直观图像。

方程的数学性质决定算法

把方程组写成 $A \partial \mathbf{w}/\partial x + B \partial \mathbf{w}/\partial y = \mathbf{0}$,矩阵 $A, B$ 的特征值决定方程性质:特征值全是实数且互异 → 双曲(有波传播,如超声速流);复数 → 椭圆(全场耦合,如低速无粘流);退化 → 抛物(有扩散,如边界层)。双曲问题用推进算法,椭圆问题必须全场联立求解——这不是算法偏好,是数学本性。

原文要点:第 2 章强调"守恒形式与非守恒形式完全等价,但对离散而言不等价"——用守恒形式离散,激波两侧的质量、动量、能量守恒自动满足;这是第 7 章激波捕捉法的根基。粘性项的一般形式由斯托克斯假设 $ \lambda = -2\mu/3 $ 给出。

老师的提醒

  • 别把 $\partial \rho/\partial t$ 和 $D\rho/Dt$ 混为一谈:前者是固定点上的变化,后者是跟着流体质点看的变化。
  • 检查你写的方程是否守恒,最快的方法是把它对整个域积分,看能不能写成"边界通量 = 内部源"。

自检

  • 写出随体导数的定义,并说明对流项的物理图像。
  • 为什么超声速流是双曲的?特征值是什么?
  • 守恒形式的优势在什么场合才显现?

更深一层:动量方程的每一项都有物理名字

把动量方程按项拆开念出来,是驯服它的最好办法。守恒形式:

$$\frac{\partial(\rho u)}{\partial t} + \nabla\cdot(\rho u \mathbf{V}) = -\frac{\partial p}{\partial x} + \frac{\partial\tau_{xx}}{\partial x} + \frac{\partial\tau_{yx}}{\partial y} + \frac{\partial\tau_{zx}}{\partial z} + \rho f_x$$

五组名字从左到右:当地加速度(固定点上动量随时间的积累)、对流加速度(动量被流带进带出)、压力梯度力(无粘部分,压差推动)、粘性力(分子动量输运,耗散的本源)、体积力(重力、电磁力等作用整体)。任何流动现象都能在这五项之间找到因果归属:边界层 = 压力项与粘性项的拉锯;激波 = 对流项的非线性自 steepening;自然对流 = 体积力与粘性/压力的平衡。

无量纲化是本章第二件必修武器:以特征长度 $L$、速度 $V$、时间 $L/V$ 缩放全部变量,动量方程除以 $\rho V^2/L$,各项变成无量纲系数——雷诺数 $Re = \rho VL/\mu$ 出现在粘性项前、弗劳德数、马赫数各归其位。无量纲化不是数学洁癖,它一次性回答了"两个尺寸不同、介质不同的流动何时相似"——风洞的理论合法性。

推导细读:粘性项为什么长这样

牛顿粘性假设的推导值得亲手做一遍。最简单的库埃特流:两平行板间距 $h$,上板以 $U$ 平移,流体被"拖"出线性速度分布 $u(y) = Uy/h$。实验事实:拖动上板所需切应力 $\tau = \mu U/h$,即 $\tau = \mu\,du/dy$——应力正比于速度梯度,比例系数是材料属性 $\mu$。把这一维事实推广到三维各向同性流体,用角变形率(而非旋转率——刚体旋转不产生应力!)替换速度梯度:

$$\tau_{ij} = \mu\left(\frac{\partial u_i}{\partial x_j} + \frac{\partial u_j}{\partial x_i}\right) + \zeta\,\delta_{ij}\nabla\cdot\mathbf{V}$$

第二个粘性系数 $\zeta$(体积粘性)只在压缩时做功,单原子气体 $\zeta = 0$。斯托克斯假设 $\lambda = -\frac23\mu$ 让应力张量的无迹部分对应纯剪切——大多数工程计算直接采用。这里的核心思想:本构关系是"对材料个性的最小假设 + 各向同性对称性约束"的产物——这套论证模板在非牛顿流体、粘弹性材料里会反复出现。

在真实世界里:方程组的"封装"决定求解器架构

密度基求解器把 $(\rho, \rho u, \rho v, \rho e)$ 打包成守恒向量一起推进——适合高速可压流(激波附近守恒是生命线);压力基求解器以压力为主变量解耦速度——适合低速不可压(密度几乎不变,硬推进密度毫无意义)。同一个物理问题,选哪个封装决定了软件 lineage:Fluent 压力基起家、CFX 压力耦合、许多航空航天代码密度基。选软件前先问自己:流动的马赫数范围是什么?跨声速问题则要看该软件的混合方案。

常见误区与辨析

  • "不可压流意味着密度处处相等":不。不可压指随体密度不变($\frac{D\rho}{Dt} = 0$),分层海洋、异质混合都不可压但密度不均。真正的场条件是 $\nabla\cdot\mathbf{V} = 0$,两者仅在密度均匀时等价。
  • "雷诺数大就是湍流":$Re$ 大只是允许湍流发生,是否发生还取决于扰动环境(来流湍流度、表面粗糙度);层流失稳有明确的临界路径。
  • "无量纲数堆得越多越严谨":每个无量纲数背后是一次相似性假设的取舍,把不起作用的数(如低流速下的马赫数)也算进去只会淹没结论。

与其他节的联系

本节的方程是第 3 节(砍掉粘性与压缩性)、第 6 节(不可压数值化)、第 7 节(可压缩与激波)的共同源头;无量纲化思想在第 5 节 CFL 条件($\nu = c\Delta t/\Delta x$ 本身就是个无量纲数)再次登场。建议把本节的方程卡片化——后面每一章都会"借"它们一次。

专题深入:应力张量的推导——从柯西四面体到纳维-斯托克斯

粘性项的完整推导值得走一遍(它是 N-S 方程的心脏)。第一步(柯西定理):任意切面上的牵引力由应力张量线性给出 $\mathbf{T} = \boldsymbol\sigma\cdot\hat{\mathbf n}$——柯西四面体上的动量平衡。第二步(对称性):角动量守恒 ⟹ $\sigma_{ij} = \sigma_{ji}$(微元的角加速度不能无穷大)。第三步(本构假设):牛顿流体假设应力 = 各向同性压力 + 与角变形率线性相关的粘性项;各向同性对称性把本构矩阵压缩到只有两个常数($\lambda, \mu$)。第四步(斯托克斯假设):$\lambda = -\frac23\mu$ 让应力张量的无迹部分对应纯剪切(静水压力与机械压力一致)。五步走完,N-S 方程的粘性项就"不可避免"地长成了它的样子——每一步都是对称性或物理假设的精确陈述,不是拼凑。

数学细节展开:特征值分析——方程类型的"身份证读卡器"

方程组的类型判定有一个系统的读卡器:把一维方程组写成 $\partial_t\mathbf{w} + A\partial_x\mathbf{w} = 0$,矩阵 $A$ 的特征值就是信息传播速度。欧拉方程的三个特征值 $u - a, u, u + a$(左行声波、熵波、右行声波)——全实 ⟹ 双曲;不可压流的"压力方程"特征值复数 ⟹ 椭圆。特征值的实虚与符号就是方程类型的身份证。多维情形的分类更微妙(部分双曲、混合椭圆-双曲),但一维读卡器已经覆盖绝大多数工程判断。

工程案例细节:从方程到软件的"翻译事故"

真实 CFD 软件开发的经典翻译事故:单位制事故——方程里 $\rho$ 是 kg/m³ 而实验数据给 g/cm³,算出的压力差 1000 倍(火星气候轨道器的单位事故是同构灾难);坐标系事故——守恒形式的源项在柱坐标下多出几何项,漏掉一项则轴对称算例全错;时间导数符号事故——$\partial_t$ 写成 $-\partial_t$ 则时间倒流(扩散方程反时间病态,数值立刻爆炸)。方程到代码的翻译层是 CFD 故障的高发区——单元测试(与解析解对比)必须在第一层就建好。

常见误区与辨析(补充)

  • "守恒形式与非守恒形式算出来一样":光滑区一样,间断区非守恒形式给出错误的激波速度与位置——守恒形式是间断问题的唯一正确选择。
  • "无量纲化只是记号方便":无量纲化一次回答"两个流动何时相似"——风洞的理论合法性由此而来;它还有数值红利(变量同量级改善浮点条件)。

例题

已知速度场 $\mathbf{V} = (x + t)\,\hat i$,密度满足不可压条件吗?并求物质点从 $x_0 = 1$、$t=0$ 出发在 $t = 2$ 时的位置。

解答

第一步(可压缩性):不可压要求 $\nabla\cdot\mathbf{V} = \partial u/\partial x = \partial(x+t)/\partial x = 1 \ne 0$,所以该场不可视为不可压流。

第二步(迹线):质点轨迹满足 $\dfrac{dx}{dt} = u = x + t$。这是一阶线性 ODE,用积分因子解:

$$x(t) = Ce^{t} - t - 1$$

代入 $x(0) = 1$:$C - 1 = 1 \Rightarrow C = 2$,所以 $x(t) = 2e^{t} - t - 1$,$t=2$ 时

$$x = 2e^{2} - 3 \approx 11.78$$
  • 要点:随体导数 $D\rho/Dt + \rho\,\nabla\cdot\mathbf{V} = 0$ 中散度就是"体积膨胀率"。

本页是《计算流体力学基础》第 2 节的学习笔记:为便于初学,讲解、例题与要点概括均为本站原创整理,公式与章节定位供对照原书使用。

📑 本书目录 经典研读