大于治水
首发于大于治水

修正动量插值方法植入OF的测试

同位网格下,用PISO算法计算非定常问题时,有个问题总会带来困扰,那就是求解结果总会与时间步选择有关。为了消除该项的影响,很多人提出了各种修正方法。

OpenFOAM中采用的是经验的Choi修正,也就是在phiHbyA中加入的ddtCorr项。之所以是经验的,是因为完全Choi修正在OF中有时会计算不稳定,该问题在程迪博士的博客里有过总结,可另作参考

OpenFOAM的不可压缩流算法chengdi123000.github.io

ddtCorr的加入并不能消除时间步的影响,而且还会引入较大的耗散。

修正动量插值(MMI)表示可以解决时间步和松弛因子的影响。


将该方法植入OF后,用2D方腔流做测试,Re=1000

选取四个时间步: \Delta t _ { 1 } = 0.1 s , \  \Delta t _ { 2 } = 0.01 s , \  \Delta t _ { 3 } = 0.001 s , \  \Delta t _ { 4 } = 0.0001 s ,结果如下:

1.监测X=0.65, Y=0.65点处的压力:至定常后,统计该点随时间步的变化情况,可以发现MMI方法下的压力变化随时间几乎无影响

监测点压力随时间步变化

多说一句,MMI在时间步较大的时候有些变化的原因,因为动量插值在时间上是一阶精度,通过Taylor展开分析可得如下结论:

{ u } _ { e } ^ { n + 1 } = \frac { 1 } { 2 } \left( { u } _ { P } ^ { n } + { u } _ { E } ^ { n } \right) + \frac { \Delta x ^ { 2 } } { 8 } \frac { \Delta t } { \rho } \left( \frac { \partial ^ { 3 } p } { \partial x ^ { 3 } } \right) _ { e } + \frac { \Delta x ^ { 2 } } { 8 } \left( \frac { \partial ^ { 2 } u } { \partial x ^ { 2 } } \right) _ { e } + O \left( \Delta x ^ { 4 } \right)

其中,第一个截断误差压力梯度三阶导,是可以耗散掉压力场中非物理震荡。第二个截断误差速度梯度的二阶导是非定常修正引入的,会带来额外的耗散。

2.中截面,Uy速度随时间步变化图:可以发现MMI方法的速度分布与时间步完全无关

OMI, No Choi Correction
OMI, With Choi Correction
MMI

编辑于 2018-12-14

文章被以下专栏收录