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