有关low Mach的疑问



  • 以前一直是做液体流固耦合的,最近老板突然要做弱可压流,有很多关于low Mach flow的疑问求问大家。
    假设现在跑一个亚音速的飞行器,let’s say Mach = 0.5, 然后我测试两个solver,一个rhoPimpleFoam,一个buoyantPimpleFoam,就简称为RPF和BPF吧(懒。。。)。 没测试可能就知道RPF更合适一些,但是想搞清楚为什么:

    • 首先BPF有重力浮力的影响,那我们可以干一件事就是把g(0 0 -9.81)直接设置成g(0 0 0 ),这样p_rgh就是p,RPM和BPM来到同一起跑线
    • 然后推导方程,直到构建泊松方程的时候两个solver都是一模一样的:

    \begin{equation}
    \frac{\partial \rho}{\partial t}+\nabla\cdot \left(\rho\mathrm{HbyA} \right) -\nabla \cdot \left( \rho \frac { 1 }{ { A }_{ p } } \nabla p \right) =0
    \end{equation}

    • 到目前为止没有任何的近似或者假设。

    然后就是RPF和BPF开始不一样了:

    • BPF:
      • 把第一项变成了fvc::ddt(rho) + psi*correction(fvm::ddt(p_rgh))
    • RPF:
      • transonic时:第一项第二项的rho都换成p/RT
      • 不transonic时:只把第一项的rho换成p/RT

    好多的疑问:

    1. BPF东岳哥的解析里面写的是相对rho_0和prgh_0的修正,在代码里看不出来😕 ,rho_0和prgh_0到底指的什么,常数?上一个时间步的值?
    2. RPF为什么多换一项rho就变成了transonic?
    3. RPF为什么只能跑transonic,哪里限制了它sonic,supersonic和hypersonic?
    4. 为什么最后一项的rho都没碰,也可以换成p/RT啊?


  • RPF为什么多换一项rho就变成了transonic?

    这个目前从理论来讲暂时不知道原因。我也在找关于transonic算法的文献。我目前觉得是要修正可压缩性,因为密度存在变化。

    RPF为什么只能跑transonic,哪里限制了它sonic,supersonic和hypersonic?

    rhoPimpleFoam属于压力基求解器,类似原始的PISO算法是可用于可压缩流和不可压缩流的。但是目前很少有人将PISO用于超音速流。超音速那面用密度基的比较多。这个在sci论文里面讨论的比较多。参考rhoPimpleFoam的介绍Transient solver for laminar or turbulent flow of compressible fluids for HVAC and similar applications.。主要用于可压缩流。

    rho_0等求解器自动储存了,其他代码问题有空我再看看。



  • 没有theory guide的弊端。。。



  • @李东岳 谢谢前辈!



  • @李东岳 顺便再问一下,到底什么是pressure-based和density-based,网上搜了不少,还是不很清楚。
    我现在理解是解泊松方程的比如BPF和RPF这俩都算是pressure based。density-based完全没概念。



  • @noringname
    最浅显的,压力基求解压力,密度基求解密度这个是知道的吧?



  • @李东岳 嗯嗯,暂时只知道pressure-based是: momentum–>u, 泊松方程–>p,能量方程–>T, 然后p=rhoRT求得rho。
    density-based网上搜的说是所有方程一起coupled解,具体怎么执行的不知道,还在搜索资料。



  • 密度基也可以分离求解,比如rhoCentralFoam,所以压力基分离求解器和密度基分离求解器,主要就是求解变量的不同。
    密度基耦合求解就是密度、速度、能量一起解,构成一个大方程组,就像速度(每个速度具有3个分量)。目前OpenFOAM还没植入这个算法,好像extend里面有coupled算法,暂不清楚。

    目前还没遇到有关基于OpenFOAM做coupled求解器的文章,都是分离式求解,要是看到可以共享下。



  • @李东岳 Thx!



  • @李东岳

    其实密度基/压力基,耦合/分离,显式/隐式 是几个正交的形容词。

    比如foam_extend的coupledPU就是耦合的压力基
    常规OF里的pimpleFoam就是分离的压力基

    DensityBasedTurbo就是显式的耦合的密度基
    OF的rhoCentralFoam就是显式的分离的密度基

    密度基和压力基求解压力时用的压力泊松方程/压力修正方程 还是 状态方程,压力泊松/修正方程是微分方程,状态方程式代数方程,所以差别比较大。

    耦合/分离看你的主变量在每个迭代/时间步里是同时更新还是分别更新的。

    隐式/显式看你的空间离散用没用未知时间步的量。具体隐式还分点隐/全隐之类的玩意儿。甚至可以半隐式。



  • @noringname
    参考楼上论述更详细。
    @程迪
    我不觉得 压力泊松方程/压力修正方程 还是 状态方程,压力泊松/修正方程是微分方程,状态方程式代数方程,所以差别比较大。有什么差别。



  • Ah okay, 你说的是压力方程和状态方程,那是的。我以为你说的是压力修正方程和压力泊松方程 😕



  • @李东岳 @程迪 恶补了一下密度基,追问一个问题,为什么密度基解不可压的时候不准,为什么压力基解可压的时候不准,有没有什么相关的资料可以看的,只知道这两个不准是大家纷纷改进这两个方法的motivation。


登录后回复
 

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