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.

Slides:



Advertisements
Similar presentations
Steady-state heat conduction on triangulated planar domain May, 2002
Advertisements

COSC 6114 Prof. Andy Mirzaian Quad Trees: Non-Uniform Mesh Generation.
Efficient access to TIN Regular square grid TIN Efficient access to TIN Let q := (x, y) be a point. We want to estimate an elevation at a point q: 1. should.
The Efficiency of Algorithms
5/2/2007Don Sheehy Overlay Stitch Meshing 1. 5/2/2007Don Sheehy Overlay Stitch Meshing 2 A competitive algorithm for no-large-angle triangulation Don.
Based on paper by C.S. Chong, A. Senthil Kumar, H.P. Lee
The Divide-and-Conquer Strategy
Parallelizing stencil computations Based on slides from David Culler, Jim Demmel, Bob Lucas, Horst Simon, Kathy Yelick, et al., UCB CS267.
Query Processing in Databases Dr. M. Gavrilova.  Introduction  I/O algorithms for large databases  Complex geometric operations in graphical querying.
 1 Sorting. For computer, sorting is the process of ordering data. [ ]  [ ] [ “Tom”, “Michael”, “Betty” ]  [ “Betty”, “Michael”,
A Bezier Based Approach to Unstructured Moving Meshes ALADDIN and Sangria Gary Miller David Cardoze Todd Phillips Noel Walkington Mark Olah Miklos Bergou.
A Bezier Based Approach to Unstructured Moving Meshes ALADDIN and Sangria Gary Miller David Cardoze Todd Phillips Noel Walkington Mark Olah Miklos Bergou.
1cs542g-term Notes. 2 Meshing goals  Robust: doesn’t fail on reasonable geometry  Efficient: as few triangles as possible Easy to refine later.
I/O-Efficient Construction of Constrained Delaunay Triangulations Pankaj K. Agarwal, Lars Arge, and Ke Yi Duke University.
Streaming Computation of Delaunay Triangulations Jack Snoeyink UNC Chapel Hill Jonathan Shewchuk UC Berkeley Yuanxin Liu UNC Chapel Hill Martin Isenburg.
5/2/2007Don Sheehy Overlay Stitch Meshing 1. 5/2/2007Don Sheehy Overlay Stitch Meshing 2 A competitive algorithm for no-large-angle triangulation Don.
Tamal K. Dey The Ohio State University Delaunay Meshing of Surfaces.
Convex Hull Algorithms for Dynamic Data Kanat Tangwongsan Joint work with Guy Blelloch and Umut Acar (TTI-C)
Point Location in Delaunay Triangulations. Inspiration: Graphics software wants to light a model and needs to know which face a light ray hits You moved.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2007 Geometric Modeling.
New results on mesh refinement Benoît Hudson, CMU Joint work with Gary Miller and Todd Phillips Papers available at
UNC Chapel Hill M. C. Lin Overview of Last Lecture About Final Course Project –presentation, demo, write-up More geometric data structures –Binary Space.
1 Mesh Generation and Delaunay-Based Meshes Jernej Barbic Computer Science Department Carnegie Mellon University.
Delaunay Triangulations for 3D Mesh Generation Shang-Hua Teng Department of Computer Science, UIUC Work with: Gary Miller, Dafna Talmor, Noel Walkington.
Part Two Multiresolution Analysis of Arbitrary Meshes M. Eck, T. DeRose, T. Duchamp, H. Hoppe, M. Lounsbery, W. Stuetzle SIGGRAPH 95.
Visualization 2000 Tutorial Mesh-Based Methods for Multiresolution Representations Instructor: Ken Joy Center for Image Processing and Integrated Computing.
Lamps of Aladdin1 Moving Mesh Adaptation Techniques Todd Phillips Gary Miller Mark Olah.
ECS 289L A Survey of Mesh-Based Multiresolution Representations Ken Joy Center for Image Processing and Integrated Computing Computer Science Department.
Multi-Scale Surface Descriptors Gregory Cipriano, George N. Phillips Jr., and Michael Gleicher.
Zoltan Szego †*, Yoshihiro Kanamori ‡, Tomoyuki Nishita † † The University of Tokyo, *Google Japan Inc., ‡ University of Tsukuba.
Good Triangulations and Meshing Lecturer: Ofer Rothschild 1.
Delaunay Triangulations Presented by Glenn Eguchi Computational Geometry October 11, 2001.
A Navigation Mesh for Dynamic Environments Wouter G. van Toll, Atlas F. Cook IV, Roland Geraerts CASA 2012.
Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert.
Algorithms for Triangulations of a 3D Point Set Géza Kós Computer and Automation Research Institute Hungarian Academy of Sciences Budapest, Kende u
SURFACE RECONSTRUCTION FROM POINT CLOUD Bo Gao Master’s Thesis December, 2007 Thesis Committee: Professor Harriet Fell Professor Robert Futrelle College.
Mesh Generation 58:110 Computer-Aided Engineering Reference: Lecture Notes on Delaunay Mesh Generation, J. Shewchuk (1999)
Merge Sort. What Is Sorting? To arrange a collection of items in some specified order. Numerical order Lexicographical order Input: sequence of numbers.
Analysis of Algorithms These slides are a modified version of the slides used by Prof. Eltabakh in his offering of CS2223 in D term 2013.
Algorithm Analysis (Algorithm Complexity). Correctness is Not Enough It isn’t sufficient that our algorithms perform the required tasks. We want them.
Computational Geometry Piyush Kumar (Lecture 10: Point Location) Welcome to CIS5930.
1/43 Department of Computer Science and Engineering Delaunay Mesh Generation Tamal K. Dey The Ohio State University.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2010 Shewchuck 2D Triangular Meshing.
Spatial Indexing Techniques Introduction to Spatial Computing CSE 5ISC Some slides adapted from Spatial Databases: A Tour by Shashi Shekhar Prentice Hall.
R-Trees: A Dynamic Index Structure For Spatial Searching Antonin Guttman.
BOĞAZİÇİ UNIVERSITY – COMPUTER ENGINEERING Mehmet Balman Computer Engineering, Boğaziçi University Parallel Tetrahedral Mesh Refinement.
Streaming Big Data with Self-Adjusting Computation Umut A. Acar, Yan Chen DDFP January 2014 SNU IDB Lab. Namyoon Kim.
UNC Chapel Hill M. C. Lin Delaunay Triangulations Reading: Chapter 9 of the Textbook Driving Applications –Height Interpolation –Constrained Triangulation.
Searching Topics Sequential Search Binary Search.
Forming a Triangulated Grid of a 3D Fracture Network Dr Michael Robins UWA CWR Sept 04.
1 Overview (Part 1) Background notions A reference framework for multiresolution meshes Classification of multiresolution meshes An introduction to LOD.
Big O David Kauchak cs302 Spring Administrative Assignment 1: how’d it go? Assignment 2: out soon… Lab code.
12 July 2007Gary Miller Overlay Stitch Meshing 1 Size Competitive Meshing without Large Angles Gary L. Miller Carnegie Mellon Computer Science Joint work.
CDS 301 Fall, 2008 Domain-Modeling Techniques Chap. 8 November 04, 2008 Jie Zhang Copyright ©
DPL3/10/2016 CS 551/651: Simplification Continued David Luebke
APE'07 IV INTERNATIONAL CONFERENCE ON ADVANCES IN PRODUCTION ENGINEERING June 2007 Warsaw, Poland M. Nowakiewicz, J. Porter-Sobieraj Faculty of.
Polygon Triangulation
Delaunay Triangulation. - Incremental Construction
Mesh Generation, Refinement and Partitioning Algorithms Xin Sui The University of Texas at Austin.
Introduction to the Finite Element Method
Benoît Hudson - Berkeley Graphics Lunch
Query Processing in Databases Dr. M. Gavrilova
August 20, 2002 (joint work with Umut Acar, and Guy Blelloch)
Localizing the Delaunay Triangulation and its Parallel Implementation
Parallel Model Simplification of Very Large Polygonal Meshes
Domain-Modeling Techniques
CMPS 3130/6130 Computational Geometry Spring 2017
Delaunay Triangulation & Application
June 12, 2003 (joint work with Umut Acar, and Guy Blelloch)
Alan Kuhnle*, Victoria G. Crawford, and My T. Thai
Presentation transcript:

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

2 Benoît Hudson, CMU Joint work with Umut Acar, TTI-C Gary Miller and Todd Phillips, CMU Papers available at Mesh refinement: sequential, parallel, and dynamic

3

4

5 Visualize Finite Element Simulation Overview Model Partial Diff. Eqs. Mesh Solve

6 Our results First optimal-time sequential mesher –Fast in implementation First provably fast parallel mesher First optimal-time dynamic mesher

7 Outline 1.Precise problem description 2.Prior solutions 3.Sequential 4.Parallel 5.Dynamic 6.Many open problems

8 Outline 1.Precise problem description 2.Prior solutions 3.Sequential 4.Parallel 5.Dynamic 6.Many open problems

9 Input Points Segments Polygons

10 Input Points Segments Polygons ‘P’ courtesy of Shewchuk

11 Output ‘P’ courtesy of Shewchuk Conforming All features appear (subdivided)

12 Big angles are bad

13 No small angle ) no big angle

