FLUENT中的残差残差是cell的各个face的通量之和,当收敛后,理论上物理量的输运之和应该为零。 求解器必须执行足够的迭代次数才能实现收敛的求解结果。 在收敛时,应满足以下条件(三个判别标准): (1)所有的离散守恒方程(动量、能量等)在所有cell中都达到指定的残差; (2)整体达到质量、动量、能量和标量平衡; (3)目标量(关键变量)达到常数值即观察点处的值不再随计算步骤的增加而变化。 下面我们就介绍一下在Fluent中这三个判别标准分别是如何设置及其中的一些注意事项。 (1)残差曲线监测 使用残差历史曲线来监测收敛。一般地,残差至少下降三个量级表示达到定性的收敛,流场的主要特征已经形成;压力基求解器的能量残差应下降到10-6组分残差应下降到10-5以达到组分平衡。 具体设置如下: 残差图显示何时达到指定收敛标准。可以修改或禁用默认的收敛检查标准。防止计算过早停止。 (2)监测定量的收敛 确保全局的质量、能量、组分守恒 检查全局热和质量平衡,即:净通量差值(NetResults)应该小于通过边界最小通量的1% 具体设置如下: (3)监测关键的物理量 Report Definitions 用于监测关键物理量。强烈建议对仿真使用一个或多个report definitions 具体操作如下: 灵活的检测目标量的方法: Expression,Surface, Volume, Force, Flux, DPM and User-Defined reports 在边界或任何已定义surface 上的相关变量或函数(如面积分) 选择Writeto file, plot in graphics window, print to console 这些额外监测量是重要的收敛指标。强烈建议在所有计算中使用一种或多种这种类型的solution监视器。 经验特别要指出的是,即使前两个判据都已经满足了,也并不表示已经得到合理的收敛解了,因为,如果松弛因子设置得太紧(即采用较小的松弛因子),各参数在每步计算的变化都不是太大,也会使前两个判据得到满足。此时就要再看第三个判据了。 一般我们都希望在收敛的情况下,残差越小越好,但是残差曲线是全场求平均的结果,有时其大小并不一定代表计算结果的好坏,有时即使计算的残差很大,但结果也许是好的,关键是要看计算结果是否符合物理事实,即残差的大小与模拟的物理现象本身的复杂性有关,必须从实际物理现象上看计算结果。比如说本斑最近在算的一个全机模型,在大攻角情况下,解震荡得非常厉害,而且残差的量级也总下不去,但这仍然是正确的,为什么呢,因为大攻角下实际流动情形就是这样的,不断有涡的周期性脱落,流场本身就是非定常的,所以解也是波动的,处理的时候取平均就可以了。有时候我们会认为只要所有的残差达到1e-3或者1e-4就是达到收敛了。其实这个1e-3或者1e-4的收敛标准是相对而言的。在FLUENT中残差是以开始5步的平均值为基准进行比较的。如果你的初值取得好,你的迭代会很快收敛,但是你的残差却依然很高;但是当你改变初场到比较不同的值时,你的残差开始会很大,但随后却可以很快降低到很低的水平,让你看起来心情很好。其实两种情况下流场是基本相同的。 由此来看,判断是否收敛并不是严格根据残差的走向而定的。可以选定流场中具有特征意义的点,监测其速度,压力,温度等的变化情况。如果变化很小,符合你的要求,即可认为是收敛了。一般来说,压力的收敛相对比较慢一些的。 因此是否收敛不能简单看残差图,还有许多其他的重要标准,比如进出口流量差、压力系数波动等等。尽管残差仍然维持在较高数值,但凭其他监测也可判断是否收敛。最重要的就是是否符合物理事实或试验结论。 残差曲线是否满足只是一个表面的现象,还要看进口和出口总量差不得大于1%,而且即使这样子,收敛解也不一定准确,它和网格划分/离散化误差,以及物理模型的准确性都有关系.所以得有试验数据做对比或者理论分析了。 当然最终是否正确是要看是否与实验数据相符合!但既然有残差图的话,总应该可以大概的看出是否收敛吧?是否要残差要小到一定的程度,或者是残差不在增长,就可以一定程度上认为是收敛的。 残差的大小不能决定是否收敛,我在用FLUENT计算时,多采用监测一个面的速度(或者是压力、紊动能等参数)基本上不随着计算时间的推移而变化,就认为基本达到收敛。 发散问题的处理对于一些病态问题,质量差的网格或不合适的求解设置,都可能出现数值不稳定性。表现为残差曲线上扬(发散)或不下降–发散意味守恒方程的不平衡增加。没收敛的结果会误导使用者! 解决方法: 确保问题是物理合理的 用一阶离散格式计算一个初场 对压力基求解器,减小发散方程的松弛因子 对密度基求解器,减小Courant数 重新生成网格或加密质量差的网格,网格自适应不能提高扭曲度大的网格质量。 |
|
来自: ShawnYe > 《叶春的FLUENT学习资料》