Technical History of Hex Mesh Generation Scott A

  • Slides: 136
Download presentation
Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is

Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract DE-AC 04 -94 AL 85000. CUBIT Mesh Generation Project

Outline Technical History of Hex Mesh Generation Introduction l Relationship Map l » Sweep-like

Outline Technical History of Hex Mesh Generation Introduction l Relationship Map l » Sweep-like techniques » 3 d techniques » Synthesis l Where are we now? » Hopes CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation Introduction CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation Introduction CUBIT Mesh Generation Project

Introduction Technical History of Hex Mesh Generation What I will cover l What I

Introduction Technical History of Hex Mesh Generation What I will cover l What I won’t cover l Why is hex meshing hard l CUBIT Mesh Generation Project

What I will cover Technical History of Hex Mesh Generation l l Asked to

What I will cover Technical History of Hex Mesh Generation l l Asked to give technical talk Unstructed hex meshing algorithms and ideas » Relationships between algorithms – Technical threads from one technique to another l Focus on assembly meshing problems » Multiple interlocking parts l Focus on connectivity problem » 3 d Algorithms » A little sweeping CUBIT Mesh Generation Project

What I won’t cover Technical History of Hex Mesh Generation Tools, packaging, ease of

What I won’t cover Technical History of Hex Mesh Generation Tools, packaging, ease of use… l Nodal positioning for good quality l » Bias and sizing control » Except as approach to connectivity problem l I’ll get some names right, but not all, and leave some people out. Sorry, no offense intended. CUBIT Mesh Generation Project

What I won’t cover Technical History of Hex Mesh Generation l Techniques involving »

What I won’t cover Technical History of Hex Mesh Generation l Techniques involving » Mixed elements – Hex-dominant methods » Non-conforming meshes – Overset grids » Primitives and Special algorithms for restricted classes of geometries – Sphere-like assemblies (Hex 3 d at LANL…) – Air around airplanes, cars, … l l CFD block primitives Medial-axis and Midpoint Subdivision CUBIT Mesh Generation Project

Why is Hex Meshing Hard? Technical History of Hex Mesh Generation l Connectivity of

Why is Hex Meshing Hard? Technical History of Hex Mesh Generation l Connectivity of tet meshing is “easy” » Delaunay triangulations – Given set of points, can connect them up to form triangles, tetrahedra, d-simplices – Empty-sphere property shows you how – Caveats l l Good quality is difficult in 3 dimensions Boundary constraints is difficult in 3 dimensions » Octree (subdivision) techniques – Keep dividing polyhedron until you get simplices l No new points on the boundary are necessary » Advancing front techniques – Remaining space always dividable into tetrahedra CUBIT Mesh Generation Project

Why is Hex Meshing Hard? Technical History of Hex Mesh Generation l Quads harder

Why is Hex Meshing Hard? Technical History of Hex Mesh Generation l Quads harder than tris (i. e. even 2 d is harder) » Can’t just divide polygons into quads – New points on the boundary may be necessary q ? » In practice, an even number of boundary edges can be divided into quads (with new interior points). – Necessary and sufficient Euler: CUBIT Mesh Generation Project

3 D Approaches Technical History of Hex Mesh Generation l Assume: assembly problem »

3 D Approaches Technical History of Hex Mesh Generation l Assume: assembly problem » Fixed boundary mesh l Geometry first » constrained by topology l Topology first » unconstrained – fix-up afterwards » constrained by geometry CUBIT Mesh Generation Project

Relationship Map Technical History of Hex Mesh Generation l Will refer to these map

Relationship Map Technical History of Hex Mesh Generation l Will refer to these map for context throughout talk CUBIT Mesh Generation Project

Sweep Relationship Map 2 D Technical History of Hex Mesh Generation 1 -1 Sweeping

Sweep Relationship Map 2 D Technical History of Hex Mesh Generation 1 -1 Sweeping / Projection / Rotation (lots) Sweeping Node Placement Strategies 2. 75 D 2. 5 D M-1 Sweeping (several) CUBIT Mesh Generation Project Cooper Tool Multi-axis Cooper Tool Good Source Surface Mesh Strategies M-M Sweeping Inside-out 3 d Grafting

samitch: be careful to imply conceptual relationship, not cause and effect of efforts or

samitch: be careful to imply conceptual relationship, not cause and effect of efforts or people 3 D Relationship Map clean-up construction discovery Technical History of Hex Mesh Generation Paving/Plastering THEX STC dual structure rediscovered Hex-to-void Schneider’s open problem Dual. Particle Methods Whisker STC folds Weaving state list geometry first Sweep-like techniques Inside-out techniques CUBIT Mesh Generation Project Existence Proofs Dual cycle Elimination & Shelling THEX Slicing doughnuts Whisker Weaving curve contraction Recursive bisection Linear-size topology first Geode Refinement and coarsening Local reconnection and smoothing ? Hex Flipping, dominant? (planar faces) Prepare the boundary mesh: splicing Geode between shells

3 D Relationship Map clean-up construction discovery Technical History of Hex Mesh Generation Paving/Plastering

3 D Relationship Map clean-up construction discovery Technical History of Hex Mesh Generation Paving/Plastering THEX STC dual structure rediscovered Hex-to-void Schneider’s open problem Dual. Particle Methods Whisker STC folds Weaving state list geometry first Sweep-like techniques Inside-out techniques CUBIT Mesh Generation Project Existence Proofs Dual cycle Elimination & Shelling THEX Slicing doughnuts Whisker Weaving curve contraction Recursive bisection Linear-size topology first Geode Refinement and coarsening Local reconnection and smoothing ? Hex Flipping, dominant? (planar faces) Prepare the boundary mesh: splicing Geode between shells

Paving/Plastering Technical History of Hex Mesh Generation ~12 years ago l Blacker, Stephenson, Cass,

Paving/Plastering Technical History of Hex Mesh Generation ~12 years ago l Blacker, Stephenson, Cass, Benzley l Paving l » 2 d advancing front – Advance based on geometric criteria – Merge connectivity when fronts collide l CUBIT Mesh Generation Project Theme: geometry first, connectivity second

Paving Technical History of Hex Mesh Generation Paving • Advancing Front: Begins with front

Paving Technical History of Hex Mesh Generation Paving • Advancing Front: Begins with front at boundary • Forms rows or single of elements based on front angles • Must have even number of intervals for all-quad mesh (Blacker, 92)(Cass, 96) CUBIT Mesh Generation Project

Paving Technical History of Hex Mesh Generation Paving • Advancing Front: Begins with front

Paving Technical History of Hex Mesh Generation Paving • Advancing Front: Begins with front at boundary • Forms rows of elements based on front angles • Must have even number of intervals for all-quad mesh (Blacker, 92)(Cass, 96) CUBIT Mesh Generation Project

Paving Technical History of Hex Mesh Generation Form new row and check for overlap

Paving Technical History of Hex Mesh Generation Form new row and check for overlap Paving • Advancing Front: Begins with front at boundary • Forms rows of elements based on front angles • Must have even number of intervals for all-quad mesh (Blacker, 92)(Cass, 96) CUBIT Mesh Generation Project

