390 likes | 543 Views
Jim E. Jones Center for Applied Scientific Computing. Algebraic Multigrid for Finite Element Problems: AMGe. Andy Cleary Rob Falgout Van Henson Panayot Vassilevski Ulrike Meier Yang. Marian Brezina Tim Chartier Tom Manteuffel Steve McCormick John Ruge. Collaborators. Outline.
E N D
Jim E. JonesCenter for Applied Scientific Computing Algebraic Multigrid for Finite Element Problems: AMGe
Andy Cleary Rob Falgout Van Henson Panayot Vassilevski Ulrike Meier Yang Marian Brezina Tim Chartier Tom Manteuffel Steve McCormick John Ruge Collaborators
Outline • Motivation for AMGe • AMGe measure • Interpolation • Choosing coarse grids • Agglomeration coarsening • Conclusions
AMG uses “strength of dependence” to determine multigrid components • Smooth error means “small” residuals • Based on properties of M-matrices, AMG uses the following heuristic: smooth error varies slowest in the direction of strong dependence • Here, strong connections are defined by “large” matrix coefficients: i strongly depends on j if
Defining prolongation weights C F • Assume smooth error given by: • Write error, , at both F-points and “weak” C-points in terms of error at “strong” C-points • We now have an equation for the error in terms of error at neighboring “strong” C-points • Use the coefficients in this equation for the weights F i C C F Prolongation has the form: Prolongation in AMG is defined by first “collapsing the stencil”
We need a more robust characterization of smooth error • Example: consider quadrilateral finite elements on a stretched 2D Cartesian grid ( ) • Strong dependence is not apparent here • Iterative weight interpolation will sometimes compensate for mis-identified strong dependence • Elasticity problems are still problematic
Start with a global measure that relates interpolation accuracy and eigenmodes • Fundamental heuristic:for a two grid algorithm, the interpolation operator must be able to reproduce a mode up to the same accuracy as the size of the associated eigenvalue. • That is, the following measure should be small
Two-level convergence results • If K is an upper bound for the measure, then the two-level convergence factor is bounded by • One Richardson smoothing with relaxation parameter
AMGe uses finite element stiffness matrices to localize new heuristic • Global measure: • Local measure:where is a canonical basis vector, is a row of interpolation, and is a sum of local stiffness matrices • Local bound yields Global bound
Using local measure to define interpolation • Interpolation is defined by the arg min ofwhere we restrict the structure of iterpolation to “nearest neighbors” by • This is easily computed in practice
Using local measure to define interp. is equivalent to fitting local eigenmodes • Assume the eigen-decomposition: • Finding the arg min is equivalent to solving the following constrained least-squares problem
Computing interpolation in practice • Partition local matrix by F and C-pts: • Interpolation to point i is defined by • Perfect interpolation of the local problem
Preliminary results for new AMGe prolongation are promising • 2D plane-stress cantilever beam, fixed on one end. • Convergence factors: finest grid elements are hxh; h=1/64, grids are coarsened geometrically.
Review of Local AMGe Measure • Given C-points, defines interpolation. • Given C-points, can indicate where interpolation should be improved by adding additional C-points.
Using AMGe measure to pick C-points • Can replace standard AMG “strength of connection” definition with one based on the measure. • Approach 1: Calculate measure for i assuming j is the only C-point used in interpolation, Mi(j). Then, i strongly depends on j if
values for quadrilateral example (1000:1) For each point k connected to point i , compute value of assuming kis the only C-point. We are now investigating ways of using our local measure to select coarse grids • One approach is to use the local measure to redefine the AMG notion of strength of dependence:
Using AMGe measure to pick C-points • Can replace standard AMG “strength of connection” definition with one based on the measure. • Approach 2: Calculate measure for i assuming j is the only neighbor not used in interpolation, Mi(j). Then, i strongly depends on j if
Using AMGe measure to pick C-points • Maximize accuracy / cost. • Accuracy is modeled by the AMGe measure. • Cost is modeled by the number of C-points.
Problems with picking C-points • What are the coarse grid element matrices? • Number of CG elements = Number of fine • Sometimes can agglomerate elements • Coarse elements may have larger null space
Coarsening • Coarse grid elements naturally form agglomerates
Coarsening • Coarse grid elements don’t naturally form agglomerates
Agglomeration coarsening • Force agglomerated coarse grid elements • Group fine elements into agglomerates • Define C-points to be vertices of agglomerated elements • Interpolate only from degrees of freedom in the same agglomerate
Constructing interpolation • “Edge points” interpolate from coarse points on the same edge • “Element points” intepolate from coarse points in the element
Agglomeration coarsening • Coarse element matrices • Global coarse matrix
Agglomeration coarsening: • List of fine grid degrees of freedom • List of fine grid elements (each is a list of d.o.f.) • Element stiffness matrices
Agglomeration coarsening: 0 0 0 0 0 0 0 0 0 0 0 0 0 last_f = 0 if max_f >= last_f • update neighbors else • complete E 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Agglomeration coarsening: 0 0 0 0 0 0 0 0 0 0 0 0 0 last_f = 0 if max_f >= last_f • update neighbors else • complete E 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 2 2 0 0 0 0 0 0 0 0 0 0 0 2 2 0 0 0 0
Agglomeration coarsening: 0 0 0 0 0 0 0 0 0 0 0 0 0 last_f = 0 if max_f >= last_f • update neighbors else • complete E 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 0 0 0 0 0 2 3 0 0 0 0 2 0 0 0 0 0 2 2 0 0 0 0
Agglomeration coarsening: 0 0 0 0 0 0 0 0 0 0 0 0 0 last_f = 2 if max_f >= last_f • update neighbors else • complete E 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 2 0 0 0 0 3 1 0 0 0 2 2 0 0 0 0 2 2 0 0 0 0
Agglomeration coarsening: 0 0 0 0 0 0 0 0 0 0 0 0 0 last_f = 3 if max_f >= last_f • update neighbors else • complete E 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 2 2 0 0 0 0 2 5 2 0 0 0 0 1 0 0 0 2 2 0 0 0 0 2 2 0 0 0 0
Agglomeration coarsening: 0 0 0 0 0 0 0 0 0 0 0 0 0 last_f = 5 if max_f >= last_f • update neighbors else • complete E 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 2 0 0 0 0 0 0 0 0
Agglomeration coarsening: 0 0 0 0 0 0 0 0 0 0 0 0 0 last_f = 0 if max_f >= last_f • update neighbors else • complete E 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 2 0 0 0 1 1 0 0 2 0 0 0 0 0 0 0
Agglomeration coarsening: • Define faces by intersecting elements • Define vertices by intersecting faces
Agglomeration coarsening: • Let the vertices be the C-points • Construct coarse elements and stiffness matrices
Agglomerations for triangular elements, both structured and unstructured
The agglomeration method can be easily modified to handle anisotropic problems • Basic approach: prevent agglomeration through faces that tie together elements in a direction of weak coupling • Compute the measure for each pair of elements: • If the measure is above some parameter threshold, the elements should not be agglomerated, so the shared face is marked as unacceptable in the graph C F C E1 E2 C F C
Numerical results • Poisson Problem on unstructured grids
Numerical results • Elasticity Problem on structured square grids
Conclusions/Questions • Given the individual element stiffness matrices and the right coarse grid, the AMGe method can give high quality interpolation. • The AMGe method can be used to guide the coarsening process. • Parallel agglomeration algorithms? • How closely tied must the element and d.o.f coarsening procedures be? • What to do when you don’t have stiffness matrices? • Papers available: http://www.llnl.gov/casc/linear_solvers