OF使用SIMPLE计算10步报错停止,SIMPLEC成功迭代收敛的原因
-
各位Foamers,几分钟前那个帖子,关于T形管模拟计算10步报错终止的问题我已经解决,解决方法是在fvSolution的子字典中将consistent关键字调成yes,使用SIMPLEC算法,就能够成功模拟了。但是我仍然疑惑不解,为什么SIMPLE算法出错,而SIMPLEC算法却成功运行呢?下面是0文件夹下的文件截图,我猜想,是不是我这些初边条件设置只适合SIMPLEC算法?求大神帮忙解答,谢谢!!
-
@队长别开枪 你好,我后来又仔细查看了一些算例中SIMPLE算法和SIMPLEC算法设置的一些区别,发现正如你所说,错误在松弛因子的设置上面,,,我发现SIMPLEC的松弛因子设置是这样的:
relaxationFactors { equations { U 0.9; ".*" 0.9 } }
而SIMPLE算法的松弛因子是下面这样的:
relaxationFactors { fields { p 0.3; } equations { U 0.7; k 0.7; eplison 0.7; } }
对此,我又有一些疑惑,之前我采用了SIMPLE算法计算,而松弛因子设置采用的是第一种,所以才出现计算10步出现错误,后面改成第二种,就可以运行了,也就是说,这是因为每一种算法,有其对应的松弛因子设置吗?而对于第一种设置(SIMPLEC)来说,没有fields子字典,是不是表示对压力没有进行松弛计算?还有一个疑惑是,equations子字典中的“ . * ”表示什么东西?期待你的回复,谢谢!!
-
@d-benjamin 松弛因子取值主要和算例本身相关,一般流场变化不剧烈就可以使用比较大的值,剧烈的话就调小,这个值就是设定每个迭代结束后使用新值的权重,本质上减小松弛因子相当于减小时间步长。SIMPLEC改进了通量修正方法,没有为压力设置松弛因子。对于SIMPLE算法,一般都是要设置松弛因子的。
".*"
表示everything。