Paving Technical History of Hex Mesh Generation Insert “Wedge ” Paving • Advancing Front:

Paving Technical History of Hex Mesh Generation Insert “Wedge ” Paving • Advancing Front: Begins with front at boundary • Forms rows of elements based on front angles • Must have even number of intervals for all-quad mesh (Blacker, 92)(Cass, 96) CUBIT Mesh Generation Project

Paving Technical History of Hex Mesh Generation Seams Paving • Advancing Front: Begins with

Paving Technical History of Hex Mesh Generation Seams Paving • Advancing Front: Begins with front at boundary • Forms rows of elements based on front angles • Must have even number of intervals for all-quad mesh (Blacker, 92)(Cass, 96) CUBIT Mesh Generation Project

Paving Technical History of Hex Mesh Generation Close Loops and smooth Paving • Advancing

Paving Technical History of Hex Mesh Generation Close Loops and smooth Paving • Advancing Front: Begins with front at boundary • Forms rows of elements based on front angles • Must have even number of intervals for all-quad mesh (Blacker, 92)(Cass, 96) CUBIT Mesh Generation Project

Paving Technical History of Hex Mesh Generation l Interesting / relevant details for later

Paving Technical History of Hex Mesh Generation l Interesting / relevant details for later – Single loop: if seaming, keep two resulting loops even ? – Multiple loops? l Finesse by having each loop even at all stage ? CUBIT Mesh Generation Project

Plastering Technical History of Hex Mesh Generation l l ~10 years ago, Blacker, Canann,

Plastering Technical History of Hex Mesh Generation l l ~10 years ago, Blacker, Canann, Stephenson Paving worked so well, why not try paving in 3 d? = Plastering » Start with fixed surface mesh » Add proto-hexes (faces) one by one, conforming to bdy » Seam together nearby points, edges, faces – Build hexes CUBIT Mesh Generation Project

Plastering Technical History of Hex Mesh Generation l Kind of worked » Could fill

Plastering Technical History of Hex Mesh Generation l Kind of worked » Could fill up most of space CUBIT Mesh Generation Project

Plastering Technical History of Hex Mesh Generation l Difficulties » Advancing fronts rarely seemed

Plastering Technical History of Hex Mesh Generation l Difficulties » Advancing fronts rarely seemed to close – Seams and Wedges (knives) Blacker et al. Remove from front for now Drive or collapse later – Ted Blacker to Pete Murdoch l CUBIT Mesh Generation Project Find some way of closing up remaining region

3 D Relationship Map clean-up construction discovery Technical History of Hex Mesh Generation Paving/Plastering

3 D Relationship Map clean-up construction discovery Technical History of Hex Mesh Generation Paving/Plastering THEX STC dual structure rediscovered Hex-to-void Schneider’s open problem Dual. Particle Methods Whisker STC folds Weaving state list geometry first Sweep-like techniques Inside-out techniques CUBIT Mesh Generation Project Existence Proofs Dual cycle Elimination & Shelling THEX Slicing doughnuts Whisker Weaving curve contraction Recursive bisection Linear-size topology first Geode Refinement and coarsening Local reconnection and smoothing ? Hex Flipping, dominant? (planar faces) Prepare the boundary mesh: splicing Geode between shells

Plastering as hex dominant Technical History of Hex Mesh Generation l Years later »

Plastering as hex dominant Technical History of Hex Mesh Generation l Years later » Knives are ok finite elements, as are pyramids – Leave knives in? – vaporware » Hex-tet interface, fill remaining void with pyramids and tets – Geode transition template – Developed but not used l We’ll leave this thread and come back to it later – Ted Blacker to Pete Murdoch (Meyers, Stephenson, Benzley) l CUBIT Mesh Generation Project Find some way of closing up remaining region

3 D Relationship Map clean-up construction discovery Technical History of Hex Mesh Generation Paving/Plastering

3 D Relationship Map clean-up construction discovery Technical History of Hex Mesh Generation Paving/Plastering THEX STC dual structure rediscovered Hex-to-void Schneider’s open problem Dual. Particle Methods Whisker STC folds Weaving state list geometry first Sweep-like techniques Inside-out techniques CUBIT Mesh Generation Project Existence Proofs Dual cycle Elimination & Shelling THEX Slicing doughnuts Whisker Weaving curve contraction Recursive bisection Linear-size topology first Geode Refinement and coarsening Local reconnection and smoothing ? Hex Flipping, dominant? (planar faces) Prepare the boundary mesh: splicing Geode between shells

STC Dual Structure Rediscovered for Engr. Technical History of Hex Mesh Generation l Dual

STC Dual Structure Rediscovered for Engr. Technical History of Hex Mesh Generation l Dual of tri / tet mesh l » is just the dual! Dual of quad / hex mesh » is structure of arrangement of curves or surfaces » Murdoch, 16 September 1993 CUBIT Mesh Generation Project

STC Dual Structure Rediscovered Technical History of Hex Mesh Generation l Rediscovered a couple

STC Dual Structure Rediscovered Technical History of Hex Mesh Generation l Rediscovered a couple of times » Physicists: divide high-dimensional space into cubes to study relativity – A. B. Zamalodchikov: Tetrahedron equations and the relativistic S-matrix of straight strings in 2+1 dimensions, Comm. Math. Phys. 79, 489 -505 (1981) » Mathematics: arrangements – B. Grünbaum: Arrangements and Spreads, Reg. Conf. Ser. in Math. no 10, Amer. Math Soc. (1972) » Topology: geometric – I. R. Aitchison, J. H. Rubinstein: An introduction to polyhedral metrics of nonpositive curvature on 3 -manifolds, Geometry of manifolds, ed S Donaldson and C Thomas, Cambridge Univ. Press 1990 CUBIT Mesh Generation Project

Plastering’s downfall Technical History of Hex Mesh Generation » Seaming and connecting together based

Plastering’s downfall Technical History of Hex Mesh Generation » Seaming and connecting together based on geometry won’t create this nice structure. CUBIT Mesh Generation Project

3 D Relationship Map clean-up construction discovery Technical History of Hex Mesh Generation Paving/Plastering

3 D Relationship Map clean-up construction discovery Technical History of Hex Mesh Generation Paving/Plastering THEX STC dual structure rediscovered Hex-to-void Schneider’s open problem Dual. Particle Methods Whisker STC folds Weaving state list geometry first Sweep-like techniques Inside-out techniques CUBIT Mesh Generation Project Existence Proofs Dual cycle Elimination & Shelling THEX Slicing doughnuts Whisker Weaving curve contraction Recursive bisection Linear-size topology first Geode Refinement and coarsening Local reconnection and smoothing ? Hex Flipping, dominant? (planar faces) Prepare the boundary mesh: splicing Geode between shells

Murdoch’s thesis (1995) Technical History of Hex Mesh Generation l l “The Spatial Twist

Murdoch’s thesis (1995) Technical History of Hex Mesh Generation l l “The Spatial Twist Continuum (S. T. C. ) is a dual representation of the hexahedral mesh. The S. T. C. method of representing a mesh inherently captures the global connectivity constraint of all hexahedral meshes and thereby allows the construction of the mesh in a robust ordered or random manner” Ideas » Geometric curvature and continuity of twist planes » Envision mostly regular arrangement, with careful attention paid to few places of irregular connectivity, and how to combine them together CUBIT Mesh Generation Project

