Mesh refinement: sequential, parallel, and dynamic - PowerPoint PPT Presentation

About This Presentation
Title:

Mesh refinement: sequential, parallel, and dynamic

Description:

Ruppert: Identify skinny triangle. Ruppert: Find circumcenter. Ruppert: Snap to segment ... If a triangle is skinny, split it. If a triangle contains. input, ... – PowerPoint PPT presentation

Number of Views:52
Avg rating:3.0/5.0
Slides: 101
Provided by: benoit9
Learn more at: http://www.cs.cmu.edu
Category:

less

Transcript and Presenter's Notes

Title: Mesh refinement: sequential, parallel, and dynamic


1
Mesh refinementsequential, parallel,and dynamic
  • Benoît Hudson, CMU
  • Joint work with Umut Acar, TTI-CGary Miller and
    Todd Phillips, CMU

Papers available at http//www.cs.cmu.edu/bhudso
n
2
Mesh refinementsequential, parallel,and dynamic
  • Benoît Hudson, CMU
  • Joint work with Umut Acar, TTI-CGary Miller and
    Todd Phillips, CMU

Papers available at http//www.cs.cmu.edu/bhudso
n
3
(No Transcript)
4
(No Transcript)
5
Finite Element Simulation Overview
Partial Diff. Eqs.
Model
6
Our results
  • First optimal-time sequential mesher
  • Fast in implementation
  • First provably fast parallel mesher
  • First optimal-time dynamic mesher

7
Outline
  • Precise problem description
  • Prior solutions
  • Sequential
  • Parallel
  • Dynamic
  • Many open problems

8
Outline
  • Precise problem description
  • Prior solutions
  • Sequential
  • Parallel
  • Dynamic
  • Many open problems

9
Input
Points
Segments
Polygons
10
Input
Points
Segments
Polygons
P courtesy of Shewchuk
11
Output
ConformingAll features appear (subdivided)
P courtesy of Shewchuk
12
Big angles are bad
13
No small angle ) no big angle
14
Need Steiner Points
15
Sizing
Size-optimality Output O(mopt) points
16
Formal problem
  • Input
  • Points 2 Rd, Segments, Polygons,
  • Quality bound angle ³ a
  • Output
  • Conforms All features appear
  • Quality No angle smaller than a
  • Size-optimal O(mopt) vertices

17
Outline
  • Precise problem description
  • Prior solutions
  • Sequential
  • Parallel
  • Dynamic
  • Many open problems

18
Outline
  • Precise problem description
  • Prior solutions
  • Sequential
  • Parallel
  • Dynamic
  • Many open problems

19
Delaunay Triangulation
Maximizes minimumangle
20
Delaunay Triangulation
Maximizes minimumangle
May not be good enough
21
Ruppert (1992)
22
Ruppert Identify skinny triangle
23
Ruppert Find circumcenter
24
Ruppert Snap to segment
25
Ruppert Insert, retriangulate
26
Ruppert Repeat until done
27
Evaluation criteria
polygons
segments
Miller04
Ruppert92
Feature handling
3d points
2d points
n2
n lg n
n polylog(n)
Runtime
28
Ruppert 3D a bad example
29
Ruppert 3D a bad example

30
Ruppert 3D W(n2)
n/2 points along line
n/2 points around circle
Delaunay has n2/4 tets
31
(No Transcript)
32
Evaluation criteria
polygons
Shewchuk98
segments
Mil04
Feature handling
3d points
2d points
n2
n lg n
n polylog(n)
Runtime
33
Quadtree Bern et al (1990)
34
Quadtree Bern et al (1990)
35
Quadtree Bern et al (1990)
36
Quadtree Bern et al (1990)
37
Evaluation criteria
She98
polygons
MV92
segments
Mil04
BEG90
Feature handling
3d points
2d points
n2
n lg n
n polylog(n)
Runtime
38
Compare and contrast
86 triangles, 17
55 triangles, 30
39
Outline
  • Precise problem description
  • Prior solutions
  • Sequential
  • Parallel
  • Dynamic
  • Many open problems

40
Outline
  • Precise problem description
  • Prior solutions
  • Sequential
  • Parallel
  • Dynamic
  • Many open problems

41
Fast sequential meshing
  • Hudson, Miller, Phillips 2006Sparse Voronoi
    Refinement15th International Meshing Roundtable

