You are on page 1of 50

Stability Aware Delaunay Refinement

Bishal Acharya Department of Computer Science UNLV July 11 2013

Main Contributions

Development of efficient algorithms for stable mesh refinement Proposing a new technique for reliable mesh refinement Propose two algorithms for reliable mesh refinement User friendly implementations of refinement algorithms in Java Results of experimental investigations

Original mesh

refined mesh

Purpose of Mesh Refinement

Obtain better quality solution in finite element analysis To remove bad triangles in the mesh Offer control over the size of the triangles in the mesh Make the mesh more stable

Initial mesh

refined mesh

Planar Graph

A graph that can be drawn in the plane without any intersecting edges. A planar straight line graph PSLG is a planar graph with all straight edges.

planar

Non planar

PSLG

What is a Delaunay Triangulation ?

Triangulation proposed by Borish Delaunay in 1934 If an empty circle passes through two nodes then that forms Delaunay edge The circumcircle of any triangle is empty It is a type of planar graph which tries to maximize the minimum angle Research on Delaunay triangulation are still actively conducted. [ Fortune 1988, Yvinec, Mariett 2010 ]

Circumscribing circle should be empty

Circumcircle of any triangle is empty

Relationship with Voronoi Diagram

Delaunay triangulation is the dual of Voronoi diagram

Overlay of Voronoi Diagram & Delaunay Triangulation

Empty Circle Test


Circumscribing circle is empty Circumscribing circle is not empty

Data Structure for Storing 2D - Mesh


(Doubly Connected Edge List)

Each edge is represented by a pair of half-edges Record for half- edge Record for nodes v2

v1

v3 v4 Planar Graph G Representation in DCEL

Face F1 F2

Bounding HalfEdge e2,b e1,b

Review of Mesh Refinement

Refinement by quadrangulation [ 1998 ] Ruppert's Refinement [ 1994 ] Chew's Refinement [ 1987 ]

Characterizing Skinny Triangles

Height of a skinny triangle is much longer than its base Skinny triangle can either be a Cap or a Needle. One of the goals of mesh refinement is to eliminate the skinny triangles

Mesh Refinement By Quadrangulation


random points Step 1: triangulate Step 2: quadrangulate Step 3: refine by joining the diagonal of the quadrilateral

Center of Gravity Refinement

Refine by inserting a new point at CG of the triangles in the mesh.

skinny triangles localized at the border

Circumcircle Refinement

Refine by inserting a new point at CC of the triangles in the mesh.

skinny triangles not localized at the border

Ruppert's Mesh Refinement

Produces refined mesh with quality triangles Input to the algorithm is PSLG Two operations for refinement are split an encroached segment at its midpoint & split a skinny triangle at its circumcircle Terminates for poor quality threshold of over 30 degrees

Encroached Segment

Encroached segment 2

Encroached segment 1

point lies inside the circle point lies inside the circle

Segment Split
new point inserted at midpoint of the old segment

Segment to split

Mesh after split

Skinny Triangle Split

Skinny triangle to split

new point inserted at the circumcenter of skinny triangle

Ruppert's Algorithm

Nontermination of Ruppert's Algorithm


1st ab is encroached by point c split ab into half by inserting d

encroachment and split operation continues forever. 2nd newly inserted point d encroaches upon segment ac. so, segment ac is split into half by inserting e

Small Angle Non-termination Solution

Ruppert's Mesh Refinement

refined mesh with angle : 3 area : 0.34

Stable Mesh Refinement

Ruppert's algorithm only focuses on the quality aspect of a mesh Insertion of new vertex into the mesh can possibly change the connectivity of edges in the triangulation. A stable mesh requires that the insertion of a new node brings about least change in the connectivity of existing edges of the triangulation. We propose two criteria for inserting a new node into the triangulation. Two algorithms are presented for stable mesh refinement

Stable Node Position


Initial position of node

Final position of node

Dashed edges are edges before point is moved Dotted edges are newly formed edges

Roaming Region

free roaming region

Limit Edge & Radial Triangles

Limit edges

radial triangle

Radial Roaming Region RR(i)

radial disc

radial roaming region

Lateral Triangles

Lateral Roaming Region LR(i)


Lateral disc

lateral roaming region

Free Roaming Region R(i)


free roaming region

radial roaming region

Reliable Delaunay Refinement

How to relocate point for stability ? First compute the free region Ri for Pi and then relocate Pi near the center of Ri Two approaches proposed for relocating Pi to a more reliable position

approach 1 : Shifting to CG of R(i)

approach 2 : Largest empty circle of R(i)

CG of a Regular Polygon

Proposed Algorithm 1

Largest Empty Circle

Proposed Algorithm 2
2

Snapshots 1 : Random Points

Results & Snapshots 2


quadrangulation results 1. resulting triangles as a result of refinement is skinny because each angle is divided into two. 2. runs in linear time 3. original mesh has k triangles. refined mesh has 6k triangles 4. does not take into account stability

Results & Snapshots 3


CG refinement results 1. resulting triangles as a result of refinement is skinny only at a local region near boundary 2. runs in linear time 3. If original mesh has k triangles. refined mesh has 3k triangles 4. does not take into account stability

Results & Snapshots 4


CC refinement results 1. skinny triangles is not localized to a region. 2. runs in linear time 3. If original mesh has k triangles. refined mesh has 3k triangles 4. does not take into account stability

Results & Snapshots 5


Ruppert's refinement results 1. skinny triangles removed from the mesh. 2. runs in quadratic time 3. Number of resulting triangles depends upon the size and angle 4. does not take into account stability

Snapshots 6 : Radial discs & Radial Roaming Region


radial discs

radial roaming region

Snapshots 7 : lateral discs & lateral roaming region


lateral discs

lateral roaming region

Snapshots 8 : Free roaming region

free roaming region at the intersection of radial & lateral regions.

Tabulated Results 1

Tabulated Results 2

Tabulated Results 3

Conclusion

Introduced the concept of free roaming region in mesh refinement Proposed polynomial time algorithms for reliable mesh refinement Investigated stability in existing mesh refinement algorithms Presented results of experimental investigations

Future work & extensions

Generalization of proposed algorithm for exterior nodes Reduce time complexity of proposed algorithms Get more insight into free region for stable refinement

Demo

Thank You ! Questions ?

You might also like