14 Need Steiner Points

15 Sizing Big features Big triangles No-small-angle ) Medium size between small, large features Small feature Small triangles Size-optimality Output O(m opt ) points

16 Formal problem Input: –Points 2 R d, Segments, Polygons, … –Quality bound: angle   Output: –Conforms: All features appear –Quality: No angle smaller than  –Size-optimal: O(m opt ) vertices

17 Outline 1.Precise problem description 2.Prior solutions 3.Sequential 4.Parallel 5.Dynamic 6.Many open problems

18 Outline 1.Precise problem description 2.Prior solutions 3.Sequential 4.Parallel 5.Dynamic 6.Many open problems

19 Delaunay Triangulation Maximizes minimum angle

20 Delaunay Triangulation Maximizes minimum angle 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 Feature handling Runtime 2d points 3d points segments polygons n2n2 n lg nn polylog(n) Miller04Ruppert92

28 Ruppert 3D: a bad example

29 Ruppert 3D: a bad example

30 Ruppert 3D:  (n 2 ) n/2 points around circle n/2 points along line Delaunay has n 2 /4 tets

31

32 Evaluation criteria Feature handling Runtime 2d points 3d points segments polygons n2n2 n lg nn polylog(n) Mil04 Shewchuk98

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 Feature handling Runtime 2d points 3d points segments polygons n2n2 n lg nn polylog(n) Mil04 She98 BEG90 MV92

