运行pisoFoam求解器时出现如下问题
-
执行pisoFoam的时候出现了以下问题,请问各位老师是哪里出了问题 该如何解决呢?
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 1304FOAM aborting
-
哪里单位不对,好好儿检查一下设置
-
感谢 确实是单位的问题
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计算会有较好的稳定性,这个较好的稳定性具体体现在哪里呢?
-
我对interFoam本身怎么求解的不了解,它用VOF方法么?但我估计是因为,虽然不可压情况下一般都用压强除以密度,但是多相流情况下每相密度不一样,这么操作没有意义。更重要的是,假设一个cell里面同时存在两相,比如一个液滴和空气的交界面处,这两边的压强是不一样的。
你第二个问题关于p_rgh的我也不清楚,看看有没有其他人知道。 -
@cccrrryyy
是呢 interFoam是用了VOF方法的谢谢大佬~
-
那应该是类似于我猜想的原因了,比如说密度,VOF里面某个cell的密度是两个相密度根据体积分数的加权平均,在交界处如果还用压强除以密度来处理的话无法涵盖这种变化。我有空也看看你说的p_rgh的问题哈。
-
@cccrrryyy 好的!谢谢~