Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
@thomasshi
可以参考 forces 这个 functionObject,里面有计算多孔介质力的方法,前提是你的多孔介质力是用 porosityModel 来算的,比如 fixedCoeff或者DarcyForchheimer模型。
@xpqiu 您好,谢谢回复!我看了那个forces函数,但是我的多孔介质区域并没有对应的patch,所以我不知道该怎么用那个函数,请问您有什么办法吗?
不需要指定 patch 请看 forces.C 里面的 calcForcesMoment 函数, if (porosity_) 这个分支下面的内容,这部分是计算porous force 的方法。
@xpqiu 好的,谢谢,我试一下
@xpqiu 您好,想再请教您一下。这个函数求得结果在postProcess文件夹里的是整个计算域内多孔介质源项的porous force的合力吗?我的计算域是弯道的,多孔介质区域是好多根并排的圆柱体,那这个合力作用位置和方向该怎么确定呢?
@thomasshi 是合力,按照多孔介质阻力的公式,算出来多孔介质所作用的 cellZone 里面每一个网格的多孔介质力,然后按矢量加法全部加起来,最终得到一个合力矢量。
@xpqiu 好的,非常感谢!
@xpqiu 您好,我现在发现了一个新的问题。我在论坛里看到在paraview里求解拖曳力的方法,可以提取多孔介质区域的表面,然后生成表面法向量Normals,用计算器功能计算p*Normals的分量,再用Integrate Variables 积分就可以得到多孔介质区域的拖曳力啦。但是不知道为什么,我用中国方法计算得到的拖曳力和用forces function后处理得到的拖曳力差很多,甚至数量级都不一样。想请教一下您这是怎么回事。谢谢!
@thomasshi 有两个问题:
@xpqiu 老师您好,我有一个关于监测多孔介质区域体积力的问题想请教下您,我在波浪场中前后设置两块多孔介质区域porosity1和porosity2,然后用function函数分别输出porosity1和porosity2的受到的体积力,但是两个输出的力是一模一样的,经过计算我发现输出的力是porosity1和porosity2的合力,也就是说openfoam没有办法分别输出porosity1和porosity2各自的受力?谢谢老师!