聊一聊同位网格的速度压力解耦



  • 速度压力失耦问题已经大量的讨论过了,目前同位网格的处理主要依靠Rhie-Chow插值原理。然而,相关研究学者已经指出Rhie-Chow差值问题依赖于时间步长和松弛因子以及体积力,如下:

    Majumdar S. Role of underrelaxation in momentum interpolation for calculation of flow with nonstaggered grids[J]. Numerical Heat Transfer, 1988, 13(1): 125-132.
    Yu B, Tao W Q, Wei J J, et al. Discussion on momentum interpolation method for collocated grids of incompressible flow[J]. Numerical Heat Transfer: Part B: Fundamentals, 2002, 42(2): 141-166.
    Choi S K, Kim S O, Lee C H, et al. Use of the momentum interpolation method for flows with a large body force[J]. Numerical Heat Transfer: Part B: Fundamentals, 2003, 43(3): 267-287.

    经过研究OpenFOAM代码,并没有发现植入低松弛因子的Rhie-Chow插值增强版,经过简单的测试:使用非常低的松弛因子,原本300步就可以收敛了简单算例,我模拟了25万步,确定收敛后确实压力产生了震荡(如下图)。有兴趣的人可以试试研究研究把相关算法植入到OpenFOAM。

    0_1490361991362_p.jpg

    有意思的是,在这个结果基础之上,使用正常松弛因子计算几十步zhihou,压力波消失

    0_1490362967262_p2.jpg



  • @李东岳

    我觉得关键在于,压力速度耦合没有连续的方程,才需要用到离散的线性化的方程去凑,然后离散的方程你懂的,松弛、非定常、体积力、延迟修正、非正交修正啥的都进去了。

    不过我也不懂为啥没人直接求解压力泊松方程。逻辑上讲(压力泊松方程+动量方程)应该和(连续性+动量方程)等价的,而且泊松方程貌似是可以超松弛迭代加速收敛的,而不是用亚松弛迭代。



  • 那个谁的《The Finite Volume Method in Computational Fluid Dynamics An Advanced Introduction with OpenFOAM® and Matlab®》书中自带的程序就有修正

    下载地址:http://extras.springer.com/Zip/2015/978-3-319-16873-9.zip,修得咋样我也没试过。。。



  • foam-extend 有修正的版本。看了一下,是分项松弛的,只对压力项有松弛,别的体力(非定常其实就是惯性力体力)项没有动。


登录后回复
 

与 CFD 中国 的连接断开,我们正在尝试重连,请耐心等待