层流管内流动(Hagen-Poiseuille)
理论与物理
概述
老师,Hagen-Poiseuille 流动常被用作 CFD 的第一个基准测试,对吧?
没错。圆管内的完全发展层流是少数几个存在 Navier-Stokes 方程精确解的问题之一。它非常适合用于 CFD 代码验证,可以将离散化误差与理论解直接比较。
控制方程与精确解
请讲解一下推导过程。
在稳态、轴对称、完全发展的条件下,圆柱坐标系轴向的 NS 方程可简化为:
在壁面 $r = R$ 处应用 $u = 0$(无滑移),在中心 $r = 0$ 处应用 $du/dr = 0$(对称性)的边界条件求解,得到:
这就是 Hagen-Poiseuille 的抛物线型速度分布。最大速度 $U_{max} = R^2 (-dp/dx) / (4\mu)$ 出现在管道中心。
体积流量与平均速度
体积流量是怎样的呢?
对速度分布进行积分,得到:
这就是 Hagen-Poiseuille 定律。流量与半径的四次方成正比。直径变为两倍,流量则变为16倍。
平均速度为 $\bar{U} = Q / (\pi R^2) = U_{max} / 2$,是最大速度的一半。
摩擦系数
管道摩擦系数也能从理论上求得,对吧?
Darcy-Weisbach 摩擦系数 $f$ 为:
也有使用 Fanning 摩擦系数 $C_f$ 的惯例。$C_f = f/4 = 16/Re_D$。需要注意容易混淆。
$f = 64/Re$ 很有名呢。超过 Re = 2300 就会向湍流过渡,对吧?
通常是这样说的,但准确地说,它取决于管道入口的扰动水平。在扰动极小的情况下,也有实验观察到层流能维持到 Re = $10^5$ 左右。相反,如果入口存在大的扰动,即使在 Re = 2000 以下也可能发生转捩。
入口发展段
达到完全发展之前的入口发展段大概有多长?
层流的入口发展段长度可以用下式估算。
Re = 100 时,$L_e \approx 6D$;Re = 2000 时,$L_e \approx 120D$。如果想在 CFD 中获得完全发展流,需要计算长度超过此值的管道,或者使用周期性边界条件来模拟“无限长管道”。
使用周期性边界条件似乎计算成本更低。
是的。在流动方向设置周期性边界,并将压力梯度作为源项给出。OpenFOAM 中可以使用 cyclicAMI 边界和 fvOptions 中的 meanVelocityForce 来实现。
毛细血管与Hagen-Poiseuille公式——医生也用的流体力学
Hagen-Poiseuille公式揭示了“流量与管径的四次方成正比”这一强烈关系。直径减半,流量变为1/16。实际上,这与心血管科医生向患者解释动脉硬化严重程度时使用的逻辑相同。血管仅狭窄20%,流量就会降至约59%。CFD中分析血管狭窄时也会用到HP公式,但“生物血管是非牛顿流体且有脉动”这一点会导致与精确解产生偏差。在实际应用中,“用HP公式进行粗略估算→用CFD进行精密评估”的两阶段方法是常规操作。
各项的物理意义
- 时间项 $\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$。直接关系到时间步长的稳定性 |
数值解法与实现
数值方法
既然有理论解,为什么还要用CFD求解呢?
主要有两个目的。
1. 代码验证(Code Verification):与理论解比较,确认离散化误差的阶数
2. 湍流转捩研究:以层流解为基态,施加扰动,追踪转捩过程
离散化误差的评估
与理论解比较时,具体如何评估呢?
将网格系统地细化到三个或更多级别,确认误差的收敛阶数。
举例来说,用20、40、80个径向网格单元进行计算,并在双对数坐标图上绘制误差。对于二阶精度格式,斜率应为 $-2$,即误差应按 $\epsilon \propto h^2$ 减少。
| 径向单元数 | $\Delta r / R$ | $L_2$ 误差(速度) | 收敛阶数 |
|---|---|---|---|
| 10 | 0.1 | $2.5 \times 10^{-3}$ | — |
| 20 | 0.05 | $6.3 \times 10^{-4}$ | 1.99 |
| 40 | 0.025 | $1.6 \times 10^{-4}$ | 1.98 |
| 80 | 0.0125 | $4.0 \times 10^{-5}$ | 2.00 |
如果收敛阶数与理论值(二阶精度则为2)一致,就可以说代码实现正确了,对吧。
没错。这是与制造解方法 (MMS) 并列的代码验证基本方法。
轴对称模型 vs 全3D模型
因为是圆管,所以可以用轴对称模型计算吧?
但是,如果包含入口发展段或要研究湍流转捩,则需要全3D计算。入口发展段的流动虽然是轴对称的,但转捩是由三维扰动驱动的。
OpenFOAM 中的周期性管道流
请讲解一下使用周期性边界条件的无限长管道设置。
OpenFOAM 中的设置示例。
请讲解一下使用周期性边界条件的无限长管道设置。
OpenFOAM 中的设置示例。
```
boundary:
inlet: { type cyclic; neighbourPatch outlet; }
outlet: { type cyclic; neighbourPatch inlet; }
wall: { type wall; }
system/fvOptions:
momentumSource:
{
type meanVelocityForce;
selectionMode all;
fieldName U;
Ubar (1 0 0); // 目标平均速度
}
```
在此设置中,入口和出口周期性连接,压力梯度会自动调整以维持指定的平均速度 $\bar{U} = 1$ m/s。对于稳态层流,使用 simpleFoam 数百次迭代即可收敛。
Fluent 中的设置
なった
詳しく
報告