Jim E. Jones Center for Applied Scientific Computing
390 likes | 555 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.
Jim E. Jones Center for Applied Scientific Computing
E N D
Presentation Transcript
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