非圧縮性Navier-Stokes方程式

分类: 流体解析(CFD) | 综合版 2026-04-06
CAE visualization for navier stokes incompressible theory - technical simulation diagram
非圧縮性Navier-Stokes方程式

理论与物理

概述

🧑‍🎓

老师,Navier-Stokes方程是CFD的基础吧?请详细讲解一下不可压缩的情况。


🎓

这是CFD求解的方程中最基本且最重要的。不可压缩NS方程描述了牛顿流体的粘性流动。由连续性方程和动量方程组成。


控制方程

🎓

不可压缩NS方程是以下两个方程。


连续性方程质量守恒:

$$ \nabla \cdot \mathbf{u} = 0 $$

动量方程(牛顿第二定律):

$$ \frac{\partial \mathbf{u}}{\partial t} + (\mathbf{u} \cdot \nabla)\mathbf{u} = -\frac{1}{\rho}\nabla p + \nu \nabla^2 \mathbf{u} + \mathbf{f} $$

🧑‍🎓

请解释各项的物理意义。


🎓

用分量表示($x$方向)更容易理解。


$$ \underbrace{\frac{\partial u}{\partial t}}_{\text{非定常项}} + \underbrace{u\frac{\partial u}{\partial x} + v\frac{\partial u}{\partial y} + w\frac{\partial u}{\partial z}}_{\text{对流项(惯性力)}} = \underbrace{-\frac{1}{\rho}\frac{\partial p}{\partial x}}_{\text{压力梯度}} + \underbrace{\nu\left(\frac{\partial^2 u}{\partial x^2} + \frac{\partial^2 u}{\partial y^2} + \frac{\partial^2 u}{\partial z^2}\right)}_{\text{粘性项(扩散)}} + \underbrace{f_x}_{\text{外力}} $$

Reynolds数

🧑‍🎓

Reynolds数和NS方程有什么关系?


🎓

用特征速度 $U$、特征长度 $L$ 对方程进行无量纲化后,Re数作为唯一参数出现。


$$ \frac{\partial \mathbf{u}^*}{\partial t^*} + (\mathbf{u}^* \cdot \nabla^*)\mathbf{u}^* = -\nabla^* p^* + \frac{1}{Re}\nabla^{*2}\mathbf{u}^* $$

$$ Re = \frac{UL}{\nu} = \frac{\text{惯性力}}{\text{粘性力}} $$

Re范围流动特征典型示例
Re < 1蠕动流(Stokes流)微生物游动、MEMS
1 < Re < 2300层流管内流(充分发展流)
2300 < Re < 4000过渡区管内流(不稳定)
Re > 4000湍流大多数工业流动

方程的数学性质

🧑‍🎓

NS方程解的存在性和唯一性还是未解决问题吧?


🎓

没错。三维NS方程光滑解的整体存在性和唯一性是克雷数学研究所的千禧年大奖难题之一(奖金100万美元)。工程上通过DNS(直接数值模拟)可以获得有限时间、有限区域的解,但数学证明尚未完成。


🎓

方程的非线性源于对流项 $(\mathbf{u}\cdot\nabla)\mathbf{u}$。这项是产生湍流、混沌、涡破裂等复杂现象的根源。

Coffee Break 闲谈

百万美元悬赏,无人能解

不可压缩Navier-Stokes方程,其实连“解是否一定存在”都尚未得到数学证明。这是克雷数学研究所在2000年选出的“千禧年大奖难题”7题中的1题,解决了就能获得100万美元(约1.5亿日元)。工程师每天用CFD进行的计算,严格来说是在“数值求解一个不知道是否真的有解的方程”,这情况相当超现实。而且剩下的6题中至今只解出了1题——Navier-Stokes方程仍是人类未踏足的领域。