42
The intuition
Quadtrees fast runtime top-down.
Intermediate meshes are good quality.
SVR always good quality, find features quickly
Rupperts small size bottom-up,good feature
recovery.
43
Sparse Delaunay Refinement
44
Add a bounding box
45
Triangulate just the box!
46
Apply splitting rules
  • If a triangle is skinny,split it.
  • If a triangle containsinput, split it.

47
Apply splitting rules
  • If a triangle is skinny,split it.
  • If a triangle containsinput, split it.

48
Split
  • If a triangle is skinny,split it.
  • If a triangle containsinput, split it.

Split(t)
1. Draw circle
2. Shrink by k
3. Choose a point
4. Insert it, retriangulate
49
Apply splitting rules
  • If a triangle is skinny,split it.
  • If a triangle containsinput, split it.

Split(t)
1. Draw circle
2. Shrink by k
3. Choose a point
4. Insert it, retriangulate
50
Apply splitting rules
  • If a triangle is skinny,split it.
  • If a triangle containsinput, split it.

51
Apply splitting rules
  • If a triangle is skinny,split it.
  • If a triangle containsinput, split it.

52
Apply splitting rules
  • If a triangle is skinny,split it.
  • If a triangle containsinput, split it.

53
Apply splitting rules
  • If a triangle is skinny,split it.
  • If a triangle containsinput, split it.

54
General flavour
Like quadtree, refine top-down Like Ruppert, u
se input points, circumcenters Warp to input w
henpossible.
55
Runtime proof
  • (1) Quality always good
  • Never warp close tomesh vertex
  • No angle smaller than

56
Runtime proof
  • (1) Quality always good
  • (2) Quality ) bounded degree
  • 360 degrees
  • degree 360/

57
Runtime proof
  • (1) Quality always good
  • (2) Quality ) bounded degree
  • (3) Bounded degree ) O(1) operations
  • insertions
  • range queries

58
Runtime proof
  • (1) Quality always good
  • (2) Quality ) bounded degree
  • (3) Bounded degree ) O(1) operations
  • (4) Quality ) divide conquer
  • !!!

59
Quality ) divide conquer
p
60
Quality ) divide conquer
e0(p)
e1(p)
p
61
Quality ) divide conquer
e0(p)
p
e2(p)
62
Quality ) divide conquer
e0(p)
p
ei(p)
63
Quality ) divide conquer
farthest(p)
?k
e0(p)
nearest(p)
p
ei(p)
64
Quality ) divide conquer
farthest(p)
q
?2k
nearest(q)
p
65
Packing Lemma
At most O(1) qibefore farthest(p)falls by half.
p
66
Packing Lemma
At most O(1) qibefore farthest(p)falls by half.
farthest(p) falls by half at most
log (L/s) times
67
Runtime proof
  • (1) Quality always good
  • (2) Quality ) bounded degree
  • (3) Bounded degree ) O(1) operations
  • (4) Quality ) divide conquer
  • O(m n log L/s)

68
Evaluation criteria
SVR (HMP06)
She98
polygons
MV92
segments
Mil04
BEG90
Feature handling
3d points
2d points
n2
n lg n
n polylog(n)
Runtime
69
In practice point clouds
Stanford Bunny (34834 points)
Preparata (N103, 104)
N points around ring
N points on line
70
In practice N1,000
N points along line
N points around circle
71
In practice N10,000
(Calculate (104)2 108 tets in Delaunay,
each tet is 8 pointers Þ
3.2 GB)
SVR outputs 722K tets in 22s Pyramid thrashes,
c after 4 hours
N points along line
N points around circle
72
In practice the bunny
73
Outline
  • Precise problem description
  • Prior solutions
  • Sequential
  • Parallel
  • Dynamic
  • Many open problems

74
Outline
  • Precise problem description
  • Prior solutions
  • Sequential
  • Parallel
  • Dynamic
  • Many open problems

75
Parallel SVR
  • Hudson, Miller, Phillips 2007Sparse Parallel
    Delaunay RefinementTo appear, SPAA.

76
Why parallel?
  • My laptop two cores today
  • Paterson expect 100 cores in 10 years
  • National Labs 41,000 cores last week
  • Understanding the dependencies
  • Helps with constant factors in sequential case
  • Helps with out-of-core, distributed, compression,
    dynamic case,

