Mesh optimization procedures are generally a combination of node smoothing and discrete operations which affect a small number of elements to improve the quality of the overall mesh. These procedures are useful as a post-processing step in mesh generation procedures and in applications such as fluid simulations with severely deforming domains. In order to perform high-order mesh optimization, these ingredients must also be extended to high-order (curved) meshes. In this work, we present a method to perform local element operations on curved meshes. The mesh operations discussed in this work are edge/face swaps, edge collapses, and edge splitting (more generally refinement) for triangular and tetrahedral meshes. These local operations are performed by first identifying the patch of elements which contain the edge/face being acted on, performing the operation as a straight-sided one by placing the high-order nodes via an isoparametric mapping from the master element, and smoothing the high-order nodes on the elements in the patch by minimizing a Jacobian-based high-order mesh distortion measure. Since the initial straight-sided guess from the placement of the nodes via the isoparametric mapping frequently results in invalid elements, the distortion measure must be regularized which allows for mesh untangling for the optimization to succeed. We present several examples in 2D and 3D to demonstrate these local operations and how they can be combined with a high-order node smoothing procedure to maintain mesh quality when faced with severe deformations.
翻译:网格优化流程通常结合节点平滑和少量单元上的离散操作,以提升整体网格质量。这些流程作为网格生成过程中的后处理步骤,在遭遇严重变形域(如流体模拟)等应用中具有实用价值。为实现高阶网格优化,上述要素必须扩展至高阶(弯曲)网格。本研究提出了一种在弯曲网格上执行局部单元操作的方法。本文讨论的网格操作包括:三角形和四面体网格的边/面交换、边折叠及边分裂(更广义的加密)。这些局部操作的实施步骤为:首先识别包含待操作边/面的单元块,通过从母单元进行等参映射放置高阶节点,将该操作作为直边单元操作执行;随后通过最小化基于雅可比矩阵的高阶网格畸变量度,对单元块内的高阶节点进行平滑处理。由于等参映射放置节点获得的初始直边单元猜测常导致无效单元,必须对畸变量度进行正则化处理,使网格解缠得以实现,从而确保优化成功。我们通过二维和三维的多个示例,展示了这些局部操作,以及如何将其与高阶节点平滑流程相结合,在面临严重变形时维持网格质量。