1. Fluent迭代计算流程
1.1 计算流程
在讲述收敛之前,我们先了解一下Fluent是如何进行迭代求解的。
在建模划分网格后,通过一系列设置,单击Calculation,Fluent开始计算,其流程如下:
根据初始化值,假设流场物理量初值为Q0
在初值基础上,根据守恒方程,对流场进行计算,得出新的流场物理量值Q1
比较Q0与Q1的值,|Q1-Q0|称为绝对误差,|Q1-Q0|/Q1为相对误差。
若误差小于设定值P,则达到收敛;否则,未达到收敛,取新的迭代值Q2进行计算,重复以上步骤。
1.2 残差的理解
检测的的物理量主要有速度、质量、能量、湍流参数等,如上图1
这里的误差并不是残差Residual,实际上残差的计算要复杂的多,但是为了理解方便,我们可以认为残差等同于误差。下图是残差公式:
并不是所有的工况都会收敛。当各物理量的值基本不变时,即残差很小时,工况才可能收敛。
但是对于瞬态,各物理量的值总是变化,如何收敛?正因如此瞬态才有时间步的概念,瞬态问题在每个时间步上都认为是稳态,所以瞬态问题的残差图总是波浪线型。
2. 收敛标准
2.1 残差标准
对所有的工况,没有统一的判断标准。对于大多数问题,默认的判断标准已经足够(For most problems, the default convergence criterion in ANSYS Fluent is sufficient. )
建议残差达到设定值后,多算50步,确定残差之后都是减小的趋势。
2.2 监测物理量
为了使结果更加精确,可根据工况辅助检测一些物理量,如速度,流量等。当所关心的物理量基本不变时,说明达到了收敛。某些情况下即使残差没有达到设定值,只要所检测的物理量很稳定,也可以认为收敛
2.3 通量守恒
除了上述两种情况,还可以通过Flux守恒来判断。当计算完成后,通过查看Flux是否守恒来判断是否收敛。
Results-Reports-Fluxes
通常情况,在没有质量源项和能量源项的情况下,进出口Mass Flow Rate的Net Results应该很小,接近0;各壁面的Total Heat Transfer Rate也应该接近0。
3. 收敛方法
3.1 提高网格质量
最重要的一点,提高网格质量。对于简单的模型,能用结构化网格尽量结构化。
对于物理量变化比较剧烈的部分要进行网格加密,如边界层。(可使用自适应网格自动捕捉梯度较大的网格)
3.2 适当减小松弛因子
所谓松弛因子简单理解就是一个比例系数。前面的计算流程我们说过下一步迭代需要取新的迭代值Q2,Q2如何取?
Q2=Q1+B*DETA,其中Q1为上一步值,B为松弛因子,DETA为变化量。
显然松弛因子越小,越容易收敛。但是收敛速度也越慢。一般如果某个物理量残差曲线比较高,相应的减小这个物理量的松弛因子即可。
比如速度收敛性不好,可将动量Momentum的松弛因子减小。
3.3 先稳态计算收敛后再瞬态
对于瞬态问题,可先稳态计算收敛后再瞬态。
比如降膜蒸发问题,可先稳态计算流动,流动稳定后再打开瞬态加入蒸发,可迅速达到收敛。
但是一些情况不能使用,比如考虑某瞬态时间下的工况。
3.4计算部分方程
不计算所有的方程,比如一共四个方程流动Flow、湍流Turbulence、能量Energy和UDS。由于UDS不容易收敛,可以先计算另外三个方程,待收敛后再打开UDS方程进行计算,可比较快速的收敛。
3.5 其他方法
收敛问题主要还是考经验,对于边界条件的设置,求解器的设置等都会影响收敛,而且影响很大,但是这些都是和具体的问题有关。不同的求解器适用于不同的工况,以后我们会详细说明。
初始化的值也能显著影响计算的收敛速度。如果初始化值就是准确值,那都不需要计算就收敛了。但是我们没办法给出准确的值,只能给出符合实际问题的物理量。