运行pisoFoam求解器时出现如下问题



  • 执行pisoFoam的时候出现了以下问题,请问各位老师是哪里出了问题 该如何解决呢?:xiezuoye:

    FOAM FATAL ERROR:

    [U[0 1 -2 0 0 0 0] ] == [-grad(p)[0 -3 -2 0 0 0 0] ]

    From function void Foam::checkMethod(const Foam::fvMatrix<type>&, const Foam::DimensionedField<Type, Foam::volMesh>&, const char*) [with Type = Foam::Vector<double>]
    in file /home/ubuntu/OpenFOAM/OpenFOAM-6/src/finiteVolume/lnInclude/fvMatrix.C at line 1304

    FOAM aborting


  • OpenFOAM讲师

    哪里单位不对,好好儿检查一下设置



  • 感谢 确实是单位的问题
    pisoFoam里面用的是p,之前用interFoam时是p_rgh,刚刚对比了一下发现二者量纲确实不一样(pisoFoam的0文件夹中,p的量纲是[0 2 -2 0 0 0 0], 而interFoam的0文件夹中,p_rgh的量纲是[1 -1 -2 0 0 0 0 ])。
    为什么在pisoFoam里用的是除以了密度的p,interFoam中就没有除以密度呢?

    另外也看到有文章说用p_rgh计算会有较好的稳定性,这个较好的稳定性具体体现在哪里呢?:chitang:


  • OpenFOAM讲师

    我对interFoam本身怎么求解的不了解,它用VOF方法么?但我估计是因为,虽然不可压情况下一般都用压强除以密度,但是多相流情况下每相密度不一样,这么操作没有意义。更重要的是,假设一个cell里面同时存在两相,比如一个液滴和空气的交界面处,这两边的压强是不一样的。
    你第二个问题关于p_rgh的我也不清楚,看看有没有其他人知道。



  • @cccrrryyy
    是呢 interFoam是用了VOF方法的

    谢谢大佬~


  • OpenFOAM讲师

    那应该是类似于我猜想的原因了,比如说密度,VOF里面某个cell的密度是两个相密度根据体积分数的加权平均,在交界处如果还用压强除以密度来处理的话无法涵盖这种变化。我有空也看看你说的p_rgh的问题哈。



  • @cccrrryyy 好的!谢谢~:xinxin:


Log in to reply