interPlicFoam
-
@litong189456 这些都是极小值或者非常接近1的单元造成的,可以在控制字典里将
snapTol
数值调大,默认为0
,可以试试1e-5
之类的极小值把这些单元强制置零或者置1。 -
- 代码搞完了,还在测试,最近很忙,每天下班只想睡觉。
- 几何类VOF方法:
a. IsoAdvector第一次提出是在2016年,我在OpenFOAM基础上开发PLIC-VOF始于14年下半年,不过开发进度很慢,那时刚开始学习OpenFOAM。有一个完成度很高的2D版本,大家有兴趣的话我会把这个代码整理整理,供大佬们批评指正,几何运算是基于CGAL库的;
b. PLIC和IsoAdvector是两类不同的几何重构方法,具体区别在于如何表征混合单元内的interface。PLIC使用平面,IsoAdvector使用等值面。确定interface位置时PLIC求解平面方程$\vec{n} \vec{X} + D = 0$里的距离$D$,IsoAdvector求解等值面阈值。界面重构精度应该差不多,求解效率还没比较,现在很难说谁高谁低;
c. 我们求解器的公开版本advection部分直接借用了isoAdvection的,做了一些改动适配PLIC方法。主要是因为懒,不想单独开发advection部分了,不过这也符合开源精神吧,只做自己需要做和感兴趣的部分;
d. 目前PLIC方法的一个研究热点是多面体任意单元里interface的快速定位技术。这方面研究主要集中在卡塔赫纳理工大学的Dr. Lopez [López, Joaquín, et al. "A new volume conservation enforcement method for PLIC reconstruction in general convex grids." Journal of Computational Physics 316 (2016): 338-359] (他们去年开发了适配凹多面体的快速算法,不过我感觉这个学术意义更大一些,基本上网格生成都是避免凹单元的出现的),LANL的Dr. Diot [Diot, Steven, and Marianne M. François. "An interface reconstruction method based on an analytical formula for 3D arbitrary convex cells." Journal of Computational Physics 305 (2016): 63-74] 和Dr. Shashkov [Dyadechko, Vadim, and Mikhail Shashkov. "Moment-of-fluid interface reconstruction." Los Alamos Report LA-UR-05-7571 (2005)] (MOF方法本质还是PLIC方法,不过在$\vec{n} \vec{X} + D = 0$的求解上都引入了全新概念)。 - 会有算例教程,但是事情多,我尽量快一些,但是这些事只有我一个人在弄,所以会比较慢。
PS:我不大名鼎鼎哦,只是小卒,只想靠着CFD混口饭吃,学界和业界都太他妈卷了
-
@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等通过
六面体->四面体->多面体
的技术路线缓解了面单元翘曲,但是面对复杂几何外形的时候需要更多控制。我个人开始使用多面体网格的原因纯粹是因为多面体网格好看,可以在女朋友面前装逼 。希望这个解释能帮到你。