Cyclic周期性边界条件



  • 假如对上下两个面设置周期性边界条件cyclic或者cyclicAMI的话,这两个面就不存在压差了,请问各位前辈们有没有 可以设置压差的周期性边界条件,或者应该怎么解决?



  • 这个需要在动量方程中添加固定的压差源项来实现



  • @东岳 谢谢东岳老师


  • OpenFOAM教授

    这个应该可以用Jump boundary conditions实现:https://openfoam.org/release/2-2-0/boundary-conditions/



  • @气固两相流
    你可以试试用fixedJump,这个条件实现的类似是固定压差边界条件(计算域前后),和动量源项加压力梯度略有不同(每个网格grad(p)的基础上添加恒压力梯度)。我对结果的对比也感兴趣。欢迎反馈!



  • @wwzhao 感谢前辈指点



  • @东岳

    inlet
        {
            type               fixedJump;
            patchType       cyclic;
            jump            uniform -151;
            value           $internalField;
    
        }
    
        outlet
        {
         type            fixedJump;
        patchType       cyclic;
        value           $internalField;
    
        }
    

    这是固定压差边界条件的设置,可以解决cyclic周期边界条件的无压差的问题,觉得效果不错

    11.jpg





  • @东岳 哦哦,对对对,能通过边界条件来实现的话就方便多了!:ok:



  • 我想问下对于channel流动的模拟,四周都设为cyclic,上下是壁面的话,我初始压力设成8MPa,随着计算的进行,压力逐渐地减小,现在变成了1.5MPa,这是正常的吗?
    如果是的话,因为我本来的目的是在想超临界状态下(8MPa)进行DNS模拟,但现实的压力是不断在减小,那么是不是有违原来的目的?但是自己的物性又是根据查表法获取的,也就是在定压(8MPa)下,根据温度查的物性,感觉又是在超临界压力下进行的物性迭代。
    对这个现象有点迷惑,还望指点。



  • 周期性流动一般都需要添加压力梯度来固定平均流速。你看看你的平均流速有没有减小。需要运行一段时间才能看出来



  • @东岳 我有添加fvOptions,里面有meanvelocityForce;速度场我算之前加了扰动,本来Ubar是0.081m/s,加完扰动最高速度有0.2多,算着算着最高速度降低到0.096m/s,随着时间的推移,y方向的平均速度轮廓基本不变。不知道压力是不是会下降呢?



  • @Calf-Z-DNS 速度正常,压力我这面没监控过还不清楚,找文献看看? ..



  • @东岳 谢谢!
    我用官方案例channel395,把压力从0调成了101325Pa,算着算着,压力变回成0了。所以我感觉这类问题的压力就是会降低吧。我想是因为四周都是周期性边界,可以流进流出,就相当于上下两个平板间的自由空间,流着流着就泄压了。不知道这样对不对。
    另外因为我的物性是通过查表法查的,表格的压力已经定死了,所以压力的变化不会影响物性的获取,算例还是在超临界状态下更新物性的,我想这也是方程采用低马赫数假设的一种体现吧?



  • 把压力从0调成了101325Pa,算着算着,压力变回成0了。

    这是某一点的还是哪的?
    关注过时间平均后的前后出口压差不?



  • @东岳 全场的压力都趋近于0了,感觉是压力释放没了。
    没有关注过前后出口压差诶。应该是不断下降得吧。



  • @Calf-Z-DNS 我最近计算周期边界也发现了这个问题。我测试的系统是个2维系统,左右(x方向)壁面,上下(z方向)周期,,y方向一层网格empty,算气固两相流,用twoPhaseEulerFoam求解器,重力方向沿-z,然后用fvOption的meanvelocityForce保证气体全场平均速度为定值,初场给定固含率0.1。计算开始全场平均压力不断降低,不过监测的全场平均气体速度确实是我给定的值,最奇怪的是整体固含率会不断降低,最后会降到非常低,局部最低固含率都负数了,然后固含率又开始升高,压力也开始升高……总感觉openFOAM里面的cyclic边界有问题……把fvOption去掉,仅在重力下计算,也有同样的现象。不知道你对这个问题有什么新的认识吗?


  • OpenFOAM副教授

    Sorry, I don't have chinese input this moment.

    总感觉openFOAM里面的cyclic边界有问题?

    Can you provide your test case?

    I did not see any report (cyclic precision issue) in OpenFOAM bug report website.

    I create a new case to study it if you interested in.

    Comment anything as you will.



  • @random_ran 谢谢您的回复,这是我的测试算例cyc_test.zip

    我的算例是两相流的2D算例,求解器用的twoPhaseEulerFoam,重力沿-z,然后fvOption的meanvelocityForce给了气体一个+z方向的源项保证气速,计算开始后我输出的全场平均压力在不断降低,固含率也无法保持恒定。虽然不可压缩流动的绝对压力没有意义,但是总压和固含率的变动无法解释。并且这种情况在撤掉气体上的源项,也即只施加重力的情况下仍然存在。

    关于channel395的算例,如果把初始的压力场不设为0,也会出现迅速泄压的情况,不过看起来流场还是比较正常。对于C++和openFOAM都是刚接触,基本照着算例改的,很多设置还没有搞清楚,不知道是不是我的设置有问题?



  • @random_ran @Calf-Z-DNS @东岳 各位大神,我在CFD-online上找到了一个类似的问题%(#006fff)[https://www.cfd-online.com/Forums/openfoam-solving/146839-cyclic-boundary-violates-mass-conservation.html],似乎cyclic BC在处理两相流的时候会导致质量不守恒。苦于刚接触C++和openFAM,我确实看不明白cyclic边界具体是如何实现的。请问各位有什么理解,有什么文章可以推荐一下吗?




  • OpenFOAM副教授

    @cxzhmg

    我对 OF 理解也不是特别深。特别是你这里还有多相流的问题,求解器我也是从来没用过的。

    我只能从非常有限的角度去解读,或许能帮助到你,但不能保证你能解决问题。最终还是要靠你自己的。

    今天晚上,我来好好研究一下。


  • OpenFOAM副教授

    @cxzhmg

    你这个 case 我 run 的好长时间啊。

    半个小时才跑了 1/4。

    我明天继续研究。



  • @random_ran 谢谢您的关注。我在controlDict里面输出了全场的固含率、速度、压力,不需要计算完就可以看到质量明显的不守恒。

    如果您把fvOption加的源项去掉,仅在重力作用下计算还会出现颗粒相沿重力反方向运动的非物理现象……

    但是如果我不使用周期边界,上下边界也设成壁面,是会出现比较正常的固相堆积在底部,气相被挤压到上部运动趋势和结果,且质量是守恒的。

    所以我考虑问题应该还是出在cyclic边界上,具体需要看一下cyclic怎么实现,对于单向流和多相流的差别在什么地方,我最近也好好研究一下。如果您有什么想法和发现,欢迎讨论和指导。



  • @cxzhmg 我之前跟同学讨论的是泄压可能是因为设置cyclic的效果就像是一道虚设的面,面上可以流进流出,而真正有阻挡作用的是wall壁面,因此channel就像是上下两个平板之前存在一个自由流动的空间一样,于是留着留着就泄压。但如果像圆管那样四周都是wall,就不会泄压。另外我采用了低马赫数假设,压力的变动不影响物性计算。因此无论压力是否泄压,我的物性计算还是正常的。



  • @Calf-Z-DNS 圆管不会泄压吗?我计算二维的box,左右壁面,也是会出现泄压的问题。如果cyclic确实是周期边界的话,我觉得即使是3维无限大平板间流动,或者三维全周期流动,也都不应该出现泄压或者质量不守恒的问题,因为从任何边界流出去的都会从对应的neighbour流进来,所以我怀疑openFOAM里面的cyclic并不是准确的periodic,当然具体还是要看代码,我最近正在看。


Log in to reply
 

CFD中文网 2016 - 2020 | 京ICP备15017992号-2