mld2p4-2:

Docs updates.
This commit is contained in:
Salvatore Filippone
2017-04-21 13:29:28 +00:00
parent f47513eb80
commit 05ab5f4d55
79 changed files with 6788 additions and 8368 deletions
+35 -113
View File
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Multi-level Domain Decomposition Background</TITLE>
<META NAME="description" CONTENT="Multi-level Domain Decomposition Background">
<TITLE>Multigrid Background</TITLE>
<META NAME="description" CONTENT="Multigrid Background">
<META NAME="keywords" CONTENT="userhtml">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
@@ -18,7 +18,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<LINK REL="STYLESHEET" HREF="userhtml.css">
<LINK REL="next" HREF="node14.html">
<LINK REL="next" HREF="node13.html">
<LINK REL="previous" HREF="node5.html">
<LINK REL="up" HREF="userhtml.html">
<LINK REL="next" HREF="node12.html">
@@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html212"
<A NAME="tex2html209"
HREF="node12.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html208"
<A NAME="tex2html205"
HREF="userhtml.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html202"
<A NAME="tex2html199"
HREF="node10.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html210"
<A NAME="tex2html207"
HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html213"
HREF="node12.html">Multi-level Schwarz Preconditioners</A>
<B> Up:</B> <A NAME="tex2html209"
<B> Next:</B> <A NAME="tex2html210"
HREF="node12.html">AMG preconditioners</A>
<B> Up:</B> <A NAME="tex2html206"
HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html203"
<B> Previous:</B> <A NAME="tex2html200"
HREF="node10.html">Example and test programs</A>
&nbsp; <B> <A NAME="tex2html211"
&nbsp; <B> <A NAME="tex2html208"
HREF="node2.html">Contents</A></B>
<BR>
<BR>
@@ -53,126 +53,48 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<H1><A NAME="SECTION00060000000000000000"></A><A NAME="sec:background"></A>
<BR>
Multi-level Domain Decomposition Background
</H1>
<P>
<I>Domain Decomposition</I> (DD) preconditioners, coupled with Krylov iterative
solvers, are widely used in the parallel solution of large and sparse linear systems.
These preconditioners are based on the divide and conquer technique: the matrix
to be preconditioned is divided into submatrices, a ``local'' linear system
involving each submatrix is (approximately) solved, and the local solutions are used
to build a preconditioner for the whole original matrix. This process
often corresponds to dividing a physical domain associated to the original matrix
into subdomains, e.g. in a PDE discretization, to (approximately) solving the
subproblems corresponding to the subdomains and to building an approximate
solution of the original problem from the local solutions
[<A
HREF="node28.html#Cai_Widlund_92">6</A>,<A
HREF="node28.html#dd1_94">7</A>,<A
HREF="node28.html#dd2_96">23</A>].
<P>
<I>Additive Schwarz</I> preconditioners are DD preconditioners using overlapping
submatrices, i.e. with some common rows, to couple the local information
related to the submatrices (see, e.g., [<A
HREF="node28.html#dd2_96">23</A>]).
The main motivation for choosing Additive Schwarz preconditioners is their
intrinsic parallelism. A drawback of these
preconditioners is that the number of iterations of the preconditioned solvers
generally grows with the number of submatrices. This may be a serious limitation
on parallel computers, since the number of submatrices usually matches the number
of available processors. Optimal convergence rates, i.e. iteration numbers
independent of the number of submatrices, can be obtained by correcting the
preconditioner through a suitable approximation of the original linear system
in a coarse space, which globally couples the information related to the single
submatrices.
<P>
<I>Two-level Schwarz</I> preconditioners are obtained
by combining basic (one-level) Schwarz preconditioners with a coarse-level
correction. In this context, the one-level preconditioner is often
called `smoother'. Different two-level preconditioners are obtained by varying the
choice of the smoother and of the coarse-level correction, and the
way they are combined [<A
HREF="node28.html#dd2_96">23</A>]. The same reasoning can be applied starting
from the coarse-level system, i.e. a coarse-space correction can be built
from this system, thus obtaining <I>multi-level</I> preconditioners.
<P>
It is worth noting that optimal preconditioners do not necessarily correspond
to minimum execution times. Indeed, to obtain effective multi-level preconditioners
a tradeoff between optimality of convergence and the cost of building and applying
the coarse-space corrections must be achieved. The choice of the number of levels,
i.e. of the coarse-space corrections, also affects the effectiveness of the
preconditioners. One more goal is to get convergence rates as less sensitive
as possible to variations in the matrix coefficients.
<P>
Two main approaches can be used to build coarse-space corrections. The geometric approach
applies coarsening strategies based on the knowledge of some physical grid associated
to the matrix and requires the user to define grid transfer operators from the fine
to the coarse levels and vice versa. This may result difficult for complex geometries;
furthermore, suitable one-level preconditioners may be required to get efficient
interplay between fine and coarse levels, e.g. when matrices with highly varying coefficients
are considered. The algebraic approach builds coarse-space corrections using only matrix
information. It performs a fully automatic coarsening and enforces the interplay between
the fine and coarse levels by suitably choosing the coarse space and the coarse-to-fine
interpolation [<A
HREF="node28.html#Stuben_01">25</A>].
<P>
MLD2P4 uses a pure algebraic approach for building the sequence of coarse matrices
starting from the original matrix. The algebraic approach is based on the <I>smoothed
aggregation</I> algorithm [<A
HREF="node28.html#BREZINA_VANEK">1</A>,<A
HREF="node28.html#VANEK_MANDEL_BREZINA">27</A>]. A decoupled version
of this algorithm is implemented, where the smoothed aggregation is applied locally
to each submatrix [<A
HREF="node28.html#TUMINARO_TONG">26</A>]. In the next two subsections we provide
a brief description of the multi-level Schwarz preconditioners and of the smoothed
aggregation technique as implemented in MLD2P4. For further details the reader
is referred to [<A
HREF="node28.html#para_04">2</A>,<A
HREF="node28.html#aaecc_07">3</A>,<A
HREF="node28.html#apnum_07">4</A>,<A
HREF="node28.html#MLD2P4_TOMS">8</A>,<A
HREF="node28.html#dd2_96">23</A>].
<P>
<BR><HR>
Multigrid Background
</H1>␍␍␍Multigrid preconditioners, coupled with Krylov iterative␍solvers, are widely used in the parallel solution of large and sparse linear systems,␍because of their optimality in the solution of linear systems arising from the␍discretization of scalar elliptic Partial Differential Equations (PDEs) on regular grids.␍Optimality, also known as algorithmic scalability, is the property ␍of having a computational cost per iteration that depends linearly on␍the problem size, and a convergence rate that is independent of the problem size.␍␍Multigrid preconditioners are based on a recursive application of a two-grid process␍consisting of smoother iterations and a coarse-space (or coarse-level) correction.␍The smoothers may be either basic iterative methods, such as the Jacobi and Gauss-Seidel ones,␍or more complex subspace-correction methods, such as the Schwarz ones.␍The coarse-space correction consists of solving, in an appropriately chosen␍coarse space, the residual equation associated with the approximate solution computed␍by the smoother, and of using the solution of this equation to correct the␍previous approximation. The transfer of information between the original␍(fine) space and the coarse one is performed by using suitable restriction and␍prolongation operators. The construction of the coarse space and the corresponding␍transfer operators is carried out by applying a so-called coarsening algorithm to the system␍matrix. Two main approaches can be used to perform coarsening: the geometric approach,␍which exploits the knowledge of some physical grid associated with the matrix␍and requires the user to define transfer operators from the fine␍to the coarse level and vice versa, and the algebraic approach, which builds␍the coarse-space correction and the associate transfer operators using only matrix␍information. The first approach may be difficult when the system comes from␍discretizations on complex geometries;␍furthermore, ad hoc one-level smoothers may be required to get an efficient␍interplay between fine and coarse levels, e.g., when matrices with highly varying coefficients␍are considered. The second approach performs a fully automatic coarsening and enforces the␍interplay between fine and coarse level by suitably choosing the coarse space and␍the coarse-to-fine interpolation (see, e.g., [<A
HREF="node27.html#Briggs2000">2</A>,<A
HREF="node27.html#Stuben_01">27</A>,<A
HREF="node27.html#dd2_96">25</A>] for details.)␍␍MLD2P4 uses a pure algebraic approach, based on the smoothed ␍aggregation algorithm [<A
HREF="node27.html#BREZINA_VANEK">1</A>,<A
HREF="node27.html#VANEK_MANDEL_BREZINA">29</A>],␍for building the sequence of coarse matrices and transfer operators,␍starting from the original one.␍A decoupled version of this algorithm is implemented, where the smoothed␍aggregation is applied locally to each submatrix [<A
HREF="node27.html#TUMINARO_TONG">28</A>].␍A brief description of the AMG preconditioners implemented in MLD2P4 is given in ␍Sections&nbsp;<A HREF="node12.html#sec:multilevel">4.1</A>-<A HREF="#sec:smoothers">4.3</A>. For further details the reader␍is referred to [<A
HREF="node27.html#para_04">3</A>,<A
HREF="node27.html#aaecc_07">4</A>,<A
HREF="node27.html#apnum_07">5</A>,<A
HREF="node27.html#MLD2P4_TOMS">9</A>].␍␍We note that optimal multigrid preconditioners do not necessarily correspond␍to minimum execution times in a parallel setting. Indeed, to obtain effective parallel␍multigrid preconditioners, a tradeoff between the optimality and the cost of building and␍applying the smoothers and the coarse-space corrections must be achieved. Effective␍parallel preconditioners require algorithmic scalability to be coupled with implementation␍scalability, i.e., a computational cost per iteration which remains (almost) constant as␍the number of parallel processors increases.␍␍␍<BR><HR>
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL>
<LI><A NAME="tex2html214"
HREF="node12.html">Multi-level Schwarz Preconditioners</A>
<LI><A NAME="tex2html215"
HREF="node13.html">Smoothed Aggregation</A>
<LI><A NAME="tex2html211"
HREF="node12.html">AMG preconditioners</A>
</UL>
<!--End of Table of Child-Links-->
<HR>
<!--Navigation Panel-->
<A NAME="tex2html212"
<A NAME="tex2html209"
HREF="node12.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html208"
<A NAME="tex2html205"
HREF="userhtml.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html202"
<A NAME="tex2html199"
HREF="node10.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html210"
<A NAME="tex2html207"
HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html213"
HREF="node12.html">Multi-level Schwarz Preconditioners</A>
<B> Up:</B> <A NAME="tex2html209"
<B> Next:</B> <A NAME="tex2html210"
HREF="node12.html">AMG preconditioners</A>
<B> Up:</B> <A NAME="tex2html206"
HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html203"
<B> Previous:</B> <A NAME="tex2html200"
HREF="node10.html">Example and test programs</A>
&nbsp; <B> <A NAME="tex2html211"
&nbsp; <B> <A NAME="tex2html208"
HREF="node2.html">Contents</A></B>
<!--End of Navigation Panel-->