<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html > <head><title>Multigrid Background</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta name="generator" content="TeX4ht (http://www.tug.org/tex4ht/)"> <meta name="originator" content="TeX4ht (http://www.tug.org/tex4ht/)"> <!-- html,3 --> <meta name="src" content="userhtml.tex"> <link rel="stylesheet" type="text/css" href="userhtml.css"> </head><body > <!--l. 1--><div class="crosslinks"><p class="noindent"><span class="cmr-12">[</span><a href="userhtmlse5.html" ><span class="cmr-12">next</span></a><span class="cmr-12">] [</span><a href="userhtmlse3.html" ><span class="cmr-12">prev</span></a><span class="cmr-12">] [</span><a href="userhtmlse3.html#tailuserhtmlse3.html" ><span class="cmr-12">prev-tail</span></a><span class="cmr-12">] [</span><a href="#tailuserhtmlse4.html"><span class="cmr-12">tail</span></a><span class="cmr-12">] [</span><a href="userhtml.html#userhtmlse4.html" ><span class="cmr-12">up</span></a><span class="cmr-12">] </span></p></div> <h3 class="sectionHead"><span class="titlemark"><span class="cmr-12">4 </span></span> <a id="x13-120004"></a><span class="cmr-12">Multigrid Background</span></h3> <!--l. 5--><p class="noindent" ><span class="cmr-12">Multigrid preconditioners, coupled with Krylov iterative solvers, are widely used in the</span> <span class="cmr-12">parallel solution of large and sparse linear systems, because of their optimality in the</span> <span class="cmr-12">solution of linear systems arising from the discretization of scalar elliptic Partial</span> <span class="cmr-12">Differential Equations (PDEs) on regular grids. Optimality, also known as algorithmic</span> <span class="cmr-12">scalability, is the property of having a computational cost per iteration that depends</span> <span class="cmr-12">linearly on the problem size, and a convergence rate that is independent of the problem</span> <span class="cmr-12">size.</span> <!--l. 13--><p class="indent" > <span class="cmr-12">Multigrid preconditioners are based on a recursive application of a two-grid process</span> <span class="cmr-12">consisting of smoother iterations and a coarse-space (or coarse-level) correction. The</span> <span class="cmr-12">smoothers may be either basic iterative methods, such as the Jacobi and Gauss-Seidel</span> <span class="cmr-12">ones, or more complex subspace-correction methods, such as the Schwarz ones. The</span> <span class="cmr-12">coarse-space correction consists of solving, in an appropriately chosen coarse space, the</span> <span class="cmr-12">residual equation associated with the approximate solution computed by the</span> <span class="cmr-12">smoother, and of using the solution of this equation to correct the previous</span> <span class="cmr-12">approximation. The transfer of information between the original (fine) space and</span> <span class="cmr-12">the coarse one is performed by using suitable restriction and prolongation</span> <span class="cmr-12">operators. The construction of the coarse space and the corresponding transfer</span> <span class="cmr-12">operators is carried out by applying a so-called coarsening algorithm to the</span> <span class="cmr-12">system matrix. Two main approaches can be used to perform coarsening:</span> <span class="cmr-12">the geometric approach, which exploits the knowledge of some physical grid</span> <span class="cmr-12">associated with the matrix and requires the user to define transfer operators</span> <span class="cmr-12">from the fine to the coarse level and vice versa, and the algebraic approach,</span> <span class="cmr-12">which builds the coarse-space correction and the associate transfer operators</span> <span class="cmr-12">using only matrix information. The first approach may be difficult when the</span> <span class="cmr-12">system comes from discretizations on complex geometries; furthermore, ad hoc</span> <span class="cmr-12">one-level smoothers may be required to get an efficient interplay between</span> <span class="cmr-12">fine and coarse levels, e.g., when matrices with highly varying coefficients are</span> <span class="cmr-12">considered. The second approach performs a fully automatic coarsening and</span> <span class="cmr-12">enforces the interplay between fine and coarse level by suitably choosing the</span> <span class="cmr-12">coarse space and the coarse-to-fine interpolation (see, e.g., </span><span class="cite"><span class="cmr-12">[</span><a href="userhtmlli4.html#XBriggs2000"><span class="cmr-12">3</span></a><span class="cmr-12">,</span><span class="cmr-12"> </span><a href="userhtmlli4.html#XStuben_01"><span class="cmr-12">24</span></a><span class="cmr-12">,</span><span class="cmr-12"> </span><a href="userhtmlli4.html#Xdd2_96"><span class="cmr-12">22</span></a><span class="cmr-12">]</span></span> <span class="cmr-12">for</span> <span class="cmr-12">details.)</span> <!--l. 37--><p class="indent" > <span class="cmr-12">MLD2P4 uses a pure algebraic approach, based on the smoothed aggregation</span> <span class="cmr-12">algorithm </span><span class="cite"><span class="cmr-12">[</span><a href="userhtmlli4.html#XBREZINA_VANEK"><span class="cmr-12">2</span></a><span class="cmr-12">,</span><span class="cmr-12"> </span><a href="userhtmlli4.html#XVANEK_MANDEL_BREZINA"><span class="cmr-12">26</span></a><span class="cmr-12">]</span></span><span class="cmr-12">, for building the sequence of coarse matrices and transfer</span> <span class="cmr-12">operators, starting from the original one. A decoupled version of this algorithm</span> <span class="cmr-12">is implemented, where the smoothed aggregation is applied locally to each</span> <span class="cmr-12">submatrix </span><span class="cite"><span class="cmr-12">[</span><a href="userhtmlli4.html#XTUMINARO_TONG"><span class="cmr-12">25</span></a><span class="cmr-12">]</span></span><span class="cmr-12">. A brief description of the AMG preconditioners implemented in</span> <span class="cmr-12">MLD2P4 is given in Sections</span><span class="cmr-12"> </span><a href="userhtmlsu6.html#x14-130004.1"><span class="cmr-12">4.1</span><!--tex4ht:ref: sec:multilevel --></a><span class="cmr-12">-</span><a href="userhtmlsu8.html#x16-150004.3"><span class="cmr-12">4.3</span><!--tex4ht:ref: sec:smoothers --></a><span class="cmr-12">. For further details the reader is referred to</span> <span class="cite"><span class="cmr-12">[</span><a href="userhtmlli4.html#Xpara_04"><span class="cmr-12">4</span></a><span class="cmr-12">,</span><span class="cmr-12"> </span><a href="userhtmlli4.html#Xaaecc_07"><span class="cmr-12">5</span></a><span class="cmr-12">,</span><span class="cmr-12"> </span><a href="userhtmlli4.html#Xapnum_07"><span class="cmr-12">7</span></a><span class="cmr-12">,</span><span class="cmr-12"> </span><a href="userhtmlli4.html#XMLD2P4_TOMS"><span class="cmr-12">8</span></a><span class="cmr-12">]</span></span><span class="cmr-12">.</span> <!--l. 47--><p class="indent" > <span class="cmr-12">We note that optimal multigrid preconditioners do not necessarily correspond to</span> <span class="cmr-12">minimum execution times in a parallel setting. Indeed, to obtain effective parallel</span> <span class="cmr-12">multigrid preconditioners, a tradeoff between the optimality and the cost of</span> <span class="cmr-12">building and applying the smoothers and the coarse-space corrections must be</span> <span class="cmr-12">achieved. Effective parallel preconditioners require algorithmic scalability to</span> <span class="cmr-12">be coupled with implementation scalability, i.e., a computational cost per</span> <span class="cmr-12">iteration which remains (almost) constant as the number of parallel processors</span> <span class="cmr-12">increases.</span> <!--l. 56--><p class="noindent" > <div class="subsectionTOCS"> <span class="cmr-12"> </span><span class="subsectionToc" ><span class="cmr-12">4.1 </span><a href="userhtmlsu6.html#x14-130004.1"><span class="cmr-12">AMG preconditioners</span></a></span> <br /> <span class="cmr-12"> </span><span class="subsectionToc" ><span class="cmr-12">4.2 </span><a href="userhtmlsu7.html#x15-140004.2"><span class="cmr-12">Smoothed Aggregation</span></a></span> <br /> <span class="cmr-12"> </span><span class="subsectionToc" ><span class="cmr-12">4.3 </span><a href="userhtmlsu8.html#x16-150004.3"><span class="cmr-12">Smoothers and coarsest-level solvers</span></a></span> </div> <!--l. 1--><div class="crosslinks"><p class="noindent"><span class="cmr-12">[</span><a href="userhtmlse5.html" ><span class="cmr-12">next</span></a><span class="cmr-12">] [</span><a href="userhtmlse3.html" ><span class="cmr-12">prev</span></a><span class="cmr-12">] [</span><a href="userhtmlse3.html#tailuserhtmlse3.html" ><span class="cmr-12">prev-tail</span></a><span class="cmr-12">] [</span><a href="userhtmlse4.html" ><span class="cmr-12">front</span></a><span class="cmr-12">] [</span><a href="userhtml.html#userhtmlse4.html" ><span class="cmr-12">up</span></a><span class="cmr-12">] </span></p></div> <!--l. 1--><p class="indent" > <a id="tailuserhtmlse4.html"></a> </body></html>