1 / 39

390 likes | 531 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.

Download Presentation
## Jim E. Jones Center for Applied Scientific Computing

**An Image/Link below is provided (as is) to download presentation**
Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.
Content is provided to you AS IS for your information and personal use only.
Download presentation by click this link.
While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
During download, if you can't get a presentation, the file might be deleted by the publisher.

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

More Related