又仔细看了一下,两个版本应该是差不多的。
相对速度是因为CdRe不是曳力系数 而是曳力系数×雷诺数 所以可以用粘度、直径还有密度换算成相对速度。
anubis
帖子
-
bunrs湍流耗散力 -
bunrs湍流耗散力com版本和org版本的burns湍流耗散力好像不太一样
OpenFOAM8里的
Foam::turbulentDispersionModels::Burns::D() const { const fvMesh& mesh(pair_.phase1().mesh()); const dragModel& drag = mesh.lookupObject<dragModel> ( IOobject::groupName(dragModel::typeName, pair_.name()) ); return drag.Ki() *continuousTurbulence().nut() /sigma_ *pair_.dispersed() *sqr(pair_.dispersed() + pair_.continuous()) /( max(pair_.dispersed(), pair_.dispersed().residualAlpha()) *max(pair_.continuous(), pair_.continuous().residualAlpha()) ); }
OpenFOAM2012里的
Foam::turbulentDispersionModels::Burns::D() const { const fvMesh& mesh(pair_.phase1().mesh()); const dragModel& drag ( mesh.lookupObject<dragModel> ( IOobject::groupName(dragModel::typeName, pair_.name()) ) ); return 0.75 *drag.CdRe() *pair_.continuous().nu() *pair_.continuous().turbulence().nut() /( sigma_ *sqr(pair_.dispersed().d()) ) *pair_.continuous().rho() *pair_.dispersed() *( 1.0/max(pair_.dispersed(), residualAlpha_) + 1.0/max(pair_.continuous(), residualAlpha_) ); }
公式应该是
按照这个公式,感觉2012版本里的比较接近,但是还不太一样,相对速度Ur,在2012的代码里好像变成了连续相的粘度除以离散相直径,虽然量纲和速度是一样的,但是不太明白为什么会这样? -
粒子与网格归属问题@李东岳
遍历一次就可以了吧,我原来的想法是每次往数组最后添加元素(粒子的编号),不过刚搜了一下C++的数组大小是固定的(C++学的不太扎实), 换成vector可能可以? -
粒子与网格归属问题 -
请教一个cyclic边界条件的问题@李东岳
https://www.cfd-online.com/Forums/openfoam-solving/175539-cyclic-patchtype-inletoutlet-boundary-condition.html
我是这个帖子看到有人提到他用inletoulet和cyclic 一起用的,不过他说并行有问题,
所以我试了一下串行的时候确实可以, 并行我倒是没试过。
我感觉两个物理量,一个循环,另一个就普通的进出口,在理论上也没啥问题吧?只是openfoam给了patchtype以后,有的边界条件就能在cyclic patch type上用了。 -
请教一个cyclic边界条件的问题@李东岳 我现在用了inletoutlet , 是可以和cyclic的patchtype一起用的
-
请教一个cyclic边界条件的问题我想要做一个周期性循环的算例,但是不是所有的物理量都是循环的,标量场(比如温度)的进口是一个固定的值,可以在cyclic的patchtype实现这个吗?
-
关于openfoam中使用的双流体模型在看《Computational Fluid Dynamics of Dispersed Two-Phase Flows at High Phase Fractions》的时候碰到一个不太理解的地方。
一般的相间动量传递可以写成方程(3.10)
为了模拟phase inversion, 方程(3.11)加入了b相变成离散相时的曳力、升力等。
但对于方程(3.11)的曳力相,如果仍然是a相为离散相的情况,$\alpha_a$→0 ,$ f_a$→0,
那曳力相前面的部分不就变成$3/4\alpha_a\alpha_b(f_b\frac{C_{db}\rho_a}{d_b})$,和(3.10)里的不一样,b相变成分散相时候应该才是这个形式,虚拟质量力也是一样的情况。 升力也对不上。 -
interFoam + 非正交网格计算最近算了一个气泡在静水中上升, 计算域用的是圆柱,气泡从底部开始上升,底面wall边界,侧面和顶部零梯度边界。
发现气泡尾部的速度场不太对,如图。
在O型网格划分的四个方向分别出现了一块区域速度比较大。这个应该是非物理的,如果换成完全正交的网格就不会出现。snGradSchemes采用的是corrected, PIMPLE循环中nCorrectors设置为3次,nNonOrthogonalCorrectors设置为3次。 不知道还有没有别的地方会造成影响,有没有大神有思路或者碰到过类似的问题的。
-
tecplot如何提取一条曲线上的数据@小考拉 第四张图和第五张图就是tecplot的
-
interPlicFoam -
interPlicFoam我发现是因为我改动了orientation函数, 我是先用isoadvector重构了一遍界面,取了界面的法相方向,在orientation函数中又赋值给了interface.n(),
如果采用原先的cellNormals.operator[]来进行赋值的话,是没有问题的,计算出来的体积和实际上alpha1所占有的体积是相同的。
但是我没想明白为什么会这样,我大致学习了一下您的论文,我感觉界面的法相方向应该是不会影响重构出来的体积大小的吧? 应该也不是方向弄反了,如果反了的话两个值应该一直会差很多才对。 -
interPlicFoam又碰到一个问题,我自己写了个函数计算网格内的液相体积, surface与网格的交点是从plicFacePoints()函数读过来的,
比较了一下计算出来的液相体积和alpha1乘以网格体积的值, 对大部分网格,两个值基本上是一致的,误差在0.1%以内,但是当alpha1接近0或者1的时候,误差有时候就比较大了。
下面是我碰到的一个误差最大的网格, 我用的是长方体的网格,PointLists_是网格的8个点,isofacePoints_ 是surface与网格的交点,VolumeIntegrate_ 是我自己写的函数计算出来的体积, alpha1_ * mesh_.V 就是这个网格内的alpha1乘以体积,test_ratio是这两个值的比值。
因为我算例是二维的,所以我自己也手算了一下,函数算出来的体积应该没有什么问题,应该是重构界面的时候出现的误差,我想请教一下有方法减少这部分的误差吗?@队长别开枪PointLists_ 8((0.0185 0.001 0.000522015) (0.0185 0.0015 0.000522015) (0.019 0.001 0.000522015) (0.019 0.0015 0.000522015) (0.0185 0.001 -0.000522015) (0.0185 0.0015 -0.000522015) (0.019 0.001 -0.000522015) (0.019 0.0015 -0.000522015)) isofacePoints_ 4((0.019 0.00144899 0.000522015) (0.0189992 0.0015 0.000522015) (0.0189992 0.0015 -0.000522015) (0.019 0.00144899 -0.000522015)) VolumeIntegrate_ = 2.11363e-14 alpha1_ * mesh_.V = 1.80361e-14 test_ratio = 0.853322
-
interPlicFoam@队长别开枪
确实有用, 现在好多了 -
interPlicFoam@队长别开枪
我测试了一下interIsoFoam和interPlicFoam重构的界面,感觉plic的界面精度不太够
alpha的场是这样的,气液相左右平分一个比较斜的网格。
把重构出来的界面写到文件里面打开查看,左边是iso重构的界面,右边是plic重构的界面,可以看到iso重构出来的界面基本上符合实际的相界面,而plic重构出来的界面波浪形特别严重。大佬有思路改进这个问题吗?
-
interPlicFoam@队长别开枪 我最近就是在修改interIsoFoam里的积分计算方法,但结果总是不好,二维计算的结果还可以,但是一算三维的气泡,速度场就会在局部出现很大的值。我感觉是因为我把它的界面当作平面来处理了,只取面的前3个点来做计算,我准备根据interPlicFoam计算得到的界面再试试看。
-
interPlicFoam大佬问个问题,您这个求解器重构的界面是平面吗? 我之前用的interIsoFoam, 看他论文里说iso-surface他是处理成非平面的,我对比了一下of1906中的interIsoFoam和您这个求解器, 我感觉他的求解器在算气泡上升的过程和interFoam差距很大,您这个更加接近
-
tecplot如何提取一条曲线上的数据@小考拉
看到这个帖子想到了我碰到的一个问题。
我的计算结果是一条线上的值,并且只在一层网格内存在值。
但是后处理软件把cell data 插值到Point data后,这个值就减半了。
然后对这条线进行绘图,绘制出来的数据都是减半后的数据。
paraview:
tecplot
这个问题我是一直没有找到解决方法,因为不是很关键所以也没太纠结,不知道有没有大佬有思路的。
-
setFields是否可以在给定的几何域的边界上的网格赋值的时候进行插值@队长别开枪 是的 这个精度和效率完全够了 再次感谢大佬的工作
-
setFields是否可以在给定的几何域的边界上的网格赋值的时候进行插值@队长别开枪 这个工具的功能确实是我想要实现的,非常感谢。 顺便请教一下,相交体积的计算您是怎么实现的,可以简单说一下思路吗,我自己本来这两天也在想做这个,但是没有想到特别好的办法。