1 mesh refinement: sequential, parallel, and dynamic benoît hudson, cmu joint work with umut acar,...
Post on 21-Dec-2015
216 views
TRANSCRIPT
![Page 1: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/1.jpg)
1
Mesh refinement:sequential, parallel,
and dynamic
Benoît Hudson, CMU
Joint work with Umut Acar, TTI-CGary Miller and Todd Phillips, CMU
Papers available athttp://www.cs.cmu.edu/~bhudson
![Page 2: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/2.jpg)
2
Benoît Hudson, CMU
Joint work with Umut Acar, TTI-CGary Miller and Todd Phillips, CMU
Papers available athttp://www.cs.cmu.edu/~bhudson
Mesh refinement:sequential, parallel,
and dynamic
![Page 3: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/3.jpg)
3
![Page 4: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/4.jpg)
4
![Page 5: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/5.jpg)
5
Visualize
Finite Element Simulation Overview
Model
Partial Diff. Eqs.Mesh
Solve
![Page 6: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/6.jpg)
6
Our results
• First optimal-time sequential mesher– Fast in implementation
• First provably fast parallel mesher
• First optimal-time dynamic mesher
![Page 7: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/7.jpg)
7
Outline
1. Precise problem description
2. Prior solutions
3. Sequential
4. Parallel
5. Dynamic
6. Many open problems
![Page 8: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/8.jpg)
8
Outline
1. Precise problem description2. Prior solutions
3. Sequential
4. Parallel
5. Dynamic
6. Many open problems
![Page 9: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/9.jpg)
9
Input
Points
Segments
Polygons
![Page 10: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/10.jpg)
10
Input
Points
Segments
Polygons
‘P’ courtesy of Shewchuk
![Page 11: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/11.jpg)
11
Output
‘P’ courtesy of Shewchuk
ConformingAll features
appear (subdivided)
![Page 12: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/12.jpg)
12
Big angles are bad
![Page 13: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/13.jpg)
13
No small angle ) no big angle
![Page 14: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/14.jpg)
14
Need Steiner Points
![Page 15: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/15.jpg)
15
Sizing
Big featuresBig triangles
No-small-angle )Medium size betweensmall, large features
Small featureSmall triangles
Size-optimalityOutput O(mopt) points
![Page 16: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/16.jpg)
16
Formal problem
• Input: – Points 2 Rd, Segments, Polygons, …– Quality bound: angle
• Output:– Conforms: All features appear – Quality: No angle smaller than – Size-optimal: O(mopt) vertices
![Page 17: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/17.jpg)
17
Outline
1. Precise problem description2. Prior solutions
3. Sequential
4. Parallel
5. Dynamic
6. Many open problems
![Page 18: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/18.jpg)
18
Outline
1. Precise problem description
2. Prior solutions3. Sequential
4. Parallel
5. Dynamic
6. Many open problems
![Page 19: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/19.jpg)
19
Delaunay Triangulation
Maximizes minimum
angle
![Page 20: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/20.jpg)
20
Delaunay Triangulation
Maximizes minimum
angle
May not begood enough
![Page 21: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/21.jpg)
21
Ruppert (1992)
![Page 22: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/22.jpg)
22
Ruppert: Identify skinny triangle
![Page 23: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/23.jpg)
23
Ruppert: Find circumcenter
![Page 24: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/24.jpg)
24
Ruppert: Snap to segment
![Page 25: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/25.jpg)
25
Ruppert: Insert, retriangulate
![Page 26: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/26.jpg)
26
Ruppert: Repeat until done
![Page 27: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/27.jpg)
27
Evaluation criteriaF
eatu
re h
andl
ing
Runtime
2d points
3d points
segments
polygons
n2 n lg nn polylog(n)
Miller04Ruppert92
![Page 28: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/28.jpg)
28
Ruppert 3D: a bad example
![Page 29: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/29.jpg)
29
Ruppert 3D: a bad example
![Page 30: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/30.jpg)
30
Ruppert 3D: (n2)
n/2 pointsaround circle
n/2 pointsalong line
Delaunay hasn2/4 tets
![Page 31: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/31.jpg)
31
![Page 32: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/32.jpg)
32
Evaluation criteriaF
eatu
re h
andl
ing
Runtime
2d points
3d points
segments
polygons
n2 n lg nn polylog(n)
Mil04
Shewchuk98
![Page 33: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/33.jpg)
33
Quadtree: Bern et al (1990)
![Page 34: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/34.jpg)
34
Quadtree: Bern et al (1990)
![Page 35: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/35.jpg)
35
Quadtree: Bern et al (1990)
![Page 36: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/36.jpg)
36
Quadtree: Bern et al (1990)
![Page 37: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/37.jpg)
37
Evaluation criteriaF
eatu
re h
andl
ing
Runtime
2d points
3d points
segments
polygons
n2 n lg nn polylog(n)
Mil04
She98
BEG90
MV92
![Page 38: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/38.jpg)
38
Compare and contrast
55 triangles, 30 86 triangles, 17
![Page 39: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/39.jpg)
39
Outline
1. Precise problem description
2. Prior solutions3. Sequential
4. Parallel
5. Dynamic
6. Many open problems
![Page 40: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/40.jpg)
40
Outline
1. Precise problem description
2. Prior solutions
3. Sequential4. Parallel
5. Dynamic
6. Many open problems
![Page 41: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/41.jpg)
41
Fast sequential meshing
Hudson, Miller, Phillips 2006Sparse Voronoi Refinement
15th International Meshing Roundtable
![Page 42: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/42.jpg)
42
The intuitionQuadtree’s fast runtime: top-down.Intermediate meshes are good quality.
Ruppert’s small size: bottom-up,good feature recovery.
SVR: always good quality, find features quickly
![Page 43: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/43.jpg)
43
Sparse Delaunay Refinement
![Page 44: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/44.jpg)
44
Add a bounding box
![Page 45: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/45.jpg)
45
Triangulate just the box!
![Page 46: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/46.jpg)
46
Apply splitting rules
1. If a triangle is skinny,split it.
2. If a triangle containsinput, split it.
![Page 47: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/47.jpg)
47
Apply splitting rules
1. If a triangle is skinny,split it.
2. If a triangle containsinput, split it.
![Page 48: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/48.jpg)
48
Split
Split(t)
2. Shrink by k3. Choose a point4. Insert it, retriangulate
1. If a triangle is skinny,split it.
2. If a triangle containsinput, split it.
1. Draw circle
![Page 49: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/49.jpg)
49
Apply splitting rules
1. If a triangle is skinny,split it.
2. If a triangle containsinput, split it.
Split(t)
2. Shrink by k3. Choose a point4. Insert it, retriangulate
1. Draw circle
![Page 50: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/50.jpg)
50
Apply splitting rules
1. If a triangle is skinny,split it.
2. If a triangle containsinput, split it.
![Page 51: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/51.jpg)
51
Apply splitting rules
1. If a triangle is skinny,split it.
2. If a triangle containsinput, split it.
![Page 52: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/52.jpg)
52
Apply splitting rules
1. If a triangle is skinny,split it.
2. If a triangle containsinput, split it.
![Page 53: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/53.jpg)
53
Apply splitting rules
1. If a triangle is skinny,split it.
2. If a triangle containsinput, split it.
![Page 54: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/54.jpg)
54
General flavour
Like quadtree, refinetop-down
Like Ruppert, use inputpoints, circumcenters
Warp to input whenpossible.
![Page 55: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/55.jpg)
55
Runtime proof(1) Quality always “good”
– Never warp close tomesh vertex
– No angle smaller than ®’
![Page 56: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/56.jpg)
56
Runtime proof(1) Quality always good
(2) Quality ) bounded degree– 360 degrees– degree 360/®’
![Page 57: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/57.jpg)
57
Runtime proof(1) Quality always good
(2) Quality ) bounded degree
(3) Bounded degree ) O(1) operations– insertions– range queries
![Page 58: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/58.jpg)
58
Runtime proof(1) Quality always good
(2) Quality ) bounded degree
(3) Bounded degree ) O(1) operations
(4) Quality ) divide & conquer– !!!
![Page 59: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/59.jpg)
59
Quality ) divide & conquer
p
![Page 60: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/60.jpg)
60
Quality ) divide & conquer
p
e0(p)
e1(p)
e1(p)e0(p)
·
![Page 61: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/61.jpg)
61
Quality ) divide & conquer
p
e0(p)
e2(p)
e2(p)e0(p)
· 2
![Page 62: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/62.jpg)
62
Quality ) divide & conquer
p
e0(p)
ei(p)
ei (p)e0(p)
· i
![Page 63: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/63.jpg)
63
Quality ) divide & conquer
p
e0(p)
ei(p)
farthest(p)nearest(p)
· k
![Page 64: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/64.jpg)
64
Quality ) divide & conquer
p
farthest(p)nearest(q)
· 2kq
![Page 65: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/65.jpg)
65
Packing Lemma
p
At most O(1) qi
before farthest(p)falls by half.
q2
q1q3
q5
q4
![Page 66: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/66.jpg)
66
s
Packing Lemma
At most O(1) qi
before farthest(p)falls by half.
farthest(p) falls by half at mostlog (L/s) times
L
![Page 67: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/67.jpg)
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)
![Page 68: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/68.jpg)
68
Evaluation criteriaF
eatu
re h
andl
ing
Runtime
2d points
3d points
segments
polygons
n2 n lg nn polylog(n)
Mil04
She98
BEG90
MV92
SVR(HMP06)
![Page 69: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/69.jpg)
69
In practice: point clouds
N points around ring
N points on line
Preparata (N=103, 104) Stanford Bunny (34834 points)
![Page 70: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/70.jpg)
70
In practice: N=1,000
N pointsaround circle
N pointsalong line
AlgorithmSVR
Pyramid
Max #tets70K
1.014M
Max degree70
1,010
Output #tets70K87K
Runtime2s21s
1 GHz Pentium III1 GB RAM
![Page 71: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/71.jpg)
71
(Calculate: (104)2 = 108 tets in Delaunay,each tet is 8 pointers ~ 3.2 GB)
In practice: N=10,000
N pointsaround circle
N pointsalong line
SVR: outputs 722K tets in 22sPyramid: thrashes, ^c after 4 hours
![Page 72: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/72.jpg)
72
In practice: the bunnyAlgorithm
SVRPyramid
Output #tets430K383K
Runtime12s25s
![Page 73: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/73.jpg)
73
Outline
1. Precise problem description
2. Prior solutions
3. Sequential4. Parallel
5. Dynamic
6. Many open problems
![Page 74: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/74.jpg)
74
Outline
1. Precise problem description
2. Prior solutions
3. Sequential
4. Parallel5. Dynamic
6. Many open problems
![Page 75: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/75.jpg)
75
Parallel SVR
Hudson, Miller, Phillips 2007Sparse Parallel Delaunay Refinement
To appear, SPAA.
![Page 76: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/76.jpg)
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, …
![Page 77: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/77.jpg)
77
Parallel Algorithms Comparison
SVR [HMP07]Quadtree [BET93]Ruppert [STU02]Ruppert [STU02]
any d2d2d3d
O(lg (L/s) lg(m))O(lg n)O(polylog(L/s))O(polylog(L/s))
n: number of input points, segments, …m: number of output pointsL/s: spread of the input
O(n lg L/s + m)O(n lg n + m)O(m polylog(L/s))(n2)
Depth WorkDimensionAlgorithm
L: largest distances: smallest distance
L/s spreadNormally: L/s poly(n)
lg L/s lg n
![Page 78: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/78.jpg)
78
Outline
1. Precise problem description
2. Prior solutions
3. Sequential
4. Parallel5. Dynamic
6. Many open problems
![Page 79: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/79.jpg)
79
Outline
1. Precise problem description
2. Prior solutions
3. Sequential
4. Parallel
5. Dynamic6. Many open problems
![Page 80: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/80.jpg)
80
Dynamic meshing
Acar, Hudson, 2007 (in submission)Dynamic mesh refinement using
Quadtrees and Off-centers
![Page 81: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/81.jpg)
81O’Brien, Hodgins 1999
QuickTime™ and a decompressor
are needed to see this picture.
![Page 82: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/82.jpg)
82
Stability
![Page 83: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/83.jpg)
83
Stability
![Page 84: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/84.jpg)
84
Stability
![Page 85: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/85.jpg)
85
Stability
![Page 86: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/86.jpg)
86
Stability
![Page 87: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/87.jpg)
87
Stability bound: O(log L/s)
Proof in paper:Newly split cells packaround new point
![Page 88: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/88.jpg)
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
![Page 89: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/89.jpg)
89
Outline
1. Precise problem description
2. Prior solutions
3. Sequential
4. Parallel
5. Dynamic6. Many open problems
![Page 90: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/90.jpg)
90
Outline
1. Precise problem description
2. Prior solutions
3. Sequential
4. Parallel
5. Dynamic
6. Many open problems
![Page 91: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/91.jpg)
91
Visualize
(1) Dynamic Simulation
Model
Partial Diff. Eqs.Mesh
Solve
![Page 92: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/92.jpg)
92
Visualize
(1) Dynamic Simulation
Model
Partial Diff. Eqs.Mesh
Solve
![Page 93: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/93.jpg)
93
Visualize
(1) Dynamic Simulation
Model
Partial Diff. Eqs.Mesh
Solve
![Page 94: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/94.jpg)
94
Visualize
(1) Dynamic Simulation
Model
Partial Diff. Eqs.Mesh
Solve
New requirements:(1)Dynamic matrix assembly(2)Dynamic linear solver(3)Dynamic visualizer(4)Dynamic AMR
![Page 95: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/95.jpg)
95
(2) Dynamic with Features
• Dynamic algorithmdoes not handle segments, polygons, ...
• Dynamic SVR?– Likely coming soon
![Page 96: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/96.jpg)
96
(3) Out of core refinement
• Engineers want billions of elements
• Doesn’t fit in memory• Dynamic refinement
allows partial meshing
![Page 97: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/97.jpg)
97
(4) Distributed refinement
• Engineers want billions of elements
• Engineers have supercomputers
• Need to address:– Mesh partitioning
– Load balancing
![Page 98: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/98.jpg)
98
(5) Surface reconstruction
Traditional approach:• Compute Delaunay• Skinny tet ) surface
Refinement:• Compute Delaunay• Skinny tet ) refine
![Page 99: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/99.jpg)
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
![Page 100: 1 Mesh refinement: sequential, parallel, and dynamic Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available](https://reader034.vdocuments.us/reader034/viewer/2022042717/56649d625503460f94a44a61/html5/thumbnails/100.jpg)
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