浮力驱动流动的CFD模拟

分类: 熱解析 > 自然対流 | 综合版 2026-04-12
Buoyancy-driven natural convection flow simulation showing temperature contours and velocity vectors in an enclosed cavity
浮力駆動流れの温度コンター図と速度ベクトル場 — 加熱壁面近傍で上昇流、冷却壁面近傍で下降流が発生

理论与物理

什么是浮力驱动流

🧑‍🎓

老师,浮力驱动流就是像浴缸里热水往上走的那种现象吗?

🎓

对,正是如此。温度差导致流体密度变化,在重力场中,较轻的(高温)流体上升,较重的(低温)流体下降。这就是浮力驱动流,即自然对流的本质。

🧑‍🎓

除了浴缸里的热水,在更大的尺度上也会发生吗?

🎓

尺度范围确实非常广。举一些工程上重要的应用实例:

  • 建筑的自然通风 — 室内温差产生气流,通过窗户或通风口排出热量。是被动式住宅通风塔设计的基础
  • 电子机箱的自然空冷 — 无需风扇即可散发IC芯片的发热。是IoT设备和LED照明设计中必不可少的
  • 原子反应堆的紧急冷却 — 在失去电源时,仅靠自然循环维持堆芯冷却的被动安全系统(ECCS)
  • 数据中心的热管理 — 服务器机架间的热分层与空调气流的相互作用
  • 地球物理 — 地幔对流、大气对流环(哈得来环流)、海洋的热盐环流
🧑‍🎓

诶,连原子反应堆也是! 泵停了也能冷却,意思是仅靠浮力的力量吗?

🎓

没错。福岛第一核电站事故后,被动安全系统的设计验证变得更加严格。在堆芯被加热的冷却水上升,在蒸汽发生器中冷却后下降,形成自然循环回路。用CFD准确预测这种流动是安全评估的关键。

Boussinesq近似

🧑‍🎓

那么,用CFD求解浮力驱动流时,密度随温度变化的部分要全部精确计算吗?那样看起来会很麻烦...

🎓

问得好。这时就轮到Boussinesq近似(布辛涅斯克近似)登场了。这是1903年由Joseph Boussinesq提出的,是自然对流CFD最标准的方法。

思路很简单,密度的变化仅在浮力项(体积力项)中考虑,其他项(质量守恒方程中的连续性方程、动量方程中的惯性项)中密度被视为常数 $\rho_0$

$$ \rho \approx \rho_0 \quad \text{(浮力项以外)} $$
$$ \rho = \rho_0 \left[1 - \beta (T - T_0)\right] \quad \text{(仅浮力项)} $$

其中 $\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$。取而代之的是表征浮力强度的无量纲数成为主角。

格拉晓夫数 — 浮力与粘性力之比:

$$ \mathrm{Gr} = \frac{g \beta \Delta T \, L^3}{\nu^2} $$

普朗特数 — 动量扩散与温度扩散之比:

$$ \mathrm{Pr} = \frac{\nu}{\alpha} = \frac{\mu c_p}{k} $$

瑞利数 — 自然对流的主导参数:

$$ \mathrm{Ra} = \mathrm{Gr} \cdot \mathrm{Pr} = \frac{g \beta \Delta T \, L^3}{\nu \alpha} $$

努塞尔数 — 对流引起的传热强度(与仅传导情况之比):

$$ \mathrm{Nu} = \frac{h L}{k} $$
🧑‍🎓

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的基础。

连续性方程(质量守恒):

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

动量守恒方程(Navier-Stokes方程 + 浮力项):

$$ \rho_0 \frac{\partial \mathbf{u}}{\partial t} + \rho_0 (\mathbf{u} \cdot \nabla)\mathbf{u} = -\nabla p' + \mu \nabla^2 \mathbf{u} + \rho_0 \beta (T - T_0) \mathbf{g} $$

其中 $p' = p - \rho_0 \mathbf{g} \cdot \mathbf{x}$ 是修正压力(去除了静水压成分)。右边的最后一项是浮力项,是Boussinesq近似的核心部分。

能量方程

$$ \rho_0 c_p \frac{\partial T}{\partial t} + \rho_0 c_p (\mathbf{u} \cdot \nabla) T = k \nabla^2 T + Q $$
🧑‍🎓

动量方程最后的 $\rho_0 \beta (T - T_0) \mathbf{g}$ 就是浮力项吧。温度高 ($T > T_0$) 的地方会产生向上的力,这样。

🎓

理解得很完美。如果没有这个浮力项,即使有温差流体也不会运动。也就是说浮力项才是自然对流的驱动力。并且通过这一项,动量方程和能量方程实现了双向耦合。温度场驱动速度场,速度场输运温度场——这种非线性耦合正是自然对流CFD的有趣之处和难点所在。

Nu数关联式

🧑‍🎓

验证CFD结果时,有Nu数的理论值之类的东西吗?

🎓

有一些基于实验数据的经验关联式。我来介绍在CFD有效性确认时最先检查的公式。

竖直平板的层流自然对流(Churchill-Chu式,全Ra域):

$$ \overline{\mathrm{Nu}}_L = \left\{ 0.825 + \frac{0.387 \, \mathrm{Ra}_L^{1/6}}{\left[1 + (0.492/\mathrm{Pr})^{9/16}\right]^{8/27}} \right\}^2 $$

水平加热板(上表面)

$$ \overline{\mathrm{Nu}} = 0.54 \, \mathrm{Ra}^{1/4} \quad (10^4 \leq \mathrm{Ra} \leq 10^7) $$
$$ \overline{\mathrm{Nu}} = 0.15 \, \mathrm{Ra}^{1/3} \quad (10^7 \leq \mathrm{Ra} \leq 10^{11}) $$

封闭腔体(垂直壁面加热·冷却,de Vahl Davis 的基准解):

RaNu (基准解)用途
$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}$ 以上也不罕见,因此湍流模型的选择会极大地影响结果的精度。

Coffee Break 闲谈角

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$ 上积分,并用高斯散度定理转换为面积分:

$$ \frac{\partial}{\partial t} \int_V \rho \phi \, dV + \oint_S \rho \phi \mathbf{u} \cdot d\mathbf{S} = \oint_S \Gamma \nabla \phi \cdot d\mathbf{S} + \int_V S_\phi \, dV $$

其中 $\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$ 的湍流自然对流,哪种湍流模型合适呢?

🎓

这里是非常关键的一点。自然对流的湍流特性与强制对流不同,模型选择错误会导致很大的误差。

模型
関連シミュレーター

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

自然対流シミュレーター 熱解析ツール一覧
この記事の評価
ご回答ありがとうございます!
参考に
なった
もっと
詳しく
誤りを
報告
参考になった
0
もっと詳しく
0
誤りを報告
0
Written by NovaSolver Contributors
Anonymous Engineers & AI — サイトマップ