38 Compare and contrast 55 triangles, 30  86 triangles, 17 

39 Outline 1.Precise problem description 2.Prior solutions 3.Sequential 4.Parallel 5.Dynamic 6.Many open problems

40 Outline 1.Precise problem description 2.Prior solutions 3.Sequential 4.Parallel 5.Dynamic 6.Many open problems

41 Fast sequential meshing Hudson, Miller, Phillips 2006 Sparse Voronoi Refinement 15th International Meshing Roundtable

42 The intuition Quadtree’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

43 Sparse Delaunay Refinement

44 Add a bounding box

45 Triangulate just the box!

46 Apply splitting rules 1.If a triangle is skinny, split it. 2.If a triangle contains input, split it.

47 Apply splitting rules 1.If a triangle is skinny, split it. 2.If a triangle contains input, split it.

48 Split Split(t) 2. Shrink by k 3. Choose a point 4. Insert it, retriangulate 1.If a triangle is skinny, split it. 2.If a triangle contains input, split it. 1. Draw circle

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

50 Apply splitting rules 1.If a triangle is skinny, split it. 2.If a triangle contains input, split it.

51 Apply splitting rules 1.If a triangle is skinny, split it. 2.If a triangle contains input, split it.

52 Apply splitting rules 1.If a triangle is skinny, split it. 2.If a triangle contains input, split it.

