1 mesh refinement: sequential, parallel, and dynamic benoît hudson, cmu joint work with umut acar,...

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 at http://www.cs.cmu.edu/~bhudson

Post on 21-Dec-2015

216 views

Category:

Documents


0 download

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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