如何设置一个入口边界条件:入口边界值为出口平均值的一半
-
@D-Benjamin 您好,我想咨询一下,我用codedFixedValue边界条件
label patchIndex =this->patch(). boundary. findPatchID(”“outlet”); const volVector& U=this->db(). lookupObject<volVectorField>("U.particles");
这两行读取的速度就是outlet的出口颗粒速度吧
-
@D-Benjamin 如果那两行是它的速度的话,然后我再U去获得它的x方向速度,令它等于入口x的速度,这样子就可以了吧?非常感谢
-
@D-Benjamin 大佬,冒昧问一句可否加个联系方式交流交流,我看到您要实现的也是进出口的通量关系,论坛可能不方便qq1533317221
-
@D-Benjamin 刚才试了加上最后面那个面标号,运行好像出了点错误,待我明早去实验室确定一下。
-
@cxzhmg 谢谢您的回复!您的回复给了我很好地思路,我有几个问题:
-
在gsum求和再付给入口之前需要进行面平均处理,所以可能正如您所说,在循环出口边界的时候,每个processor多计算了分界处的网格,才导致并行计算结果大于实际结果。您推荐用g开头的openfoam自带的函数给了我很好地思路,所以如果有一个g开头的取某个场面平均的函数就好了,然而gAverage()是算数平均,不是面平均。另一个思路是如果有一个g开头的函数可以得到某个场关于出口网格面的积分值,然后除以整个出口的面积,也可以得到面平均。
-
所以,请问在哪里可以查到如gSum()这些g字开头的函数?并行计算我现在只知道gSum()和gAverage()两个函数,我想更多地了解一下,要是能够找到我上面所说的g开头求场面平均或者求场的面积分函数就好了。
期待回复,祝好!
-
-
@D-Benjamin 具体一共都有哪些函数我也不是很清楚,具体函数和怎么用通常都是看看openfoam自带的边界或者求解器或者其它的应用有类似你想获得功能,就去翻源代码。gsum应该也可以对边界上的网格体积或者面进行求和,应该就能实现你说的功能。