Murdoch’s vaporware STC fold algorithm Technical History of Hex Mesh Generation l “…a valid

Murdoch’s vaporware STC fold algorithm Technical History of Hex Mesh Generation l “…a valid hexahedral mesh will have a valid S. T. C. , the question is then whether to create the S. T. C. first or use it as a tool to guide the internal mesh connectivity” » Suggested creating surface and volume mesh simultaneously by inserting geometric twist planes one by one, guided by desired mesh density functions » Seemed hard – Could you do that for an assembly? Or just single volume? – How to define geometry of twist-planes? – How to ensure dual of surface mesh captured the topology of the model? Compare to octree, inside out method by Schneiders (which hadn’t been done yet): ½ time spent on surface isomorphism! CUBIT Mesh Generation Project

Murdoch’s vaporware STC fold algorithm Technical History of Hex Mesh Generation » To my

Murdoch’s vaporware STC fold algorithm Technical History of Hex Mesh Generation » To my knowledge, no serious investment in simultaneous surface and volume approach. They all create the surface mesh, then try to get the volume mesh – If it worked for fixed surface mesh, it would solve the assembly problem – Refinement and coarsening, mesh improvement, flipping, sheet pushing = after initial arrangement, mostly topology – Ostenson’s idea – Thuston’s minimal energy surface (soap bubble) idea to define geometry – Get a good surface mesh – visit later l l Shepherd’s splicing Mattias Muller-Hanneman WW surface mesh fixup WW add geode templates » Surface mesh first, then volume, turned out to be hard, too! CUBIT Mesh Generation Project

3 D Relationship Map clean-up construction discovery Technical History of Hex Mesh Generation Paving/Plastering

3 D Relationship Map clean-up construction discovery Technical History of Hex Mesh Generation Paving/Plastering THEX STC dual structure rediscovered Hex-to-void Schneider’s open problem Dual. Particle Methods Whisker STC folds Weaving state list geometry first Sweep-like techniques Inside-out techniques CUBIT Mesh Generation Project Existence Proofs Dual cycle Elimination & Shelling THEX Slicing doughnuts Whisker Weaving curve contraction Recursive bisection Linear-size topology first Geode Refinement and coarsening Local reconnection and smoothing ? Hex Flipping, dominant? (planar faces) Prepare the boundary mesh: splicing Geode between shells

Whisker Weaving State List Technical History of Hex Mesh Generation l Instead of Plastering

Whisker Weaving State List Technical History of Hex Mesh Generation l Instead of Plastering hexes, » With so much structure capturing these implicit constraints, why not start with the STC, then dualize to get hexes? » Blacker, Tautges, Mitchell CUBIT Mesh Generation Project

Whisker Weaving State List Ideas Technical History of Hex Mesh Generation l Main ideas

Whisker Weaving State List Ideas Technical History of Hex Mesh Generation l Main ideas of state list Whisker Weaving » Start with fixed surface mesh – This defines “boundary loops” of the sheets = twistplanes green CUBIT Mesh Generation Project red blue purple

Whisker Weaving State List Ideas Technical History of Hex Mesh Generation » Add dual

Whisker Weaving State List Ideas Technical History of Hex Mesh Generation » Add dual of hex (STC vertex) from bdy inward, one at a time – Compare to plastering… – Each sheet is 2 d: did we reduce this 3 d problem to a set of 2 d problems? I think not…although it is easier to understand visualize than free-floating primal edges. crossing = weaving CUBIT Mesh Generation Project

Whisker Weaving State List Ideas Technical History of Hex Mesh Generation l Now it’s

Whisker Weaving State List Ideas Technical History of Hex Mesh Generation l Now it’s different than Plastering » Try to get good local connectivity – Connectivity Rules about where to add, when to seam, … l Easily identify seaming = joining cases l Rarely join two loops together » Keep sheets as disk – Hmm, knives=wedges sometimes show up at the end of chords where loops self-intersect…try tracing a knife » Geometric rules: consider geometric dihedral angles of faces near surface mesh, no flat hexes » Heroic effort by Tautges to build rules for good all-hexes and close the weave – In practice, often unclosed region left-over, like Plastering – In practice, very complicated sheets CUBIT Mesh Generation Project

WW complicated sheets Technical History of Hex Mesh Generation • One or two sheets

WW complicated sheets Technical History of Hex Mesh Generation • One or two sheets going through most of the surface quads • Related to expected connectivity of random graphs on lattice? • Red = knives (wedges) edge w/ 10 hexes CUBIT Mesh Generation Project

3 D Relationship Map clean-up construction discovery Technical History of Hex Mesh Generation Paving/Plastering

3 D Relationship Map clean-up construction discovery Technical History of Hex Mesh Generation Paving/Plastering THEX STC dual structure rediscovered Hex-to-void Schneider’s open problem Dual. Particle Methods Whisker STC folds Weaving state list geometry first Sweep-like techniques Inside-out techniques CUBIT Mesh Generation Project Existence Proofs Dual cycle Elimination & Shelling THEX Slicing doughnuts Whisker Weaving curve contraction Recursive bisection Linear-size topology first Geode Refinement and coarsening Local reconnection and smoothing ? Hex Flipping, dominant? (planar faces) Prepare the boundary mesh: splicing Geode between shells

Schneiders Open Problem Technical History of Hex Mesh Generation l l Can anyone create

Schneiders Open Problem Technical History of Hex Mesh Generation l l Can anyone create an all-hex mesh conforming to the following surface mesh? http: //www-users. informatik. rwth-aachen. de/~roberts/open. html » He didn’t really say why you’d want to. But, if you could, then for any model, you could Plaster a while, add these, fill with tets, then divide into all-hex mesh. » Are there “bad” surface meshes that aren’t fillable? CUBIT Mesh Generation Project

3 D Relationship Map clean-up construction discovery Technical History of Hex Mesh Generation Paving/Plastering

3 D Relationship Map clean-up construction discovery Technical History of Hex Mesh Generation Paving/Plastering THEX STC dual structure rediscovered Hex-to-void Schneider’s open problem Dual. Particle Methods Whisker STC folds Weaving state list geometry first Sweep-like techniques Inside-out techniques CUBIT Mesh Generation Project Existence Proofs Dual cycle Elimination & Shelling THEX Slicing doughnuts Whisker Weaving curve contraction Recursive bisection Linear-size topology first Geode Refinement and coarsening Local reconnection and smoothing ? Hex Flipping, dominant? (planar faces) Prepare the boundary mesh: splicing Geode between shells

Existence Proofs Technical History of Hex Mesh Generation l Parallel thread, unknown at the

