首页/文章/ 详情

Fluent如何判断结果是否收敛!

6小时前浏览1
FLUENT中残差的概念:
    残差是cell各个face的通量之和,当收敛后,理论上当单元内没有源项使各个面流入的通量也就是对物理量的输运之和应该为零。最大残差或者RSM残差反映流场与所要模拟流场(只收敛后应该得到的流场,当然收敛后得到的流场与真实流场之间还是存在一定的差距)的残差,残差越小越好,由于存在数值精度问题,不可能得到0残差,对于单精度计算一般应该低于初始残差1e-03以下才好,当注意具体情况,看各个项的收敛情况(比方说连续项不易收敛而能量项容易)。

    一般在FLUENT中可以进行进出口流量监控,当残差收敛到一定程度后,还要看进出口流量是否稳定平衡,才可确定收敛与否(翼型计算时要监控升阻力的平衡)。
残差在较高位震荡,需要检查边界条件是否合理,其次检查初始条件是否合理,比如激波的流场,初始条件的不合适会造成流场的振荡。有时流场可能有分离或者回流,这本身是非定常现象,计算时残差会在一定程度上发生振荡,这是如果进出口流量是否达到稳定平衡,也可以认为流场收敛。另外fluent缺省采用多重网格,在计算后期将多从网格设置为0可以避免一些波长的残差在细网格上发生震荡。
 

计算收敛标准浅析


 
      收敛曲线,实际上就是残值曲线。求解微分方程的时候,都是采用迭代方法进行迭代。对于同一个节点的同一个物理值,第N次迭代的结果是c1,第N+1次迭代的结果是c2,那改点同一个物理值的残值就可以定义为c2-c1。所以当残值很小的时候,也就是c1和c2基本上一样,即流场参数不变化,达到稳定了,所以就可以认为计算收敛了。一般来说,计算流体力学中残值并不简单的等于c2-c1,应该是单元格的通量项残差,不过作用跟c2-c1是一样的。在fluent的求解中,为了防止残值过大导致计算出错,在迭代中加上了松弛因子,也就是说fluent中的残值应该等于通量项残值*松弛因子。为什么很多网友说残值降不下去,但是把松弛因子调的很小一下就能收敛?通过这个式子就能得到解释,所以说将松弛因子调的很小(比如说0.001),这个时候的收敛是假收敛。
大致了解了残值代表的物理意义之后,我们就可以来分析各种收敛情况了。

 

定常计算


 
      所谓的定常计算,就是计算条件(主要指边界条件)和计算结果不随时间变化而变化的情况,比如说翼型在小攻角下的流动。该类算例从理论上讲残值曲线应该是能达到10-5下的,当然,具体能达到的收敛标准还与网格质量有关。有的时候也会出现残值曲线震荡的现象,这个时候如何去判断是不是收敛了呢?

1. 残值出现无规律的震荡。导致这种情况绝大部分是由于个别网格质量太差造成的,解决的办法当然是提高网格质量了。如果实在是没办法修改网格,那就在流场中设置几个不同的监测点,监测其流场参数(比如说速度,温度,压强等等),如果这些参数不变化了,可以认为计算是收敛了。

     如果你采用的是dpm模型,也有可能出现这种情况的。因为随着粒子的不断进入流场,同时还有粒子被墙壁吸附,反弹,从出口的逃逸等等,这些都导致了流场总质量的变化,所以连续曲线会出现无规律震荡。

2. 残值出现有规律震荡。导致这种情况是由于流场出现了非定常性,也就是说虽然边界条件是定常的,但是实际流场是非定常的,最典型的例子就是卡门涡街——虽然来流速度是不变的,但是流场是变的。这个时候通过残值曲线判断收敛就不太合适了。最合理的方法就是采用非定常计算,设置多个监测点,然后监测其流场参数,如果其参数呈现周期性的变化,那就可以认为是收敛了。

 

