Anisotropic quality measures and adaptation for polygonal meshes Yanqiu Wang, Oklahoma State University joint work with Weizhang Huang Oct 2015, POEMs, Georgia Tech. 1 / 23
Consider the following function 1 0.9 0.8 5 0.7 4.5 0.6 4 0.5 0.4 3.5 0.3 3 1 0.2 1 0.8 0.1 0.5 0.6 0.4 0.2 0 0 0 0 0.2 0.4 0.6 0.8 1 2 / 23
Goal: Find a good polygonal mesh for this function Solution: 3 / 23
Goal: Find a good polygonal mesh for this function Solution: 3 / 23
Method: Moving mesh algorithm Idea: Define an objective function I ( T ) such that its minimal values occur on ideally “good” meshes; Start from a random initial mesh, and use an iterative method to approximate the minimization problem by moving vertices of the mesh. References: Adaptive Moving Mesh Methods , W. Huang and R.D. Russell, Springer 2011 Adaptivity with moving grids , C.J. Budd, W. Huang, and R.D., Russel. Acta Numerica, 2009. 4 / 23
Method: Moving mesh algorithm Idea: Define an objective function I ( T ) such that its minimal values occur on ideally “good” meshes; Start from a random initial mesh, and use an iterative method to approximate the minimization problem by moving vertices of the mesh. References: Adaptive Moving Mesh Methods , W. Huang and R.D. Russell, Springer 2011 Adaptivity with moving grids , C.J. Budd, W. Huang, and R.D., Russel. Acta Numerica, 2009. 4 / 23
Method: Moving mesh algorithm Idea: Define an objective function I ( T ) such that its minimal values occur on ideally “good” meshes; Start from a random initial mesh, and use an iterative method to approximate the minimization problem by moving vertices of the mesh. References: Adaptive Moving Mesh Methods , W. Huang and R.D. Russell, Springer 2011 Adaptivity with moving grids , C.J. Budd, W. Huang, and R.D., Russel. Acta Numerica, 2009. 4 / 23
Question: What is a “good” mesh? The answer depends on the applications: To minimize the interpolation error? To minimize the condition number of stiffness matrix? Or others? We focus on minimizing the L 2 interpolation error. (Can also be optimized for H 1 seminorm) In isotropic case, a “good” mesh should have elements regular in shape uniform in size (equidistribution, de Boor 1973) In anisotropic case, a “good” mesh should have shape-regularity and uniformity measured in an anisotropic metric 5 / 23
Question: What is a “good” mesh? The answer depends on the applications: To minimize the interpolation error? To minimize the condition number of stiffness matrix? Or others? We focus on minimizing the L 2 interpolation error. (Can also be optimized for H 1 seminorm) In isotropic case, a “good” mesh should have elements regular in shape uniform in size (equidistribution, de Boor 1973) In anisotropic case, a “good” mesh should have shape-regularity and uniformity measured in an anisotropic metric 5 / 23
Question: What is a “good” mesh? The answer depends on the applications: To minimize the interpolation error? To minimize the condition number of stiffness matrix? Or others? We focus on minimizing the L 2 interpolation error. (Can also be optimized for H 1 seminorm) In isotropic case, a “good” mesh should have elements regular in shape uniform in size (equidistribution, de Boor 1973) In anisotropic case, a “good” mesh should have shape-regularity and uniformity measured in an anisotropic metric 5 / 23
Question: What is a “good” mesh? The answer depends on the applications: To minimize the interpolation error? To minimize the condition number of stiffness matrix? Or others? We focus on minimizing the L 2 interpolation error. (Can also be optimized for H 1 seminorm) In isotropic case, a “good” mesh should have elements regular in shape uniform in size (equidistribution, de Boor 1973) In anisotropic case, a “good” mesh should have shape-regularity and uniformity measured in an anisotropic metric 5 / 23
Anisotropic metric: M is a SPD matrix Reference element T C and physical element T F ξ x T T C We say “ T under metric M ⇐ ⇒ T C under identity metric” if σ � e C i , e C j � = � e i , e j � M which implies σ � e C i , e C j � = � J e C i , J e C J t MJ = σ I j � M ⇒ 6 / 23
Anisotropic metric: M is a SPD matrix Reference element T C and physical element T F ξ x T T C We say “ T under metric M ⇐ ⇒ T C under identity metric” if σ � e C i , e C j � = � e i , e j � M which implies σ � e C i , e C j � = � J e C i , J e C J t MJ = σ I j � M ⇒ 6 / 23
Mesh quality measure Note that J t MJ = σ I is equivalent to 1 2 trace ( J t MJ ) = det( J t MJ ) 1 / 2 (Alignment) � det( J ) det( M ) = σ (Equidistribution) Define trace ( J t MJ ) � q eq ( x ) = det( J ) det( M ) q ali ( x ) = 2 det( J t MJ ) 1 / 2 , σ and Q ali = max x ∈ Ω q ali ( x ) , Q eq = max x ∈ Ω q eq ( x ) 7 / 23
Mesh quality measure Note that J t MJ = σ I is equivalent to 1 2 trace ( J t MJ ) = det( J t MJ ) 1 / 2 (Alignment) � det( J ) det( M ) = σ (Equidistribution) Define trace ( J t MJ ) � q eq ( x ) = det( J ) det( M ) q ali ( x ) = 2 det( J t MJ ) 1 / 2 , σ and Q ali = max x ∈ Ω q ali ( x ) , Q eq = max x ∈ Ω q eq ( x ) 7 / 23
Mesh quality measure To ensure � T | T | = | Ω | , we set � � det( M ) dx 1 � Ω � σ = Ω det( J − 1 ) dx = det( M ) dx � � T | T C | Ω It is not hard to see that Both Q ali and Q eq lie in [1 , ∞ ) An ideally “good” mesh, with J t MJ = σ I , has Q ali = 1 Q eq = 1 We can then set I ( T ) = I ( Q ali , Q eq ). 8 / 23
Mesh quality measure To ensure � T | T | = | Ω | , we set � � det( M ) dx 1 � Ω � σ = Ω det( J − 1 ) dx = det( M ) dx � � T | T C | Ω It is not hard to see that Both Q ali and Q eq lie in [1 , ∞ ) An ideally “good” mesh, with J t MJ = σ I , has Q ali = 1 Q eq = 1 We can then set I ( T ) = I ( Q ali , Q eq ). 8 / 23
How to compute? Recall that trace ( J t MJ ) � q eq ( x ) = det( J ) det( M ) q ali ( x ) = 2 det( J t MJ ) 1 / 2 , σ and Q ali = max x ∈ Ω q ali ( x ) , Q eq = max x ∈ Ω q eq ( x ) Two issues in the implementation: Find a proper set of reference polygons T C ; How to define the mapping F from T C to T ? Or more precisely, how to compute J . 9 / 23
Polygonal mesh quality measures Method 1: least-squares fitting Use regular polygons as reference elements; By the Riemann mapping theorem, there exists F : T C → T . Let ξ i and x i be vertices of T C and T , then x i = F ( ξ i ) Compute a linear least squares fitting x = A ξ + c to F using the values on vertices. Matrix A gives a rough approximation to J . 10 / 23
Polygonal mesh quality measures Method 1: least-squares fitting Use regular polygons as reference elements; By the Riemann mapping theorem, there exists F : T C → T . Let ξ i and x i be vertices of T C and T , then x i = F ( ξ i ) Compute a linear least squares fitting x = A ξ + c to F using the values on vertices. Matrix A gives a rough approximation to J . 10 / 23
Polygonal mesh quality measures Method 1: least-squares fitting Use regular polygons as reference elements; By the Riemann mapping theorem, there exists F : T C → T . Let ξ i and x i be vertices of T C and T , then x i = F ( ξ i ) Compute a linear least squares fitting x = A ξ + c to F using the values on vertices. Matrix A gives a rough approximation to J . 10 / 23
Polygonal mesh quality measures Method 1: least-squares fitting Use regular polygons as reference elements; By the Riemann mapping theorem, there exists F : T C → T . Let ξ i and x i be vertices of T C and T , then x i = F ( ξ i ) Compute a linear least squares fitting x = A ξ + c to F using the values on vertices. Matrix A gives a rough approximation to J . 10 / 23
Polygonal mesh quality measures Method 2: generalized barycentric mapping Use regular polygons as reference elements; Let F be a generalized barycentric mapping Pick a generalized barycentric coordinate λ ( ξ ) F is the composite mapping: ξ − → λ − → x Examples: piecewise linear barycentric mapping; Wachspress barycentric mapping, ... 11 / 23
Polygonal mesh quality measures Method 3: affine mapping with special T C In order to make F an affine mapping, We need to redefine “reference polygons” Lemma Using SVD of vertex matrices, each convex n-gon T is affine similar to a reference n-gon T C such that the the in-radius of T C is greater than or � 1 equal to n ( n − 1) , and the outer-radius of T C is less than or equal to � n − 1 n . � σ 1 � 0 U t . The affine mapping has J = U 0 σ 2 12 / 23
Polygonal mesh quality measures Method 3: examples of reference polygons n=3 n=4 n=5 13 / 23
Comparing the quality measures on Lloyd iteration 14 / 23
Comparing the quality measures on Lloyd iteration Lloyds iteration for 32x32 mesh Lloyds iteration for 32x32 mesh Lloyds iteration for 32x32 mesh 8 3.5 4 Q ali,2 Q ali,1 Q ali,3 7 Q eq,2 3.5 Q eq,1 Q eq,3 3 Quality measures Quality measures Quality measures 6 3 2.5 5 2.5 2 4 2 1.5 3 1.5 2 1 1 0 10 20 30 40 50 0 10 20 30 40 50 0 10 20 30 40 50 Number of iterations Number of iterations Number of iterations 15 / 23
Recommend
More recommend