Existence Proofs Technical History of Hex Mesh Generation l Parallel thread, unknown at the time to Murdoch, Blacker, Mitchell » Mac Casel, of PDA, posting to sci-math: – Under what conditions can you hex-mesh a polyhedron without modifying its boundary? » Bill Thurston (world’s best topologist) – 25 Oct 1993, 39 days after Murdoch rediscovered the STC, knew about “STC” all along, answers in 1 ½ pages: – If the dual curves (loops) intersect an even number of times, then there is a topological hex mesh – “As for the geometric question: My first guess is it can be done geometrically if it can be done topologically, but it looks very tricky…. Which question are you really trying to answer? ” CUBIT Mesh Generation Project

Existence Proofs Technical History of Hex Mesh Generation l Mitchell’s proof, very similar to

Existence Proofs Technical History of Hex Mesh Generation l Mitchell’s proof, very similar to Thurston’s outline, a couple years later (mid 1995) » » » Map surface mesh to a sphere (smooth) Form STC loops – smooth closed curves Extend loops into closed surfaces Fix arrangement of surfaces to avoid degenerate elements Dualize to form hexes Map back to original object. CUBIT Mesh Generation Project

Necessary Conditions Technical History of Hex Mesh Generation CUBIT Mesh Generation Project

Necessary Conditions Technical History of Hex Mesh Generation CUBIT Mesh Generation Project

Aside: What about tet meshing? Technical History of Hex Mesh Generation l l Tet’s

Aside: What about tet meshing? Technical History of Hex Mesh Generation l l Tet’s have 4 (even) triangles, so all tet meshes are bounded by an even number of tets, too! But triangle’s have 3 (odd) edges, so any triangle surface mesh has same parity of triangles as bounding edges » Any triangle mesh of a closed volume is even 1, 3 CUBIT Mesh Generation Project 2, 4 Any triangle mesh of top has same parity as any triangle mesh of bottom. Hence sum is even

Sufficient Conditions Technical History of Hex Mesh Generation l Every pair of loops on

Sufficient Conditions Technical History of Hex Mesh Generation l Every pair of loops on sphere intersect each other even number of times l A single loop can self-intersect an even or odd number of times » Recall trouble with knives and self-intersecting loops… CUBIT Mesh Generation Project

Sufficient Conditions Technical History of Hex Mesh Generation l Topology theorems » For any

Sufficient Conditions Technical History of Hex Mesh Generation l Topology theorems » For any single curve with even # self-intersections, can construct a surface » For any pair of curves with odd # self-intersections, can construct a surface » (Proof is constructive: rumor that non-constructive is false) CUBIT Mesh Generation Project

Sufficient Conditions Technical History of Hex Mesh Generation If you dualized a very coarse

Sufficient Conditions Technical History of Hex Mesh Generation If you dualized a very coarse arrangement, you’d get degenerate hexes. Easy to fix with extra balls. CUBIT Mesh Generation Project

Sufficient Conditions Technical History of Hex Mesh Generation Do similar buffering sheet next to

Sufficient Conditions Technical History of Hex Mesh Generation Do similar buffering sheet next to surface mesh CUBIT Mesh Generation Project

Schneiders Open Problem Closed? Technical History of Hex Mesh Generation l Using these kind

Schneiders Open Problem Closed? Technical History of Hex Mesh Generation l Using these kind of techniques, a dozen people have constructed a “mesh” for the open problem. » One self-intersecting curve, 8 times. 2 curves. » Non-degenerate meshes have > 100 hexes » Poor quality – But positive jacobians last IMR! 1. 0 E-4) CUBIT Mesh Generation Project

What about non-spheres? Technical History of Hex Mesh Generation l l “Map surface mesh

What about non-spheres? Technical History of Hex Mesh Generation l l “Map surface mesh to a sphere (smooth)” David Eppstein told me about Thurston’s proof. Bill Thurston and I were going to write joint paper. Thurston worked a couple days and decided rigorously extending to non-balls was harder than it looked, lost interest. So single-author paper CUBIT Mesh Generation Project

What about non-spheres? Technical History of Hex Mesh Generation l Necessary: even surface mesh

What about non-spheres? Technical History of Hex Mesh Generation l Necessary: even surface mesh and some edge-chains is necessary. Volume property. l l Is it sufficient? » Nate Folwell showed exponential number of hexes necessary for knotted holes CUBIT Mesh Generation Project

What about non-spheres? Technical History of Hex Mesh Generation l Algorithms » V. A.

What about non-spheres? Technical History of Hex Mesh Generation l Algorithms » V. A. Gasilov (Moscow) reduce topology of non-spheres to collection of spheres. – “slicing doughnuts” – Mesh with tets, grow a maximal tet collection that is a ball and doesn’t self-touch, boundary is a cut. » Jeff Erickson’s recent paper “Optimally cutting a surface into a disk” may be relevant? CUBIT Mesh Generation Project

3 D Relationship Map clean-up construction discovery Technical History of Hex Mesh Generation Paving/Plastering

3 D Relationship Map clean-up construction discovery Technical History of Hex Mesh Generation Paving/Plastering THEX STC dual structure rediscovered Hex-to-void Schneider’s open problem Dual. Particle Methods Whisker STC folds Weaving state list geometry first Sweep-like techniques Inside-out techniques CUBIT Mesh Generation Project Existence Proofs Dual cycle Elimination & Shelling THEX Slicing doughnuts Whisker Weaving curve contraction Recursive bisection Linear-size topology first Geode Refinement and coarsening Local reconnection and smoothing ? Hex Flipping, dominant? (planar faces) Prepare the boundary mesh: splicing Geode between shells

Whisker Weave via Curve Contraction Technical History of Hex Mesh Generation l Implemented the

Whisker Weave via Curve Contraction Technical History of Hex Mesh Generation l Implemented the existence proof for curves w/out self -intersections, sphere surfaces. (Nate Folwell, Mitchell) » To get surface, take loop and extend topologically next to the remaining void » Pre-process surface mesh to get rid of self intersections. – Face collapse and refinement. l Always solves the topology problem (existence proof is a proof, after all…), but rarely the geometric problem – Thurston: “As for the geometric question: My first guess is it can be done geometrically if it can be done topologically, but it looks very tricky…. Which question are you really trying to answer? ” CUBIT Mesh Generation Project

Whisker Weaving Self-Intersection Removal Technical History of Hex Mesh Generation l Face collapse l

Whisker Weaving Self-Intersection Removal Technical History of Hex Mesh Generation l Face collapse l and pillowing CUBIT Mesh Generation Project

Whisker Weaving Self-Intersection Removal Technical History of Hex Mesh Generation l Bad surface mesh

Whisker Weaving Self-Intersection Removal Technical History of Hex Mesh Generation l Bad surface mesh quality in practice CUBIT Mesh Generation Project

Whisker Weaving via Curve Contraction Technical History of Hex Mesh Generation l Small, isolated

Whisker Weaving via Curve Contraction Technical History of Hex Mesh Generation l Small, isolated regions of poor quality » 30 hexes sharing one node » Revisit later CUBIT Mesh Generation Project

3 D Relationship Map clean-up construction discovery Technical History of Hex Mesh Generation Paving/Plastering

