关于两相流计算某一相流过某一个面上的流量



  • 用 interFoam 模拟一个简单的两相流,假如是相a 和相b ,计算某一个面上的流量phi时,
    计算了phi(sum),phi(a)和phi(b),但是最后的结果是phi(a)+phi(b)不等于phi(sum)。

    例如计算phi(a),用的是下面这个公式:(求教怎么插入图片啊)
    语言描述一下吧:就是速度乘以面的法向矢量乘以相分数a,然后做面积分。

    请教一下:这个做法对吗?我觉得有问题,相分数是针对每个cell的,如何做面积分?或者应该怎么求每一相的流量



  • @Lisics

    但是最后的结果是phi(a)+phi(b)不等于phi(sum)。

    怎么验证出来的?
    另外,通量phi的计算是速度矢量*面积矢量。不需要做积分。Here:通量
    phia和phib在interFoam里面应该都已经声明了。不需要计算了。



  • 哦,谢谢。不过还有几个疑问。
    我是用swak4Foam做后处理,算phi(或者说Q体积流量)时,openfoam中 每个时间步里给定的速度值,都是每个cell的值。所以我的想法是分别求一个截面上总流量Q和相a的流量(Qalpha_a)和相b的流量(Qalpha_b)。然后用得到的数据算流经某个截面的两相流量和是否等于总流量。

    另外,interFoam里每个时间步里给定的p 和U的值都是cell的值,给出的phi是每个内部面的总的流量phi。对于面速度矢量,压力和每相流量是怎么给出的。是需要做后处理提取数据吗?感谢回复。(linux下是不是没法插入图片啊,还是我的浏览器的问题?)



  • 对于一个面,要计算体积流量,另一种方法是通过phi乘以面积来获得。

    对于面速度矢量,压力和每相流量是怎么给出的?

    面速度=fvc::interpolate(U)是插值过来的。不需要后处理,再求解器里面已经处理好了。所以显然的

    • phi=fvc::interpolate(U) & S
    • Q=fvc::interpolate(U) & S * mag(S)
    • phia=alpha1f * fvc::interpolate(U) & S
    • Qa=phia * mag(S)

    多谢反馈。手边目前没有linux系统。你用的什么浏览器?没有这个标志?
    0_1464651115330_捕获.JPG



  • @cfd-china 我是直接把图片拖进来



  • @cfd-china 你好,请问这些0_1464744889239_question.png 代码从哪里可以看到。非常感谢,这些表达式很清楚明了,确实解决了我的疑惑。另外,公式中的alpha1f指的是面相分数吗?如果是,alpha1就是指体相分数吧。这个alphaf又是怎么得到的呢?

    (关于插入图片的问题,linux下浏览器也是有插入图片的选项的,只不过当时插入时编辑框和显示框都显示的是下图左边的样子,我误以为不能提交图片。这次是在windows下编辑的,下次试着在linux下提交试试)![0_1464745301181_FGXV@CVX223IKY4(]7I(Z7K.png](/uploads/files/1464745301380-fgxv-cvx223iky4-7i-z7k.png)



  • @Lisics @cfd-china 用同样的方法,不知道第二张图片为什么没显示出来。linux下就是第二种那种情况。



  • Hi @Lisics

    alphaf在代码中通过alphaEqn.flux()来获取。phicreatePhi.H文件中定义。Q是我自己定义的。

    我手边没有linux,改天找linux测试一下。你是什么linux浏览器?Firefox?Chrome?



  • @cfd-china Firefox:happy:


Log in to reply