cubit mesh generation project technical history of hex mesh generation scott a. mitchell sandia...

136
UBIT Mesh Generation Project Technical History of Hex Mesh Generation 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-AC04-94AL85000.

Upload: alfred-ball

Post on 18-Dec-2015

232 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

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-AC04-94AL85000.

Page 2: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Outline

Introduction Relationship Map

» Sweep-like techniques» 3d techniques» Synthesis

Where are we now?» Hopes

Page 3: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Introduction

Page 4: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Introduction

What I will cover What I won’t cover Why is hex meshing hard

Page 5: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

What 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

Page 6: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

What I won’t cover

Tools, packaging, ease of use… Nodal positioning for good quality

» Bias and sizing control» Except as approach to connectivity

problem I’ll get some names right, but not all,

and leave some people out. Sorry, no offense intended.

Page 7: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

What I won’t 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

Page 8: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Why 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

Page 9: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Why is Hex Meshing Hard?

Quads harder than tris (i.e. even 2d is harder)» Can’t 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

? ?

q q

bdyeeq int24Euler:

Page 10: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

3D Approaches

Assume: assembly problem» Fixed boundary mesh

Geometry first» constrained by topology

Topology first» unconstrained

– fix-up afterwards

» constrained by geometry

Page 11: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Relationship Map

Will refer to these map for context throughout talk

Page 12: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Sweep Relationship Map

Sweeping Node Placement Strategies

2D2.

5D2.

75D

Good Source SurfaceMesh Strategies

1-1 Sweeping / Projection / Rotation (lots)

M-1 Sweeping (several)

M-M Sweeping

Multi-axisCooper Tool Grafting

Cooper Tool

Inside-out3d

Page 13: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

3D Relationship MapPaving/Plastering

Whisker Weavingstate list

STC dual structurerediscovered

Whisker Weavingcurve contraction

STC folds

Existence Proofs

Dual cycleElimination& Shelling

Recursive bisection

Linear-size

Local reconnection and smoothing

Flipping, (planar faces)

Prepare the boundary mesh:splicing

Refinement andcoarsening

Schneider’s open problem

Geode

Hex-to-void

clea

n-up

Geode betweenshells

geometry first topology firstTHEXcons

truc

tion

disc

over

y

Sweep-liketechniques

THEX

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

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

? Hex dominant?

Dual-ParticleMethods

Inside-outtechniques

Slicing doughnuts

Page 14: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

3D Relationship MapPaving/Plastering

Whisker Weavingstate list

STC dual structurerediscovered

Whisker Weavingcurve contraction

STC folds

Existence Proofs

Dual cycleElimination& Shelling

Recursive bisection

Linear-size

Local reconnection and smoothing

Flipping, (planar faces)

Prepare the boundary mesh:splicing

Refinement andcoarsening

Schneider’s open problem

Geode

Hex-to-void

clea

n-up

Geode betweenshells

geometry first topology firstTHEXcons

truc

tion

disc

over

y

Sweep-liketechniques

THEX

? Hex dominant?

Dual-ParticleMethods

Inside-outtechniques

Slicing doughnuts

Page 15: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Paving/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

Page 16: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Paving

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)

Page 17: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Paving

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)

Page 18: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Paving

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)

Form new row and check for

overlap

Page 19: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Paving

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)

Insert “Wedge

Page 20: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Paving

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)

Seams

Page 21: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Paving

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)

Close Loops and smooth

Page 22: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Paving

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

?

?

Page 23: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Plastering

~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

Page 24: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Plastering

Kind of worked» Could fill up most of space

Page 25: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Plastering

Difficulties» Advancing fronts rarely seemed to close

– Seams and Wedges (knives) Blacker et al.

– Ted Blacker to Pete Murdoch Find some way of closing up remaining region

Drive or collapse later

Remove from front for now

Page 26: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

3D Relationship MapPaving/Plastering

Whisker Weavingstate list

STC dual structurerediscovered

Whisker Weavingcurve contraction

STC folds

Existence Proofs

Dual cycleElimination& Shelling

Recursive bisection

Linear-size

Local reconnection and smoothing

Flipping, (planar faces)

Prepare the boundary mesh:splicing

Refinement andcoarsening

Schneider’s open problem

Geode

Hex-to-void

clea

n-up

Geode betweenshells