3 D Relationship Map clean-up construction discovery Technical History of Hex Mesh Generation Paving/Plastering THEX STC dual structure rediscovered Hex-to-void Schneider’s open problem Dual. Particle Methods Whisker STC folds Weaving state list geometry first Sweep-like techniques Inside-out techniques CUBIT Mesh Generation Project Existence Proofs Dual cycle Elimination & Shelling THEX Slicing doughnuts Whisker Weaving curve contraction Recursive bisection Linear-size topology first Geode Refinement and coarsening Local reconnection and smoothing ? Hex Flipping, dominant? (planar faces) Prepare the boundary mesh: splicing Geode between shells

Dual Cycle Elimination Technical History of Hex Mesh Generation l l l Matthias Muller-Hannemann

Dual Cycle Elimination Technical History of Hex Mesh Generation l l l Matthias Muller-Hannemann Similar to curve contraction algorithm Advantages » No fix-up, instead prevents bad cases – Sufficient conditions to eliminate a cycle without introducing degenerate or flat elements – (but sometimes not possible to make progress) » No self-intersecting curves for arrangements – German CAD tool geometry decomposer into 4 -sided surfaces, and well structured surface mesher CUBIT Mesh Generation Project

Dual Cycle Elimination Technical History of Hex Mesh Generation l Basic principle » Cycles

Dual Cycle Elimination Technical History of Hex Mesh Generation l Basic principle » Cycles eliminated one by one – As WW curve contraction CUBIT Mesh Generation Project

Dual Cycle Elimination Technical History of Hex Mesh Generation l Cycle elimination order must

Dual Cycle Elimination Technical History of Hex Mesh Generation l Cycle elimination order must be a shelling » With other algebraic rules – sufficient to avoid degeneracies » E. g. forbidden cycle – Maybe a different order is a shelling CUBIT Mesh Generation Project

Dual Cycle Elimination Technical History of Hex Mesh Generation l Remove self-intersecting loops ahead

Dual Cycle Elimination Technical History of Hex Mesh Generation l Remove self-intersecting loops ahead of time » Dice one level – High element count » Replace self-intersections with template – Good quality compared to WW approach » Works for assembly with shared surfaces – Doesn’t introduce new self-intersections CUBIT Mesh Generation Project

Dual Cycle Elimination Technical History of Hex Mesh Generation l Application success » Human

Dual Cycle Elimination Technical History of Hex Mesh Generation l Application success » Human mandible – Good quality hex mesh – Had to do some manual work to identify good surface mesh. CUBIT Mesh Generation Project

3 D Relationship Map clean-up construction discovery Technical History of Hex Mesh Generation Paving/Plastering

3 D Relationship Map clean-up construction discovery Technical History of Hex Mesh Generation Paving/Plastering THEX STC dual structure rediscovered Hex-to-void Schneider’s open problem Dual. Particle Methods Whisker STC folds Weaving state list geometry first Sweep-like techniques Inside-out techniques CUBIT Mesh Generation Project Existence Proofs Dual cycle Elimination & Shelling THEX Slicing doughnuts Whisker Weaving curve contraction Recursive bisection Linear-size topology first Geode Refinement and coarsening Local reconnection and smoothing ? Hex Flipping, dominant? (planar faces) Prepare the boundary mesh: splicing Geode between shells

Recursive Bisection Technical History of Hex Mesh Generation l Calvo and Idelsohn in Argentina

Recursive Bisection Technical History of Hex Mesh Generation l Calvo and Idelsohn in Argentina » Anyone want to pay for their visit? l Select a cycle for elimination = insert a layer of hexes » Instead of layer next to boundary (as WW or Shelling), it cuts the model in two. – Layer has connectivity of one of the sides – Maybe better geometrically? » Two halves resolved independently – Topological “monsters” (degeneracies) as WW CUBIT Mesh Generation Project

Bisection v. s. Cycle Elimination Technical History of Hex Mesh Generation Recursive bisection CUBIT

Bisection v. s. Cycle Elimination Technical History of Hex Mesh Generation Recursive bisection CUBIT Mesh Generation Project Shelling / WW

3 D Relationship Map clean-up construction discovery Technical History of Hex Mesh Generation Paving/Plastering

3 D Relationship Map clean-up construction discovery Technical History of Hex Mesh Generation Paving/Plastering THEX STC dual structure rediscovered Hex-to-void Schneider’s open problem Dual. Particle Methods Whisker STC folds Weaving state list geometry first Sweep-like techniques Inside-out techniques CUBIT Mesh Generation Project Existence Proofs Dual cycle Elimination & Shelling THEX Slicing doughnuts Whisker Weaving curve contraction Recursive bisection Linear-size topology first Geode Refinement and coarsening Local reconnection and smoothing ? Hex Flipping, dominant? (planar faces) Prepare the boundary mesh: splicing Geode between shells

Dual Particle Methods Technical History of Hex Mesh Generation l Analyst group at SNL

Dual Particle Methods Technical History of Hex Mesh Generation l Analyst group at SNL tired of waiting for WW-like approaches, …start with 2 d » Jung, Dohrmann, Witkowski, Wolfenbarger, Gerstle, Mitchell, Panthaki, Segalman » Wanted something more mathematical » Solve geometric placement and connectivity simultaneously » Throw dual particles into a domain – Thought there would be an Euler’s formula that would say how many » Position them using optimization (minimum energy configuration) » Connect them up, dualize to get quads CUBIT Mesh Generation Project

Dual Particle Methods Technical History of Hex Mesh Generation l Physics forces between particles

Dual Particle Methods Technical History of Hex Mesh Generation l Physics forces between particles » Attraction, repulsion, damping, torque CUBIT Mesh Generation Project

Dual Particle Methods Technical History of Hex Mesh Generation l Forces are local, didn’t

Dual Particle Methods Technical History of Hex Mesh Generation l Forces are local, didn’t always close up nicely » Heuristic local reconnection » Particle add & remove » Helped in 2 d CUBIT Mesh Generation Project

Dual Particle Methods Technical History of Hex Mesh Generation l Initial position dual particles

Dual Particle Methods Technical History of Hex Mesh Generation l Initial position dual particles based on solution to Laplace equation. » Almost as good as paving, when it worked… random CUBIT Mesh Generation Project Laplace

Dual Particle Methods – 3 D Technical History of Hex Mesh Generation l 3

Dual Particle Methods – 3 D Technical History of Hex Mesh Generation l 3 D - Leung » Position particles as before » Write down all the constraints from existence proof » Solve constraints via discrete optimization – Add dual geometric constraints as they are violated (no cells interpenetrate) – Huge running time – Mostly solved topology of hex mesh. Geometric quality not good enough. CUBIT Mesh Generation Project

Dual Particle Methods – 3 D Technical History of Hex Mesh Generation CUBIT Mesh

Dual Particle Methods – 3 D Technical History of Hex Mesh Generation CUBIT Mesh Generation Project

Dual Particle Methods – 3 D Technical History of Hex Mesh Generation Geometric problems

Dual Particle Methods – 3 D Technical History of Hex Mesh Generation Geometric problems still - interpenetrations CUBIT Mesh Generation Project

3 D Relationship Map clean-up construction discovery Technical History of Hex Mesh Generation Paving/Plastering