非定常计算


 
      与定常计算相对应的,非定常计算就是计算条件或计算结果随时间变化而变化的情况。因为流场参数是变化的,所以监测其残值曲线已经没有什么意义了。我们关心的是这个过程中流场参数随时间的变化规律,比如说投弹中,弹体随时间的位置等等,所以对于非定常计算,需要根据你的具体要求来设置监测曲线,比如说监测弹体 位置随时间的变化曲线。当然了,Fluent对于非定常计算采用的是双时间推进(具体的理论请参阅相关资料,我这里三言两语讲不清楚,怕误人子弟),对于伪时间步内的迭代,还是要保证其收敛的,就是将单步迭代步数调大。
综上所述,你首先要搞清楚你计算的问题是定常的还是非定常的,如果是定常的就要看收敛曲线,如果是非定常的,那就不需要看收敛曲线了。

 

FLUENT中判断收敛的三种方法


 
      判断计算是否收敛,没有一个通用的方法。通过残差值判断的方法,对一些问题或许很有效,但在某些问题中往往会得出错误的结论。因此,正确的做法是,不仅要通过残差值,也要通过监测所有相关变量的完整数据,以及检查流入与流出的物质和能量是否守恒的方法来判断计算是否收敛。

1、监测残差值。
在迭代计算过程中,当各个物理变量的残差值都达到收敛标准时,计算就会发生收敛。Fluent默认的收敛标准是:除了能量的残差值外,当所有变量的残差值都降到低于10-3时,就认为计算收敛,而能量的残差值的收敛标准为低于10-6。


2、计算结果不再随着迭代的进行发生变化。
有时候,因为收敛标准设置得不合适,物理量的残差值在迭代计算的过程中始终无法满足收敛标准。然而,通过在迭代过程中监测某些代表性的流动变量,可能其值已经不再随着迭代的进行发生变化。此时也可以认为计算收敛。


3、整个系统的质量,动量,能量都守恒。

在Flux Reports对话框中检查流入和流出整个系统的质量,动量,能量是否守恒。守恒,则计算收敛。不平衡误差少于0.1%,也可以认为计算是收敛的。

1、观察点处的值不再随计算步骤的增加而变化;

2、各个参数的残差随计算步数的增加而降低,最后趋于平缓;

3、要满足质量守恒(计算中不牵涉到能量)或者是质量与能量守恒(计算中牵涉到能量)。

特别要指出的是,即使前两个判据都已经满足了,也并不表示已经得到合理的收敛解了,因为,如果松弛因子设置得太紧,各参数在每步计算的变化都不是太大,也会使前两个判据得到满足。此时就要再看第三个判据了。

还需要说明的就是,一般我们都希望在收敛的情况下,残差越小越好,但是残差曲线是全场求平均的结果,有时其大小并不一定代表计算结果的好坏,有时即使计算的残差很大,但结果也许是好的,关键是要看计算结果是否符合物理事实,即残差的大小与模拟的物理现象本身的复杂性有关,必须从实际物理现象上看计算结果。比如说本斑最近在算的一个全机模型,在大攻角情况下,解震荡得非常厉害,而且残差的量级也总下不去,但这仍然是正确的,为什么呢,因为大攻角下实际流动情形就是这样的,不断有涡的周期性脱落,流场本身就是非定常的,所以解也是波动的,处理的时候取平均就可以有时候我们会认为只要所有的残差达到1e-3或者1e-4就是达到收敛了。其实这个1e-3或者1e-4的收敛标准是相对而言的。在FLUENT中残差是以开始5步的平均值为基准进行比较的。如果你的初值取得好,你的迭代会很快收敛,但是你的残差却依然很高;但是当你改变初场到比较不同的值时,你的残差开始会很大,但随后却可以很快降低到很低的水平,让你看起来心情很好。其实两种情况下流场是基本相同的。由此来看,判断是否收敛并不是严格根据残差的走向而定的。可以选定流场中具有特征意义的点,监测其速度,压力,温度等的变化情况。如果变化很小,符合你的要求,即可认为是收敛了。一般来说,压力的收敛相对比较慢一些的。

因此是否收敛不能简单看残差图,还有许多其他的重要标准,比如进出口流量差、压力系数波动等等。尽管残差仍然维持在较高数值,但凭其他监测也可判断是否收敛。最重要的就是是否符合物理事实或试验结论。

