Theoretical+Advances+in...
Transcript of Theoretical+Advances+in...
![Page 1: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/1.jpg)
Theoretical Advances inHexahedral Mesh Generation
Jeff EricksonUniversity of Illinois, Urbana-‐Champaign
![Page 2: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/2.jpg)
![Page 3: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/3.jpg)
Why meshing?
‣ Numerical solution of differential equations via finite element methods▹ Decompose simulation volume into elementary pieces — “elements”▹ Approximate solution within each element as a low-‐degree polynomial.
[blog.pointwise.com]
![Page 4: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/4.jpg)
Typical finite elements
‣ Linear functions over tetrahedra
‣ Higher-‐degree polynomials are also used
f (�0,�1,�2,�3) = �0 · f (v0) +�1 · f (v1) +�2 · f (v2) +�3 · f (v3)
v0
v1
v2
v3
v0
v1
v2
f(v0)
f(v2)
f(v1)
![Page 5: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/5.jpg)
Typical finite elements
‣ Trilinear functions over hexahedra
‣ Higher-‐degree polynomials and other element shapes are also used
f (↵1,↵2,↵3) = (1�↵1)(1�↵2)(1�↵3) · f (v000)(1�↵1)(1�↵2)↵3 · f (v001)(1�↵1)↵2(1�↵3) · f (v010)
(1�↵1)↵2↵3 · f (v011)↵1(1�↵2)(1�↵3) · f (v100)
↵1(1�↵2)↵3 · f (v101)↵1↵2(1�↵3) · f (v110)
↵1↵2↵3 · f (v111)
![Page 6: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/6.jpg)
v010
v000v011
v001
v100
v101
v110v111
f(v00)f(v11)
f(v001)
f(v10)
v00v01
v10 v11
Typical finite elements
‣ Trilinear functions over hexahedra
‣ Higher-‐degree polynomials and other element shapes are also used
![Page 7: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/7.jpg)
Tetrahedral meshing
‣ Well-‐developed theory and robust general-‐purpose software
[Tournier Wormser Alliez Desbrun 2009]
![Page 8: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/8.jpg)
Ηexahedral meshing
Huge variety of practical heuristics, engineering expertise, and software, but no automatic general methods. In other words, no algorithms.
[Ruiz-‐Gironès Roca Sarrate 2012][Ansys][Truegrid]
![Page 9: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/9.jpg)
heu⋅ris⋅tic /hyo ͞o-‐ˈris-‐tik/ [Gr. εύρίσκω = find, discover]n. An algorithm that doesn’t work.
![Page 10: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/10.jpg)
Why hex meshing?
‣ Hex meshes are better for some finite element methods, for some applications, and for some classes of geometry.
‣ But advantages are subtle!
[Ruiz-‐Gironès Sarrate 2008]
[Gridgen]
![Page 11: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/11.jpg)
Why hex meshing?
“Received wisdom” makes unfair comparisons:
‣ Unstructured tet meshes versus (locally) structured hex meshes▹ Fewer elements for a given number of nodes
• For regular cubical grids, sure, but for arbitrary point sets?• For many finite-‐element methods, the size of the linear system size depends on the number of nodes, not the number of elements.
▹ Exploit tensor product structure and/or anisotropy in solution▹ But structured meshes require special geometry
‣ Linear tet elements versus multilinear hex elements▹ Fewer elements for same accuracy▹ Avoid shear and volume locking▹ But higher-‐order tet elements avoid these problems! [Weingarten 94]
![Page 12: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/12.jpg)
Defining our terms
![Page 13: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/13.jpg)
What’s a “hexahedron”?
‣ Topological: What (most) mathematicians mean
▹ A topological cube is the image of an injective map q : [0,1]3 ↪ R3
▹ Topological ball with boundary subdivision: 8 vertices, 12 edges, 6 facets
![Page 14: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/14.jpg)
What’s a “hexahedron”?
‣ Polyhedral: What computational geometers mean
▹ A hexahedron is a convex polytope isomorphic to the cube [0,1]3.
▹ Edges are line segments; facets are planar convex polygons.
![Page 15: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/15.jpg)
What’s a “hexahedron”?
‣ Polyhedral: What computational geometers mean
▹ A hexahedron is a convex polytope isomorphic to the cube [0,1]3.
▹ Edges are line segments; facets are planar convex polygons.
Not “approximately planar”Not “planar up to engineering tolerances”Not “planar up to floating-‐point error”
![Page 16: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/16.jpg)
What’s a “hexahedron”?
‣ Multilinear: What engineers mean
▹ A hexahedral finite element is the “multilinear hull” of 8 points in R3.
▹ Edges are line segments; facets are ruled surface patches
![Page 17: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/17.jpg)
‣ 3×3 matrix of partial derivatives of multilinear map q : [0,1]3 ↪ R3
‣ Most numerical methods require det J > 0 everywhere
‣ Equivalently: locally convex at every vertex
v010
v000
v001
v011
v100
v101
v110v111
Jacobian J = ∇q
(0,1,0)
(0,0,0)
(0,0,1)
(0,1,1)
(1,0,0)
(1,0,1)
(1,1,0)(1,1,1)
![Page 18: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/18.jpg)
What’s a “hex mesh”?
‣ Standard cube complex: A collection of cubes such that▹ Interiors are disjoint.▹ Union is the desired volume.▹ Intersection of any two cubes is a common facet, a common edge, a common vertex, or nothing.
![Page 19: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/19.jpg)
What’s a “hex mesh”?
‣ Standard cube complex: A collection of cubes such that▹ Interiors are disjoint.▹ Union is the desired volume.▹ Intersection of any two cubes is a common facet, a common edge, a common vertex, or nothing.
‣WARNING! Some papers use more relaxed definitions!▹ Two cubes can share multiple faces▹ Shared faces need not be connected▹ A single cube can be adjacent to itself▹ Some hexes can have zero or negative Jacobians
![Page 20: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/20.jpg)
What is the hex meshing problem?
‣ First attempt: Given a 3d volume, subdivide it into a valid hex mesh.
![Page 21: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/21.jpg)
What is the hex meshing problem?
‣ First attempt: Given a 3d volume, subdivide it into a valid hex mesh.
‣ Solved! Triangulate, then split each tetrahedron into four hexahedra!
![Page 22: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/22.jpg)
What is the hex meshing problem?
‣ Second attempt: Given a 3d volume, subdivide it into a valid hex mesh, where every hex has some guaranteed quality.
![Page 23: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/23.jpg)
What is the hex meshing problem?
‣ Second attempt: Given a 3d volume, subdivide it into a valid hex mesh, where every hex has some guaranteed quality.
‣ Solved! Compute a tet mesh with guaranteed quality, then split each tetrahedron into four hexahedra!
![Page 24: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/24.jpg)
What is the hex meshing problem?
‣ Third attempt: Given a 3d volume, subdivide it into a useful hex mesh, where every hex has at least some guaranteed practical quality.
![Page 25: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/25.jpg)
What is the hex meshing problem?
‣ Third attempt: Given a 3d volume, subdivide it into a useful hex mesh, where every hex has at least some guaranteed practical quality.
‣ This is open!
![Page 26: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/26.jpg)
What is the hex meshing problem?
‣ Third attempt: Given a 3d volume, subdivide it into a useful hex mesh, where every hex has at least some guaranteed practical quality.
‣ This is open!
‣ But what do “useful” and “practical quality” actually mean?
▹ Without crisp, unambiguous definitions, the problem is ill-‐defined.
▹ Computational geometers like meshes with flat faces, but “skew” (variance from flatness) is only one of many possible quality measures, and probably not the most important one.
![Page 27: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/27.jpg)
Practical techniques
‣ Decomposition: Break the model into pieces that are easier to mesh
[Tautges ’01]
![Page 28: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/28.jpg)
Practical techniques
‣ Advancing fronts: sweeping, paving, plastering, etc.
[Staten Kerr Owen Blacker Stupazzini Shimada ’11][Ruiz-‐Gironès Roca Sarrate 2012]
[Roca Sarrate Huerte 2004]
![Page 29: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/29.jpg)
Practical techniques
‣ Grids and octtrees
[Maréchal ’09][Ito Shih Soni ’08]
![Page 30: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/30.jpg)
Practical techniques
‣ Mapping
[Gregson Sheffer Zhang ’11]
![Page 31: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/31.jpg)
Practical techniques
‣ 3D parametrization / frame fields
[Li Liu Xu Wang Guo ’12]
![Page 32: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/32.jpg)
Subdivision methods
‣ Default to tetrahedra when direct hex-‐meshing methods break down. Possibly include transitional pyramid and prism elements.
‣ Then refine mixed mesh into a hex mesh.
[Yamakawa and Shimada ’01]
![Page 33: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/33.jpg)
Subdivision methods
‣ Default to tetrahedra when direct hex-‐meshing methods break down. Possibly include transitional pyramid and prism elements.
‣ Then refine mixed mesh into a hex mesh.
[Yamakawa and Shimada ’01]
![Page 34: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/34.jpg)
First try at refinement
![Page 35: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/35.jpg)
First try at refinement
![Page 36: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/36.jpg)
First try at refinement
![Page 37: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/37.jpg)
First try at refinement
?[Schneiders ’95]
![Page 38: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/38.jpg)
Mitchell’s Geode
‣ Transition layer between tets and hexes. [Mitchell ’98]
![Page 39: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/39.jpg)
Yamakawa and Shimada’s HexHoop
‣ General templates for converting mixed meshes to hex meshes
[Yamakawa Shimada ’01]
![Page 40: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/40.jpg)
HexHoop
‣ Split pyramid into tets; use standard template for tets
‣ Templates for cubes and prisms depend on neighboring cells.
[Yamakawa Shimada ’01]US Patent 6,625,938 (Sept. 30, 2003)
![Page 41: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/41.jpg)
88-‐hex Schneider’s pyramid
‣ Standard cube complex: Hexes meet properly face to face. ✓
‣ Positive Jacobians: No twisted, inverted, or degenerate hexes. ✓
‣ Internal faces are (slightly) warped.
[Yamakawa Shimada ’10]
![Page 42: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/42.jpg)
HexHoop
‣ Internal faces are (slightly) warped.
[Yamakawa Shimada ’01]
![Page 43: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/43.jpg)
HexHoop
‣ Internal faces are (slightly) warped.
[Yamakawa Shimada ’01]
![Page 44: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/44.jpg)
No boundary refinement
‣ New problem: Subdivide a given volume into a valid hex mesh whose boundary is equal to a given boundary quad mesh.
▹ After decomposition, need to mesh each component independently• Parts agree on common boundary meshes in advance
▹ Some applications require greater accuracy at the boundary.• Separately generate a high-‐quality boundary mesh, then don’t change it.
![Page 45: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/45.jpg)
No boundary refinement
‣ Open for polyhedral meshes, even for the simplest nontrivial inputs.
Octagonal spindle Bicuboid Schneiders’ pyramid
‣ Closed for topological meshes! [Thurston ’93, Mitchell ’96, Erickson ’13]
![Page 46: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/46.jpg)
Necessary condition
‣ Lemma: Every hex mesh has an even number of boundary quads.
‣ Proof:
▹ Every hex has six boundary quads. Six is even.
▹ Gluing two hexes removes two boundary quads. Two is even.
![Page 47: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/47.jpg)
Dual curves
‣ The dual Q* of any surface quad mesh Q is an immersion of circles.
Octagonal spindle Bicuboid Schneiders’ pyramid
![Page 48: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/48.jpg)
Dual surfaces
‣ The dual of any hex mesh is an immersion of surfaces.▹ dual arrangements of zonotopes [Fedorov 1885]
▹ “derivative complex” [Jockusch ’93 (MacPherson, Stanley)]
▹ “hyperplanes” [Sageev ’95]
▹ “spatial twist continuum” [Murdoch Benzley ’95, Mitchell ’96]
▹ “canonical surface” [Aitchison et al. ’97]
![Page 49: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/49.jpg)
Surface immersion
‣ Every point in the volume has one of these neighborhoods:
@⌦@⌦@⌦
![Page 50: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/50.jpg)
Genus-‐zero meshes
‣ Theorem: A quad mesh of the sphere can be extended to a hex mesh of the ball if and only if the number of quads is even.[Thurston ’93, Mitchell ’96]
‣ Proof:
▹ Extend dual curves on the sphere to surface immersion in the ball.[Csikós Szűcs ’95]
▹ Refine surface immersion into the dual of hex mesh.
![Page 51: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/51.jpg)
Extending curves to surfaces
‣ Shrink the sphere inward; the dual curves sweep out surfaces.
‣ Simplify the curves with the following moves — regular homotopy.
‣ Simplification yields disjoint circles and figure 8s.
‣ Cap off circles, pair up figure 8s.
[Boy 1901, Whitney ’37]
[Francis ’71, Titus ’73]
[Hass Hughes ’92]
![Page 52: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/52.jpg)
Bubble-‐wrapping
‣ Any surface immersion can be refined into the dual of a hex mesh.
[Babson Chan ’08]
‣ Mitchell gets this slightly wrong.
![Page 53: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/53.jpg)
Bubble-‐wrapping
‣ Any surface immersion can be refined into the dual of a hex mesh.
[Babson Chan ’08]
‣ Mitchell gets this slightly wrong.
![Page 54: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/54.jpg)
Bubble-‐wrapping
‣ Any surface immersion can be refined into the dual of a hex mesh.
[Babson Chan ’08]
‣ Mitchell gets this slightly wrong.
![Page 55: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/55.jpg)
Bubble-‐wrapping
‣ Any surface immersion can be refined into the dual of a hex mesh.
[Babson Chan ’08]
‣ Mitchell gets this slightly wrong.
![Page 56: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/56.jpg)
Bubble-‐wrapping
‣ Any surface immersion can be refined into the dual of a hex mesh.
[Babson Chan ’08]
‣ Mitchell gets this slightly wrong.
![Page 57: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/57.jpg)
Bubble-‐wrapping
‣ Any surface immersion can be refined into the dual of a hex mesh.
[Babson Chan ’08]
‣ Mitchell gets this slightly wrong.
![Page 58: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/58.jpg)
Complexity
‣ O(n2) moves are always enough [Francis ’69, Nowik ’08]
⇒O(n2) hexes in the worst case
‣ Ω(n2) triangle moves may be necessary [Arnold ’94, Nowik ’08]
⇒Ω(n2) hexes in the worst case
[Meister 1769]
![Page 59: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/59.jpg)
Linear complexity
‣ In fact, every quad mesh of the sphere with 2n quads is the boundary of a hex mesh of the ball with only O(n) quads. [Eppstein ’99]
‣ Eppstein’s proof: See my talk this morning.
‣ Proof #2: If we also use saddle moves, we need only O(n) moves. [Csikós Szűcs ’95]
‣ Proof #3: Use cycle separators. [Miller ’86]
![Page 60: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/60.jpg)
Practical approaches
‣Whisker weaving [Tautges Blacker Mitchell ’96, Folwell Mitchell ’99]
▹ Contract dual curves inward to create dual surfaces, maintain double curves
‣ Cycle elimination [Müller-‐Hannemann ’01]
▹ Eliminate simple dual cycles one at a time▹ In reverse: For each dual cycle, introduce a layer of hexes
‣ Both methods require dual curves without self-‐intersections.
![Page 61: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/61.jpg)
Further extensions
‣ Eppstein’s algorithm actually works for bipartite surface meshes with arbitrary topology. [Eppstein ’99]
‣ Generalizes to higher-‐genus surface meshes satisfying a certain topological constraint. [Erickson ’13]
‣ Sufficient regular refinement gives us a mesh of trilinear hexes▹ ...with terrible quality, especially near the boundary. [Bern Eppstein ’01]
‣ Sufficient regular refinement gives us a mesh of polyhedral hexes if and only if every bicuboid has a polyhedral hex mesh. [Bern Eppstein ’01]
![Page 62: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/62.jpg)
Extreme bubble-‐wrapping
‣ For any immersed surface Σ in R3, there is a cubical 4-‐polytope whose dual 2-‐skeleton contains a subdivision of Σ. [Schwartz Ziegler ’04]
▹ Construction uses a generalization of the HexHoop template [Yamakawa Shimada ’01]
Boy’s surface
![Page 63: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/63.jpg)
Cube flips
‣ Replace a connected subset of cube facets with its complement.
‣ Analog of “bistellar flips” for tetrahedral meshes.
[Bern Eppstein ’01]
[Alexander ’30, Pachner ’78]
![Page 64: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/64.jpg)
Habegger’s problem
‣ Given two cube complexes with the same underlying space, can one always be transformed into the other by cube flips? [Problem 5.13 in Kirby’s Problems in Low-‐Dimensional Topology, 1995]
▹ Trivially, no! Cube flips preserve parity.
‣ So when are two homeomorphic cube complexes connected by flips?
‣ Any two PL triangulations of the same PL manifold are connected by bistellar flips. [Pachner ’78, ’90]
![Page 65: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/65.jpg)
Cubulations mod flips
‣ Conjecture: Two cubulations of the same manifold are connected by cube flips if and only their dual surface immersions are cobordant. [Funar ’99].
‣ Theorem: Two quad meshes of the same 2-‐manifold are equivalent if and only if they have▹ the same number of quads mod 2,▹ and homologous dual curves. [Funar ’07]
![Page 66: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/66.jpg)
Cubulations mod flips
‣ Conjecture: Two cubulations of the same manifold are connected by cube flips if and only their dual surface immersions are cobordant. [Funar ’99].
‣ Theorem: Two quad meshes of the same 2-‐manifold are equivalent if and only if they have▹ the same number of quads mod 2,▹ and homologous dual curves. [Funar ’07]
This was the key inspiration for my SOCG result.
![Page 67: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/67.jpg)
Elementary moves
‣ Lemma: Two immersed curves with the same parity are homologous iff one can be transformed to the other using these elementary moves:
![Page 68: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/68.jpg)
Bubble-‐wrapped moves
‣ Lemma: After suitable refinement, each elementary move can be executed by a finite sequence of cube flips. [Funar ’07, Bern Eppstein ’01]
![Page 69: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/69.jpg)
Summary
‣ With boundary refinement:
▹ Hex meshing is no harder than tet meshing.
▹ Good hex meshing, on the other hand, is a black art.
‣ Without boundary refinement:
▹ Topological hex meshing is solved...
• ...except for tight bounds on worst-‐case mesh complexity.
▹ Trilinear hex meshing is “solved”...
• ...but terrible quality, especially near boundary; no bounds on mesh complexity
▹ Polyhedral hex meshing reduces to bicuboids
▹ No quality guarantees of any kind.
![Page 70: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/70.jpg)
The open problem
![Page 71: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/71.jpg)
The open problem
‣ Define useful but general constraints on the input geometry.▹ Polyhedra with all angles ≥ 90°?▹ Smooth surfaces?
![Page 72: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/72.jpg)
The open problem
‣ Define useful but general constraints on the input geometry.▹ Polyhedra with all angles ≥ 90°?▹ Smooth surfaces?
‣ Define useful quality constraints for trilinear hexahedral meshes.▹ All (scaled) Jacobian determinants ≥ 0.1?▹ All Jacobians close to (scaled) orthogonal? (What does close mean?)▹ In every hex, similar Jacobians at all 8 vertices? (What does similar mean?)▹ Number of hexes = O(∫1/ lfs3)?
![Page 73: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/73.jpg)
The open problem
‣ Define useful but general constraints on the input geometry.▹ Polyhedra with all angles ≥ 90°?▹ Smooth surfaces?
‣ Define useful quality constraints for trilinear hexahedral meshes.▹ All (scaled) Jacobian determinants ≥ 0.1?▹ All Jacobians close to (scaled) orthogonal? (What does close mean?)▹ In every hex, similar Jacobians at all 8 vertices? (What does similar mean?)▹ Number of hexes = O(∫1/ lfs3)?
‣ Given an arbitrary volume meeting the input constraints, provably compute a hex mesh that provably meets the output constraints.
![Page 74: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/74.jpg)
The open problem
‣ Define useful but general constraints on the input geometry.▹ Polyhedra with all angles ≥ 90°?▹ Smooth surfaces?
‣ Define useful quality constraints for trilinear hexahedral meshes.▹ All (scaled) Jacobian determinants ≥ 0.1?▹ All Jacobians close to (scaled) orthogonal? (What does close mean?)▹ In every hex, similar Jacobians at all 8 vertices? (What does similar mean?)▹ Number of hexes = O(∫1/ lfs3)?
‣ Given an arbitrary volume meeting the input constraints, provably compute a hex mesh that provably meets the output constraints.
‣ ...and make it work in practice!
![Page 75: Theoretical+Advances+in Hexahedral+Mesh+Generationjeffe.cs.illinois.edu/pubs/talks/hexmesh-survey-socg.pdf · Why+meshing? ‣ Numericalsolution$of$differentialequations$via$finite$element$methods](https://reader035.fdocuments.in/reader035/viewer/2022062504/5abad9667f8b9ad1768c0420/html5/thumbnails/75.jpg)
I hate meshes.I cannot believe how hard this is.Geometry is hard.
— David BaraffSenior Research ScientistPixar Animation Studios