文章101我们详细说明了如何从NS方程过渡到雷诺平均NS方程的,并介绍了一方程SA模型。由于之前的文章比较久远了,有必要重新说明NS方程的求解方法
1.湍流模型的由来
1.1从NS方程到雷诺平均NS方程
湍流的本质是随机、杂乱、多尺度的。在湍流中,任意物理量的瞬时值看起来像一条剧烈抖动的曲线。
因此直接求解原始NS方程即直接数值模拟 DNS要求网格细到能抓住最小的湍流涡。因此对于网格尺寸和时间步长的要求都非常高。
在一个 0.1m×0.1m 的高雷诺数区域里,需要的网格量可以达到 10亿到1000亿,时间步长要小于100微秒。这远远超出了普通工程计算的能力。
为了解决这个计算上的问题,雷诺发现,湍流中瞬时物理量的曲线其实可以分解成两部分:平均值和脉动值
因为上下波动相互抵消,我们对脉动值求平均,结果永远是零。这一简单的性质,正是雷诺平均方法的数学基础。
原始的NS方程描述的是瞬时流动。把速度、压力都用“平均值 + 脉动值”代入,然后对整个方程做平均,就得到了雷诺平均 NS 方程,也就是 RANS。
与原始的NS方程对比,可以看到RANS比原始NS方程还多了一项--雷诺应力项。也就是说,RANS方程实际上是更加复杂的,那我们绕那么大的弯子转换方程的目的是什么?
我们转换方程并不是为了让方程形式上更简单,更好看,而是为了让方程更加容易求解。尽管NS方程形式上更加简单,但是其物理量全是瞬态量,每时每刻都在变化,这对求解精度的要求很高。
而RANS方程中的未知量是平均值,平均值在时间和空间上变化平缓,不需要捕捉微小的脉动。其对计算精度要求要低很多,我们可以使用较粗的网格和较大的时间步长去计算RANS方程
同时,绝大多数工程问题关心的正是平均流场(比如管道平均速度、机翼平均升力)。所以 RANS 在满足工程精度的前提下,大幅降低了计算成本。
1.2 RANS方程封闭性问题
好,我们决定用 RANS。但是把 RANS 方程写出来之后才发现:方程个数比未知量个数少。
原始NS方程:4 个方程(质量+三个方向动量),4 个未知量(u、v、w、p),方程是封闭的,理论上可解。
RANS 方程:多出了雷诺应力项
这一项引入了 6 个新的未知量(因为i、j各取三个方向,对称所以是 6 个)。
方程数量没变,未知量却变多了 ,不封闭,没法直接求解。所以,我们必须要做一件事:把雷诺应力用已知的平均量表示出来。
用什么方法表示?这就引出了“湍流模型”——湍流模型的核心任务就是封闭 RANS方程。
1.3涡粘性假设
1877 年,Boussinesq 提出了一个天才的想法:
在层流里,粘性应力τ
τ 和速度梯度(应变率)成正比,比例系数就是分子粘度μ
Boussinesq 假设:湍流里的雷诺应力,也可以和平均速度梯度成正比,只不过比例系数变成了"湍流粘度"μt
公式长这样:
其中k就是湍动能,δij是单位张量。
这个假设最大的贡献是:把 6 个雷诺应力未知量,转化成了只需要确定两个标量 μt(湍流粘度)和k(湍动能)。
现在任务一下子就清晰了:只要我们能求出μt和k,雷诺应力就知道了,RANS 方程就封闭了。
如何求μt和k?不同的人提出了不同的方法来确定μt和k。根据需要额外求解几个微分方程,就叫做几方程模型。
前面我们已经讲解了一方程模型,Spalart-Allmaras模型,今天我们详细介绍一下二方程模型中的k-ε模型。
2.几种k-ε模型
Fluent软件中有三种k-ε模型,分别是标准k-e模型、RNG k-e模型和Realizable k-e模型。下面我们就详细介绍
2.1标准的k-ε模型
在上文我们讲到,一方程模型需要人为给定湍流的长度尺度 l。长度尺度反映了涡的大小,直接影响湍流的混合能力。在一方程模型中,l往往需要通过代数经验公式给出。
一旦流动几何复杂(如带分离、回流、多部件),这个长度尺度就很难准确给定。
而二方程中的k-ε 模型不再需要经验指定长度尺度,适用范围广,成为工程主流。
k-ε 模型仍然沿用 Boussinesq 的涡粘性假设,比例系数是湍流粘度μt,但其用湍动能k和耗散率ε来表示μt
上述公式是通过量纲分析得到的,其中Cμ是一个经验常数约 0.09,即Fluent中k-epsilon湍流模型中的Cmu参数
这个公式非常符合物理直觉,即湍流越强k越大,μt越大;湍能耗散越快ε越大, μt越小。
现在μt可以表示出来了,但是k和ε又怎么计算呢?k-ε模型通过输运方程来求解k和ε
k 方程:描述湍动能的生成、扩散和耗散。生成项Gk来自平均速度梯度做功,耗散项就是ρε。
ε 方程:并非直接推导,而是仿照k方程的形式构造出来的,包含生成、扩散和破坏项。它决定了湍流耗散的速率,从而间接控制湍流长度尺度的演化。
结合ut、k和ε方程,可以看到公式里面出现了几个常数参数,分别是Cμ、C1ε、C2ε、σk、σε。1974 年Launder & Spalding给出了这些参数非常经典的数值
Cμ=0.09、C1ε=1.44、C2ε=1.92、σk=1.0、σε=1.3
之所以说这些参数经典,是因为后续的大量实验都验证了这些参数的正确性。因此除非有非常充足的理由,否则都不需要更改这些参数。
Fluent软件中这些参数的默认值也是如此
标准k-ε 模型计算稳定,收敛性不错。而且有大量实验验证,对平板边界层、管流、射流精度可接受。几乎所有 CFD 软件的首选 RANS 模型。
但其也存在一些缺点,主要有:
无法处理强旋流:各向同性涡粘假设在强旋转流动中失效,预测的旋转效应偏弱。
圆管射流扩张过快:预测的射流宽度比实验宽约 40%,原因是模型过高估计了湍流粘度在射流中心的扩散。
近壁面依赖壁面函数:需要配合对数律壁面函数,在强压力梯度或分离区精度下降。
正是这些缺陷,催生了标准 k-ε 的两个著名改进版本:RNG k-ε 和 Realizable k-ε。
2.2 RNG k-ε模型
RNG = Renormalization Group(重整化群),一种统计学理论方法。1986年Yakhot & Orzag用数学推导修正了 ε 方程,得到 RNG k-ε。
ε方程中增加一个附加源项 Rε
其中新增项Rε:
其中的常数η0=4.38,β=0.012
如果我们把方程的Rε和C2ε这两项合并,ε方程可以写成
这个形式和标准的k-ε模型的ε方程形式相同,但关键区别在于 C2ε*不再是常数。
这样做的好处是在高应变率即η 大的区域,比如强旋流、壁面弯曲处,C2ε∗会自动增大,从而增强ε方程中的破坏项,湍流耗散率ε会被“推高”,导致湍流粘度 μt降低,从而削弱过于强烈的湍流混合,改善对旋流和分离的预测。
而在低应变率区域,η趋向于0,Rε也会趋向于0,此时RNG模型会变成标准的k-ε模型。
所以我们可以看到,RNG模型对标准模型进行了拓展,使得标准模型对于高应变率的预测更加精确
同时RNG模型的常数取值也和标准模型不同,从理论上计算出 Cμ≈0.0845,其他参数取值为C1ε=1.42、C2ε=1.68
而在Fluent 软件中,RNG 模型通常采用有效粘度比来插值得到 σk、σε,不再使用固定值,因此界面中没有这两个参数的设置
除了上述的参数设置,RNG模型还有两个附带的选项,这部分内容我们在第三节的界面介绍中详细说明
我们总结一下,RNG k−ε模型对于对强应变率敏感,对分离流和旋转流更准确,适用于射流、旋风分离器等流动。但其本质上仍然是针对高雷诺数的湍流模型,且会多消耗10%-15%左右的CPU时间。
2.3 Realizable k-ε模型
前面我们介绍了标准的k−ε模型和RNG k−ε模型,标准的k−ε模型设置了5个常数参数,RNG k−ε模型将常数参数中的C2ε表达成了应变率的方程,使得模型更加适用于强应变率流动。
这两种模型都假定Cμ是常数。这个假设在平板边界层、圆管流中效果不错,但一旦遇到强应变率或大曲率的流动,就会出现问题。
最经典的例子是圆管射流:实验发现,射流核心区的湍流粘度应该远低于标准模型的预测,导致射流扩张速度比实验值快约 40%。为什么标准模型会高估 μt?
因为 应该k^2/ε在射流中心被算得偏大,但 Cμ又被锁死在0.09,导致湍流粘度过大。从物理角度上,雷诺应力也必须满足一些物理约束。
因此为了达到这一目的,1995 年 Shih 等人提出了 Realizable k-ε 模型,核心目标就是:让 Cμ不再是常数,而是随平均流场动态调整,并精准预测射流扩张。
Realizable 模型中的 Cμ表达式为:
Sij 是平均应变率张量,Ωij是平均旋转率张量(考虑角速度)
当平均应变率S很大时,U∗变大,分母中 AsUk∗/ε 项占主导,Cμ会自动减小,湍流粘度就会降低,这就达到了对湍流预测的限制作用。
同时Realizable 模型还对ε方程进行了改进。标准模型的ε方程来源于经验推导,并非严格理论推导。
Realizable模型从输运方程出发推导得到ε方程:
生成项:ρC1Sε,和标准的ε方程相比,直接用S乘以ε,避免了 kk 在分母上引起的奇异行为。同时破坏项:分母中加了 sqrt(νε),保证在近壁区不会发散。
我们总结一下,Realizable k-ε模型重新推导Cμ和ε方程,使雷诺应力满足物理可实现条件,因此在旋转均匀剪切流,包含有射流和混合流的自由流动,管道内流动,边界层流动,以及带有分离的流动现通常最好。
Fluent理论手册中专门指出:Realizable模型能够更准确预测射流扩散率
2.4 三种k-ε模型对比
我们借助AI来总结生成三种模型的对比表格
3.Fluent k-ε模型界面
3.1 标准k-ε模型界面
我们这里只说每个湍流模型附加的参数设置,对于通用的参数这里暂且不提。
对于标准k-ε模型,需要设置的就是界面右上的几个常数参数,也就是2.1节给出的参数:
Cμ=0.09、C1ε=1.44、C2ε=1.92、σk=1.0、σε=1.3
这些常数应该了大量的工程检验,一般不需要修改。或者说,如果你想修改这些参数,那你就要给出能够说服别人的理由。
而其他的设置,如壁面函数的选取,可以参考文章:一文说清楚Fluent壁面函数(Y+)和近壁面处理
Options设置,Turbulent Viscosity设置和Turbulence Damping Options设置我们后面的文章再介绍。
3.2 RNG k-ε模型界面
RNG k-ε模型界面也需要设置一些常数参数,这里再2.2节已经介绍过。下面我们重点说说RNG Options的设置
Differential Viscosity Model:勾选此选项,表示使用有效粘度 μeff的微分公式来考虑低雷诺数效应
其中 ν^=μeff/μ,表示有效粘度与分子粘度之比
这个微分方程能更好地描述从粘性底层到对数律区的过渡。可以借此选择低雷诺数 RNG模式,直接积分到壁面,而不依赖壁面函数。
Swirl Dominated Flow:RNG 模型在强旋流中可以开启旋流修正。此时湍流粘度 μt会乘以一个与旋流数相关的函数:
这时界面会多出一个参数设置
Fluent 中提供了旋流常数 αs,默认 0.07。对于强旋流,可将其提高到 0.1 左右,进一步抑制过高的湍流粘度。
3.3 Realizable k-ε模型
Realizable k-ε模型需要设置一些常数参数,一般保持默认即可
除了常数参数外,Realizable k-ε模型还可以启用SBES或者是SDES模型,也就是勾选Stress Blending(SBES)/Shielded DES。
勾选这个选项后,设置比较复杂,这里我们只说明这个选项的作用,不详细介绍。
勾选这个选项之后,相当于RANS控制方程植入LES功能,是一种混合RANS-LES方法。用RANS来处理附着边界层,用LES捕捉远离壁面的大尺度分离涡
4.后记
全文5000多字,我们终于把三种k-ε模型用大家能够理解的方式,一步步介绍完了。这个过程只能说是帮助大家理解三种k-ε模型为什么会出现,以及改进了什么。
即便如此,文章写起来也非常费力,希望大家能够多多点赞+推荐支持!!
实际上这些模型的数学方程非常复杂,看着就让人头大,不得不佩服各位大佬能够提出这些模型
下面的文章我们就继续开启湍流模型系列,尽量把这个系列讲完