二、计算不能收敛原因
主要是这几个类型:
1、网格单元质量太差;
2、材料参数、边界条件的设定等组合不恰当或者违背物理规律;
3、求解方式和参数设定不合理;
单元质量太差是一个很常见的导致计算不收敛的原因,劣质的单元会导致某些敏感区域数值不稳定。
三、对于CFD计算,建议网格标准如下
1、面单元,三角形内角范围20-120度,四边形单元45-135度;
2、四面体单元,扭曲度不超过0.9,最好控制在0.85以下;
3、相邻单元之间尺寸比例不超过1.5;
4、边界层区域,注意是否满足湍流模型相对应的y+数值要求;
5、单元密度是否分布合理,在流动复杂的区域有较密集的单元。
材料参数、边界条件等涉及物理实际场景的设定,如果设定不合理,也会导致计算不收敛。因为软件中设置的情况,很有可能在现实世界不可能发生。典型例子,多相流计算中,各个副相体积比总和超过100%,导致主相体积比为负数。此时计算不收敛是正常现象,因为这个在现实中不可能出现(某种组分在混合物的比例,只可能0-100%)。此情况下即使计算收敛,结果也是非物理解,没有参考价值。
从数值计算角度,某些求解方式本身就存在数值不稳定或者难以收敛的问题。对于瞬态计算,过大的时间步长也会引起计算不收敛。
四、不收敛原因排查步骤
1、检查单元质量,保证不存在劣质单元;
2、如果问题复杂,考虑因素很多,则先采用考虑因素较少的简单模型;
3、是否收敛,随后依次添加各影响因素;
4、仔细查看各个设定,检查是否存在违反物理规律的设定;
5、修改计算格式,瞬态计算还可以减少时间步长;
6、修改松弛因子。
如果网格质量良好,迭代残差在开始后不久就向着无穷大方向上升,通常在步骤2、3中会发现问题。