本文描述Fluent中的残差定义方式。
注:本文内容来自Fluent UserGuide 32.15.1节。
”
在每次迭代求解结束时,Fluent计算并存储每个守恒变量的残差值,从而得到求解过程收敛性的数据记录。
在具有无限精度的计算机上,当求解收敛时,计算残差将变为零。而在实际的计算机上,残差会衰减到某个很小的值(round-off),然后停止变化(level out)。对于单精度求解(工作站和大多数计算机的默认值),计算残差可以下降6个数量级,双精度求解的残差最多可下降12个数量级。
32.15.1.1 压力基求解器的残差
对控制方程进行离散后,网格单元处的通用变量的守恒方程可表示为:
式中,为中心系数;为相邻网格的影响系数;为源项中的常量及边界条件的贡献。
Fluent压力基求解器的残差定义为在所有网格上通过式(32.21)计算得到的总不平衡量,此残差被称为未缩放残差
,可以表示为:
式(32.23)计算的残差没有进行缩放,因此难以用来判断求解的收敛性。
Fluent中有两种方式对残差进行缩放,分别称为全局缩放(globally scaling)和局部缩放(local scaling)。用户可以在Residual Monitors
对话框中选择缩放类型。
全局缩放残差定义为:
对于不同的方程,式32.24的分母中的值会有所不同:在动量方程中,值为网格P处的速度大小 ;对于雷诺应力方程,值为单元P处的雷诺应力张量的迹除以问题的维度(二维或三维)。
局部缩放残差定义为:
对于动量方程与雷诺应力方程,式32.25分母中的与的替换方式与全局缩放中所采用的替换方式保持一致。
在大多数问题问题中,缩放残差是更加合适的收敛指标。Fluent中默认使用全局缩放残差。
对于连续性方程,压力基求解器的未缩放残差定义为:
默认情况下,Fluent中的连续方程的残差使用以下经过改进的公式:
式中,为方程(32.26)所定义的网格的无缩放残差;为构成单元体的网格面上的质量流量;为网格单元所包含的网格面数;为区域内的网格单元数量。
注意,在启用Residual Monitors对话框中的Compute Local Scale
选项后,还可以使用以下TUI命令solve/monitors//enhanced-continution?
禁用连续性残差的改进公式,以便像其他残差一样根据公式(32.25)进行残差计算。
全局缩放以不同的方式处理连续方程残差,其定义为:
式32.28的分母为前五次迭代中连续方程残差的最大绝对值。
上面描述的缩放残差是判断求解收敛的一个很有用的指标。 作为收敛的一个额外衡量标准,在计算中确定残差减少了多少有时是有用的。 为此,FLUENT允许通过除以迭代后的最大残差值来对残差(缩放或未缩放)进行归一化。其中由用户在Residual Values对话框中的Iterations字段下进行指定。
以这种方式归一化可确保所有方程的初始残差为 O(1),有时可用于判断整体收敛性。默认情况下M=5,用户也可以自行指定归一化因子。
32.15.1.2 密度基求解器的残差
密度基求解器的残差可以简单地认为是守恒变量的时间变化率。
均方根(RSM)残差为计算域每个网格单元中残差的平方的平均值的平方根(文档中的公式与其文字描述不相符,这里按文字描述对公式进行了修改):
方程(32.30)是Fluent密度基求解器求解的所有耦合方程的未缩放残差。
注:由密度基求解器(湍流和其他标量,如理论指南中基于密度的求解器中所讨论的)顺序求解的方程的残差与压力基求解器的残差相同。
”
与压力基求解器一样, Fluent密度基求解器也可以使用两种类型的缩放。
全局缩放残差定义为:
分母是前五次迭代中残差的最大绝对值。
局部缩放残差根据网格单元中的局部通量不平衡计算得到:
式中为守恒变量,为网格体积。式中未缩放残差通过方程32.30计算。
密度基求解器也可以进行残差归一化。Fluent中通过将残差值除以M次迭代后的最大残差来实现残差归一化:
其中M为迭代次数,用户可以在残差面板中自行设置此值。以这种方式归一化可确保所有方程的初始残差为 O(1),可用于判断整体收敛性。默认情况下M=5。
(完)
本篇文章来源于微信公众号: CFD之道
评论前必须登录!
注册