weixin 发表于 2018-8-2 09:12

关于fluent残差问题的探讨

  FLUENT默认的收敛标准是:除能量的残差值外,当所有变量的残差值都降到低于10-3时,就认为计算收敛,而能量的残差值的收敛标准为低于10-6怎样判断计算结果是否收敛?

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

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


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

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

  还需要说明的就是,一般我们都希望在收敛的情况下,残差越小越好,但是残差曲线是全场求平均的结果,有时其大小并不一定代表计算结果的好坏,有时即使计算的残差很大,但结果也许是好的,关键是要看计算结果是否符合物理事实,即残差的大小与模拟的物理现象本身的复杂性有关,必须从实际物理现象上看计算结果。比如说一个全机模型,在大攻角情况下解震荡得非常厉害,而且残差的量级也总下不去,但这仍然是正确的,为什么呢?因为大攻角下实际流动情形就是这样的,不断有涡的周期性脱落,流场本身就是非定常的,所以解也是波动的,处理的时候取平均就可以了。

  有时候我们会认为只要所有的残差达到10-3或者10-4就是达到收敛了。其实这个10-3或者10-4的收敛标准是相对而言的。在FLUENT中残差是以开始5步的平均值为基准进行比较的。如果你的初值取得好,你的迭代会很快收敛,但是你的残差却依然很高;但是当你改变初值到不同的值时,你的残差开始会很大,但随后却可以很快降低到很低的水平,让你看起来心情很好。其实两种情况下流场是基本相同的。

  由此来看,判断是否收敛并不是严格根据残差的走向而定的。可以选定流场中具有特征意义的点,监测其速度、压力、温度等的变化情况。如果变化很小,符合你的要求,即可认为是收敛了。一般来说,压力的收敛相对比较慢一些的。

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

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

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

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

  残差曲线震荡问题  1. 残差波动的主要原因

  高精度格式,网格太粗,网格质量差,流场本身边界复杂、流动复杂,模型的不恰当使用。

  2. 在进行稳态计算时,开始残差线是一直下降的,可是到后来各种残差线都显示为波形波动,是不是不收敛?

  有些复杂或流动环境恶劣情形下确实很难收敛。计算的精度(2阶),网格太疏,网格质量太差等都会使残差波动。经常遇到一开始下降,然后出现波动,可以降低松弛系。我的问题就能收敛,但如果网格质量不好,是很难的。通常,计算非结构网格,如果问题比较复杂,会出现这种情况,建议作网格时多下些功夫。理论上说,残差的震荡是数值迭代在计算域内传递遭遇障碍物反射形成周期震荡导致的结果,与网格亚尺度雷诺数有关。例如,通常压力边界是主要的反射源,换成OUT FLOW 边界会好些。这主要根据经验判断。所以我说网格和边界条件是主要因素。

  3. 网格问题

  · 比如流场内部存在尖点等突变,导致网格在局部质量存在问题,影响收敛。

  · 可以调整一下courant number,其实际上是指时间步长和空间步长的相对关系,系统自动减小courant数,这种情况一般出现在存在尖锐外形的计算域,当局部的流速过大或者压差过大时出错,把局部的网格加密再试一下。


  · 在fluent中,用courant number来调节计算的稳定性与收敛性。一般来说,随着courant number的从小到大的变化,收敛速度逐渐加快,但是稳定性逐渐降低。所以具体的问题,在计算的过程中最好是把courant number从小开始设置,看看迭代残差的收敛情况,如果收敛速度较慢而且比较稳定的话,可以适当的增加courant number的大小,根据自己具体的问题,找出一个比较合适的courant number,让收敛速度能够足够的快,而且能够保持它的稳定性。

  另外,如果出现连续方程残差很高收敛慢的情况,首先应该检查的是网格质量。由于现在大量使用分块网格,这时要看看两相邻块处的网格大小是不是相差较大,也就是看看有没有出现cell jump的情况,相邻网格的大小最好不要超过2倍的关系,这是出现高连续方程残差的一个主要原因,这需要在划分网格时做好规划。

  来源:CAE技术联盟公众号(ID:caejslm),原文来自网络。

页: [1]
查看完整版本: 关于fluent残差问题的探讨