湍流模型的曲率与旋转修正
理论与物理
概述
老师!旋涡流的模拟结果和实验对不上,用那个曲率·旋转修正能修正吗?
很好的着眼点。标准的涡粘性模型(k-epsilon、k-omega SST、SA)假设了各向同性的涡粘性,所以无法正确捕捉流线曲率或系统旋转引起的湍流增减。曲率·旋转修正(Curvature Correction, CC)就是为了修正这个缺点的附加项。
具体在什么样的流动中会出现问题呢?
代表性的有这些流动。
- 旋风分离器或旋流燃烧器等旋涡流
- 涡轮叶栅间的二次流
- U型管内的弯曲流
- 旋转机械(风扇、压缩机)机壳内的流动
凹面侧由于离心力不稳定导致湍流增大,凸面侧则因稳定化而湍流受到抑制。标准模型无法预测这种非对称性。
控制方程
修正具体是怎么改变模型的方程呢?
Spalart-Shur旋转·曲率修正(用于SA-RC、SST-RC)中,引入了作用于生成项的乘数 $f_{rotation}$。
这里的 $r^*$ 和 $\tilde{r}$ 分别是根据应变率张量 $S_{ij}$ 和旋转率张量 $\Omega_{ij}$ 构成的无量纲参数。
常数 $c_{r1}=1.0$、$c_{r2}=12.0$、$c_{r3}=1.0$ 是标准值。最终 $f_{rotation}$ 会被截断。
只是对生成项做乘法吗?
是的。对于SST-RC,将k方程的生成项 $P_k$ 替换为 $\tilde{P}_k = P_k \cdot f_{rot}$。在凸面壁处 $f_{rot}<1$ 从而抑制湍流生成,在凹面壁处 $f_{rot}>1$ 则增强生成。Spalart-Allmaras模型也同样修正SA方程的生成项。
这样旋涡流的预测就能变好了吧。
会改善,但并非万能。因为修正是仅基于局部量计算的,对于旋转效应非局部累积的情况(例如:长涡管)存在局限。像RSM(Reynolds Stress Model)那样对各应力分量分别进行输运的方法在物理上更精确,但计算成本更高。
曲率修正湍流模型——“弯曲流动比直流动更不易紊乱”的原因
流线弯曲的流动(曲线管·旋涡流)中,壁面曲率会强烈调制湍流结构。凸面侧(因离心力稳定化)湍流被抑制,凹面侧(不稳定化)则被促进。Taylor-Görtler涡(纵向涡)在凹面侧产生也是这种不稳定性的表现。标准k-ε或k-ω SST在标量输运方程中没有显式考虑这种曲率效应,因此对旋涡流、弯曲管、旋风的预测精度较低。Speziale(1987)和Rothe/Spalart(1997)提出了曲率修正,将曲率理查森数纳入湍流模型的修正成为当前主流。
各项的物理意义
- 时间项 $\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$。直接关系到时间步长的稳定性 |
数值解法与实现
数值实现的细节
在求解器中实现曲率修正时,数值上有什么需要注意的吗?
有几个要点。首先,计算 $f_{rot}$ 时包含 $DS_{ij}/Dt$ 这个应变率的物质导数,所以需要评估非定常项和对流项。即使是定常计算,也可以从伪时间步长的信息近似得到,但会影响精度。
$f_{rotation}$ 的计算步骤
请告诉我具体的步骤。
在每个单元中计算以下内容。
1. 从速度梯度张量 $\partial u_i / \partial x_j$ 计算出应变率 $S_{ij}$ 和旋转率 $\Omega_{ij}$
2. 计算 $S = \sqrt{2S_{ij}S_{ij}}$、$\Omega = \sqrt{2\Omega_{ij}\Omega_{ij}}$
3. 用与前一时间步的差分近似应变率的物质导数 $DS_{ij}/Dt$
4. 计算出无量纲参数 $r^*$ 和 $\tilde{r}$
5. 计算 $f_{rotation}$,并截断到 $[0, 1.25]$
为什么需要截断呢?
$f_{rot}$ 为负会导致生成项为负(非物理的湍流消失),超过1.25则会引起过度的湍流生成导致数值不稳定。截断是安全装置。
与离散格式的兼容性
对流格式用什么好呢?
曲率修正本身是对湍流模型生成项的修正,因此独立于动量方程或湍流方程的离散格式。但是,旋涡流中数值耗散会引起旋涡衰减,因此应使用二阶精度以上的格式(Bounded Central Difference、LUST等)。一阶迎风格式会过度衰减旋涡。
| 参数 | 推荐设置 | 备注 |
|---|---|---|
| 动量的离散 | Bounded Central 或 LUST | 抑制旋涡衰减 |
| 湍流量的离散 | 二阶迎风格式 | 稳定性与精度的平衡 |
| 时间离散 | 二阶向后差分 | 非定常计算时 |
| $f_{rot}$ 的截断 | $[0, 1.25]$ | 数值稳定性 |
OpenFOAM中的实现示例
在OpenFOAM中怎么设置呢?
在 constant/turbulenceProperties 中启用 curvatureCorrection 标志。
```
RAS
{
RASModel kOmegaSST;
turbulence on;
curvatureCorrection yes;
printCoeffs on;
}
```
OpenFOAM的kOmegaSST模型已内置Spalart-Shur修正。无需额外的源文件。
只需一个设置就能启用,那很方便啊。
但是,必须验证结果是否合理。要确认旋涡数与实验数据是否一致,壁面摩擦系数分布如何变化。
曲率修正的数值实现——Spalart-Shur修正系数与β因子
Spalart-Shur(1997)的曲率修正,是通过对湍流生成项乘以“修正系数r*和r(系数)”来纳入曲率·旋转的影响。修正系数由流线曲率张量与涡量张量的比值计算得出,在凸面(稳定)降低生成率,在凹面(不稳定)提高生成率。该修正作为k-ω SST模型的应用(SSTcc)被实现在许多商用CFD中。但问题是,修正系数的调整系数(Cr1, Cr2)并非基于物理的普适常数,存在案例依赖性。使用机器学习(ML)进行曲率修正系数的“数据驱动型调参”是2020年代的研究方向。
迎风格式(Upwind)
1阶迎风:数值扩散大但稳定。2阶迎风:精度提高但有振荡风险。高雷诺数流动中必备。
中心差分(Central Differencing)
二阶精度,但Pe数 > 2时会发生数值振荡。适用于低雷诺数的扩散主导流动。
TVD格式(MUSCL、QUICK等)
通过限制器函数抑制数值振荡同时保持高精度。对激波或陡梯度的捕捉有效。
有限体积法 vs 有限元法
FVM:自然满足守恒律。CFD的主流。FEM:对复杂形状·多物理场有利。SPH等无网格法也在发展中。
CFL条件(库朗数)
显式法:CFL ≤ 1是稳定条件。隐式法:即使CFL > 1也稳定,但影响精度和迭代次数。LES:推荐CFL ≈ 1。物理意义:一个时间步内信息前进不超过一个单元。
残差监控
连续性方程·动量·能量的各项残差下降3~4个数量级可判断为收敛。质量守恒的残差尤其重要。
松弛因子
压力:0.2~0.3、速度:0.5~0.7是一般的初始值。发散时降低松弛因子。收敛后可提高以加速。
非定常计算的内部迭代
在每个时间步内迭代直至收敛到定常解。内部迭代次数:5~20次为参考值。若残差在时间步间波动,则需重新审视时间步长。
SIMPLE法的比喻
SIMPLE法是“交替调整”的方法。先假设求出速度(预测步),然后根据该速度修正压力以满足质量守恒(修正步),再用修正后的压力修正速度——重复这种接球游戏逐步逼近正确答案。类似于两人调整架子水平的作业:一人调整高度,另一人调整平衡,如此反复交替。
迎风格式的比喻
迎风格式是“站在河流中重视上游信息”的方法。站在河里的人看下游也无法知道水的来源——这反映了上游信息决定下游的物理规律。精度虽为一阶,但能正确捕捉流动方向,因此稳定性高。
实践指南
实践指南
请告诉我在实际项目中使用曲率修正时的工作流程。
相关主题
なった
詳しく
報告