OpenFOAM中压力参考点设置疑问
-
-
《OpenFOAM用户指南-9》(下载来自东岳流体 http://www.dyfluid.com/ )中2.1节 顶盖驱动流,第7页底下注释提到设置要参考点:
-
fvSolution中设置如下:
PISO { nCorrectors 2; nNonOrthogonalCorrectors 0; pRefCell 0; pRefValue 0; }
- 疑问是
(1)pRefCell是指网格的序号吗?如果想指定确定的某一坐标(x0,y0,z0)作为压力参考点位置,如何确定pRefCell ?
(2)如果压力出口设置为固定值0,是否压力参考点就不起作用了?
请问哪位大佬能够帮忙解答一下,非常感谢
-
-
-
-
@李东岳 李老师您好!借机请教一个问题,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提出宝贵意见,我及时进行修改以免传播错误。