各项的物理意义
  • 时间项 $\partial(\rho\phi)/\partial t$:想象一下拧开水龙头的瞬间。一开始水会不稳定地喷溅,过一会儿才变成稳定的水流,对吧?描述这个“变化过程中”的就是时间项。心脏搏动导致血流脉动,发动机阀门每次开闭引起流动变化,这些都是非定常现象。那么定常分析是什么?就是只看“经过足够时间流动稳定之后”——也就是令此项为零。计算成本大幅降低,所以先用定常求解是CFD的基本策略。
  • 对流项 $\nabla \cdot (\rho \mathbf{u} \phi)$:把落叶扔进河里会怎样?会被水流带着往下游漂,对吧?这就是“对流”——流体运动搬运物体的效果。暖气的热风能到达房间另一端,也是因为空气这个“搬运工”通过对流输送热量。这里有趣的是——这项包含“速度×速度”,因此是非线性的。也就是说,流速加快这项会急剧增强,变得难以控制。这就是湍流的根本原因。常见的误解:“对流和传导差不多”→ 完全不一样!对流是流动搬运,传导是分子传递。效率有天壤之别。
  • 扩散项 $\nabla \cdot (\Gamma \nabla \phi)$:有过在咖啡里倒入牛奶后放置的经历吗?即使不搅拌,过一会儿也会自然混合。那就是分子扩散。那么下一个问题——蜂蜜和水,哪个更容易流动?当然是水,对吧?因为蜂蜜的粘度($\mu$)高,所以不易流动。粘度越大扩散项越强,流体会变得“粘稠”。Reynolds数小的流动(缓慢、粘稠)中扩散占主导。相反,Re数大的流动中对流占压倒性优势,扩散则成为配角。
  • 压力项 $-\nabla p$:推注射器的活塞,液体会从针头有力地射出,对吧?为什么?因为活塞侧高压,针头侧低压——这个压力差成为推动流体的力。大坝放水也是同样原理。天气图中等压线密集的地方会怎样?没错,会刮强风。“有压力差的地方产生流动”——这就是Navier-Stokes方程压力项的物理意义。这里的误解点:CFD的“压力”多为表压而非绝对压力。切换到可压缩分析时结果突然出错,原因可能就是混淆了绝对压力/表压。
  • 源项 $S_\phi$:被加热的空气会上升——为什么?因为比周围轻(密度低),被浮力推上去。这个浮力作为源项添加到方程中。还有,燃气灶火焰产生化学反应热,工厂电磁泵对金属熔液施加洛伦兹力……这些都是“从外部向流体注入能量或力”的作用,用源项表示。忘记源项会怎样?自然对流分析中忘记加入浮力,流体就完全不动——冬天房间里开了暖气但热空气不往上走,得到这种物理上不可能的结果。
假设条件与适用范围
  • 连续介质假设:Knudsen数 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] 混淆
Reynolds数 $Re$无量纲$Re = \rho u L / \mu$。层流/湍流转换的判断指标
CFL数无量纲$CFL = u \Delta t / \Delta x$。直接关系到时间步长的稳定性

数值解法与实现

空间离散化

🧑‍🎓

如何数值求解NS方程?


🎓

有限体积法(FVM)是商用CFD的主流。将计算域分割为单元,在每个单元中对守恒定律的积分形式进行离散化。


$$ \frac{d}{dt}\int_V \rho\mathbf{u}\,dV + \oint_S \rho\mathbf{u}(\mathbf{u}\cdot\mathbf{n})\,dS = -\oint_S p\mathbf{n}\,dS + \oint_S \mu(\nabla\mathbf{u})\cdot\mathbf{n}\,dS $$

对流项的离散化

🎓

对流项格式的选择直接关系到精度和稳定性。


格式精度稳定性数值扩散用途
一阶迎风$O(h)$非常稳定初始计算、收敛困难时
二阶迎风$O(h^2)$稳定一般定常计算
QUICK$O(h^3)$稍不稳定高精度计算
中心差分$O(h^2)$不稳定(高Pe时)LES
有界中心差分$O(h^2)$稳定最小限度LES的标准
🧑‍🎓

为什么LES要用中心差分?


🎓

因为数值扩散会人为地衰减SGS涡。LES需要尽可能保存物理涡,只在SGS模型中耗散。但中心差分容易引起棋盘式不稳定,所以带限制器的有界中心差分更实用。


时间积分

🎓

比较一下非定常计算的时间积分格式。


格式精度稳定性CFL约束
一阶隐式(后向Euler)$O(\Delta t)$无条件稳定
二阶隐式(BDF2)$O(\Delta t^2)$无条件稳定
Crank-Nicolson$O(\Delta t^2)$无条件稳定可能振荡
显式(RK4等)$O(\Delta t^4)$条件稳定$CFL < 1$

CFL条件

🧑‍🎓

经常听到CFL数,它准确的含义是什么?


🎓

Courant-Friedrichs-Lewy数是衡量一个时间步内信息移动多少个网格单元的指标。


$$ CFL = \frac{u\Delta t}{\Delta x} $$

显式解法中 $CFL < 1$ 是稳定性的必要条件。隐式解法没有约束,但为了时间精度,通常推荐 $CFL < 5$〜20。LES中一般遵守 $CFL < 1$。


线性求解器

🎓

求解离散化后联立方程的线性求解器选择也很重要。


目标方程推荐求解器备注
压力(泊松方程)AMG (代数多重网格)收敛最困难,占总计算时间50〜80%
动量ILU预处理BiCGSTAB收敛相对容易
标量(温度等)Gauss-Seidel 或 ILU线性问题
Coffee Break 闲谈

SIMPLE法诞生秘话——压力与速度的“神经战”

不可压缩流动的最大难关是“没有压力方程”。试图同时求解速度和压力会导致联立方程崩溃。1972年,Patankar和Spalding发表了解决这一难题的算法“SIMPLE法”。其思路是“先假设压力求解速度,然后根据结果修正压力再重新计算速度”的迭代循环。看似简单的想法,但如果没有这个算法,几乎不可能存在现代的商用CFD代码。每天在Fluent中看着“Iterations”的那个画面背后,是半个世纪前两位智者的智慧在运转。

迎风格式(Upwind)

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

中心差分(Central Differencing)

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

TVD格式(MUSCL、QUICK等)

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

有限体积法 vs 有限元法

相关主题

関連シミュレーター

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

シミュレーター一覧

関連する分野

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