53 Apply splitting rules 1.If a triangle is skinny, split it. 2.If a triangle contains input, split it.

54 General flavour Like quadtree, refine top-down Like Ruppert, use input points, circumcenters Warp to input when possible.

55 Runtime proof (1) Quality always “good” –Never warp close to mesh 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 p e 0 (p) e 1 (p) e 0 (p) · · 

61 Quality ) divide & conquer p e 0 (p) e 2 (p) e 0 (p) · 2· 2

62 Quality ) divide & conquer p e 0 (p) e i (p) e 0 (p) · i· i

63 Quality ) divide & conquer p e 0 (p) e i (p) farthest(p) nearest(p) · k· k

64 Quality ) divide & conquer p farthest(p) nearest(q) ·  2k q

65 Packing Lemma p At most O(1) q i before farthest(p) falls by half. q2q2 q1q1 q3q3 q5q5 q4q4

66 s Packing Lemma At most O(1) q i before farthest(p) falls by half. farthest(p) falls by half at most log (L/s) times L

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 Feature handling Runtime 2d points 3d points segments polygons n2n2 n lg nn polylog(n) Mil04 She98 BEG90 MV92 SVR (HMP06)

69 In practice: point clouds N points around ring N points on line Preparata (N=10 3, 10 4 ) Stanford Bunny (34834 points)

70 In practice: N=1,000 N points around circle N points along line Algorithm SVR Pyramid Max #tets 70K 1.014M Max degree 70 1,010 Output #tets 70K 87K Runtime 2s 21s 1 GHz Pentium III 1 GB RAM

71 (Calculate: (10 4 ) 2 = 10 8 tets in Delaunay, each tet is 8 pointers  ~ 3.2 GB) In practice: N=10,000 N points around circle N points along line SVR: outputs 722K tets in 22s Pyramid: thrashes, ^c after 4 hours

72 In practice: the bunny Algorithm SVR Pyramid Output #tets 430K 383K Runtime 12s 25s

73 Outline 1.Precise problem description 2.Prior solutions 3.Sequential 4.Parallel 5.Dynamic 6.Many open problems

74 Outline 1.Precise problem description 2.Prior solutions 3.Sequential 4.Parallel 5.Dynamic 6.Many open problems

75 Parallel SVR Hudson, Miller, Phillips 2007 Sparse Parallel Delaunay Refinement To 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 SVR [HMP07] Quadtree [BET93] Ruppert [STU02] any d 2d 3d O(lg (L/s) lg(m)) O(lg n) O(polylog(L/s)) n: number of input points, segments, … m: number of output points L/s: spread of the input O(n lg L/s + m) O(n lg n + m) O(m polylog(L/s))  (n 2 ) DepthWorkDimensionAlgorithm L: largest distance s: smallest distance L/s  spread Normally: L/s  poly(n) lg L/s  lg n

78 Outline 1.Precise problem description 2.Prior solutions 3.Sequential 4.Parallel 5.Dynamic 6.Many open problems

79 Outline 1.Precise problem description 2.Prior solutions 3.Sequential 4.Parallel 5.Dynamic 6.Many open problems

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

81 O’Brien, 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 new 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 1.Precise problem description 2.Prior solutions 3.Sequential 4.Parallel 5.Dynamic 6.Many open problems

90 Outline 1.Precise problem description 2.Prior solutions 3.Sequential 4.Parallel 5.Dynamic 6.Many open problems

91 Visualize (1) Dynamic Simulation Model Partial Diff. Eqs. Mesh Solve

92 Visualize (1) Dynamic Simulation Model Partial Diff. Eqs. Mesh Solve

93 Visualize (1) Dynamic Simulation Model Partial Diff. Eqs. Mesh Solve

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

95 (2) Dynamic with Features Dynamic algorithm does not handle segments, polygons,... Dynamic SVR? –Likely coming soon

96 (3) Out of core refinement Engineers want billions of elements Doesn’t fit in memory Dynamic refinement allows 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