OpenFOAM中压力参考点设置疑问
-
-
T tidedrinker 被引用 于这个主题
-
@李东岳 李老师您好!借机请教一个问题,fe40版本,在使用interFoam求解器过程中设置了pRefPoint的坐标,但是在流场在监测得到的压力场p并未发生改变。如图所示,整个计算域均为水,上下边界为壁面,我将pRefPoint设置到上边界位置,且pRefValue为0,但是计算结果与预期不同。
图1 计算域全部是水
图2 计算域压力分布(我认为这里的p是总压,pRefPoint设在上表面且pRefValue=0,因此我认为流场从上至下应该是0p ~ 4e+5)
还有一个问题,时间文件夹中有pd但是在paraview中找不到这个选项,只能找到p,请问是bug还是我操作有误。
请李老师指点迷津,感谢感谢!!!
-
@李东岳 李老师您好!我使用fe-40是为了二次开发fsiFoam,我在网上搜到了将interDyMFoam植入成为流体求解器的教程,因此技术路线就一直延续下去了。我看了一下fe40和ofv2206中interFoam的代码,我给出了我的理解,请李老师帮忙看一下我说的对不对。
fe40的interFoam的createFields.H对“gh”的定义如下:
Info<< "Calculating field g.h\n" << endl; volScalarField gh("gh", g & mesh.C()); surfaceScalarField ghf("gh", g & mesh.Cf());
ofv2206中interFoam的createFields中包含gh.H,其中对于gh的定义如下:
volScalarField gh("gh", (g & mesh.C()) - ghRef); surfaceScalarField ghf("ghf", (g & mesh.Cf()) - ghRef);
这也就是为什么ofv2206的算例在constant中有ghRef文件,而fe40没有。
在fe40中,通过transformPoints -translate vector操作对网格坐标进行平移得到的总压p与理论一致。
我将计算网格向下移动使得上表面y坐标为0。上表面的边界条件是pd(相当于p_rgh)totalPressure,value=0。
下图为网格坐标未移动的结果。
仅代表个人理解,请各位foamer提出宝贵意见,我及时进行修改以免传播错误。
-
还有能不能请教一个问题?
我看到你的算例中也有p和pd,这俩的关系不就是p=pd+rho*gh吗?那么我想问的就是这个h有负值吗?我的理解是,比方说一个二维算例(xoy平面内),流场中的任意一个网格单元中心相对于坐标原点(或者说x轴)都有这样一个h,那么在代码中的h是该网格单元中心处的y坐标值还是y坐标的绝对值? -
@yuan您好!我觉得是坐标值而非绝对值。