0. 前言
我们在前文介绍了湍流模型的分类,今天这篇文章主要介绍湍流模型的其中一个分类--雷诺平均方法,由于雷诺平均分为了很多模型,为了让文章说的尽可能详细清楚,本文主要介绍雷诺平均方法的由来,同时介绍一方程理论及其在Fluent中的应用。
湍流模型分类介绍可参考文章:九十九、Fluent湍流模型详解-湍流模型的分类
注:本文涉及了很多方程,但我尽量用通俗易懂的方式解释说明,因此可能会造成语言上不够严谨。
1. 雷诺平均方法怎么平均的??
雷诺平均方法Reynolds-Averaged Navier-Stokes简称为RANS,是最常用的一类模型。其通过对湍流的瞬时流场进行时间或统计平均,从而简化了NS方程。
1.1 瞬时值、平均值与脉动值
湍流流动中,物理量f的瞬时值在空间和时间上均是随机波动的,但在宏观层面又会出现一定的有序性。因此湍流场中的物理量f的瞬时值可以分解为统计平均值和脉动值的叠加:
其中的f表示瞬时值,f-表示平均值,可以为时间平均或空间平均,f‘表示脉动值,即瞬时值相对于平均值的偏差。
由于脉动是随机的,因此对脉动值进行平均等于0,这一性质会大幅简化对雷诺平均NS方程。上面的平均方法即为雷诺平均方法。
1.2 雷诺平均NS方程(RANS)
一般形式的NS方程如下,方程中的ui和uj均是瞬时量
上述方程单独下标表示分量,重复下标表示求和,展开写的话会很复杂,而且没必要
雷诺将NS方程中的瞬时值都用平均值加上脉动值代替,对于速度
当然,除了速度,压力也需要用平均值和脉动值表示。带入NS方程后,可以得到雷诺平均的NS方程
我们对比瞬时的NS方程和雷诺平均NS方程,会发现雷诺平均NS方程反而多了一项,这一项就是我们常说的雷诺应力项。
从形式上看,瞬时的NS方程看起来比雷诺平均NS方程还要简单,雷诺平均NS方程简化在哪里???既然RANS都能求解,为什么不直接求解瞬时NS方程???
1.3 RANS方程的简化
虽然瞬时NS方程形式上更简单,但由于湍流的瞬时值是每时每刻每地都在变化的,这意味着瞬时NS方程要求网格和时间步长足够小,以分辨湍流中所有尺度。这需要极高的计算资源,几乎无法满足工业应用和大规模工程问题的需求。
我们在前文九十九、Fluent湍流模型详解-湍流模型的分类中介绍过,直接求解瞬时NS方程,在一个0.1m×0.1m大小的高雷诺流动区域中,包含尺度范围在10-100μm的涡,需要的网格节点数高达10^9-10^12 ,即1亿-1000亿网格,当湍流的脉动频率为10kHZ,其所需的时间步长为100μs以下。
Re=55000时方形柱体周围湍流流场的DNS模拟结果,网格数量:25.80亿
而RANS方程中大部分都是平均物理量,通过求解平均流场,可以避免直接计算湍流的瞬时波动,极大降低了计算规模。
同时工程问题关心的通常也是流场的平均特性(如平均速度场、压力分布等),因此RANS方程能够满足绝大多数工程问题的精度要求,同时降低计算成本。
2.为什么要引入n-方程??
我们已经获得了RANS方程了,那直接求解不就行了吗?为什么还要引入零方程、一方程、二方程······呢???
实际上,瞬时NS方程中并不包含任何额外的未知项,也就是说瞬时NS方程和质量守恒方程、能量守恒方程是封闭的,联立可以直接求解。
比如三维不可压缩流不考虑能量方程,虽然方程很复杂,但是我们只看几个方程几个未知量。
质量守恒方程(一个方程):
NS动量方程(三个方向上,三个方程):
质量守恒方程1个,动量守恒方程3个,共有4 个方程。未知量有u,v,w和压力p,由于不可压,因此密度作为物性参数是已知量(如果可压,则需要补充理想气体状态方程)。所以共有4个未知量。4个方程、4个未知量,方程是封闭的。
但雷诺平均NS方程引入了雷诺应力项
这一项表达了湍流脉动对平均流动的影响,同时增加了额外的未知量即脉动速度。
未知量变多了,方程不封闭了,如何求解呢??既然多出来雷诺应力项,只要把雷诺应力项用已知量表示出来就行了。不同的人有不同的表示方法,这就是n-方程的由来。n-方程的目的就是表示出雷诺应力项,从而使RANS方程组封闭
3. 涡黏性模型
1877 年,Boussinesq提出涡黏性模型,是一种湍流半经验理论。Boussinesq参考在层流流动中,不可压缩流体的粘性应力与应变率存在线性关系,提出了雷诺应力公式
其中,公式中的μt就是湍流粘度,k就是我们经常说的湍动能,δij是Kronecker delta 函数,i=j 时,δ ij =1;i≠j 时,δ ij =0。湍动能公式:
可以看出,方程中只有两个未知量及湍动能和湍流粘度。那就是说,接下来我们就只需要确定湍流粘度μt和湍动能k就行了。
实际上一方程、二方程、三方程等都是围绕湍流粘度和湍动能的求解来构建的,需要几个微分方程来确定湍流粘度和湍动能就称为几方程。
4. 一方程模型
Spalart-Allmaras模型是一种最典型的一方程模型,其假设湍流粘度和修正湍流粘度有关(v~):
其中,v为运动粘度。现在需要确定的就是修正湍流粘度(v~)了。Spalart-Allmaras模型通过输运方程来确定修正湍流粘度。
其中,Gv表示湍流粘度的生成项
已知湍流粘度了,湍动能怎么求解呢??Spalart-Allmaras 模型中不计算湍流动能 k,因此在估计雷诺应力时会忽略公式最后一项,即
由此,只需要一个微分方程就能够确定雷诺应力项,因此Spalart-Allmaras模型是一种一方程。
5.Fluent Spalart-Allmaras模型界面
Fluent湍流模型内置了Spalart-Allmaras模型。简单介绍一下这个界面。
注:
实际上,如果不是专门研究Spalart-Allmaras模型,所有保持默认即可。相反,如果你修改了一些参数或者选项,那就要说出合理的理由。
如果不需要修改参数,下面的介绍不必仔细看,大概知道就行
5.1 Spalart-Allmaras Production栏设置
首先是Gv公式(湍流粘度的生成项)
其中S就由Vorticity-Based和Strain/Vorticity Based两种模型来确定
Vorticity-Based:默认选项,由Spalart和Allmaras提出,认为S 基于涡量的幅值确定
Strain/Vorticity Based:认为S为下面公式。其中Cprod为常数。所以当勾选这个模型使,右边得Model Constants就会出现Cprod
5.2 Model Constants栏设置
即Spalart-Allmaras模型的常数设置,一般都不需要修改。勾选Vorticity-Based时的参数如下
如果勾选Strain/Vorticity Based的话,就会多出来一个Cprod参数
5.3 Options设置
Viscous Heating:考虑粘性加热效应,即流体摩擦生热过程。一般在高速喷射、超音速流动、高粘度流体这个现象比较明显,比如飞船返回地球途中表面就会产生高温。
Curvature Correction:是一种对湍流模型的改进,用于解决传统湍流涡黏性模型(如Spalart-Allmaras模型和两方程模型)在处理流线曲率和系统旋转影响时的不足
在以下典型场景中需要考虑曲率修正
流线曲率:发生在弯道、旋转机械(如叶轮或涡轮机)或复杂几何结构中的流动。
系统旋转:包括地球自转引起的科氏力(如大气和海洋中的湍流)、离心力引起的旋转湍流等。
在实际应用中,例如弯管流动、旋转机械和大气湍流中,曲率修正极大地提高了模拟结果的精度
勾选Curvature Correction后需要CCURV参数,这个参数用来修正曲率的,默认为1.0。可以通过UDF宏DEFINE_CURVATURE_CORRECTION_CCURV来定义。
即下面公式的Ccurv,一般情况保持默认即可
Corner Flow Correction:与Curvature Correction类似,Corner Flow Correction主要针对像矩形通道、非圆形截面管道以及机翼-机身交汇处这样的几何结构,由于会出现一种垂直于主流方向的二次流动,需要对其进行修正
同样地,勾选这一选项,会引入CCORNER参数设置,默认为1.0,一般不需要更改,可以使用UDF宏DEFINE_CORNER_FLOW_CORRECTION_CCORNER修改。
6.Spalart-Allmaras模型y+设置
很多湍流模型都对y+有一定的要求,y+的重要性不必多说,y+的概念可以参考文章:一文说清楚Fluent壁面函数(Y+)和近壁面处理
Spalart-Allmaras模型最初是一个低雷诺数模型,要求y+接近1 。但Fluent对这部分进行了拓展,使得Spalart-Allmaras 模型对 y+ 不敏感。当 y+较小时,公式自动切换为粘性子层的壁面处理;当 y+较大时,切换为对数层公式。
虽然如此,但使用Spalart-Allmaras 模型时还是要保证边界层最少要有10-15层网格,从而能够精确求解。
7.Spalart-Allmaras模型适用性
Spalart-Allmaras模型专为空气动力学流动设计,用来模拟涉及壁边界流动的航空航天项目,并已被证明对承受逆压梯度的边界层能给出良好的结果。同时在涡轮机械应用中Spalart-Allmaras模型使用的也较多。
但Spalart-Allmaras模型未针对一般工业流动进行校准。在某些自由剪切流中,尤其是平面和圆形射流流动中,该模型会产生较大误差。Spalart-Allmaras模型还无法准确预测均匀各向同性湍流的衰减情况。
所谓自由剪切流是指在没有固体边界约束的情况下,由不同速度的流体相互作用而产生的流动。比如射流(飞机发动机喷口产生的高速气流)、涡流尾迹(汽车行驶时在尾部产生的尾迹流动)