interPlicFoam
-
@nanxuan 不好意思你九月份的留言我没注意到。多边形/多面体网格相对传统非结构网格优势就是每个体单元有了更多的面单元/相邻单元,在涉及面单元积分的变量(梯度等)计算上具有优势(https://www.semanticscholar.org/paper/The-advantage-of-polyhedral-meshes-Perić-Ferguson/51ae90047ab44f53849196878bfec4232b291d1c ),其余的还有收敛快等优点(https://www.researchgate.net/publication/292555771_New_element_lops_time_off_CFD_simulations )。缺点是生成算法复杂,主流多面体网格生成器都是将四面体网格转化为多面体网格,不能很好处理面单元翘曲,不过fluent,cfmesh等通过
六面体->四面体->多面体
的技术路线缓解了面单元翘曲,但是面对复杂几何外形的时候需要更多控制。我个人开始使用多面体网格的原因纯粹是因为多面体网格好看,可以在女朋友面前装逼 。希望这个解释能帮到你。 -
又碰到一个问题,我自己写了个函数计算网格内的液相体积, 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
-
戴前辈您好,看到您的方法就想用of里的dambreak算例试一下,尝试了在of1912和of1812中加载您的求解interPlicFoam,但是算$FOAM_TUTORIALS/multiphase/interFoam/RAS/damBreak算例的时候,虽然按照您github上的要求修改了fvScheme和fvSolution,但是计算第一步就会出现问题,浮点数溢出,减小算例时间步长到1e-5也不行,细化一倍网格也不行,请问这是为什么呢?(我注意到您给出的tutorials都是多面体网格的,并非六面体网格,不知道是不是您的求解器不适用于六面体网格?)