在计算流体动力学(CFD)中,亚松弛因子(Under Relaxation Factor)是一种数值技术,用于控制非线性迭代过程中变量更新的步长或速度。当解决如Navier-Stokes方程这样的复杂、耦合且非线性的偏微分方程时,通常需要采用迭代方法来逼近解。在每个时间步或迭代循环中,各个物理量(如压力、速度、湍动能等)都会根据前一步的结果进行更新。
亚松弛因子是在求解过程中的一个调整参数,它作用于每一次迭代产生的变量变化上。由于所解方程组的非线性,我们有必要控制φ 的变化。具体来说,一般用亚松驰方法来实现控制,该方法在每一部迭代中减少了f 的变化量。亚松驰最简单的形式为:单元内变量f 等于原来的值f_old 加上亚松驰因子a 与f 变化的积:
·α 是亚松弛因子,如果 α=1,则表示无松弛,完全接受新的增量;若 α<1,则是亚松弛,仅部分接受新的增量;而当 α>1 时,则称为超松弛,会放大变化量。
分离解算器使用亚松驰来控制每一步迭代中的计算变量的更新。这就意味着,使用分离解算器解的方程,包括耦合解算器所解的非耦合方程(湍流和其他标量)都会有一个相关的亚松驰因子。
亚松弛因子的引入主要是为了改善迭代过程的稳定性,防止因解的变化幅度过大导致的迭代发散。在某些情况下,特别是当解空间的梯度较大或者非线性效应显著时,直接应用全部的更新可能会使得解跳过真正的稳定点,从而无法收敛。通过减小亚松弛因子,可以降低每一步的更新幅度,使解的演化更加平缓,有助于改进收敛特性。
操作:Solution -> Solution Controls
在FLUENT 中,所有变量的默认亚松驰因子都是对大多数问题的最优值。这个值适合于很多问题,但是对于一些特殊的非线性问题(如:某些湍流或者高Rayleigh 数自然对流问题),在计算开始时要慎重减小亚松驰因子。
使用默认的亚松驰因子开始计算是很好的习惯。如果经过4 到5 步的迭代残差仍然增长,你就需要减小亚松驰因子。
有时候,如果发现残差开始增加,你可以改变亚松驰因子重新计算。在亚松驰因子过大时通常会出现这种情况。最为安全的方法就是在对亚松驰因子做任何修改之前先保存数据文件,并对解的算法做几步迭代以调节到新的参数。最典型的情况是,亚松驰因子的增加会使残差有少量的增加,但是随着解的进行残差的增加又消失了。如果残差变化有几个量级你就需要考虑停止计算并回到最后保存的较好的数据文件。
粘性和密度的亚松驰是在每一次迭代之间的。而且,如果直接解焓方程而不是温度方程(即:对PDF 计算),基于焓的温度的更新是要进行亚松驰的。要查看默认的亚松弛因子的值,你可以在解控制面板点击默认按钮。
对于大多数流动,不需要修改默认亚松弛因子。但是,如果出现不稳定或者发散你就需要减小默认的亚松弛因子了,其中压力、动量、k 和e 的亚松弛因子默认值分别为0.2,0.5,0.5 和0.5。对于SIMPLEC 格式一般不需要减小压力的亚松弛因子。在密度和温度强烈耦合的问题中,如相当高的Rayleigh 数的自然或混合对流流动,应该对温度和/或密度(所用亚松弛因子小于1.0)进行亚松弛。相反,当温度和动量方程没有耦合或者耦合较弱时,动密度是常数,温度的亚松弛因子可以设为1.0。
对于其它的标量方程,如漩涡,组分,PDF 变量,对于某些问题默认的亚松弛可能过大,其是对于初始计算。你可以将松弛因子设为0.8 以使得收敛更容易。
在SIMPLEC 中,压力校正亚松驰因子通常设为1.0,它有助于收敛。但是,在有些问题中,将压力校正松弛因子增加到1.0 可能会导致不稳定。对于这种情况,你需要使用更为保守的亚松驰或者使用SIMPLE 算法。对于包含湍流和/或附加物理模型的复杂流动,只要用压力速度耦合做限制,SIMPLEC会提高收敛性。它通常是一种限制收敛性的附加模拟参数,在这种情况下,SIMPLE 和SIMPLEC 会给出相似的收敛速度。
当你使用PISO 邻近校正时,对所有方程都推荐使用亚松驰因子为1.0 或者接近1.0。如果你只对高度扭曲的网格使用PISO 倾斜校正,请设定动量和压力的亚松驰因子之和为1.0(比如:压力亚松驰因子0.3,动量亚松驰因子0.7)
6.1 能量方程亚松弛因子
FLUENT 不会管所解能量方程是温度还是焓形式,它都会设定默认的亚松弛因子为1.0。在能量场影响流体流动(通过温度相关属性或者焓)的问题中,你应该是用较小的亚松弛因子,一般在0.8 到1.0 之间。当流场和温度场解耦时(没有温度相关属性或者浮力),你可以保留松弛因子的默认值1.0。
6.2 旋转参考坐标系的求解
当求解旋转参考坐标系中流动问题遇到求解过程不稳定时,可以减小速度的低松弛因子,将其设为 0.3~0.5 或更低。
6.3 湍流收敛困难
对高度的涡动流或高度复杂的湍流流动,如果使用过分粗劣的初始值开始计算,可能导致解的发散。有一个保险的方法,就是采用保守的(小的)松弛因子和(对于耦合求解)一个保守的Courant数开始计算,然后,随着迭代的进行和解的稳定再逐渐地增大它们的值。
6.4 燃烧模拟困难
燃烧模拟难以收敛的一个主要原因是温度的剧烈变化引起密度的剧烈变化,从而导师流动求解的不稳定性。当你使用非耦合求解器时,FLUENT 允许你欠松弛密度的这种变化以降低收敛的困难。密度欠松弛因子的缺省值为1,如果你遇到收敛问题,你可以将这个值减少到0.5 到1 之间。
对于燃烧后的烟灰和流场的耦合计算,应该使用更小的亚松弛因子。在大多数情况下,0.2比较合适。
6.5 组分运输PDF方程
平均混合分数和混合分数变化变量的输运方程相当稳定,当求解它们时可用高度欠松弛。通过默认,平均混合分数(和次要部分分数)的欠松弛因子为1,混合分数变化变量(或次要部分分数变化变量)为0.9。如果这些方程的残差增加,应考虑降低这些欠松弛因子。
6.6 VOF多相流模型
如果使用稳态隐式的VOF 方案,为了提高稳定性,可以尝试将所有变量的欠松弛因子应设置在0.2~0.5之间。
6.7 Mixture多相流模型
应当为滑流速度选用较低的欠松弛因子开始混合模型的计算。建议采用0.2 或更小。如果解显示出好的收敛行为,你可逐渐增加这个值。
6.8 对于任何模型
在FLUENT 中,所有变量的默认亚松驰因子都是对大多数问题的最优值。这个值适合于很多问题,使用默认的亚松驰因子开始计算是很好的习惯。
当用 FLUENT 进行任何模拟时,如果欠松弛因子设置为1 时或者是默认值时,解出现不稳定、发散行为,欠松弛因子必须减小。提高稳定性的另一个方法是减小时间步长。