同位網格下,用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 } 
ight) + frac { Delta x ^ { 2 } } { 8 } frac { Delta t } { 
ho } left( frac { partial ^ { 3 } p } { partial x ^ { 3 } } 
ight) _ { e } + frac { Delta x ^ { 2 } } { 8 } left( frac { partial ^ { 2 } u } { partial x ^ { 2 } } 
ight) _ { e } + O left( Delta x ^ { 4 } 
ight)

其中,第一個截斷誤差壓力梯度三階導,是可以耗散掉壓力場中非物理震蕩。第二個截斷誤差速度梯度的二階導是非定常修正引入的,會帶來額外的耗散。

2.中截面,Uy速度隨時間步變化圖:可以發現MMI方法的速度分佈與時間步完全無關

OMI, No Choi Correction
OMI, With Choi Correction
MMI

推薦閱讀:

相關文章