1 / 49

Optimal-time Dynamic Mesh Refinement

Optimal-time Dynamic Mesh Refinement. Benoît Hudson, CMU Joint work with Umut Acar, TTI-C www.cs.cmu.edu/bhudson. credit: SCEC. The mesh. credit: CMU quake project. Fine elements to resolve fine features: topography surface effects Coarse elements for coarse features deep underground

gayle
Download Presentation

Optimal-time Dynamic Mesh Refinement

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Optimal-time Dynamic Mesh Refinement Benoît Hudson, CMU Joint work with Umut Acar, TTI-C www.cs.cmu.edu/bhudson

  2. credit: SCEC

  3. The mesh credit: CMU quake project

  4. Fine elementsto resolvefine features: • topography • surface effects • Coarse elementsfor coarse features • deep underground • hard rock

  5. Drives SimulationAccuracy Formal problem: Meshing Drives Simulation Runtime • Input: • Point set 2Rd • Fixed quality bound: angle ³a • Output: Triangulation that is: • Conforming: All input points appear • Quality: No angle smaller than a • Optimal size: Not too many elements

  6. Mesh size near Riverside:how big?

  7. Adaptive Mesh Refinement • Adapt the mesh during the simulation • Refine steep gradients • Coarsen flat gradients • Use dynamic mesh refinement!

  8. Formal problem: Meshing • Input: • Point set 2Rd • Fixed quality bound: angle ³a • Output: Triangulation that is: • Conforming: All input points appear • Quality: No angle smaller than a • Optimal size: Not too many elements

  9. AdditionsDeletions Formal problem: Dynamic Meshing • Input: • Dynamicpoint set 2Rd • Fixed quality bound: angle ³a • Maintain: Triangulation that is: • Conforming: All input points appear • Quality: No angle smaller than a • Optimal size: Not too many elements

  10. Outline • Precise problem description • Static meshing using quadtrees • Dynamic • Applications • Generating tiny meshes in 2-d

  11. Quadtree refinement [BEG90, MV92, BET93] Þ

  12. Quadtree [BEG90] rules • Unbalanced • Neighbor is small Crowded • two points in cell, or • one point in cell, one in neighbour My rule: Order the work largest first.

  13. Quadtree: Build Overlay

  14. Quadtree: Warp

  15. Quadtree: Triangulate

  16. Guarantees • Conforming: All input points appear • Quality: No angle smaller than a • Optimal size: Not too many elements • Fast: O(n lg L/s) time • in any fixed dimension d

  17. L (longest) Sizes of cells: L L/2 ... s/4 { s O(lg(L/s))

  18. Runtime: O(n lg L/s) • Want to show: O(n lg L/s) splits performed. • Namely, O(lg L/s) splits per input point • ... ?

  19. Runtime: O(n lg L/s) • Want to show: O(n lg L/s) splits performed. • Namely, O(lg L/s) splits per input point • Account separately for splits due to: • Crowding • Balance

  20. Runtime: # crowded cells • Crowded cellsblamed on p if: • Cell contains p • Cell neighbours p p • Max 9 neighbours of each size.

  21. Runtime: # unbalanced cells • Unbalanced cellsblamed on p if: • Cell unbalanced by cell blamed on p p How to count these?

  22. Blamed3 on p Unbalanced Size 42 |c| Distance · |c| + 4 |c| + 42 |c| Blamed2 on p Unbalanced Size 4 |c| Distance · |c| + 4 |c| Blamed on p Size |c| Distance |c| Runtime: # unbalanced cells • Unbalanced cell blamed on p with size k ? ) Distance · 4 k

  23. Packing Lemma O(1) objects of size k fit in distance O(k) [Worst case: 42] 4 k

  24. n points 25 splits each lg(L/s)+2 sizes 25n [lg(L/s) + 2] Runtime: O(n lg L/s) • For each point p, • For each size i • 16 unbalanced splits • 9 crowded splits

  25. Guarantees: BEG90 • Conforming: All input points appear • Quality: No angle smaller than a • Optimal size: Not too many elements • Fast: O(n lg L/s) time • in any fixed dimension d

  26. Outline • Precise problem description • Static meshing using quadtrees • Dynamic meshing • Applications • Generating tiny meshes in 2-d

  27. init split split split Dynamic Trace main

  28. Dynamic Trace main init split split warp split

  29. Dynamic Trace main init split split warp split warp

  30. Dynamic Trace main init split split warp triang split warp triang

  31. init init split split split split split split split split split split Comparing traces main main Trace stability: How much red?

  32. Self-adjusting computation: Acar et al, 2006 • Update speed = O(# stability) )Quadtree update is O(log L/s) • History-independent: • Retain guarantees from static algorithm • Insert / delete are exactly symmetric • Implementation in SML

  33. Outline • Precise problem description • Static meshing using quadtrees • Dynamic meshing • Applications • Generating tiny meshes in 2-d

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

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

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

  37. (1) Dynamic Simulation New requirements: Dynamic matrix assembly Dynamic linear solver Dynamic visualizer Dynamic AMR Mesh Partial Diff. Eqs. Model Visualize Solve

  38. Dynamic algorithmdoes not handle segments, polygons, ... Dynamic SVR? Coming soon (2) Dynamic with Features

  39. Engineers want billions of elements Doesn’t fit in memory Dynamic refinementallows partial meshing (3) Out of core refinement

  40. Outline • Precise problem description • Static meshing using quadtrees • Dynamic meshing • Applications • Generating tiny meshes in 2-d

  41. Delaunay Refinement • Quadtree criticism: generates “very” (constant factor) large meshes. • Har-Peled, Üngör 05: • Don’t insert every point in the quadtree

  42. ® Refinement algorithm: For all pairs, If 9 p 2 circle Choose p Otherwise Create p at off-center Üngör: off-centers Any third point in circle forms a quality triangle

  43. Har-Peled, Üngör 2005 • Goal: O(n lg L/s) runtime • Question : how to do point location? Refinement algorithm: For all pairs, If 9 p 2 circle Choose p Otherwise Create p at off-center

  44. Har-Peled, Üngör 2005 • Use quad-tree overlay • For all pairs (a, b) with a in smallest cell, b in neighbouring cell • If 9 p 2 circle • Choose p • Otherwise • Create p at off-center

  45. Har-Peled, Üngör 2005 • Use quad-tree overlay • For all pairs (a, b) with a in smallest cell, b in neighbouring cell • If 9 p 2 circle • Choose p • Otherwise • Create p at off-center

  46. Har-Peled, Üngör 2005 • Use quad-tree overlay • For all pairs (a, b) with a in 2nd -smallest cell, b in neighbouring cell • If 9 p 2 circle • Choose p • Otherwise • Create p at off-center

  47. Dynamic stability of HPÜ: • Use quad-tree overlay • O(lg L/s)-stable • Off-center “blames” (a,b) • Blame is transitive • Same analysis as balance • O(lg L/s)-stable HPÜ is O(lg L/s)-stable

  48. Conclusions • Dynamic Meshing in O(lg L/s) per update • Simple algorithm, optimal time • Implementation near-trivial • Output guarantees: same mesh as static • In 2-d: maintain mesh as small as known • To-do: • features • dynamize the rest of the world

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

More Related