geometry first topology firstTHEXcons

truc

tion

disc

over

y

Sweep-liketechniques

THEX

? Hex dominant?

Dual-ParticleMethods

Inside-outtechniques

Slicing doughnuts

Page 27: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Plastering 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

We’ll 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

Page 28: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

3D Relationship MapPaving/Plastering

Whisker Weavingstate list

STC dual structurerediscovered

Whisker Weavingcurve contraction

STC folds

Existence Proofs

Dual cycleElimination& Shelling

Recursive bisection

Linear-size

Local reconnection and smoothing

Flipping, (planar faces)

Prepare the boundary mesh:splicing

Refinement andcoarsening

Schneider’s open problem

Geode

Hex-to-void

clea

n-up

Geode betweenshells

geometry first topology firstTHEXcons

truc

tion

disc

over

y

Sweep-liketechniques

THEX

? Hex dominant?

Dual-ParticleMethods

Inside-outtechniques

Slicing doughnuts

Page 29: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

STC 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

Page 30: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

STC 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 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

Page 31: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Plastering’s downfall

» Seaming and connecting together based on geometry won’t create this nice structure.

Page 32: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

3D Relationship MapPaving/Plastering

Whisker Weavingstate list

STC dual structurerediscovered

Whisker Weavingcurve contraction

STC folds

Existence Proofs

Dual cycleElimination& Shelling

Recursive bisection

Linear-size

Local reconnection and smoothing

Flipping, (planar faces)

Prepare the boundary mesh:splicing

Refinement andcoarsening

Schneider’s open problem

Geode

Hex-to-void

clea

n-up

Geode betweenshells

geometry first topology firstTHEXcons

truc

tion

disc

over

y

Sweep-liketechniques

THEX

? Hex dominant?

Dual-ParticleMethods

Inside-outtechniques

Slicing doughnuts

Page 33: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Murdoch’s 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

Page 34: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Murdoch’s 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 hadn’t been done yet): ½ time spent on surface isomorphism!

Page 35: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Murdoch’s 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– Ostenson’s idea– Thuston’s minimal energy surface (soap bubble) idea to define

geometry– Get a good surface mesh – visit later

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!

Page 36: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

3D Relationship MapPaving/Plastering

Whisker Weavingstate list

STC dual structurerediscovered

Whisker Weavingcurve contraction

STC folds

Existence Proofs

Dual cycleElimination& Shelling

Recursive bisection

Linear-size

Local reconnection and smoothing

Flipping, (planar faces)

Prepare the boundary mesh:splicing

Refinement andcoarsening

Schneider’s open problem

Geode

Hex-to-void

clea

n-up

Geode betweenshells

geometry first topology firstTHEXcons

truc

tion

disc

over

y

Sweep-liketechniques

THEX

? Hex dominant?

Dual-ParticleMethods

Inside-outtechniques

Slicing doughnuts

Page 37: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Whisker 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

Page 38: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Whisker 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

green red blue purple

Page 39: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Whisker 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 not…although it is easier to understand and visualize than free-floating primal edges.

crossing = weaving

Page 40: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Whisker Weaving State List Ideas

Now it’s 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, 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

Page 41: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

WW complicated sheets

edge w/ 10 hexes

• One or two sheets going through most of the surface quads• Related to expected connectivity of random graphs on lattice?• Red = knives (wedges)

Page 42: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

3D Relationship MapPaving/Plastering

Whisker Weavingstate list

STC dual structurerediscovered

Whisker Weavingcurve contraction

STC folds

Existence Proofs

Dual cycleElimination& Shelling

Recursive bisection

Linear-size

Local reconnection and smoothing

Flipping, (planar faces)

Prepare the boundary mesh:splicing

Refinement andcoarsening

Schneider’s open problem

Geode

Hex-to-void

clea

n-up

Geode betweenshells

geometry first topology firstTHEXcons

truc

tion

disc

over

y

Sweep-liketechniques

THEX

? Hex dominant?

Dual-ParticleMethods

Inside-outtechniques

Slicing doughnuts

Page 43: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Schneiders Open Problem

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?

Page 44: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

3D Relationship MapPaving/Plastering

Whisker Weavingstate list

STC dual structurerediscovered

Whisker Weavingcurve contraction

STC folds

Existence Proofs

Dual cycleElimination& Shelling

Recursive bisection

