840 likes | 863 Views
Explore new results in mesh refinement for CAD models, Navier-Stokes equations, and heat transfer simulations. Find out about the importance of aspect ratio, good grading, and quality triangulation in mesh generation techniques like Delaunay refinement. Discover how to achieve optimal mesh quality and runtime efficiency with various algorithms like quadtree refinement and Ruppert's method. Join Benoît Hudson, Gary Miller, and Todd Phillips in advancing the field of meshing technology. Papers available at http://www.cs.cmu.edu/~bhudson.
E N D
New results onmesh refinement Benoît Hudson, CMU Joint work with Gary Miller and Todd Phillips Papers available at http://www.cs.cmu.edu/~bhudson
Equations Navier-Stokes: Heat transfer:
Mesh Weak form Solve Visualize Run simulations! Partial Diff. Eqs. CAD model
Input Points Segments Polygons
Input Points Segments Polygons ‘P’ courtesy of Shewchuk
Output ‘P’ courtesy of Shewchuk
Which is better? Example: f(x,y) = 1-x2
0 0 1 0 0 1 0 0 1 0 0 This is a bad mesh f(x,y) = 1-x2 At mesh vertices: • read the value At other points p: • Find t that contains p • Weighted average of points of t
Still bad at boundary f(x,y) = 1-x2 At mesh vertices: • read the value At other points p: • Find t that contains p • Weighted average of points of t This is a better mesh 0 0 1 0 0 1 0 0 1 0 0
Good aspect ratio Þ good interpolation R Good aspect ratio if: r Equivalent: all angles ³a
Aspect ratio Bad aspect ratio if: R r Equivalent: some angle <a
Still bad at boundary This is a better mesh 0 0 1 This mesh is Delaunay: best possible for those points 0 0 1 0 0 1 0 0
This is a good mesh Add Steiner points
This is a good mesh 0 0 0 0
Formal problem • Input: • Piecewise Linear Complex (PLC) • points, segments, polygons, … • quality bound: angle ³a • Output: • quality triangulation (angle ³a) • all features appear (perhaps subdivided) • O(mopt) vertices
Good aspect ratio Þ bounded degree Big features Big triangles Small feature Small triangles Grade linearly away from small feature Grading Good aspect ratio Þ good grading
Outline • Two older methods • quadtree refinement • Delaunay refinement • Our algorithm: SVR as a hybrid • Parallel SVR Dynamic meshing: too much for this talk. See me afterwards.
Older Solutions • 1950-now: construct mesh by hand! • Takes days to months. • Automatic methods: ca. 1980-now • no quality, size, or time bounds • BEG90: quality and size in O(n lg n + m) (buggy proof, fixed in BET93) • Rup92: smaller in practice, no time bound.
Simpler input Just points for now
Quadtree refinement [BEG90, MV92, BET93] Þ
Quadtree rules • Unbalanced • Neighbor is small Crowded • two points in cell, or • one point in cell, one in neighbour
Quadtree in a word • Quality mesh (17°) • O(mopt) output size • O(n lg n + m) runtime • General approach: top-down (think: binary search tree)
Delaunay Refinement [Rup92, She97]
In practice, 35°often works. Ruppert’s algorithm in a word • Quality mesh (any a£ 20.7°) • O(mopt) output size • O(n2+ m) runtime worst case • works fast in practice • General approach: bottom-up
Compare and contrast 69 triangles, 17° 35 triangles, 30°
Ruppert’s algorithm in a word • Quality mesh • O(mopt) output size • smaller than quadtree in practice • O(n2+ m) runtime worst case • works fast in practice • General approach: bottom-up
Restrictions • Ruppert’s algorithm handles segments only at 60° angles to each other. • 3d extensions [She97, MPW02]: segment segment face segment face face Smaller angles may cause infinite loops 60° ~70° 90°
Meshing well, quickly Hudson, Miller, Phillips 2006Sparse Voronoi Refinement15th International Meshing Roundtable
The Goal Ruppert’s small meshes Quadtree’s fast runtime In dimension 3+!
The intuition Quadtree’s fast time: slowly zero in on small features, keep mesh good quality always. Large size: warp to input too late. SVR: always good quality, resolve when necessary Ruppert’s small size: immediately resolve all features. Ruppert’s bad timing: allow horrid mesh quality.