3 D Relationship Map clean-up construction discovery Technical History of Hex Mesh Generation Paving/Plastering THEX STC dual structure rediscovered Hex-to-void Schneider’s open problem Dual. Particle Methods Whisker STC folds Weaving state list geometry first Sweep-like techniques Inside-out techniques CUBIT Mesh Generation Project Existence Proofs Dual cycle Elimination & Shelling THEX Slicing doughnuts Whisker Weaving curve contraction Recursive bisection Linear-size topology first Geode Refinement and coarsening Local reconnection and smoothing ? Hex Flipping, dominant? (planar faces) Prepare the boundary mesh: splicing Geode between shells

Linear-size Hex Meshes Technical History of Hex Mesh Generation l Eppstein » Mitchell-Thurston algorithms

Linear-size Hex Meshes Technical History of Hex Mesh Generation l Eppstein » Mitchell-Thurston algorithms produce too many hexes » n = number of surface quads O(n) on edge O(n 1/2) on edge O(n) on each side CUBIT Mesh Generation Project O(n) on face

Linear-Size Hex Meshes Technical History of Hex Mesh Generation l Steps Original shape CUBIT

Linear-Size Hex Meshes Technical History of Hex Mesh Generation l Steps Original shape CUBIT Mesh Generation Project Hex-shaped boundary tiles THex interior O(n) tets

Linear-Size Hex Meshing Technical History of Hex Mesh Generation l For each tile »

Linear-Size Hex Meshing Technical History of Hex Mesh Generation l For each tile » Fill with hexes – Matching to create a couple of types of tiles, all satisfy sufficient conditions of existence proofs – Solves topology problem, not geometry problem – Anybody figured out exactly how to fill? I didn’t…like Schneiders open problem CUBIT Mesh Generation Project

3 D Relationship Map clean-up construction discovery Technical History of Hex Mesh Generation Paving/Plastering

3 D Relationship Map clean-up construction discovery Technical History of Hex Mesh Generation Paving/Plastering THEX STC dual structure rediscovered Hex-to-void Schneider’s open problem Dual. Particle Methods Whisker STC folds Weaving state list geometry first Sweep-like techniques Inside-out techniques CUBIT Mesh Generation Project Existence Proofs Dual cycle Elimination & Shelling THEX Slicing doughnuts Whisker Weaving curve contraction Recursive bisection Linear-size topology first Geode Refinement and coarsening Local reconnection and smoothing ? Hex Flipping, dominant? (planar faces) Prepare the boundary mesh: splicing Geode between shells

Geode - motivation Technical History of Hex Mesh Generation Recall linear-hex l Recall Plastering,

Geode - motivation Technical History of Hex Mesh Generation Recall linear-hex l Recall Plastering, hex to void l CUBIT Mesh Generation Project

Geode Motivation Technical History of Hex Mesh Generation l 3 d problem l How

Geode Motivation Technical History of Hex Mesh Generation l 3 d problem l How to conformally interface in 3 d? CUBIT Mesh Generation Project

Geode Technical History of Hex Mesh Generation l There is a transition template that

Geode Technical History of Hex Mesh Generation l There is a transition template that someone (me) has filled with ok-quality hexes » Based on constructing sheets, interleaving Tets divided into 4 hexes Hexes divided into 8 CUBIT Mesh Generation Project

Geode – 2 d Technical History of Hex Mesh Generation CUBIT Mesh Generation Project

Geode – 2 d Technical History of Hex Mesh Generation CUBIT Mesh Generation Project

Geode – 3 d Technical History of Hex Mesh Generation l l Hex side

Geode – 3 d Technical History of Hex Mesh Generation l l Hex side Tet side CUBIT Mesh Generation Project

Geode – 3 d Technical History of Hex Mesh Generation CUBIT Mesh Generation Project

Geode – 3 d Technical History of Hex Mesh Generation CUBIT Mesh Generation Project

Geode between shells Technical History of Hex Mesh Generation l Ideal template has scaled

Geode between shells Technical History of Hex Mesh Generation l Ideal template has scaled jacobian 0. 26 » Comparable to THex mesh l In practice, almost never get well-shaped layer » Good for single layer on planar surface… hex thex geode THex geode mesh with hexes CUBIT Mesh Generation Project

Geode Technical History of Hex Mesh Generation l Why geode and not other templates?

Geode Technical History of Hex Mesh Generation l Why geode and not other templates? » Self-intersections? Then why not 4 -triangle geode: » We know a few things that make a surface mesh hard to fill with hexes, but we still don’t know how to make it easy. CUBIT Mesh Generation Project

Geode Eliminates Self-Intersecting Loops! Technical History of Hex Mesh Generation l Unpublished » Recall

Geode Eliminates Self-Intersecting Loops! Technical History of Hex Mesh Generation l Unpublished » Recall Dual Cycle Elimination – 1. Dice – 2. Replace self-int with template » Instead, – 2. Add one geode template (not layer) – Remaining region has no self-intersection – Conjecture: after dicing, every surface mesh of any volume admits a compatible, linear-size, positive jacobian hexahedral mesh. Inside of volume CUBIT Mesh Generation Project

Geode and Linear-Size Technical History of Hex Mesh Generation l l What’s so special

Geode and Linear-Size Technical History of Hex Mesh Generation l l What’s so special about dicing? Is quality going to be that good? » Doubt it would be that practicle » Revisit loops that are self-nearby later CUBIT Mesh Generation Project

3 D Relationship Map clean-up construction discovery Technical History of Hex Mesh Generation Paving/Plastering

3 D Relationship Map clean-up construction discovery Technical History of Hex Mesh Generation Paving/Plastering THEX STC dual structure rediscovered Hex-to-void Schneider’s open problem Dual. Particle Methods Whisker STC folds Weaving state list geometry first Sweep-like techniques Inside-out techniques CUBIT Mesh Generation Project Existence Proofs Dual cycle Elimination & Shelling THEX Slicing doughnuts Whisker Weaving curve contraction Recursive bisection Linear-size topology first Geode Refinement and coarsening Local reconnection and smoothing ? Hex Flipping, dominant? (planar faces) Prepare the boundary mesh: splicing Geode between shells

Prepare the Boundary Mesh Technical History of Hex Mesh Generation l Recall WW, Shelling,

Prepare the Boundary Mesh Technical History of Hex Mesh Generation l Recall WW, Shelling, and Geode » approaches to preparing the surface mesh to admit a (good quality? ) hex mesh CUBIT Mesh Generation Project

Algorithms - splicing Technical History of Hex Mesh Generation l Mesh Editing and Splicing

Algorithms - splicing Technical History of Hex Mesh Generation l Mesh Editing and Splicing Initial Grid CUBIT Mesh Generation Project Remove self intersecting chord – Leave boundary nodes fixed

Algorithms - splicing Technical History of Hex Mesh Generation l Mesh Editing and Splicing

Algorithms - splicing Technical History of Hex Mesh Generation l Mesh Editing and Splicing Intermediate mesh – needs new chord to reconcile boundary CUBIT Mesh Generation Project New non self intersecting chord inserted to reconcile boundary nodes

Surface Mesh Modification - Splicing Technical History of Hex Mesh Generation The procedure: Undesirable

