Table of Contents
Fetching ...

HybridOctree_Hex: Hybrid Octree-Based Adaptive All-Hexahedral Mesh Generation with Jacobian Control

Hua Tong, Eni Halilaj, Yongjie Jessica Zhang

TL;DR

This paper presents HybridOctree_Hex, a software package for automatic, robust, adaptive all-hex mesh generation with Jacobian control. The approach builds a curvature- and thickness-guided octree, converts a strongly balanced octree into an all-hex dual mesh via five pre-defined templates, and then clears a boundary buffer zone before applying a geometry-Jacobian optimization to elevate the minimum Jacobian. The method achieves high-quality hexmeshes with min SJ above 0.5 while maintaining efficiency and fidelity to complex geometries, demonstrated across dozens of challenging models without manual intervention. The work advances hex meshing by avoiding complex hybrid octree constructions, integrating feature preservation with a targeted optimization strategy, and providing open-source code and datasets for reproducibility and further research.

Abstract

We present a new software package, "HybridOctree_Hex," for adaptive all-hexahedral mesh generation based on hybrid octree and quality improvement with Jacobian control. The proposed HybridOctree_Hex begins by detecting curvatures and narrow regions of the input boundary to identify key surface features and initialize an octree structure. Subsequently, a strongly balanced octree is constructed using the balancing and pairing rules. Inspired by our earlier preliminary hybrid octree-based work, templates are designed to guarantee an all-hexahedral dual mesh generation directly from the strongly balanced octree. With these pre-defined templates, the sophisticated hybrid octree construction step is skipped to achieve an efficient implementation. After that, elements outside and around the boundary are removed to create a core mesh. The boundary points of the core mesh are connected to their corresponding closest points on the surface to fill the buffer zone and build the final mesh. Coupled with smart Laplacian smoothing, HybridOctree_Hex takes advantage of a delicate optimization-based quality improvement method considering geometric fitting, Jacobian and scaled Jacobian, to achieve a minimum scaled Jacobian that is higher than $0.5$. We empirically verify the robustness and efficiency of our method by running the HybridOctree_Hex software on dozens of complex 3D models without any manual intervention or parameter adjustment. We provide the HybridOctree_Hex source code, along with comprehensive results encompassing the input and output files and statistical data in the following repository: https://github.com/CMU-CBML/HybridOctree_Hex.

HybridOctree_Hex: Hybrid Octree-Based Adaptive All-Hexahedral Mesh Generation with Jacobian Control

TL;DR

This paper presents HybridOctree_Hex, a software package for automatic, robust, adaptive all-hex mesh generation with Jacobian control. The approach builds a curvature- and thickness-guided octree, converts a strongly balanced octree into an all-hex dual mesh via five pre-defined templates, and then clears a boundary buffer zone before applying a geometry-Jacobian optimization to elevate the minimum Jacobian. The method achieves high-quality hexmeshes with min SJ above 0.5 while maintaining efficiency and fidelity to complex geometries, demonstrated across dozens of challenging models without manual intervention. The work advances hex meshing by avoiding complex hybrid octree constructions, integrating feature preservation with a targeted optimization strategy, and providing open-source code and datasets for reproducibility and further research.

Abstract

We present a new software package, "HybridOctree_Hex," for adaptive all-hexahedral mesh generation based on hybrid octree and quality improvement with Jacobian control. The proposed HybridOctree_Hex begins by detecting curvatures and narrow regions of the input boundary to identify key surface features and initialize an octree structure. Subsequently, a strongly balanced octree is constructed using the balancing and pairing rules. Inspired by our earlier preliminary hybrid octree-based work, templates are designed to guarantee an all-hexahedral dual mesh generation directly from the strongly balanced octree. With these pre-defined templates, the sophisticated hybrid octree construction step is skipped to achieve an efficient implementation. After that, elements outside and around the boundary are removed to create a core mesh. The boundary points of the core mesh are connected to their corresponding closest points on the surface to fill the buffer zone and build the final mesh. Coupled with smart Laplacian smoothing, HybridOctree_Hex takes advantage of a delicate optimization-based quality improvement method considering geometric fitting, Jacobian and scaled Jacobian, to achieve a minimum scaled Jacobian that is higher than . We empirically verify the robustness and efficiency of our method by running the HybridOctree_Hex software on dozens of complex 3D models without any manual intervention or parameter adjustment. We provide the HybridOctree_Hex source code, along with comprehensive results encompassing the input and output files and statistical data in the following repository: https://github.com/CMU-CBML/HybridOctree_Hex.
Paper Structure (9 sections, 2 theorems, 2 equations, 7 figures, 2 tables)

This paper contains 9 sections, 2 theorems, 2 equations, 7 figures, 2 tables.

Key Result

Lemma 1

For dual mesh extraction from the strongly balanced quadtree, only one transition template is needed: the hybrid elements consisting of two triangles and one quad in between are converted to four quads, as shown in Figure fig:transition2D(e).

Figures (7)

  • Figure 1: HybridOctree_Hex overview. (a) Initializing the octree from the surface triangular mesh (red) with feature preservation; (b) Transforming the initialized octree into a strongly balanced octree, satisfying the balancing rule and the pairing rule; (c) Constructing an all-hex dual mesh using pre-defined templates; (d) Clearing elements outside and around the boundary; (e) Meshing the buffer zone (yellow) with geometric fitting and Jacobian control.
  • Figure 2: Quadtree transition configurations (a-d) showing the strongly balanced quadtree, hybrid dual mesh, and the resulting all-quad mesh after applying the transformation template in (e). There are two red hanging nodes on each golden transition edge. (a) Two neighboring quadtree blocks with one being refined; (b, c) Three neighboring quadtree blocks in an $\textit{L}$ shape with the left and right blocks refined or the corner block refined, respectively; (d) Four neighboring quadtree blocks with a pair of diagonal blocks refined.
  • Figure 3: Octree transition configurations (a-e) showing the strongly balanced octree (first row), hybrid dual mesh (second row), and the transformation template (third and fourth row). Hanging nodes are in red, transition faces are in yellow, and octants with the same color belong to the same block. (a) Two neighboring octree blocks with one being refined, resulting in the transition on the face. The hexes with the minimum scaled Jacobian $0.258$ among all the templates are highlighted and extracted; (b-e) Four neighboring octree blocks at different levels sharing a transition edge.
  • Figure 4: (a) Four cases comparing with zhang2013robust. Hexes removed by both methods are in red, hexes removed only by zhang2013robust are in green, and the hex removed by our method only is in blue. Shaded yellow triangles represent their normals violating our restriction and one adjacent hex needs to be removed; (b) The buffer layer is formed by connecting core mesh boundary points (black dots) and their corresponding points (red dots) on the input surface.
  • Figure 5: (a) A hex with $|P_0P_1|=1$ is to be optimized, where $P_0$ moves along the $\overrightarrow{P_0P_1}$ direction (green arrow) in (b, c) or an arbitrary direction $\nabla E$ (blue arrow) in (d, e). The optimum point is $|P_0P_1|$ or $|\nabla E| = 0$, marked as dashed green lines in (b-e). The intervals of adopting Jacobian or scaled Jacobian in the algorithm are shaded in red. The in-differentiable points and valleys are marked as dashed red lines in (b, d); (b, d) The scaled Jacobian at $P_0, P_1, P_2, P_3$, and the body center $P_c$; (c, e) The Jacobian curves.
  • ...and 2 more figures

Theorems & Definitions (2)

  • Lemma 1
  • Lemma 2