77
Parallel Algorithms Comparison
L largest distance s smallest distance L/s º
spread
Normally L/s ÃŽ poly(n) lg L/s lg n
Depth
Work
Dimension
Algorithm
SVR HMP07 Quadtree BET93 Ruppert STU02 Ru
ppert STU02
any d 2d 2d 3d
O(lg (L/s) lg(m)) O(lg n) O(polylog(L/s)) O(pol
ylog(L/s))
O(n lg L/s m) O(n lg n m) O(m polylog(L/s))
W(n2)
n number of input points, segments,
m number of output points L/s spread of the inp
ut
78
Outline
  • Precise problem description
  • Prior solutions
  • Sequential
  • Parallel
  • Dynamic
  • Many open problems

79
Outline
  • Precise problem description
  • Prior solutions
  • Sequential
  • Parallel
  • Dynamic
  • Many open problems

80
Dynamic meshing
  • Acar, Hudson, 2007 (in submission)Dynamic mesh
    refinement using Quadtrees and Off-centers

81
OBrien, Hodgins 1999
82
Stability
83
Stability
84
Stability
85
Stability
86
Stability
87
Stability bound O(log L/s)
Proof in paper Newly split cells pack around ne
w point
88
Self-adjusting computation Acar et al, 2006
  • Update speed O( stability)
  • Insert / delete are exactly symmetric
  • Stability is O(log L/s)
  • ) Quadtree update is O(log L/s)
  • Implementation in SML

89
Outline
  • Precise problem description
  • Prior solutions
  • Sequential
  • Parallel
  • Dynamic
  • Many open problems

90
Outline
  • Precise problem description
  • Prior solutions
  • Sequential
  • Parallel
  • Dynamic
  • Many open problems

91
(1) Dynamic Simulation
Partial Diff. Eqs.
Model
92
(1) Dynamic Simulation
Mesh
Partial Diff. Eqs.
Model
Visualize
Solve
93
(1) Dynamic Simulation
Mesh
Partial Diff. Eqs.
Model
Visualize
Solve
94
(1) Dynamic Simulation
  • New requirements
  • Dynamic matrix assembly
  • Dynamic linear solver
  • Dynamic visualizer
  • Dynamic AMR

Mesh
Partial Diff. Eqs.
Model
Visualize
Solve
95
(2) Dynamic with Features
  • Dynamic algorithmdoes not handle segments,
    polygons, ...
  • Dynamic SVR?
  • Likely coming soon

96
(3) Out of core refinement
  • Engineers want billions of elements
  • Doesnt fit in memory
  • Dynamic refinementallows partial meshing

97
(4) Distributed refinement
  • Engineers want billions of elements
  • Engineers have supercomputers
  • Need to address
  • Mesh partitioning
  • Load balancing

98
(5) Surface reconstruction
  • Traditional approach
  • Compute Delaunay
  • Skinny tet ) surface
  • Refinement
  • Compute Delaunay
  • Skinny tet ) refine

99
Summary
  • Everyone needs a mesher
  • Sequential First optimal-time mesher
  • First sub-quadratic in 3d!
  • Implementation in progress
  • Parallel First optimal-work, shallow-depth
  • Dynamic First optimal-time mesher

100
Bibliography
  • Che89 Chew Guaranteed quality triangular
    meshes, 1989
  • BEG90 Bern, Eppstein, Gilbert Provably good
    mesh generation, 1994
  • MV92 Mitchell, Vavasis Quality mesh
    generation , 2000
  • Rup92 Ruppert A Delaunay refinement algorithm
    for , 1995
  • BET93 Bern, Eppstein, Teng Parallel
    construction , 1999
  • She97 Shewchuk Delaunay refinement mesh
    generation, 1997
  • MPW02 Miller, Pav, Walkington Fully
    incremental , 2002
  • STU02 Spielman, Teng, Ungor Parallel Delaunay
    , 2002
  • Mil04 Miller, A time-efficient Delaunay
    Refinement , 2004
  • HPU05 Har-Peled, Ungor, A time-optimal
    Delaunay , 2005
  • HMP06 Hudson, Miller, Phillips, Sparse
    Voronoi Refinement, 2006
  • HMP07 , Sparse Parallel Delaunay
    Refinement, 2007
  • MPS07 Miller, Phillips, Sheehy, Size
    competitive , 2007
  • HA07 Acar, Hudson, Dynamic quad-tree mesh
    refinement ..., submitted
Write a Comment
User Comments (0)
About PowerShow.com