Surface Mesh Modification - Splicing Technical History of Hex Mesh Generation The procedure: Undesirable mesh interval Mesh from W 76 AFF CUBIT Mesh Generation Project Remove unwanted quads Completed Mesh

Fixing Surface Mesh for WW Technical History of Hex Mesh Generation • No self-intersections,

Fixing Surface Mesh for WW Technical History of Hex Mesh Generation • No self-intersections, but pretty convoluted • Remove it! CUBIT Mesh Generation Project

Fixing Surface Meshes Technical History of Hex Mesh Generation l In progress » Automation

Fixing Surface Meshes Technical History of Hex Mesh Generation l In progress » Automation l How general of a method will it be? » What’s properties are really sufficient for the surface mesh? CUBIT Mesh Generation Project

3 D Relationship Map clean-up construction discovery Technical History of Hex Mesh Generation Paving/Plastering

3 D Relationship Map clean-up construction discovery Technical History of Hex Mesh Generation Paving/Plastering THEX STC dual structure rediscovered Hex-to-void Schneider’s open problem Dual. Particle Methods Whisker STC folds Weaving state list geometry first Sweep-like techniques Inside-out techniques CUBIT Mesh Generation Project Existence Proofs Dual cycle Elimination & Shelling THEX Slicing doughnuts Whisker Weaving curve contraction Recursive bisection Linear-size topology first Geode Refinement and coarsening Local reconnection and smoothing ? Hex Flipping, dominant? (planar faces) Prepare the boundary mesh: splicing Geode between shells

Where are we today? Technical History of Hex Mesh Generation l Summary » Nothing

Where are we today? Technical History of Hex Mesh Generation l Summary » Nothing yet is – Boundary mesh conforming – Automatic – Good quality – Applicable to all geometries l CUBIT Mesh Generation Project Matthias very good for mandible-like problems

Best hopes Technical History of Hex Mesh Generation Suspect that only certain surface meshes

Best hopes Technical History of Hex Mesh Generation Suspect that only certain surface meshes admit a good-quality mesh l Combined geom & topology techniques l Difficult to get tight necessary and sufficient conditions -> sufficient might be doable l CUBIT Mesh Generation Project

Current Activity Technical History of Hex Mesh Generation l Show why hexes are hard

Current Activity Technical History of Hex Mesh Generation l Show why hexes are hard » Flipping l Fix existing mesh in unstructured way » Past efforts not promising l Semi-structured sweep-like techniques » Grafting, Coopering l Improve existing mesh in semi-structured way » Looks promising l Surface and volume all-at-once looking better » Mesh cutting CUBIT Mesh Generation Project

3 D Relationship Map clean-up construction discovery Technical History of Hex Mesh Generation Paving/Plastering

3 D Relationship Map clean-up construction discovery Technical History of Hex Mesh Generation Paving/Plastering THEX STC dual structure rediscovered Hex-to-void Schneider’s open problem Dual. Particle Methods Whisker STC folds Weaving state list geometry first Sweep-like techniques Inside-out techniques CUBIT Mesh Generation Project Existence Proofs Dual cycle Elimination & Shelling THEX Slicing doughnuts Whisker Weaving curve contraction Recursive bisection Linear-size topology first Geode Refinement and coarsening Local reconnection and smoothing ? Hex Flipping, dominant? (planar faces) Prepare the boundary mesh: splicing Geode between shells

Flipping Technical History of Hex Mesh Generation Bern and Eppstein l Goals l »

Flipping Technical History of Hex Mesh Generation Bern and Eppstein l Goals l » Find set of operations sufficient for all desired topological changes » Relate local improvement to problems of mesh existence » Computational Geometry contributions to meshing, welcome complement to engineering approaches CUBIT Mesh Generation Project

Flipping Triangle Meshes Technical History of Hex Mesh Generation l Triangle meshes » Two

Flipping Triangle Meshes Technical History of Hex Mesh Generation l Triangle meshes » Two types of flips » Equivalent to gluing tetrahedron on top of existing triangle mesh, take non-touching tris » Flip graph is connected CUBIT Mesh Generation Project

Flipping Quads Technical History of Hex Mesh Generation l Flip graph is connected »

Flipping Quads Technical History of Hex Mesh Generation l Flip graph is connected » Up to parity » For disk surfaces CUBIT Mesh Generation Project no no

Flipping Tetrahedra Technical History of Hex Mesh Generation l Flip graph connected for »

Flipping Tetrahedra Technical History of Hex Mesh Generation l Flip graph connected for » Topological tets, unknown for geometric tets » Swap top and bottom of 4 d simplex CUBIT Mesh Generation Project

Flipping Hexes top and bottom of 4 D cuboid Technical History of Hex Mesh

Flipping Hexes top and bottom of 4 D cuboid Technical History of Hex Mesh Generation CUBIT Mesh Generation Project

Flipping Hexes Technical History of Hex Mesh Generation l Some flips preserve flatness of

Flipping Hexes Technical History of Hex Mesh Generation l Some flips preserve flatness of faces » Does warped boundary mesh imply warped hexes? » Beyond flatness, can we someday determine the maximum quality of a hex mesh matching a given surface mesh? CUBIT Mesh Generation Project

3 D Relationship Map clean-up construction discovery Technical History of Hex Mesh Generation Paving/Plastering

3 D Relationship Map clean-up construction discovery Technical History of Hex Mesh Generation Paving/Plastering THEX STC dual structure rediscovered Hex-to-void Schneider’s open problem Dual. Particle Methods Whisker STC folds Weaving state list geometry first Sweep-like techniques Inside-out techniques CUBIT Mesh Generation Project Existence Proofs Dual cycle Elimination & Shelling THEX Slicing doughnuts Whisker Weaving curve contraction Recursive bisection Linear-size topology first Geode Refinement and coarsening Local reconnection and smoothing ? Hex Flipping, dominant? (planar faces) Prepare the boundary mesh: splicing Geode between shells

Local Reconnection and Smoothing Technical History of Hex Mesh Generation l Knupp’s untangle smoothing

Local Reconnection and Smoothing Technical History of Hex Mesh Generation l Knupp’s untangle smoothing » Is able to get positive jacobians in interior of meshes that we know admit them – Was unable to untangle WW meshes – Issues l l l Provable? Perfect implementation? Idea » Combine reconnection and smoothing for unstructured 3 d hex meshes – As done in every other class of unstructured meshers… CUBIT Mesh Generation Project

Local Reconnection and Smoothing Technical History of Hex Mesh Generation l l l Find

Local Reconnection and Smoothing Technical History of Hex Mesh Generation l l l Find local area of poor quality Classify type of problem, possible improvements Find best improvement » » l Swap local connectivity via primitives Locally smooth Assess quality Undo Apply best improvement, if any CUBIT Mesh Generation Project

Local Reconnection and Smoothing Technical History of Hex Mesh Generation l Flips, but dual

Local Reconnection and Smoothing Technical History of Hex Mesh Generation l Flips, but dual interpretation » Might not be flips (non-parity preserving) for non-ball volumes Moving sheets to untangle Also sheet pushing ideas for local element size control CUBIT Mesh Generation Project

