This paper presents an efficient algorithm for the sequential positioning, also called nested dissection, of two planes in an arbitrary polyhedron. Two planar interfaces are positioned such that the first plane truncates a given volume from this arbitrary polyhedron and the next plane truncates a second given volume from the residual polyhedron. This is a relevant task in the numerical simulation of three-phase flows when resorting to the geometric Volume-of-Fluid (VoF) method with a Piecewise Linear Interface Calculation (PLIC). An efficient algorithm for this task significantly speeds up the three-phase PLIC algorithm. The present study describes a method based on a recursive application of the Gaussian divergence theorem, where the fact that the truncated polyhedron shares multiple faces with the original polyhedron can be exploited to reduce the computational effort. A careful choice of the coordinate system origin for the volume computation allows for successive positioning of two planes without reestablishing polyhedron connectivity. Combined with a highly efficient root finding, this results in a significant performance gain in the reconstruction of the three-phase interface configurations. The performance of the new method is assessed in a series of carefully designed numerical experiments. Compared to a conventional decomposition-based approach, the number of iterations and, thus, of the required truncations was reduced by up to an order of magnitude. The PLIC positioning run-time was reduced by about 90% in our reference implementation. Integrated into the multi-phase flow solver Free Surface 3D (FS3D), an overall performance gain of about 20% was achieved. Allowing for simple integration into existing numerical schemes, the proposed algorithm is self-contained (example Fortran Module see https://doi.org/10.18419/darus-2488), requiring no external decomposition libraries.
翻译:本文提出了一种在任意多面体中进行两个平面顺序定位(亦称嵌套剖分)的高效算法。两个平面界面的定位方式为:第一平面从该任意多面体中截取给定体积,第二平面再从剩余多面体中截取另一给定体积。这在采用分段线性界面计算(PLIC)的几何流体体积(VoF)方法模拟三相流动时是一项关键任务。针对该任务的高效算法能显著加速三相PLIC算法。本研究描述了一种基于高斯散度定理递归应用的方法,其中可充分利用截断多面体与原多面体共享多个面的特点来降低计算量。通过为体积计算精心选择坐标系原点,可在无需重建多面体连通性的情况下实现两个平面的连续定位。结合高效的求根算法,这为三相界面构型重构带来了显著的性能提升。通过一系列精心设计的数值实验评估了新方法的性能。与传统基于分解的方法相比,迭代次数及所需的截断操作数量降低了一个数量级。在我们的参考实现中,PLIC定位运行时间减少了约90%。集成到多相流求解器Free Surface 3D (FS3D)后,整体性能提升约20%。该算法便于集成到现有数值方案中,且完全独立(Fortran模块示例见https://doi.org/10.18419/darus-2488),无需依赖外部分解库。