残差曲线是否满足只是一个表面的现象,还要看进口和出口总量差不得大于1%,而且即使这样子,收敛解也不一定准确,它和网格划分/离散化误差,以及屋里模型的准确性都有关系.所以得有试验数据做对比活着理论分析了.

当然最终是否正确是要看是否与实验数据相符合!但既然有残差图的话,总应该可以大概的看出是否收敛吧?是否要残差要小到一定的程度,或者是残差不在增长,就可以一定程度上认为是收敛的.

残差的大小不能决定是否收敛,我在用FLUENT计算时,多采用监测一个面的速度(或者是压力、紊动能等参数)基本上不随着计算时间的推移而变化,就认为基本达到收敛。

在FLUENT的中文帮助里,对收敛有比较详细地描述,建议去看看。
收敛性可能会受到很多因素影响。大量的计算单元,过于保守的亚松驰因子和复杂的流动物理性质常常是主要的原因。有时候很难确定你是否得到了收敛阶。
没有判断收敛性的普遍准则。残差定义对于一类问题是有用的,但是有时候对其它类型问题会造成误导。因此,最好的方法就是不仅用残差来判断收敛性而且还要监视诸如阻力、热传导系数等相关的积分量。


在FLUENTD的帮助文件里给出了下面几种典型的情况

1、如果你对流场的初始猜测很好,初始的连续性残差会很小从而导致连续性方程的标度残差很大。在这种情况下,检查未标度的残差并与适当的标度如入口的质量流速相比较是很有用的。什么是标度残差?就是选作用来标准化的残差值,一般是取第五步吧,所以,一开是残差就很小,那么,后面的残差和它一比,值也很难收敛到很小数。

2、对于某些方程,如湍流量,较差的初始猜测可能会造成较高的标度因子。在这种情况下,标度的残差最开始会很小,随后会呈非线性增长,最后减小。因此,最好是从残差变化的行为来判断收敛性而不仅仅是残差的本身值来判断收敛性。你应该确认在几步迭代(比如说50步)之后残差继续减小或者仍然保持较低值,才能得出收敛的结论。

另一个判断收敛性的流行方法就是要求未标度的残差减小到三阶量级。为了实现这一方法,FLUENT提供了残差标准化,有关残差标准化的信息请参阅分离求解器残差定义和耦合求解器残差定义两节。在这种方法中,要求标准化的未标度残差降到10^-3。但是这种要求在很多情况下可能是不合适的。

1、如果你提供了较好的初始猜测,残差可能不会降到三阶量级。比方说,在等温流动中,如果温度的初始猜测非常接近最终值,那么能量残差根本就不会降到三阶量级。

2、如果控制方程中包括的非线性源项在计算开始时是零,但是在计算过程中缓慢增加,残差是不会降到三阶量级的。例如,在封闭区域内部的自然对流问题,由于初始的均一温度猜测不会产生浮力,所以初始的动量残差可能非常接近零。在这种情况下,初始的接近零的残差就不适合作为残差的较好的标度。

3、如果所感兴趣的变量在所有的地方都接近零,残差不会降到三阶量级。例如,在完全发展的管流中,截面上的速度为零。如果这些速度初始化为零,那么初始的和最终的残差都接近零,因此也就不能期待降三阶量级。在这种情况下,最好监视诸如阻力、总热传导系数等积分量来判断解的收敛。检查非标准化未标度的残差来确定这个残差和适当的标度相比是不是很小也是很有用的。相反,如果初始猜测很差,初始的残差过大以至于残差下降三阶量级也不能保证收敛。这种情况对于初始猜测很难的k和e方程尤其常见。在这里,检查你所感兴趣的所有积分量就很有用了。如果解是不收敛的,你可以减少收敛公差。



来源:LEVEL电池热管理技术
MeshingFluent MeshingFluentFlux非线性湍流通用汽车新能源理论储能热设计控制试验
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-08-24
最近编辑:6小时前
LEVEL水平线仿真
硕士 | 热管理工程师 公众号LEVEL电池热管理技术
获赞 786粉丝 4344文章 577课程 8
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