Local Reconnection and Smoothing Technical History of Hex Mesh Generation Inserting sheets Connecting sheets

Local Reconnection and Smoothing Technical History of Hex Mesh Generation Inserting sheets Connecting sheets CUBIT Mesh Generation Project

Local Reconnection and Smoothing Technical History of Hex Mesh Generation l l Most-untangled sheets

Local Reconnection and Smoothing Technical History of Hex Mesh Generation l l Most-untangled sheets not always the best quality Wasn’t able to improve specific small examples, by any manual means » Just push problem around l Process didn’t work » Search space very large » Progress possible but not monotonic? (unlike quad, tri, tet) – Space of valid hex meshes too coarse, not well connected? » Progress not possible? CUBIT Mesh Generation Project

3 D Relationship Map clean-up construction discovery Technical History of Hex Mesh Generation Paving/Plastering

3 D Relationship Map clean-up construction discovery Technical History of Hex Mesh Generation Paving/Plastering THEX STC dual structure rediscovered Hex-to-void Schneider’s open problem Dual. Particle Methods Whisker STC folds Weaving state list geometry first Sweep-like techniques Inside-out techniques CUBIT Mesh Generation Project Existence Proofs Dual cycle Elimination & Shelling THEX Slicing doughnuts Whisker Weaving curve contraction Recursive bisection Linear-size topology first Geode Refinement and coarsening Local reconnection and smoothing ? Hex Flipping, dominant? (planar faces) Prepare the boundary mesh: splicing Geode between shells

Sweep Relationship Map 2 D Technical History of Hex Mesh Generation 1 -1 Sweeping

Sweep Relationship Map 2 D Technical History of Hex Mesh Generation 1 -1 Sweeping / Projection / Rotation (lots) Sweeping Node Placement Strategies 2. 75 D 2. 5 D M-1 Sweeping (several) CUBIT Mesh Generation Project Cooper Tool Multi-axis Cooper Tool Good Source Surface Mesh Strategies M-M Sweeping Inside-out 3 d Grafting

Sweeping Types Technical History of Hex Mesh Generation One-to-One Sweep Many-to-One Sweep CUBIT Mesh

Sweeping Types Technical History of Hex Mesh Generation One-to-One Sweep Many-to-One Sweep CUBIT Mesh Generation Project Many-to-Many Multisweep & Coopering

Multi. Sweep Technical History of Hex Mesh Generation • Create virtual surfaces w/ imprints

Multi. Sweep Technical History of Hex Mesh Generation • Create virtual surfaces w/ imprints • Surface mesh the combination • Sweep the underlying volumes CUBIT Mesh Generation Project

Multi. Sweep Technical History of Hex Mesh Generation Image of target curves partitions source

Multi. Sweep Technical History of Hex Mesh Generation Image of target curves partitions source surfaces Image created using • matrix (affine transformation) • or weighted winslow smoothing one mesh layer at a time The image is a mesh image depends on resolution, premesh CUBIT Mesh Generation Project

Multisweep – in progress Technical History of Hex Mesh Generation CUBIT Mesh Generation Project

Multisweep – in progress Technical History of Hex Mesh Generation CUBIT Mesh Generation Project

Cooper Tool Technical History of Hex Mesh Generation l Like multisweep » Nice language

Cooper Tool Technical History of Hex Mesh Generation l Like multisweep » Nice language of caps, barrels » Different projection methods – All layers at once » Intersection of projections different –… CUBIT Mesh Generation Project

Multi-Axis Coopering Technical History of Hex Mesh Generation Blacker and Miyoshi l Break model

Multi-Axis Coopering Technical History of Hex Mesh Generation Blacker and Miyoshi l Break model into tree l CUBIT Mesh Generation Project

Multi-Axis Coopering Technical History of Hex Mesh Generation l “Cut” section to sweep in

Multi-Axis Coopering Technical History of Hex Mesh Generation l “Cut” section to sweep in new direction » Cuts can intersect and overlap - tricky CUBIT Mesh Generation Project

Mesh grafting Technical History of Hex Mesh Generation CUBIT Mesh Generation Project

Mesh grafting Technical History of Hex Mesh Generation CUBIT Mesh Generation Project

3 D Relationship Map clean-up construction discovery Technical History of Hex Mesh Generation Paving/Plastering

3 D Relationship Map clean-up construction discovery Technical History of Hex Mesh Generation Paving/Plastering THEX STC dual structure rediscovered Hex-to-void Schneider’s open problem Dual. Particle Methods Whisker STC folds Weaving state list geometry first Sweep-like techniques Inside-out techniques CUBIT Mesh Generation Project Existence Proofs Dual cycle Elimination & Shelling THEX Slicing doughnuts Whisker Weaving curve contraction Recursive bisection Linear-size topology first Geode Refinement and coarsening Local reconnection and smoothing ? Hex Flipping, dominant? (planar faces) Prepare the boundary mesh: splicing Geode between shells

Refinement and Coarsening Shepherd, Borden, … Technical History of Hex Mesh Generation Boundary Refinement

Refinement and Coarsening Shepherd, Borden, … Technical History of Hex Mesh Generation Boundary Refinement Sheet Refinement & Cleaving CUBIT Mesh Generation Project Mesh Coarsening

Sheet Insertion Technical History of Hex Mesh Generation l Modify mesh to capture geometry,

Sheet Insertion Technical History of Hex Mesh Generation l Modify mesh to capture geometry, through STC sheets CUBIT Mesh Generation Project

Mesh Cutting & Sheet Insertion Technical History of Hex Mesh Generation The problem is

Mesh Cutting & Sheet Insertion Technical History of Hex Mesh Generation The problem is to fit the mesh on the left to the volume on the right. The rest of the volumes in the model can then be swept away from this volume. CUBIT Mesh Generation Project

Step 1: Capturing the first imprint. Technical History of Hex Mesh Generation CUBIT Mesh

Step 1: Capturing the first imprint. Technical History of Hex Mesh Generation CUBIT Mesh Generation Project

Step 2: Capturing the other two imprints Technical History of Hex Mesh Generation CUBIT

Step 2: Capturing the other two imprints Technical History of Hex Mesh Generation CUBIT Mesh Generation Project

Step 3: Capturing the Cutouts Technical History of Hex Mesh Generation CUBIT Mesh Generation

Step 3: Capturing the Cutouts Technical History of Hex Mesh Generation CUBIT Mesh Generation Project

Mesh Cutting Technical History of Hex Mesh Generation l Questions » » Can we

Mesh Cutting Technical History of Hex Mesh Generation l Questions » » Can we do this for assemblies? How wild of shapes can it handle? Compare vs. Schneiders thesis Compare vs. Murdoch thesis CUBIT Mesh Generation Project

Conclusions Technical History of Hex Mesh Generation l Technical history of unstructured meshing ideas

Conclusions Technical History of Hex Mesh Generation l Technical history of unstructured meshing ideas » Common themes » Lots left to do and explore – Enough background ideas to start research » Probably not much low-hanging fruit left – Hope of practical tools before hex meshing is obsolete » Gap between theory (understanding) and practice – closing a bit CUBIT Mesh Generation Project