@小考拉 第四张图和第五张图就是tecplot的
anubis
@anubis
Best posts made by anubis
Latest posts made by anubis
-
RE: interPlicFoam
我发现是因为我改动了orientation函数, 我是先用isoadvector重构了一遍界面,取了界面的法相方向,在orientation函数中又赋值给了interface.n(),
如果采用原先的cellNormals.operator[]来进行赋值的话,是没有问题的,计算出来的体积和实际上alpha1所占有的体积是相同的。
但是我没想明白为什么会这样,我大致学习了一下您的论文,我感觉界面的法相方向应该是不会影响重构出来的体积大小的吧? 应该也不是方向弄反了,如果反了的话两个值应该一直会差很多才对。 -
RE: 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
-
RE: interPlicFoam
@队长别开枪
我测试了一下interIsoFoam和interPlicFoam重构的界面,感觉plic的界面精度不太够
alpha的场是这样的,气液相左右平分一个比较斜的网格。
把重构出来的界面写到文件里面打开查看,左边是iso重构的界面,右边是plic重构的界面,可以看到iso重构出来的界面基本上符合实际的相界面,而plic重构出来的界面波浪形特别严重。大佬有思路改进这个问题吗?
-
RE: interPlicFoam
@队长别开枪 我最近就是在修改interIsoFoam里的积分计算方法,但结果总是不好,二维计算的结果还可以,但是一算三维的气泡,速度场就会在局部出现很大的值。我感觉是因为我把它的界面当作平面来处理了,只取面的前3个点来做计算,我准备根据interPlicFoam计算得到的界面再试试看。
-
RE: interPlicFoam
大佬问个问题,您这个求解器重构的界面是平面吗? 我之前用的interIsoFoam, 看他论文里说iso-surface他是处理成非平面的,我对比了一下of1906中的interIsoFoam和您这个求解器, 我感觉他的求解器在算气泡上升的过程和interFoam差距很大,您这个更加接近
-
RE: tecplot如何提取一条曲线上的数据
@小考拉
看到这个帖子想到了我碰到的一个问题。
我的计算结果是一条线上的值,并且只在一层网格内存在值。
但是后处理软件把cell data 插值到Point data后,这个值就减半了。
然后对这条线进行绘图,绘制出来的数据都是减半后的数据。
paraview:
tecplot
这个问题我是一直没有找到解决方法,因为不是很关键所以也没太纠结,不知道有没有大佬有思路的。