340 likes | 663 Views
Algebraic Multigrid AMG. Steve McCormick, Tom Manteuffel, John Ruge +++ Applied Math Department University of Colorado @ Boulder January, 2002. +++ Center for Applied Scientific Computing Lawrence Livermore National Laboratory. Outline Alphabet Soup. AMG Classical AMG
E N D
Algebraic Multigrid AMG Steve McCormick, Tom Manteuffel, John Ruge+++Applied Math DepartmentUniversity of Colorado @ BoulderJanuary, 2002 +++Center for Applied Scientific ComputingLawrence Livermore National Laboratory
OutlineAlphabet Soup • AMG Classical AMG • AMGe Element Interpolation AMG • AMGe Element-Free AMGe • SA Smoothed Aggregation • aAMG Algebraic Relaxation AMG • cAMG Compatible Relaxation AMG • AMGe Spectral AMGe • AMGe Adaptive AMG /
smoothing The Multigrid V-cycle prolongation (interpolation) Finest Grid restriction Note: smaller grid First Coarse Grid Multigrid for discretized PDEsLhuh = bh MG scalability comes from using a family of grids. Each grid efficiently computes features at its own scale. Key: “good” transfer of residual equation Lheh = rhfh- Lhuh to “good” coarse grid
AMG Framework DYNA3D error damped quickly by pointwise relaxation Fixed! Choose coarse grids, transfer operators, etc. to eliminate Algebraic multigrid for unstructured gridsAx = b • Standard AMG only uses matrix info • AMG automatically coarsens “grids” algebraically smooth error Accurate characterization of smooth error is crucial
Capturing Smooth Error by Interpolation • M-Matrices: Poisson on unstructured grid. • Choose interpolation to capture ‘smooth’ error: e = Pe2h. • But what characterizes smoothness? • ‘Small’ residual: Ae 0. • M-matrices: Smooth error varies slowly along ‘strong coupling’: |aij |≥ aii.
Coarsening (Coarse-Grid Correction) Ax = b Ae = b -Axxexact = x + e APe2h = b -Axsmooth e e = Pe2h (PTAP)e2h = PT(b -Ax) applying PT to both sides A2he2h = b2h redefining terms x x + Pe2h correcting fine grid
Sets: • Strongly connected -pts. • Strongly connected -pts. • Weakly connected points. Prolongation based on smooth error & variable interdependence (weighted graph) C F F i Ae≈ 0 C C F Strong C Strong F Weak pts.
Good local characterization of smooth error is key to robust AMG • AMG uses heuristics based on M-matrices: smooth error varies slowest in the direction of “large” coefficients. • AMGe heuristics based on multigrid theory:interpolation must reproduce a mode with error proportional to the associated eigenvalue. Stretched quad example ( ): Direction of strength not apparent. Worse for systems.
AMGe coarsening uses elements to localize & approximate modes with error Use local measure to construct AMGe components:
Computing interpolation in practice • Partition local matrix by F & C-pts: • Interpolation to point i is defined by • Perfect interpolation of the local problem.
Agglomerations for triangular elements, both structured & unstructured
The Assumptions: smooth error from low energy modes of local Ai; no elements! • We construct the prolongation operator on the basis of the modified local matrix • Then the ith row of the prolongation matrix P is taken as the ith row of the matrix.
Uses simple interpolation & smoothing • Choose simple interpolation (e.g., piecewise constant) based on element agglomerates. • Smooth: relax a couple of times on the simple basis elements.
Algebraically determine relaxation blocks • Use strong connections to determine blocks. • Relax on block perhaps using AMG (nested).
How good are the C points? • Global martix partition: • Relax on Aff xf = 0. • If CR is slow to converge, either increase the coarse-grid size or do more relaxation. • Can be generalized (Brandt).
AMGe: Take eigenvectors as the basis! • As with AMGe, use elements to localize the problem of determining & matching smooth error. • Coarse dofs are no longer subsets of fine dofs: coefficients of local eigenvectors become the dofs. • Currently expensive, but potentially very robust.
Adaptive or Bootstrap or Calibration or Prerelaxation or Feedback or … AMG • Test your AMG on a problem whose solution you know: Ax =0. • If it works after a few cycles, stop. • Else, x is a good bad guy: it’s an algebraically smooth error in the sense that AMG cannot quickly reduce it. • Now adjust the coarse grid (primarily interpolation) so that it matches x well. The trick is to do this locally & to continue it on coarser levels. • Our early 80’s scheme recovered fast convergence for mis-scaled scalar problems. Now working on systems.
Alphabet Soup • AMG Classical AMG • AMGe Element Interpolation AMG • AMGe Element-Free AMGe • SA Smoothed Aggregation • aAMG Algebraic Relaxation AMG • cAMG Compatible Relaxation AMG • AMGe Spectral AMGe • AMGe Adaptive AMG /