浮力驱动流动的CFD模拟
理论与物理
什么是浮力驱动流
老师,浮力驱动流就是像浴缸里热水往上走的那种现象吗?
对,正是如此。温度差导致流体密度变化,在重力场中,较轻的(高温)流体上升,较重的(低温)流体下降。这就是浮力驱动流,即自然对流的本质。
除了浴缸里的热水,在更大的尺度上也会发生吗?
尺度范围确实非常广。举一些工程上重要的应用实例:
- 建筑的自然通风 — 室内温差产生气流,通过窗户或通风口排出热量。是被动式住宅通风塔设计的基础
- 电子机箱的自然空冷 — 无需风扇即可散发IC芯片的发热。是IoT设备和LED照明设计中必不可少的
- 原子反应堆的紧急冷却 — 在失去电源时,仅靠自然循环维持堆芯冷却的被动安全系统(ECCS)
- 数据中心的热管理 — 服务器机架间的热分层与空调气流的相互作用
- 地球物理 — 地幔对流、大气对流环(哈得来环流)、海洋的热盐环流
诶,连原子反应堆也是! 泵停了也能冷却,意思是仅靠浮力的力量吗?
没错。福岛第一核电站事故后,被动安全系统的设计验证变得更加严格。在堆芯被加热的冷却水上升,在蒸汽发生器中冷却后下降,形成自然循环回路。用CFD准确预测这种流动是安全评估的关键。
Boussinesq近似
那么,用CFD求解浮力驱动流时,密度随温度变化的部分要全部精确计算吗?那样看起来会很麻烦...
问得好。这时就轮到Boussinesq近似(布辛涅斯克近似)登场了。这是1903年由Joseph Boussinesq提出的,是自然对流CFD最标准的方法。
思路很简单,密度的变化仅在浮力项(体积力项)中考虑,其他项(质量守恒方程中的连续性方程、动量方程中的惯性项)中密度被视为常数 $\rho_0$。
其中 $\beta$ 是体膨胀系数 [1/K],$T_0$ 是参考温度,$\rho_0$ 是参考温度下的密度。
原来如此,意思是只在密度变化小的时候才能用吗?
没错。适用条件是 $\beta \cdot \Delta T \ll 1$(大致标准是 $\beta \Delta T < 0.1$ 左右)。例如空气($\beta \approx 1/300$ K$^{-1}$ at 300K)的话,温差在30K左右时精度足够。但在燃烧场($\Delta T \sim 1000$K以上)或极低温流体中,Boussinesq近似会失效,需要使用完全可压缩性方法或直接将密度作为温度函数计算的“非Boussinesq”模型。
Boussinesq近似的适用极限与替代方法
- 体膨胀系数 $\beta$:理想气体中 $\beta = 1/T$(绝对温度的倒数)。液体中具有温度依赖性,水在4$^\circ$C时 $\beta=0$(密度最大),表现出特殊行为。
- 非Boussinesq模型:根据状态方程 $\rho = \rho(T, p)$ 直接计算密度。在大温差问题($\beta \Delta T > 0.1$)中是必须的。Ansys Fluent中使用“Incompressible Ideal Gas”模型。
- 完全可压缩性解法:也考虑声速尺度的压力波动。用于火灾模拟(FDS等)。计算成本最高但适用范围广。
无量纲数 — Gr, Ra, Pr, Nu
表征自然对流的无量纲数有很多吗?是像雷诺数那样的吗?
强制对流中雷诺数 $Re$ 是主导参数,但自然对流中没有外部给定流速,所以无法定义 $Re$。取而代之的是表征浮力强度的无量纲数成为主角。
格拉晓夫数 — 浮力与粘性力之比:
普朗特数 — 动量扩散与温度扩散之比:
瑞利数 — 自然对流的主导参数:
努塞尔数 — 对流引起的传热强度(与仅传导情况之比):
Ra = Gr $\times$ Pr,意思是瑞利数越大对流越剧烈吗?
正是如此。瑞利数表示“浮力是否胜过温度扩散(热传导)”。Ra 小时,热量仅通过传导移动(Nu $\approx$ 1)。Ra 增大后,对流占主导,Nu 会越来越大。实际的数值感觉是这样的:
- $\mathrm{Ra} < 10^3$:无对流(纯热传导),Nu $\approx$ 1
- $10^3 < \mathrm{Ra} < 10^9$:层流自然对流
- $\mathrm{Ra} > 10^9$:湍流过渡
代表性流体的普朗特数
| 流体 | Pr(常温常压) | 特征 |
|---|---|---|
| 空气 | 0.71 | 温度·速度边界层厚度几乎相同 |
| 水 | 7.0 (20$^\circ$C) | 温度边界层 $<$ 速度边界层 |
| 发动机油 | $\sim$1000 | 温度边界层非常薄 |
| 液态金属(Na) | 0.004〜0.01 | 温度边界层 $\gg$ 速度边界层 |
控制方程的完整形式
那么,能让我看看使用Boussinesq近似的完整控制方程吗?
是Boussinesq近似下的不可压缩Navier-Stokes方程组和能量方程组。联立求解这三个方程是CFD的基础。
连续性方程(质量守恒):
动量守恒方程(Navier-Stokes方程 + 浮力项):
其中 $p' = p - \rho_0 \mathbf{g} \cdot \mathbf{x}$ 是修正压力(去除了静水压成分)。右边的最后一项是浮力项,是Boussinesq近似的核心部分。
能量方程:
动量方程最后的 $\rho_0 \beta (T - T_0) \mathbf{g}$ 就是浮力项吧。温度高 ($T > T_0$) 的地方会产生向上的力,这样。
理解得很完美。如果没有这个浮力项,即使有温差流体也不会运动。也就是说浮力项才是自然对流的驱动力。并且通过这一项,动量方程和能量方程实现了双向耦合。温度场驱动速度场,速度场输运温度场——这种非线性耦合正是自然对流CFD的有趣之处和难点所在。
Nu数关联式
验证CFD结果时,有Nu数的理论值之类的东西吗?
有一些基于实验数据的经验关联式。我来介绍在CFD有效性确认时最先检查的公式。
竖直平板的层流自然对流(Churchill-Chu式,全Ra域):
水平加热板(上表面):
封闭腔体(垂直壁面加热·冷却,de Vahl Davis 的基准解):
| Ra | Nu (基准解) | 用途 |
|---|---|---|
| $10^3$ | 1.118 | 代码验证(V&V) |
| $10^4$ | 2.243 | 代码验证 |
| $10^5$ | 4.519 | 代码验证 |
| $10^6$ | 8.800 | 代码验证 |
de Vahl Davis的基准测试,在CFD教科书里经常看到!就是用来确认自己的代码是否符合这个值对吧。
没错。1983年发表的这个基准解,至今仍被用作自然对流CFD代码的“试金石”。结合网格收敛性确认,首先用这个方形腔体问题来确认求解器的有效性是常规做法。
湍流过渡与Ra数的阈值
刚才说 Ra $> 10^9$ 是湍流,是像强制对流中 Re > 2300 那样的说法吗?
概念是一样的。不过过渡瑞利数取决于形状:
- 竖直平板:$\mathrm{Ra}_\mathrm{crit} \approx 10^9$(Gr $\approx 10^9$)
- 水平加热板(上表面):$\mathrm{Ra}_\mathrm{crit} \approx 10^7$
- 封闭腔体:$\mathrm{Ra}_\mathrm{crit} \approx 10^8$(取决于长宽比)
湍流过渡后需要使用RANS、LES或DNS。特别是在数据中心或大空间空调CFD中,Ra 达到 $10^{10}$ 以上也不罕见,因此湍流模型的选择会极大地影响结果的精度。
Rayleigh-Benard对流与美丽的图案
在底部加热、顶部冷却的水平流体层中,当瑞利数超过某个临界值($\mathrm{Ra}_c = 1708$)时,会突然出现规则的对流胞(Benard胞)。1900年由Henri Benard在实验中发现,1916年由Lord Rayleigh从理论上阐明。这个临界Ra数的推导是流体力学稳定性理论的经典名题,至今仍被广泛用作CFD的验证问题。自然界在最小的Ra数下选择了最美丽的六边形图案。
数值解法与实现
有限体积法离散化
浮力驱动流的CFD,有限元法和有限体积法哪个是主流?
在CFD中,有限体积法(FVM)是绝对的主流。Ansys Fluent、STAR-CCM+、OpenFOAM,都是基于FVM的求解器。理由很简单,因为FVM在离散层面上严格满足守恒定律(质量、动量、能量)。
FVM中,将控制方程在单元体积 $V$ 上积分,并用高斯散度定理转换为面积分:
其中 $\phi$ 是通用标量(速度分量、温度等),$\Gamma$ 是扩散系数,$S_\phi$ 是源项。在浮力驱动流中,动量方程的 $S_\phi$ 包含浮力项 $\rho_0 \beta (T - T_0) g_i$。
对流项的离散化有什么需要注意的吗?比如自然对流特有的问题。
很好的着眼点。自然对流的速度比强制对流低,所以单元Peclet数多为 O(1) 量级。在这个范围内:
- 一阶迎风格式(UDS)数值扩散过大,会使温度边界层模糊
- 中心差分格式(CDS)精度高但容易产生振荡
- 二阶迎风(SOU)或QUICK格式平衡性较好
在实际工作中,如果不用二阶精度以上的格式,Nu数可能会被低估2~3成。这是自然对流CFD中最常见的错误之一。
压力-速度耦合
不可压缩的Navier-Stokes方程,因为没有压力方程,所以需要特殊的解法对吧?
是的。不可压缩流中密度恒定,所以没有状态方程,无法直接将压力与密度联系起来。因此将连续性方程($\nabla \cdot \mathbf{u} = 0$)作为约束条件来确定压力。代表性的方法有:
- SIMPLE(压力耦合方程的半隐式方法):分离式(Segregated)求解器的标准。适用于稳态计算。
- SIMPLEC:SIMPLE的修正版。有时无需压力修正的松弛,收敛更快。
- PISO:适用于非稳态计算。每个时间步进行多次修正步骤以提高精度。
- 耦合求解器:同时求解压力和速度。内存占用多,但能显著改善自然对流的收敛性。
对于自然对流,推荐用哪个呢?
在实际工作中,强烈推荐使用耦合求解器。原因是,在自然对流中压力场和速度场的耦合非常强,使用分离式求解器(SIMPLE系列)有时需要数千次迭代才能收敛。而耦合求解器通常几百次迭代就能完成。不过内存使用量会增加1.5~2倍,所以对于大规模问题需要考虑这个权衡。
湍流模型的选择
对于 Ra $> 10^9$ 的湍流自然对流,哪种湍流模型合适呢?
这里是非常关键的一点。自然对流的湍流特性与强制对流不同,模型选择错误会导致很大的误差。
| 模型 |
この記事の評価 ご回答ありがとうございます! 参考に なった もっと 詳しく 誤りを 報告 |
|---|