Linear-size

Local reconnection and smoothing

Flipping, (planar faces)

Prepare the boundary mesh:splicing

Refinement andcoarsening

Schneider’s open problem

Geode

Hex-to-void

clea

n-up

Geode betweenshells

geometry first topology firstTHEXcons

truc

tion

disc

over

y

Sweep-liketechniques

THEX

? Hex dominant?

Dual-ParticleMethods

Inside-outtechniques

Slicing doughnuts

Page 45: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Existence 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 (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?”

Page 46: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Existence Proofs

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.

Page 47: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Necessary Conditions

Page 48: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Aside: What about tet meshing?

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 2,4 Any triangle mesh of top hassame parity as any triangle mesh of bottom.Hence sum is even

Page 49: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Sufficient 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…

Page 50: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Sufficient 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)

Page 51: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Sufficient Conditions

If you dualized a very coarse arrangement, you’d get degenerate hexes.Easy to fix with extra balls.

Page 52: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Sufficient Conditions

Do similar buffering sheet next to surface mesh

Page 53: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Schneiders 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 > 100 hexes» Poor quality

– But positive jacobians last IMR! 1.0E-4)

Page 54: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

What about non-spheres?

“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

Page 55: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

What 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

Page 56: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

What 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 doesn’t self-touch, boundary is a cut.

» Jeff Erickson’s recent paper “Optimally cutting a surface into a disk” may be relevant?

Page 57: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

3D Relationship MapPaving/Plastering

Whisker Weavingstate list

STC dual structurerediscovered

Whisker Weavingcurve contraction

STC folds

Existence Proofs

Dual cycleElimination& Shelling

Recursive bisection

Linear-size

Local reconnection and smoothing

Flipping, (planar faces)

Prepare the boundary mesh:splicing

Refinement andcoarsening

Schneider’s open problem

Geode

Hex-to-void

clea

n-up

Geode betweenshells

geometry first topology firstTHEXcons

truc

tion

disc

over

y

Sweep-liketechniques

THEX

? Hex dominant?

Dual-ParticleMethods

Inside-outtechniques

Slicing doughnuts

Page 58: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Whisker 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?”

Page 59: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Whisker WeavingSelf-Intersection

Removal

Face collapse

and pillowing

Page 60: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Whisker WeavingSelf-Intersection

Removal

Bad surface mesh quality in practice

Page 61: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Whisker Weaving via Curve Contraction

Small, isolated regions of poor quality» 30 hexes sharing one node» Revisit later

Page 62: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

3D Relationship MapPaving/Plastering

Whisker Weavingstate list

STC dual structurerediscovered

Whisker Weavingcurve contraction

STC folds

Existence Proofs

Dual cycleElimination& Shelling

Recursive bisection

Linear-size

Local reconnection and smoothing

Flipping, (planar faces)

Prepare the boundary mesh:splicing

Refinement andcoarsening

Schneider’s open problem

Geode

Hex-to-void

clea

n-up

Geode betweenshells

geometry first topology firstTHEXcons

truc

tion

disc

over

y

Sweep-liketechniques

THEX

? Hex dominant?

Dual-ParticleMethods

Inside-outtechniques

Slicing doughnuts

Page 63: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Dual 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

Page 64: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Dual Cycle Elimination

Basic principle» Cycles eliminated one by one

– As WW curve contraction

Page 65: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Dual 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

Page 66: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Dual 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– Doesn’t introduce new self-intersections

Page 67: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Dual Cycle Elimination

Application success» Human mandible

– Good quality hex mesh– Had to do some manual

work to identify good surface mesh.

Page 68: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

3D Relationship MapPaving/Plastering

Whisker Weavingstate list

STC dual structurerediscovered

Whisker Weavingcurve contraction

STC folds

Existence Proofs

Dual cycleElimination& Shelling

Recursive bisection

Linear-size

Local reconnection and smoothing

Flipping, (planar faces)

Prepare the boundary mesh:splicing

Refinement andcoarsening

Schneider’s open problem

Geode

Hex-to-void

clea

n-up

Geode betweenshells

geometry first topology firstTHEXcons

truc

tion

disc

over

y

Sweep-liketechniques

THEX

? Hex dominant?

Dual-ParticleMethods

Inside-outtechniques

Slicing doughnuts

Page 69: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Recursive 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

