Title: Technical History of Hex Mesh Generation
1Technical 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-AC04-94AL85000.
2Outline
- Introduction
- Relationship Map
- Sweep-like techniques
- 3d techniques
- Synthesis
- Where are we now?
- Hopes
3Introduction
4Introduction
- What I will cover
- What I wont cover
- Why is hex meshing hard
5What I will cover
- Asked to give technical talk
- Unstructed hex meshing algorithms and ideas
- Relationships between algorithms
- Technical threads from one technique to another
- Focus on assembly meshing problems
- Multiple interlocking parts
- Focus on connectivity problem
- 3d Algorithms
- A little sweeping
6What I wont cover
- Tools, packaging, ease of use
- Nodal positioning for good quality
- Bias and sizing control
- Except as approach to connectivity problem
- Ill get some names right, but not all, and leave
some people out. Sorry, no offense intended.
7What I wont cover
- Techniques involving
- Mixed elements
- Hex-dominant methods
- Non-conforming meshes
- Overset grids
- Primitives and Special algorithms for restricted
classes of geometries - Sphere-like assemblies (Hex3d at LANL)
- Air around airplanes, cars,
- CFD block primitives
- Medial-axis and Midpoint Subdivision
8Why is Hex Meshing Hard?
- 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
- Good quality is difficult in 3 dimensions
- Boundary constraints is difficult in 3 dimensions
- Octree (subdivision) techniques
- Keep dividing polyhedron until you get simplices
- No new points on the boundary are necessary
- Advancing front techniques
- Remaining space always dividable into tetrahedra
9Why is Hex Meshing Hard?
- Quads harder than tris (i.e. even 2d is harder)
- Cant just divide polygons into quads
- New points on the boundary may be necessary
- In practice, an even number of boundary edges can
be divided into quads (with new interior points). - Necessary and sufficient
103D Approaches
- Assume assembly problem
- Fixed boundary mesh
- Geometry first
- constrained by topology
- Topology first
- unconstrained
- fix-up afterwards
- constrained by geometry
11Relationship Map
- Will refer to these map for context throughout
talk
12Sweep Relationship Map
2D
1-1 Sweeping / Projection / Rotation (lots)
Sweeping Node Placement Strategies
M-1 Sweeping (several)
2.5D
Good Source Surface Mesh Strategies
M-M Sweeping
Cooper Tool
Inside-out 3d
Multi-axis Cooper Tool
2.75D
Grafting
133D Relationship Map
samitch be careful to imply conceptual
relationship, not cause and effect of efforts or
people
Paving/Plastering
THEX
STC dual structure rediscovered
discovery
Hex-to-void
Schneiders open problem
Existence Proofs
Slicing doughnuts
Whisker Weavingcurve contraction
Dual cycle Elimination Shelling
Whisker Weavingstate list
construction
Dual- Particle Methods
STC folds
Recursive bisection
Linear-size
geometry first
topology first
THEX
Sweep-like techniques
Geode
? Hex dominant?
Local reconnection and smoothing
Flipping, (planar faces)
Refinement andcoarsening
Inside-out techniques
clean-up
Geode betweenshells
Prepare the boundary meshsplicing
143D Relationship Map
Paving/Plastering
THEX
STC dual structure rediscovered
discovery
Hex-to-void
Schneiders open problem
Existence Proofs
Slicing doughnuts
Whisker Weavingcurve contraction
Dual cycle Elimination Shelling
Whisker Weavingstate list
construction
Dual- Particle Methods
STC folds
Recursive bisection
Linear-size
geometry first
topology first
THEX
Sweep-like techniques
Geode
? Hex dominant?
Local reconnection and smoothing
Flipping, (planar faces)
Refinement andcoarsening
Inside-out techniques
clean-up
Geode betweenshells
Prepare the boundary meshsplicing
15Paving/Plastering
- 12 years ago
- Blacker, Stephenson, Cass, Benzley
- Paving
- 2d advancing front
- Advance based on geometric criteria
- Merge connectivity when fronts collide
- Theme geometry first, connectivity second
16Paving
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)
17Paving
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)
18Paving
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)
19Paving
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)
20Paving
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)
21Paving
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)
22Paving
- Interesting / relevant details for later
- Single loop if seaming, keep two resulting loops
even
?
- Multiple loops?
- Finesse by having each loop even at all stage
?
23Plastering
- 10 years ago, Blacker, Canann, Stephenson
- Paving worked so well, why not try paving in 3d?
Plastering - Start with fixed surface mesh
- Add proto-hexes (faces) one by one, conforming to
bdy - Seam together nearby points, edges, faces
- Build hexes
24Plastering
- Kind of worked
- Could fill up most of space
25Plastering
- 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
- Find some way of closing up remaining region
263D Relationship Map
Paving/Plastering
THEX
STC dual structure rediscovered
discovery
Hex-to-void
Schneiders open problem
Existence Proofs
Slicing doughnuts
Whisker Weavingcurve contraction
Dual cycle Elimination Shelling
Whisker Weavingstate list
construction
Dual- Particle Methods
STC folds
Recursive bisection
Linear-size
geometry first
topology first
THEX
Sweep-like techniques
Geode
? Hex dominant?
Local reconnection and smoothing
Flipping, (planar faces)
Refinement andcoarsening
Inside-out techniques
clean-up
Geode betweenshells
Prepare the boundary meshsplicing
27Plastering as hex dominant
- 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
- Well leave this thread and come back to it later
- Ted Blacker to Pete Murdoch (Meyers, Stephenson,
Benzley) - Find some way of closing up remaining region
283D Relationship Map
Paving/Plastering
THEX
STC dual structure rediscovered
discovery
Hex-to-void
Schneiders open problem
Existence Proofs
Slicing doughnuts
Whisker Weavingcurve contraction
Dual cycle Elimination Shelling
Whisker Weavingstate list
construction
Dual- Particle Methods
STC folds
Recursive bisection
Linear-size
geometry first
topology first
THEX
Sweep-like techniques
Geode
? Hex dominant?
Local reconnection and smoothing
Flipping, (planar faces)
Refinement andcoarsening
Inside-out techniques
clean-up
Geode betweenshells
Prepare the boundary meshsplicing
29STC Dual Structure Rediscovered for Engr.
- Dual of tri / tet mesh
- is just the dual!
- Dual of quad / hex mesh
- is structure of arrangement of curves or surfaces
- Murdoch, 16 September 1993
30STC Dual Structure Rediscovered
- 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 21
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
31Plasterings downfall
- Seaming and connecting together based on geometry
wont create this nice structure.
323D Relationship Map
Paving/Plastering
THEX
STC dual structure rediscovered
discovery
Hex-to-void
Schneiders open problem
Existence Proofs
Slicing doughnuts
Whisker Weavingcurve contraction
Dual cycle Elimination Shelling
Whisker Weavingstate list
construction
Dual- Particle Methods
STC folds
Recursive bisection
Linear-size
geometry first
topology first
THEX
Sweep-like techniques
Geode
? Hex dominant?
Local reconnection and smoothing
Flipping, (planar faces)
Refinement andcoarsening
Inside-out techniques
clean-up
Geode betweenshells
Prepare the boundary meshsplicing
33Murdochs thesis (1995)
- 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
34Murdochs vaporware STC fold algorithm
- 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 hadnt been done
yet) ½ time spent on surface isomorphism!
35Murdochs vaporware STC fold algorithm
- 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 - Ostensons idea
- Thustons minimal energy surface (soap bubble)
idea to define geometry - Get a good surface mesh visit later
- Shepherds splicing
- Mattias Muller-Hanneman
- WW surface mesh fixup
- WW add geode templates
- Surface mesh first, then volume, turned out to be
hard, too!
363D Relationship Map
Paving/Plastering
THEX
STC dual structure rediscovered
discovery
Hex-to-void
Schneiders open problem
Existence Proofs
Slicing doughnuts
Whisker Weavingcurve contraction
Dual cycle Elimination Shelling
Whisker Weavingstate list
construction
Dual- Particle Methods
STC folds
Recursive bisection
Linear-size
geometry first
topology first
THEX
Sweep-like techniques
Geode
? Hex dominant?
Local reconnection and smoothing
Flipping, (planar faces)
Refinement andcoarsening
Inside-out techniques
clean-up
Geode betweenshells
Prepare the boundary meshsplicing
37Whisker Weaving State List
- 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
38Whisker Weaving State List Ideas
- Main ideas of state list Whisker Weaving
- Start with fixed surface mesh
- This defines boundary loops of the sheets
twist-planes
purple
green
red
blue
39Whisker Weaving State List Ideas
- Add dual of hex (STC vertex) from bdy inward, one
at a time - Compare to plastering
- Each sheet is 2d did we reduce this 3d problem
to a set of 2d problems? I think notalthough it
is easier to understand and visualize than
free-floating primal edges.
crossing weaving
40Whisker Weaving State List Ideas
- Now its different than Plastering
- Try to get good local connectivity
- Connectivity Rules about where to add, when to
seam, - Easily identify seaming joining cases
- Rarely join two loops together
- Keep sheets as disk
- Hmm, kniveswedges sometimes show up at the end
of chords where loops self-intersecttry 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
41WW complicated sheets
- One or two sheets going through
- most of the surface quads
- Related to expected connectivity
- of random graphs on lattice?
- Red knives (wedges)
423D Relationship Map
Paving/Plastering
THEX
STC dual structure rediscovered
discovery
Hex-to-void
Schneiders open problem
Existence Proofs
Slicing doughnuts
Whisker Weavingcurve contraction
Dual cycle Elimination Shelling
Whisker Weavingstate list
construction
Dual- Particle Methods
STC folds
Recursive bisection
Linear-size
geometry first
topology first
THEX
Sweep-like techniques
Geode
? Hex dominant?
Local reconnection and smoothing
Flipping, (planar faces)
Refinement andcoarsening
Inside-out techniques
clean-up
Geode betweenshells
Prepare the boundary meshsplicing
43Schneiders Open Problem
- Can anyone create an all-hex mesh conforming to
the following surface mesh? - http//www-users.informatik.rwth-aachen.de/robert
s/open.html - He didnt really say why youd 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 arent
fillable?
443D Relationship Map
Paving/Plastering
THEX
STC dual structure rediscovered
discovery
Hex-to-void
Schneiders open problem
Existence Proofs
Slicing doughnuts
Whisker Weavingcurve contraction
Dual cycle Elimination Shelling
Whisker Weavingstate list
construction
Dual- Particle Methods
STC folds
Recursive bisection
Linear-size
geometry first
topology first
THEX
Sweep-like techniques
Geode
? Hex dominant?
Local reconnection and smoothing
Flipping, (planar faces)
Refinement andcoarsening
Inside-out techniques
clean-up
Geode betweenshells
Prepare the boundary meshsplicing
45Existence Proofs
- 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 (worlds 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?
46Existence Proofs
- Mitchells proof, very similar to Thurstons
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.
47Necessary Conditions
48Aside What about tet meshing?
- Tets have 4 (even) triangles, so all tet meshes
are bounded by an even number of tets, too! - But triangles 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
2,4
Any triangle mesh of top has same parity as any
triangle mesh of bottom. Hence sum is even
49Sufficient Conditions
- Every pair of loops on sphere intersect each
other even number of times - A single loop can self-intersect an even or odd
number of times - Recall trouble with knives and self-intersecting
loops
50Sufficient Conditions
- 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)
51Sufficient Conditions
If you dualized a very coarse arrangement, youd
get degenerate hexes. Easy to fix with extra
balls.
52Sufficient Conditions
Do similar buffering sheet next to surface mesh
53Schneiders Open Problem Closed?
- 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 gt 100 hexes
- Poor quality
- But positive jacobians last IMR! 1.0E-4)
54What about non-spheres?
- Map surface mesh to a sphere (smooth)
- David Eppstein told me about Thurstons 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 ?
55What about non-spheres?
- Necessary even surface mesh and some edge-chains
is necessary. Volume property. -
- Is it sufficient?
- Nate Folwell showed exponential number of hexes
necessary for knotted holes
56What about non-spheres?
- 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 doesnt self-touch, boundary
is a cut. - Jeff Ericksons recent paper Optimally cutting a
surface into a disk may be relevant?
573D Relationship Map
Paving/Plastering
THEX
STC dual structure rediscovered
discovery
Hex-to-void
Schneiders open problem
Existence Proofs
Slicing doughnuts
Whisker Weavingcurve contraction
Dual cycle Elimination Shelling
Whisker Weavingstate list
construction
Dual- Particle Methods
STC folds
Recursive bisection
Linear-size
geometry first
topology first
THEX
Sweep-like techniques
Geode
? Hex dominant?
Local reconnection and smoothing
Flipping, (planar faces)
Refinement andcoarsening
Inside-out techniques
clean-up
Geode betweenshells
Prepare the boundary meshsplicing
58Whisker Weave via Curve Contraction
- 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.
- 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?
59Whisker WeavingSelf-Intersection Removal
- Face collapse
- and pillowing
60Whisker WeavingSelf-Intersection Removal
- Bad surface mesh quality in practice
61Whisker Weaving via Curve Contraction
- Small, isolated regions of poor quality
- 30 hexes sharing one node
- Revisit later
623D Relationship Map
Paving/Plastering
THEX
STC dual structure rediscovered
discovery
Hex-to-void
Schneiders open problem
Existence Proofs
Slicing doughnuts
Whisker Weavingcurve contraction
Dual cycle Elimination Shelling
Whisker Weavingstate list
construction
Dual- Particle Methods
STC folds
Recursive bisection
Linear-size
geometry first
topology first
THEX
Sweep-like techniques
Geode
? Hex dominant?
Local reconnection and smoothing
Flipping, (planar faces)
Refinement andcoarsening
Inside-out techniques
clean-up
Geode betweenshells
Prepare the boundary meshsplicing
63Dual Cycle Elimination
- 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
64Dual Cycle Elimination
- Basic principle
- Cycles eliminated one by one
- As WW curve contraction
65Dual Cycle Elimination
- 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
66Dual Cycle Elimination
- 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
- Doesnt introduce new self-intersections
67Dual Cycle Elimination
- Application success
- Human mandible
- Good quality hex mesh
- Had to do some manual work to identify good
surface mesh.
683D Relationship Map
Paving/Plastering
THEX
STC dual structure rediscovered
discovery
Hex-to-void
Schneiders open problem
Existence Proofs
Slicing doughnuts
Whisker Weavingcurve contraction
Dual cycle Elimination Shelling
Whisker Weavingstate list
construction
Dual- Particle Methods
STC folds
Recursive bisection
Linear-size
geometry first
topology first
THEX
Sweep-like techniques
Geode
? Hex dominant?
Local reconnection and smoothing
Flipping, (planar faces)
Refinement andcoarsening
Inside-out techniques
clean-up
Geode betweenshells
Prepare the boundary meshsplicing
69Recursive Bisection
- Calvo and Idelsohn in Argentina
- Anyone want to pay for their visit?
- 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
70Bisection v.s. Cycle Elimination
Recursive bisection
Shelling / WW
713D Relationship Map
Paving/Plastering
THEX
STC dual structure rediscovered
discovery
Hex-to-void
Schneiders open problem
Existence Proofs
Slicing doughnuts
Whisker Weavingcurve contraction
Dual cycle Elimination Shelling
Whisker Weavingstate list
construction
Dual- Particle Methods
STC folds
Recursive bisection
Linear-size
geometry first
topology first
THEX
Sweep-like techniques
Geode
? Hex dominant?
Local reconnection and smoothing
Flipping, (planar faces)
Refinement andcoarsening
Inside-out techniques
clean-up
Geode betweenshells
Prepare the boundary meshsplicing
72Dual Particle Methods
- Analyst group at SNL tired of waiting for WW-like
approaches, start with 2d - 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 Eulers formula that
would say how many - Position them using optimization (minimum energy
configuration) - Connect them up, dualize to get quads
73Dual Particle Methods
- Physics forces between particles
- Attraction, repulsion, damping, torque
74Dual Particle Methods
- Forces are local, didnt always close up nicely
- Heuristic local reconnection
- Particle add remove
- Helped in 2d
75Dual Particle Methods
- Initial position dual particles based on solution
to Laplace equation. - Almost as good as paving, when it worked
Laplace
random
76Dual Particle Methods 3D
- 3D - 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.
77Dual Particle Methods 3D
78Dual Particle Methods 3D
Geometric problems still - interpenetrations
793D Relationship Map
Paving/Plastering
THEX
STC dual structure rediscovered
discovery
Hex-to-void
Schneiders open problem
Existence Proofs
Slicing doughnuts
Whisker Weavingcurve contraction
Dual cycle Elimination Shelling
Whisker Weavingstate list
construction
Dual- Particle Methods
STC folds
Recursive bisection
Linear-size
geometry first
topology first
THEX
Sweep-like techniques
Geode
? Hex dominant?
Local reconnection and smoothing
Flipping, (planar faces)
Refinement andcoarsening
Inside-out techniques
clean-up
Geode betweenshells
Prepare the boundary meshsplicing
80Linear-size Hex Meshes
- Eppstein
- Mitchell-Thurston algorithms produce too many
hexes - n number of surface quads
O(n) on edge
O(n1/2) on edge
O(n) on face
O(n) on each side
81Linear-Size Hex Meshes
Hex-shaped boundary tiles
Original shape
THex interior O(n) tets
82Linear-Size Hex Meshing
- 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
didntlike Schneiders open problem
833D Relationship Map
Paving/Plastering
THEX
STC dual structure rediscovered
discovery
Hex-to-void
Schneiders open problem
Existence Proofs
Slicing doughnuts
Whisker Weavingcurve contraction
Dual cycle Elimination Shelling
Whisker Weavingstate list
construction
Dual- Particle Methods
STC folds
Recursive bisection
Linear-size
geometry first
topology first
THEX
Sweep-like techniques
Geode
? Hex dominant?
Local reconnection and smoothing
Flipping, (planar faces)
Refinement andcoarsening
Inside-out techniques
clean-up
Geode betweenshells
Prepare the boundary meshsplicing
84Geode - motivation
- Recall linear-hex
- Recall Plastering, hex to void
85Geode Motivation
- 3d problem
- How to conformally interface in 3d?
86Geode
- 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
87Geode 2d
88Geode 3d
89Geode 3d
90Geode between shells
- Ideal template has scaled jacobian 0.26
- Comparable to THex mesh
- In practice, almost never get well-shaped layer
- Good for single layer on planar surface
91Geode
- 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 dont know
how to make it easy.
92Geode Eliminates Self-Intersecting Loops!
- 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
93Geode and Linear-Size
- Whats so special about dicing?
- Is quality going to be that good?
- Doubt it would be that practicle
- Revisit loops that are self-nearby later
943D Relationship Map
Paving/Plastering
THEX
STC dual structure rediscovered
discovery
Hex-to-void
Schneiders open problem
Existence Proofs
Slicing doughnuts
Whisker Weavingcurve contraction
Dual cycle Elimination Shelling
Whisker Weavingstate list
construction
Dual- Particle Methods
STC folds
Recursive bisection
Linear-size
geometry first
topology first
THEX
Sweep-like techniques
Geode
? Hex dominant?
Local reconnection and smoothing
Flipping, (planar faces)
Refinement andcoarsening
Inside-out techniques
clean-up
Geode betweenshells
Prepare the boundary meshsplicing
95Prepare the Boundary Mesh
- Recall WW, Shelling, and Geode
- approaches to preparing the surface mesh to admit
a (good quality?) hex mesh
96Algorithms - splicing
- Mesh Editing and Splicing
Remove self intersecting chord Leave boundary
nodes fixed
Initial Grid
97Algorithms - splicing
- Mesh Editing and Splicing
Intermediate mesh needs new chord to
reconcile boundary
New non self intersecting chord inserted to
reconcile boundary nodes
98Surface Mesh Modification - Splicing
The procedure
Undesirable mesh interval
Completed Mesh
Mesh from W76 AFF
Remove unwanted quads
99Fixing Surface Mesh for WW
- No self-intersections, but pretty convoluted
- Remove it!
100Fixing Surface Meshes
- In progress
- Automation
- How general of a method will it be?
- Whats properties are really sufficient for the
surface mesh?
1013D Relationship Map
Paving/Plastering
THEX
STC dual structure rediscovered
discovery
Hex-to-void
Schneiders open problem
Existence Proofs
Slicing doughnuts
Whisker Weavingcurve contraction
Dual cycle Elimination Shelling
Whisker Weavingstate list
construction
Dual- Particle Methods
STC folds
Recursive bisection
Linear-size
geometry first
topology first
THEX
Sweep-like techniques
Geode
? Hex dominant?
Local reconnection and smoothing
Flipping, (planar faces)
Refinement andcoarsening
Inside-out techniques
clean-up
Geode betweenshells
Prepare the boundary meshsplicing
102Where are we today?
- Summary
- Nothing yet is
- Boundary mesh conforming
- Automatic
- Good quality
- Applicable to all geometries
- Matthias very good for mandible-like problems
103Best hopes
- Suspect that only certain surface meshes admit a
good-quality mesh - Combined geom topology techniques
- Difficult to get tight necessary and sufficient
conditions -gt sufficient might be doable
104Current Activity
- Show why hexes are hard
- Flipping
- Fix existing mesh in unstructured way
- Past efforts not promising
- Semi-structured sweep-like techniques
- Grafting, Coopering
- Improve existing mesh in semi-structured way
- Looks promising
- Surface and volume all-at-once looking better
- Mesh cutting
1053D Relationship Map
Paving/Plastering
THEX
STC dual structure rediscovered
discovery
Hex-to-void
Schneiders open problem
Existence Proofs
Slicing doughnuts
Whisker Weavingcurve contraction
Dual cycle Elimination Shelling
Whisker Weavingstate list
construction
Dual- Particle Methods
STC folds
Recursive bisection
Linear-size
geometry first
topology first
THEX
Sweep-like techniques
Geode
? Hex dominant?
Local reconnection and smoothing
Flipping, (planar faces)
Refinement andcoarsening
Inside-out techniques
clean-up
Geode betweenshells
Prepare the boundary meshsplicing
106Flipping
- Bern and Eppstein
- Goals
- 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
107Flipping Triangle Meshes
- Triangle meshes
- Two types of flips
- Equivalent to gluing tetrahedron on top of
existing triangle mesh, take non-touching tris - Flip graph is connected
108Flipping Quads
no
- Flip graph is connected
- Up to parity
- For disk surfaces
no
109Flipping Tetrahedra
- Flip graph connected for
- Topological tets, unknown for geometric tets
- Swap top and bottom of 4d simplex
110Flipping Hexestop and bottom of 4D cuboid
111Flipping Hexes
- 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?
1123D Relationship Map
Paving/Plastering
THEX
STC dual structure rediscovered
discovery
Hex-to-void
Schneiders open problem
Existence Proofs
Slicing doughnuts
Whisker Weavingcurve contraction
Dual cycle Elimination Shelling
Whisker Weavingstate list
construction
Dual- Particle Methods
STC folds
Recursive bisection
Linear-size
geometry first
topology first
THEX
Sweep-like techniques
Geode
? Hex dominant?
Local reconnection and smoothing
Flipping, (planar faces)
Refinement andcoarsening
Inside-out techniques
clean-up
Geode betweenshells
Prepare the boundary meshsplicing
113Local Reconnection and Smoothing
- Knupps untangle smoothing
- Is able to get positive jacobians in interior of
meshes that we know admit them - Was unable to untangle WW meshes
- Issues
- Provable?
- Perfect implementation?
- Idea
- Combine reconnection and smoothing for
unstructured 3d hex meshes - As done in every other class of unstructured
meshers
114Local Reconnection and Smoothing
- Find local area of poor quality
- Classify type of problem, possible improvements
- Find best improvement
- Swap local connectivity via primitives
- Locally smooth
- Assess quality
- Undo
- Apply best improvement, if any
115Local Reconnection and Smoothing
- 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
116Local Reconnection and Smoothing
Inserting sheets
Connecting sheets
117Local Reconnection and Smoothing
- Most-untangled sheets not always the best quality
- Wasnt able to improve specific small examples,
by any manual means - Just push problem around
- Process didnt 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?
1183D Relationship Map
Paving/Plastering
THEX
STC dual structure rediscovered
discovery
Hex-to-void
Schneiders open problem
Existence Proofs
Slicing doughnuts
Whisker Weavingcurve contraction
Dual cycle Elimination Shelling
Whisker Weavingstate list
construction
Dual- Particle Methods
STC folds
Recursive bisection
Linear-size
geometry first
topology first
THEX
Sweep-like techniques
Geode
? Hex dominant?
Local reconnection and smoothing
Flipping, (planar faces)
Refinement andcoarsening
Inside-out techniques
clean-up
Geode betweenshells
Prepare the boundary meshsplicing
119Sweep Relationship Map
2D
1-1 Sweeping / Projection / Rotation (lots)
Sweeping Node Placement Strategies
M-1 Sweeping (several)
2.5D
Good Source Surface Mesh Strategies
M-M Sweeping
Cooper Tool
Inside-out 3d
Multi-axis Cooper Tool
2.75D
Grafting
120Sweeping Types
One-to-One Sweep
Many-to-Many Multisweep Coopering
Many-to-One Sweep
121MultiSweep
- Create virtual surfaces w/ imprints
- Surface mesh the combination
- Sweep the underlying volumes
122MultiSweep
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
123Multisweep in progress
124Cooper Tool
- Like multisweep
- Nice language of caps, barrels
- Different projection methods
- All layers at once
- Intersection of projections different
125Multi-Axis Coopering
- Blacker and Miyoshi
- Break model into tree
126Multi-Axis Coopering
- Cut section to sweep in new direction
- Cuts can intersect and overlap - tricky
127Mesh grafting
128Mesh grafting processConforming Only Affects 1
Layer
1293D Relationship Map
Paving/Plastering
THEX
STC dual structure rediscovered
discovery
Hex-to-void
Schneiders open problem
Existence Proofs
Slicing doughnuts
Whisker Weavingcurve contraction
Dual cycle Elimination Shelling
Whisker Weavingstate list
construction
Dual- Particle Methods
STC folds
Recursive bisection
Linear-size
geometry first
topology first
THEX
Sweep-like techniques
Geode
? Hex dominant?
Local reconnection and smoothing
Flipping, (planar faces)
Refinement andcoarsening
Inside-out techniques
clean-up
Geode betweenshells
Prepare the boundary meshsplicing
130Refinement and Coarsening Shepherd, Borden,
Boundary Refinement
Sheet Refinement Cleaving
Mesh Coarsening
131Sheet Insertion
- Modify mesh to capture geometry, through STC
sheets
132Mesh Cutting Sheet Insertion
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.
133Step 1 Capturing the first imprint.
134Step 2 Capturing the other two imprints
135Step 3 Capturing the Cutouts
136Mesh Cutting
- Questions
- Can we do this for assemblies?
- How wild of shapes can it handle?
- Compare vs. Schneiders thesis
- Compare vs. Murdoch thesis
137Conclusions
- 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