ANSYS Fluent的poor mesh numerics方法
来自:IDAJ中国ANSYS流体技术团队 徐淑君
参考资料:ANSYS Fluent 2022R1帮助文档
网格划分是CFD仿真中很重要又很费时的一块工作。随着模型的复杂程度越来越高,网格质量也越来越难保证。最头疼的是花了一周甚至一个月才画出来的网格,就因为很少部分的网格不达标,导致计算发散。过去遇到这种情况,我们只能重新划分网格,从Fluent 2019R3版本开始,我们可以用poor mesh numerics方法让计算在不重新划分网格的情况下继续进行。
质量差的网格是包含高度歪斜网格、高度非正交网格、非凸网格或具有左手面的网格。这种网格往往会降低传统CFD离散化算法的数值稳定性。这些网格需要特殊处理,即输运方程离散化的数值校正,旨在改善质量较差网格处的求解算法的数值特性。此校正称为poor mesh numerics,默认启用,以便将其应用于正交质量为0的网格。
注意:如果网格表现出除左手面以外的任何类型的不良质量,可以通过使用warped-face gradient correction和禁用poor mesh numerics来保持二阶精度。要禁用poor mesh numerics,可以通过“solve/set/poor-mesh-numerics/enable? no”命令设置。
如果读取的网格质量较差,包含的单元和面具有损坏的度量,则会在控制台中看到以下形式的警告,如图1:

图1 差网格警告
对于差网格,我们可以先用修复网格工具尝试对面和网格单元进行检查和修复。对于无法修复的差网格,可以应用poor mesh numerics来继续。
由poor mesh numerics应用的局部解校正可以是0阶、1阶或2阶。0阶方案通过直接组合周围质量较好的网格单元中的解来计算坏网格单元中的传输方程的求解变量。2阶方案仅通过将给定解变量的梯度向量与周围质量较好的网格单元中的梯度组合起来,来修改坏网格单元中的数值。
换句话说,如果使用0阶,离散化误差将与该区域的网格大小无关。当使用1阶时,它将随着后续网格细化而线性减少,当选择2阶选项时,它将以二次方减少。
强烈建议您使用默认的一阶方案校正,它在精度和稳定性增益之间提供了合理的折衷。当只有少数网格单元无效时,您可以尝试使用其它方案:对于质量更好(但仍然较低)的网格,可以尝试使用2阶选项,这将保留对流项离散方案提供的网格收敛行为;如果使用上述任何方案都没有获得收敛,您可以尝试0阶选项,这将提供最高的稳定性,但是准确度最低。请注意,在具有高度非线性流动物理的区域中,0阶方案可以产生高度非物理的结果。要更改顺序方案,请使用以下文本命令中的提示:solve/set/poor-mesh-numerics/enable?。
为了在解决方案的稳健性和效率之间取得平衡,三种校正方案应仅适用于一小部分网格单元。这三种方案的计算时间(或成本或运行时间需求)将随着被识别为差质量网格数量的增加而线性增加。如果三种方案都有合理的收敛行为,1阶方案将是最快的;0阶和2阶方案的运行时间相似。如果有很大一部分网格由于质量指标较差而被标记为要校正,则强烈建议放弃此网格,选择质量指标较好的网格。
如果默认的差网格数值设置不足以为网格提供稳定性,可以启用以下文本命令,以便重新定位差网格的单元质心,以增强正交性度量:solve/set/poor-mesh -numerics/orthogonality-enhancing-cell-centroids?。这可用于所有网格类型,并在标准值等于或小于阈值时应用于网格单元,该阈值是作为文本命令的一部分定义的。增加正交质量的阈值可以提高解算器的鲁棒性,但代价是降低求解精度。请注意,增强的度量只有在Fluent的求解器模式下报告质量时才能用,而不是在网格模式下。
如果仍然存在稳定性问题,可以增加应用“poor mesh numerics”校正的网格范围。如前所述,当solve/set/poor-mesh-numerics/enable?文本命令已启用,默认情况下仅校正正交质量为0的网格单元。这是一个保守的设置,可以通过启用以下文本命令进行更改:
solve/set/poor-mesh-numerics/cell-quality-based?
这样可以确保将校正应用于正交质量为 0.05 或更小的网格单元,并且可以使用以下文本命令进一步调整此阈值:solve/set/poor-mesh-numerics/set-quality-threshold。
solve/set/poor-mesh-numerics/gradient-quality-based?
这确保了使用基于单元梯度质量的标准检测和处理差网格。当标准值等于或小于定义为此文本命令的一部分的阈值时,将应用poor mesh numerics。此文本命令仅适用于基于压力的求解器,不支持具有周期性边界的情况。请注意,初始化后,可以使用Gradient Quality Measure字段变量(在Mesh…类别中)对该标准进行后处理;差网格的值接近0,而好网格的值接近1。显示云图时,建议启用Filled选项并禁用Node Values选项,因为此度量值是在单元中心计算的。
solve/set/poor-mesh-numerics/solution-and-quality-based?
这确保了使用基于求解和网格单元质量的标准检测和处理差网格。当标准值等于或小于定义为此文本命令的一部分的阈值时,在指定的频率(迭代次数或时间步数)下应用poor mesh numerics。此文本命令仅适用于基于压力的求解器。请注意,在运行迭代后,可以使用Solution and Cell Quality Measure字段变量(在Mesh…类别中)对该条件标记的网格单元进行后处理;标准值低于阈值的网格(即差网格)及其相邻网格的值为1,而所有其它网格(即好网格)的值为0。显示云图时,建议启用Filled选项并禁用Node Values选项,因为此度量值是在单元中心计算的。
solve/set/poor-mesh-numerics/user-defined-on-register
在提示下回答“yes”,以将寄存器中的网格单元包含在poor mesh numerics处理中。系统将提示您输入要包含的寄存器的名称或ID。请注意,如果在提示下回答“no”,则先前包含在寄存器中的任何网格单元都将从poor mesh numerics的网格列表中删除。
如果在poor mesh numerics中包含用户自定义的寄存器,差网格统计信息的报告(使用mesh/repair-improve/report-poor-elements文本命令)也将包括由user-defined-on-register命令添加的网格。例如图2:

图2 差网格统计
注意:统计数据不仅报告寄存器中包含的网格,还报告它们的相邻网格,从而导致识别出的网格总数更大。
重要提示:维护基于寄存器的网格是您的责任。如果更改网格(例如,使用网格操纵或自适应),则必须再次使用user-defined-on-register命令。在命令提示下输入“yes”以根据新的单元寄存器更新网格单元,否则,输入“no”以从poor mesh numerics列表中删除所有网格单元。
在应用poor mesh numerics时,还有一些其他文本命令非常有用,这些命令的定义如下:solve/set/poor-mesh-numerics/print-poor-elements-count
打印出每个标准标记的差网格数量列表:默认、网格单元质量和用户自定义,以及(如果启用)单元梯度质量与求解和网格单元质量,如图3。

图3 打印差网格数量
solve/set/poor-mesh-numerics/reset-poor-elements?
重置差网格,包含的默认、网格单元质量、用户自定义、单元梯度质量以及求解和网格单元质量标准。通过内部网格检查确定的差网格将被保留。
图4为激活poor mesh numerics功能后,速度场计算收敛性得到改善的案例。

图4 激活poor mesh numerics后流场计算的改善
免责声明:
1、本站所有资源文章出自互联网收集整理,本站不参与制作,如果侵犯了您的合法权益,请联系本站我们会及时删除。
2、本站发布资源来源于互联网,可能存在水印或者引流等信息,请用户擦亮眼睛自行鉴别,做一个有主见和判断力的用户。
3、本站资源仅供研究、学习交流之用,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担。
4、侵权违法和不良信息举报 举报邮箱:cnddit@qq.com
还没有评论,来说两句吧...