Page 70: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Bisection v.s. Cycle Elimination

Recursive bisection Shelling / WW

Page 71: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

3D Relationship MapPaving/Plastering

Whisker Weavingstate list

STC dual structurerediscovered

Whisker Weavingcurve contraction

STC folds

Existence Proofs

Dual cycleElimination& Shelling

Recursive bisection

Linear-size

Local reconnection and smoothing

Flipping, (planar faces)

Prepare the boundary mesh:splicing

Refinement andcoarsening

Schneider’s open problem

Geode

Hex-to-void

clea

n-up

Geode betweenshells

geometry first topology firstTHEXcons

truc

tion

disc

over

y

Sweep-liketechniques

THEX

? Hex dominant?

Dual-ParticleMethods

Inside-outtechniques

Slicing doughnuts

Page 72: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Dual 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 Euler’s formula that would say how many

» Position them using optimization (minimum energy configuration)» Connect them up, dualize to get quads

Page 73: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Dual Particle Methods

Physics forces between particles» Attraction, repulsion, damping, torque

Page 74: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Dual Particle Methods

Forces are local, didn’t always close up nicely» Heuristic local

reconnection» Particle add &

remove» Helped in 2d

Page 75: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Dual Particle Methods

Initial position dual particles based on solution to Laplace equation.» Almost as good as paving, when it worked…

random Laplace

Page 76: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Dual 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.

Page 77: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Dual Particle Methods – 3D

Page 78: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Dual Particle Methods – 3D

Geometric problems still- interpenetrations

Page 79: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

3D Relationship MapPaving/Plastering

Whisker Weavingstate list

STC dual structurerediscovered

Whisker Weavingcurve contraction

STC folds

Existence Proofs

Dual cycleElimination& Shelling

Recursive bisection

Linear-size

Local reconnection and smoothing

Flipping, (planar faces)

Prepare the boundary mesh:splicing

Refinement andcoarsening

Schneider’s open problem

Geode

Hex-to-void

clea

n-up

Geode betweenshells

geometry first topology firstTHEXcons

truc

tion

disc

over

y

Sweep-liketechniques

THEX

? Hex dominant?

Dual-ParticleMethods

Inside-outtechniques

Slicing doughnuts

Page 80: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Linear-size Hex Meshes

Eppstein» Mitchell-Thurston algorithms produce too many

hexes» n = number of surface quads

O(n) on faceO(n) on each side

O(n) on edge

O(n1/2) on edge

Page 81: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Linear-Size Hex Meshes

Steps

Hex-shaped boundary tiles

THex interiorO(n) tets

Original shape

Page 82: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Linear-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 didn’t…like Schneiders open problem

Page 83: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

3D Relationship MapPaving/Plastering

Whisker Weavingstate list

STC dual structurerediscovered

Whisker Weavingcurve contraction

STC folds

Existence Proofs

Dual cycleElimination& Shelling

Recursive bisection

Linear-size

Local reconnection and smoothing

Flipping, (planar faces)

Prepare the boundary mesh:splicing

Refinement andcoarsening

Schneider’s open problem

Geode

Hex-to-void

clea

n-up

Geode betweenshells

geometry first topology firstTHEXcons

truc

tion

disc

over

y

Sweep-liketechniques

THEX

? Hex dominant?

Dual-ParticleMethods

Inside-outtechniques

Slicing doughnuts

Page 84: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Geode - motivation

Recall linear-hex Recall Plastering, hex to void

Page 85: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Geode Motivation

3d problem

How to conformally interface in 3d?

Page 86: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Geode

There is a transition template that someone (me) has filled with ok-quality hexes» Based on constructing sheets, interleaving

Hexesdivided into 8

Tetsdivided into 4 hexes

Page 87: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Geode – 2d

Page 88: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Geode – 3d

Hex side

Tet side

Page 89: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Geode – 3d

Page 90: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Geode 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…

thexTHexgeode

geode

mesh with hexes

hex

Page 91: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Geode

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.

Page 92: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Geode 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

Page 93: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Geode and Linear-Size

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

Page 94: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

3D Relationship MapPaving/Plastering

Whisker Weavingstate list

STC dual structurerediscovered

Whisker Weavingcurve contraction

STC folds

Existence Proofs

Dual cycleElimination& Shelling

Recursive bisection

Linear-size

