内容纲要
最近在重新录制【Fluent验证案例】,目前已经全部录制更新完毕。虽然案例大多比较简单,但在录制过程中还是碰到了不少的问题,其中遇到最多的问题是收敛问题。有些案例参数设置很简单,但计算的时候死活就是不收敛甚至发散。这里总结一下常用的收敛控制策略。
将仿真问题分成两类进行考虑。一类问题是物理现象较为简单明确,但计算区域极其复杂。另外一类是物理问题特别复杂的,如涉及到复杂的湍流现象、多相流、燃烧及化学反应等,这类问题常常在物理建模时存在大量的简化假设,在数值计算时存在大量的经验模型。对于第一类问题,影响收敛的因素主要是网格,通过调整网格质量可以有效地改善收敛。而对于第二类问题,出现收敛困难时首先需要考虑的是物理模型、边界条件、求解算法,最后才是网格,因为模型对于收敛的影响远大于网格。
在CFD计算过程中,常用的判断收敛方式包括:
-
查看计算残差。对于二维问题,常将残差控制在1e-5以下或更低,三维问题残差通常要求1e-3以下,瞬态计算可以适当放宽要求。 -
监测关键区域的物理量变化。一些复杂物理问题计算残差常常很难满足 要求,此时可以通过重点区域的物理量变化来判断计算是否收敛。
这两种方式在实际应用过程中可以同时使用。
遇到不收敛和发散怎么办?下面是一些个人经验:
-
检查网格。通过点击 General
面板中的Check Mesh
按钮,查看网格检查是否通过。在使用一些特殊边界条件(如interface、periodic边界)时尤其需要检查,因为可能会由于粗心大意忘了配置边界而导致流场数据传输出现错误,这类网格问题通常会导致计算在一两次迭代后发散。 -
检查网格质量。通过点击 General
面板中的Report Quality
按钮,该功能按钮会在TUI窗口输出网格正交质量与长宽比信息。一般最小正交质量不低于0.2,最大长宽比不大于100的网格都不会有太大问题。不过如果正交质量太低,就需要检查并确认网格。在一些边界层网格中,长宽比可能会达到几千几万,这并不会引起太大的问题(边界层网格主要强调与壁面的正交性),但如果长宽比很大的网格并不是出现在边界层内,则需要对这些网格进行修改。 -
采用自适应网格。对于一些流场变化非常剧烈的场合,使用自适应网格对于减轻网格对收敛的影响比较有效。但使用这种方法还是要慎重,会出现一些意想不到的问题。 -
检查模型和边界条件。这个没有什么好经验,具体问题具体对待,做好数据确认和验证工作。 -
在求解方法中,Coupled算法收敛通常比较快,但如果出现不收敛,则经常表现为残差振荡。Pseudo Time Method配合Coupled方法对于大多数问题是最优选择,不过要注意防止迭代次数不够而出现假收敛的情况,最好同时做一下变量监测。Coupled无法收敛的时候可以尝试PISO、SIMPLEC或SIMPLE,这三个算法收敛性都差不多,不过SIMPLEC多了歪斜修正,PISO则多了歪斜修正与正交修正,对于低质量网格效果更好一些。 -
高阶算法未必收敛性就一定比低阶算法差。有时候像动量等方程,二阶(现在的版本大多默认采用二阶精度)无法收敛的时候,不妨试试更高阶格式(QUICK、MUSCL等),可能会有意想不到的效果。事实上低阶格式只是相对更稳定,并没有证据表明其收敛性更好。 -
亚松弛因子只能锦上添花,无法雪中送炭。 -
计算振荡非常严重时,可以试试在 Controls
面板中点击按钮Advanced...
打开对话框修改一下Multigrid参数,将一些振荡极为严重的方程改成V循环或W循环,并明确指定稳定方法,有时候有奇效。不过如果出现振荡极为严重的现象,问题多半出现在模型或边界条件上,最好先检查这个。 -
计算之前点击 Check Case...
按钮,可以看看软件提供的建议 -
暂时就这么多了,后面想到了再补充~
(完)
本篇文章来源于微信公众号: CFD之道
评论前必须登录!
注册