空腔流动(盖驱动)

分类: 流体解析(CFD) | 综合版 2026-04-06
CAE visualization for lid driven cavity theory - technical simulation diagram
キャビティ流れ(蓋駆動)

理论与物理

概述

🧑‍🎓

老师,lid-driven cavity 是CFD里最开始做的基准问题吧?


🎓

没错。就是让正方形腔体的顶面(盖子)以恒定速度水平滑动的问题。几何形状简单,边界条件也明确,而且改变Re数会出现丰富的流动结构。Ghia等人(1982)的基准数据已经持续使用了40多年。


问题设定

🧑‍🎓

请告诉我问题的公式化。


🎓

正方形腔体(边长 $L$)的上壁面以速度 $U$ 向 $x$ 方向移动。其他3个壁面静止。控制方程是不可压缩Navier-Stokes方程。


$$ \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} $$

🎓

无量纲参数只有 $Re = UL/\nu$ 这一个。边界条件是,


  • 上壁面: $u = U$, $v = 0$
  • 下壁面・左壁面・右壁面: $u = 0$, $v = 0$

流动结构的Re数依赖性

🧑‍🎓

Re数不同会怎么变化呢?


🎓

可以整理如下。


Re主涡位置(中心坐标)角涡流动性质
100(0.6189, 0.7344)下角有微小涡定常,主涡偏上方・右方
400(0.5547, 0.6055)下两角有涡定常,主涡接近中心
1000(0.5313, 0.5625)下两角+左上角有涡定常,主涡几乎在中心
5000(0.5117, 0.5352)所有角都有涡定常(2D),3D下不稳定
10000(0.5117, 0.5313)涡的层次结构2D下定常/弱非定常,3D下湍流化
🧑‍🎓

角涡,就是在角落产生的小涡对吧。


🎓

是的。正如Moffatt(1964)从理论上证明的那样,在锐角角落存在无限的涡列。每个涡的强度按几何级数递减。在CFD中,只要能分辨出最初的2~3个涡就足够了,但需要将网格在角落处加密。


涡量-流函数公式化

🧑‍🎓

2D的情况下,多用涡量-流函数来求解吗?


🎓

对于2D不可压缩流,涡量-流函数公式化能自动满足连续性方程,因此效率高。


$$ \frac{\partial \omega}{\partial t} + u\frac{\partial \omega}{\partial x} + v\frac{\partial \omega}{\partial y} = \nu \nabla^2 \omega $$
$$ \nabla^2 \psi = -\omega $$

这里涡度 $\omega = \partial v/\partial x - \partial u/\partial y$,流函数 $\psi$ 满足 $u = \partial \psi / \partial y$, $v = -\partial \psi / \partial x$。


🎓

但是,扩展到3D或可变密度流动很困难,所以在通用CFD代码中,速度-压力公式化(primitive variable formulation)是标准。


盖角处的奇异性

🧑‍🎓

盖子边缘的壁面速度会变得不连续对吧?这不会成为问题吗?


🎓

提得好。在盖子的角点($(0,L)$ 和 $(L,L)$)处,速度不连续。$u = U$(上壁面)和 $u = 0$(侧壁面)不能同时成立。这是一个数学奇点,即使网格加密,解也不会收敛。


🎓

实际工作中的处理方法是,

  • 在距离角点几个网格的区域内评估结果
  • 使用正则化条件(让盖子的速度平滑过渡到角点为零)
  • 在了解奇异性的前提下,用足够密的网格计算,确保角点以外区域的精度
Coffee Break 闲谈

Ghia(1982年)的数据被引用40年以上的理由

作为腔体流动的“正确答案数据”被全世界使用的,是Ghia等人在1982年发表于Journal of Computational Physics的论文。其中以表格数据形式列出了Re数1000、3200、5000、10000各工况下的速度剖面,至今每年仍有数百至数千篇论文引用。为什么能持续通用40年以上——因为“问题设定简单、可重复性高,并且当时以最高水准给出了网格收敛的数据”。开发新的CFD求解器或数值格式时,“能否通过Ghia基准”是第一个检查点。

各项的物理意义
  • 时间项 $\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$。直接关系到时间步长的稳定性

数值解法与实现

数值方法的选择

🧑‍🎓

求解腔体流动用什么方法好呢?


🎓

腔体流动的特殊性在于它是封闭区域,没有入口也没有出口。压力的绝对值无法唯一确定,因此需要在一点固定参考压力。


方法适用范围备注
有限差分法(等间距网格)Re < $10^4$Ghia等人的原始数据也用此方法
有限体积法(FVM通用商用CFD的标准。用SIMPLE/PIMPLE耦合
有限元法(FEM通用Taylor-Hood单元(P2/P1)满足LBB条件
谱方法高精度计算Chebyshev多项式基。指数收敛
格子玻尔兹曼法(LBM)Re < $10^4$ 左右壁面反弹边界条件易于实现

FVM 中的实现(SIMPLE法

🧑‍🎓

请简单介绍一下SIMPLE法的步骤。


🎓

腔体流动中的SIMPLE迭代如下。


1. 假设压力场 $p^*$

2. 用 $p^$ 求解动量方程得到假速度 $\mathbf{u}^$

3. 求解压力修正方程 $\nabla \cdot (\frac{1}{a_P} \nabla p') = \nabla \cdot \mathbf{u}^*$

4. 修正速度和压力: $p = p^ + \alpha_p p'$, $\mathbf{u} = \mathbf{u}^ - \frac{1}{a_P} \nabla p'$

5. 收敛判定。未收敛则返回1


🎓

腔体流动没有入口出口,所以需要在一点(例如左下角的网格单元)固定压力基准。OpenFOAM 中在 pfvSolution 里指定 reference cellreference value


格子玻尔兹曼法

🧑‍🎓

格子玻尔兹曼法(LBM)也能求解吗?


🎓

LBM 作为 cavity flow 的入门非常受欢迎。使用D2Q9模型(二维9速度)和BGK碰撞算子,可以轻松实现。


$$ f_i(\mathbf{x} + \mathbf{c}_i \Delta t, t + \Delta t) = f_i(\mathbf{x}, t) - \frac{1}{\tau}[f_i(\mathbf{x}, t) - f_i^{eq}(\mathbf{x}, t)] $$

🎓

弛豫时间 $\tau$ 与运动粘度的关系是 $\nu = c_s^2 (\tau - 0.5) \Delta t$,其中 $c_s = 1/\sqrt{3}$(格子声速)。上壁面的移动用 Zou-He 边界条件实现。


🧑‍🎓

LBM 不需要求解压力-速度耦合呢。


🎓

是的。LBM 是显式方法,所以不需要迭代,也容易并行化。但高Re数时需要注意数值稳定性,会使用MRT(Multi-Relaxation Time)模型或正则化方法。


与 Ghia 基准的比较方法

🧑‍🎓

该怎么和Ghia等人的数据比较呢?


🎓

比较对象有两个。


1. 腔体中央的垂

関連シミュレーター

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

シミュレーター一覧

関連する分野

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