Local reconnection and smoothing

Flipping, (planar faces)

Prepare the boundary mesh:splicing

Refinement andcoarsening

Schneider’s open problem

Geode

Hex-to-void

clea

n-up

Geode betweenshells

geometry first topology firstTHEXcons

truc

tion

disc

over

y

Sweep-liketechniques

THEX

? Hex dominant?

Dual-ParticleMethods

Inside-outtechniques

Slicing doughnuts

Page 95: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Prepare the Boundary Mesh

Recall WW, Shelling, and Geode » approaches to preparing the surface mesh to

admit a (good quality?) hex mesh

Page 96: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Algorithms - splicing

Mesh Editing and Splicing

Initial GridRemove self intersecting chord –

Leave boundary nodes fixed

Page 97: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Algorithms - splicing

Mesh Editing and Splicing

Intermediate mesh – needs new chord to reconcile boundary

New non self intersecting chord inserted to reconcile boundary nodes

Page 98: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Surface Mesh Modification - Splicing

Undesirable mesh interval

Remove unwanted quads Completed MeshMesh from W76 AFF

The procedure:

Page 99: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Fixing Surface Mesh for WW

• No self-intersections, but pretty convoluted• Remove it!

Page 100: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Fixing Surface Meshes

In progress» Automation

How general of a method will it be?» What’s properties are really sufficient for

the surface mesh?

Page 101: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

3D Relationship MapPaving/Plastering

Whisker Weavingstate list

STC dual structurerediscovered

Whisker Weavingcurve contraction

STC folds

Existence Proofs

Dual cycleElimination& Shelling

Recursive bisection

Linear-size

Local reconnection and smoothing

Flipping, (planar faces)

Prepare the boundary mesh:splicing

Refinement andcoarsening

Schneider’s open problem

Geode

Hex-to-void

clea

n-up

Geode betweenshells

geometry first topology firstTHEXcons

truc

tion

disc

over

y

Sweep-liketechniques

THEX

? Hex dominant?

Dual-ParticleMethods

Inside-outtechniques

Slicing doughnuts

Page 102: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Where are we today?

Summary» Nothing yet is

– Boundary mesh conforming– Automatic– Good quality– Applicable to all geometries

Matthias very good for mandible-like problems

Page 103: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Best hopes

Suspect that only certain surface meshes admit a good-quality mesh

Combined geom & topology techniques Difficult to get tight necessary and

sufficient conditions -> sufficient might be doable

Page 104: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Current 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

Page 105: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

3D Relationship MapPaving/Plastering

Whisker Weavingstate list

STC dual structurerediscovered

Whisker Weavingcurve contraction

STC folds

Existence Proofs

Dual cycleElimination& Shelling

Recursive bisection

Linear-size

Local reconnection and smoothing

Flipping, (planar faces)

Prepare the boundary mesh:splicing

Refinement andcoarsening

Schneider’s open problem

Geode

Hex-to-void

clea

n-up

Geode betweenshells

geometry first topology firstTHEXcons

truc

tion

disc

over

y

Sweep-liketechniques

THEX

? Hex dominant?

Dual-ParticleMethods

Inside-outtechniques

Slicing doughnuts

Page 106: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Flipping

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

Page 107: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Flipping 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

Page 108: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Flipping Quads

Flip graph is connected » Up to parity» For disk surfaces

no

no

Page 109: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Flipping Tetrahedra

Flip graph connected for» Topological tets, unknown for geometric tets» Swap top and bottom of 4d simplex

Page 110: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Flipping Hexestop and bottom of 4D

cuboid

Page 111: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Flipping 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?

Page 112: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

3D Relationship MapPaving/Plastering

Whisker Weavingstate list

STC dual structurerediscovered

Whisker Weavingcurve contraction

STC folds

Existence Proofs

Dual cycleElimination& Shelling

Recursive bisection

Linear-size

Local reconnection and smoothing

Flipping, (planar faces)

Prepare the boundary mesh:splicing

Refinement andcoarsening

Schneider’s open problem

Geode

Hex-to-void

clea

n-up

Geode betweenshells

geometry first topology firstTHEXcons

truc

tion

disc

over

y

Sweep-liketechniques

THEX

? Hex dominant?

Dual-ParticleMethods

Inside-outtechniques

Slicing doughnuts

Page 113: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Local Reconnection and Smoothing

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

Provable? Perfect implementation?

Idea » Combine reconnection and smoothing for

unstructured 3d hex meshes– As done in every other class of unstructured meshers…

Page 114: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Local 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

Page 115: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Local Reconnection and Smoothing

Flips, but dual interpretation» Might not be flips (non-parity preserving)

for non-ball volumes

Moving sheetsto untangle

Also sheet pushing ideas for local element size control

Page 116: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Local Reconnection and Smoothing

Connecting sheets

Inserting sheets

Page 117: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Local Reconnection and Smoothing

Most-untangled sheets not always the best quality Wasn’t able to improve specific small examples, by

any manual means» Just push problem around

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?

Page 118: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

3D Relationship MapPaving/Plastering

Whisker Weavingstate list

STC dual structurerediscovered

Whisker Weavingcurve contraction

STC folds

Existence Proofs

Dual cycleElimination& Shelling

Recursive bisection

Linear-size

Local reconnection and smoothing

Flipping, (planar faces)

Prepare the boundary mesh:splicing

Refinement andcoarsening

Schneider’s open problem

Geode

Hex-to-void

clea

n-up

Geode betweenshells

geometry first topology firstTHEXcons

truc

tion

disc

over

y

Sweep-liketechniques

THEX

? Hex dominant?

Dual-ParticleMethods

Inside-outtechniques

Slicing doughnuts

Page 119: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Sweep Relationship Map

Sweeping Node Placement Strategies

2D2.

5D2.

75D

Good Source SurfaceMesh Strategies

1-1 Sweeping / Projection / Rotation (lots)

M-1 Sweeping (several)

M-M Sweeping

Multi-axisCooper Tool Grafting

Cooper Tool

Inside-out3d

Page 120: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Sweeping Types

One-to-One SweepMany-to-Many

Multisweep & Coopering

Many-to-One Sweep

Page 121: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

MultiSweep

•Create virtual surfaces w/ imprints•Surface mesh the combination•Sweep the underlying volumes

Page 122: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

MultiSweep

Image of target curvespartitions source surfaces

Image created using • matrix (affine transformation)• or weighted winslow smoothingone mesh layer at a time

The image is a mesh image depends on resolution, premesh

Page 123: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Multisweep – in progress

Page 124: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Cooper Tool

Like multisweep» Nice language of caps, barrels» Different projection methods

– All layers at once

» Intersection of projections different– …

Page 125: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Multi-Axis Coopering

Blacker and Miyoshi Break model into tree

Page 126: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Multi-Axis Coopering

“Cut” section to sweep in new direction» Cuts can intersect and overlap - tricky

Page 127: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Mesh grafting

Page 128: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

3D Relationship MapPaving/Plastering

Whisker Weavingstate list

STC dual structurerediscovered

Whisker Weavingcurve contraction

STC folds

Existence Proofs

Dual cycleElimination& Shelling

Recursive bisection

Linear-size

Local reconnection and smoothing

Flipping, (planar faces)

Prepare the boundary mesh:splicing

Refinement andcoarsening

Schneider’s open problem

Geode

Hex-to-void

clea

n-up

Geode betweenshells

geometry first topology firstTHEXcons

truc

tion

disc

over

y

Sweep-liketechniques

THEX

? Hex dominant?

Dual-ParticleMethods

Inside-outtechniques

Slicing doughnuts

Page 129: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Refinement and Coarsening

Shepherd, Borden,…

Boundary Refinement

Mesh Coarsening

Sheet Refinement& Cleaving

Page 130: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Sheet Insertion

Modify mesh to capture geometry, through STC sheets

Page 131: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

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.

Mesh Cutting & Sheet Insertion

Page 132: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Step 1: Capturing the first imprint.

Page 133: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Step 2: Capturing the other two imprints

Page 134: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Step 3: Capturing the Cutouts

Page 135: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Mesh Cutting

Questions » Can we do this for assemblies?» How wild of shapes can it handle?» Compare vs. Schneiders thesis» Compare vs. Murdoch thesis

Page 136: CUBIT Mesh Generation Project Technical History of Hex Mesh Generation Scott A. Mitchell Sandia National Labs Sandia is a multiprogram laboratory operated

CUBIT Mesh Generation Project

Technical History of Hex Mesh Generation

Conclusions

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