mld2p4:
copyright and internal doc adjustments for version 1.1.
|
Before Width: | Height: | Size: 376 B After Width: | Height: | Size: 368 B |
|
Before Width: | Height: | Size: 678 B After Width: | Height: | Size: 647 B |
|
Before Width: | Height: | Size: 372 B After Width: | Height: | Size: 683 B |
|
Before Width: | Height: | Size: 673 B After Width: | Height: | Size: 375 B |
|
Before Width: | Height: | Size: 233 B After Width: | Height: | Size: 241 B |
|
Before Width: | Height: | Size: 768 B After Width: | Height: | Size: 802 B |
|
Before Width: | Height: | Size: 8.5 KiB After Width: | Height: | Size: 275 B |
|
Before Width: | Height: | Size: 292 B After Width: | Height: | Size: 8.6 KiB |
|
Before Width: | Height: | Size: 355 B After Width: | Height: | Size: 296 B |
|
Before Width: | Height: | Size: 265 B After Width: | Height: | Size: 359 B |
|
Before Width: | Height: | Size: 374 B After Width: | Height: | Size: 263 B |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 366 B |
|
Before Width: | Height: | Size: 445 B After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 195 B After Width: | Height: | Size: 445 B |
|
Before Width: | Height: | Size: 342 B After Width: | Height: | Size: 201 B |
|
Before Width: | Height: | Size: 501 B After Width: | Height: | Size: 338 B |
|
Before Width: | Height: | Size: 517 B After Width: | Height: | Size: 507 B |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 521 B |
|
Before Width: | Height: | Size: 279 B After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 222 B After Width: | Height: | Size: 283 B |
|
Before Width: | Height: | Size: 486 B After Width: | Height: | Size: 219 B |
|
Before Width: | Height: | Size: 456 B After Width: | Height: | Size: 490 B |
|
Before Width: | Height: | Size: 229 B After Width: | Height: | Size: 464 B |
|
Before Width: | Height: | Size: 575 B After Width: | Height: | Size: 222 B |
|
Before Width: | Height: | Size: 200 B After Width: | Height: | Size: 564 B |
|
Before Width: | Height: | Size: 345 B After Width: | Height: | Size: 198 B |
|
Before Width: | Height: | Size: 303 B After Width: | Height: | Size: 351 B |
|
Before Width: | Height: | Size: 210 B After Width: | Height: | Size: 304 B |
|
Before Width: | Height: | Size: 280 B After Width: | Height: | Size: 212 B |
|
Before Width: | Height: | Size: 190 B After Width: | Height: | Size: 280 B |
|
Before Width: | Height: | Size: 370 B After Width: | Height: | Size: 191 B |
|
Before Width: | Height: | Size: 223 B After Width: | Height: | Size: 364 B |
|
Before Width: | Height: | Size: 695 B After Width: | Height: | Size: 226 B |
|
Before Width: | Height: | Size: 497 B After Width: | Height: | Size: 687 B |
|
Before Width: | Height: | Size: 272 B After Width: | Height: | Size: 495 B |
|
Before Width: | Height: | Size: 649 B After Width: | Height: | Size: 275 B |
|
Before Width: | Height: | Size: 257 B After Width: | Height: | Size: 636 B |
|
Before Width: | Height: | Size: 196 B After Width: | Height: | Size: 259 B |
|
Before Width: | Height: | Size: 222 B After Width: | Height: | Size: 202 B |
|
Before Width: | Height: | Size: 648 B After Width: | Height: | Size: 218 B |
@@ -65,9 +65,9 @@ University of Rome ``Tor Vergata'', Italy
|
||||
<BR>
|
||||
<BR>
|
||||
<BR>
|
||||
Software version: 1.0
|
||||
Software version: 1.1
|
||||
<BR>
|
||||
Sept. 9th, 2008
|
||||
March 13, 2009
|
||||
|
||||
<BR>
|
||||
|
||||
|
||||
@@ -64,7 +64,7 @@ MLD2P4 (M<SMALL>ULTI-</SMALL>L<SMALL>EVEL </SMALL>D<SMALL>OMAIN </SMALL>D<SMALL>
|
||||
It implements various versions of one-level additive and of multi-level additive
|
||||
and hybrid Schwarz algorithms. In the multi-level case, a purely algebraic approach
|
||||
is applied to generate coarse-level corrections, so that no geometric background is needed
|
||||
concerning the matrix to be preconditioned. The matrix is required to be square, real
|
||||
concerning the matrix to be preconditioned. The matrix is assumed to be square, real
|
||||
or complex, with a symmetric sparsity pattern.
|
||||
|
||||
<P>
|
||||
|
||||
@@ -135,11 +135,11 @@ of this algorithm is implemented, where the smoothed aggregation is applied loca
|
||||
to each submatrix [<A
|
||||
HREF="node25.html#TUMINARO_TONG">23</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 user
|
||||
aggregation technique as implemented in MLD2P4. For further details the reader
|
||||
is referred to [<A
|
||||
HREF="node25.html#para_04">2</A>,<A
|
||||
HREF="node25.html#aaecc_07">3</A>,<A
|
||||
HREF="node25.html#apnum_07">4</A>,<A
|
||||
HREF="node25.html#apnum_07">4</A>,,<A
|
||||
HREF="node25.html#dd2_96">20</A>].
|
||||
|
||||
<P>
|
||||
|
||||
@@ -276,7 +276,7 @@ three steps:
|
||||
ALT="$i=1,\ldots,m$">;
|
||||
</LI>
|
||||
<LI>prolongation and sum of the <IMG
|
||||
WIDTH="22" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
||||
WIDTH="23" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img32.png"
|
||||
ALT="$w_i$">'s, i.e. <!-- MATH
|
||||
$w = \sum_{i=1}^m (R_i^{\delta})^T w_i$
|
||||
@@ -309,7 +309,7 @@ time on parallel distributed-memory computers is the so-called <I>Restricted AS
|
||||
HREF="node25.html#CAI_SARKIS">5</A>,<A
|
||||
HREF="node25.html#EFSTATHIOU">13</A>]. It
|
||||
is obtained by zeroing the components of <IMG
|
||||
WIDTH="22" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
||||
WIDTH="23" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img32.png"
|
||||
ALT="$w_i$"> corresponding to the
|
||||
overlapping vertices when applying the prolongation. Therefore,
|
||||
@@ -405,7 +405,7 @@ In a pure algebraic setting, <IMG
|
||||
WIDTH="29" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img43.png"
|
||||
ALT="$A_C$"> is usually built with
|
||||
a Galerkin approach. Given a set <IMG
|
||||
the Galerkin approach. Given a set <IMG
|
||||
WIDTH="32" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img44.png"
|
||||
ALT="$W_C$"> of <I>coarse vertices</I>,
|
||||
@@ -683,7 +683,11 @@ and the corresponding basic preconditioner at each level <IMG
|
||||
ALT="$M_l$">, respectively, with <IMG
|
||||
WIDTH="61" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img65.png"
|
||||
ALT="$A_1=A$">.
|
||||
ALT="$A_1=A$">, while the related restriction operator is
|
||||
denoted by <IMG
|
||||
WIDTH="23" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img66.png"
|
||||
ALT="$R_l$">.
|
||||
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:mlhpost_alg"></A><A NAME="508"></A>
|
||||
<TABLE>
|
||||
@@ -720,14 +724,14 @@ $w = y_1$;
|
||||
}$
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="430" HEIGHT="435" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img66.png"
|
||||
WIDTH="429" HEIGHT="435" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img67.png"
|
||||
ALT="\framebox{
|
||||
\begin{minipage}{.85\textwidth} {\small
|
||||
\begin{tabbing}
|
||||
\quad \=\quad...
|
||||
...= y_l+r_l$\\
|
||||
\textbf{endfor} [1mm]
|
||||
\textbf{endfor} \\ [1mm]
|
||||
$w = y_1$;
|
||||
\end{tabbing}}
|
||||
\end{minipage}}">
|
||||
|
||||
@@ -62,7 +62,7 @@ Smoothed Aggregation
|
||||
<P>
|
||||
In order to define the restriction operator <IMG
|
||||
WIDTH="29" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img67.png"
|
||||
SRC="img68.png"
|
||||
ALT="$R_C$">, which is used to compute
|
||||
the coarse-level matrix <IMG
|
||||
WIDTH="29" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
@@ -81,7 +81,7 @@ The basic idea of this algorithm is to build a coarse set of vertices
|
||||
ALT="$W$"> into disjoint subsets
|
||||
(aggregates), and to define the coarse-to-fine space transfer operator <IMG
|
||||
WIDTH="29" HEIGHT="40" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img68.png"
|
||||
SRC="img69.png"
|
||||
ALT="$R_C^T$"> by
|
||||
applying a suitable smoother to a simple piecewise constant
|
||||
prolongation operator, to improve the quality of the coarse-space correction.
|
||||
@@ -100,15 +100,15 @@ Three main steps can be identified in the smoothed aggregation procedure:
|
||||
</LI>
|
||||
<LI>construction of the prolongator <IMG
|
||||
WIDTH="29" HEIGHT="40" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img68.png"
|
||||
SRC="img69.png"
|
||||
ALT="$R_C^T$">;
|
||||
</LI>
|
||||
<LI>application of <IMG
|
||||
WIDTH="29" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img67.png"
|
||||
SRC="img68.png"
|
||||
ALT="$R_C$"> and <IMG
|
||||
WIDTH="29" HEIGHT="40" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img68.png"
|
||||
SRC="img69.png"
|
||||
ALT="$R_C^T$"> to build <IMG
|
||||
WIDTH="29" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img43.png"
|
||||
@@ -124,14 +124,14 @@ in [<A
|
||||
this algorithm has been actually considered,
|
||||
in which each aggregate <IMG
|
||||
WIDTH="26" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img69.png"
|
||||
SRC="img70.png"
|
||||
ALT="$N_r$"> is made of vertices of <IMG
|
||||
WIDTH="24" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img10.png"
|
||||
ALT="$W$"> that are <I>strongly coupled</I>
|
||||
to a certain root vertex <IMG
|
||||
WIDTH="53" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img70.png"
|
||||
SRC="img71.png"
|
||||
ALT="$r \in W$">, i.e. <BR><P></P>
|
||||
<DIV ALIGN="CENTER">
|
||||
<!-- MATH
|
||||
@@ -143,7 +143,7 @@ N_r = \left\{s \in W: |a_{rs}| > \theta \sqrt{|a_{rr}a_{ss}|} \right\}
|
||||
|
||||
<IMG
|
||||
WIDTH="319" HEIGHT="38" BORDER="0"
|
||||
SRC="img71.png"
|
||||
SRC="img72.png"
|
||||
ALT="\begin{displaymath}N_r = \left\{s \in W: \vert a_{rs}\vert > \theta \sqrt{\vert a_{rr}a_{ss}\vert} \right\}
|
||||
\cup \left\{ r \right\} ,
|
||||
\end{displaymath}">
|
||||
@@ -155,16 +155,16 @@ for a given <!-- MATH
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="69" HEIGHT="36" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img72.png"
|
||||
SRC="img73.png"
|
||||
ALT="$\theta \in [0,1]$">.
|
||||
Since this algorithm has a sequential nature, a <I>decoupled</I> version of
|
||||
it has been chosen, where each processor <IMG
|
||||
WIDTH="10" HEIGHT="18" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img73.png"
|
||||
WIDTH="11" HEIGHT="18" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img74.png"
|
||||
ALT="$i$"> independently applies the algorithm to
|
||||
the set of vertices <IMG
|
||||
WIDTH="31" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img74.png"
|
||||
SRC="img75.png"
|
||||
ALT="$W_i^0$"> assigned to it in the initial data distribution. This
|
||||
version is embarrassingly parallel, since it does not require any data communication.
|
||||
On the other hand, it may produce non-uniform aggregates near boundary vertices,
|
||||
@@ -183,14 +183,14 @@ since it has been shown to produce good results in practice
|
||||
<P>
|
||||
The prolongator <IMG
|
||||
WIDTH="75" HEIGHT="40" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img75.png"
|
||||
SRC="img76.png"
|
||||
ALT="$P_C=R_C^T$"> is built starting from a <I>tentative prolongator</I>
|
||||
<!-- MATH
|
||||
$P \in \Re^{n \times n_C}$
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="90" HEIGHT="38" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img76.png"
|
||||
WIDTH="89" HEIGHT="38" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img77.png"
|
||||
ALT="$P \in \Re^{n \times n_C}$">, defined as
|
||||
<BR>
|
||||
<DIV ALIGN="RIGHT">
|
||||
@@ -207,7 +207,7 @@ P=(p_{ij}), \quad p_{ij}=
|
||||
<TABLE WIDTH="100%" ALIGN="CENTER">
|
||||
<TR VALIGN="MIDDLE"><TD ALIGN="CENTER" NOWRAP><A NAME="eq:tent_prol"></A><IMG
|
||||
WIDTH="290" HEIGHT="52" BORDER="0"
|
||||
SRC="img77.png"
|
||||
SRC="img78.png"
|
||||
ALT="\begin{displaymath}
|
||||
P=(p_{ij}), \quad p_{ij}=
|
||||
\left\{ \begin{array}{ll}
|
||||
@@ -222,17 +222,17 @@ P=(p_{ij}), \quad p_{ij}=
|
||||
<BR CLEAR="ALL"></DIV><P></P>
|
||||
<IMG
|
||||
WIDTH="27" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img78.png"
|
||||
SRC="img79.png"
|
||||
ALT="$P_C$"> is obtained by
|
||||
applying to <IMG
|
||||
WIDTH="18" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img79.png"
|
||||
SRC="img80.png"
|
||||
ALT="$P$"> a smoother <!-- MATH
|
||||
$S \in \Re^{n \times n}$
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="78" HEIGHT="38" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img80.png"
|
||||
SRC="img81.png"
|
||||
ALT="$S \in \Re^{n \times n}$">:
|
||||
<BR>
|
||||
<DIV ALIGN="RIGHT">
|
||||
@@ -245,7 +245,7 @@ P_C = S P,
|
||||
<TABLE WIDTH="100%" ALIGN="CENTER">
|
||||
<TR VALIGN="MIDDLE"><TD ALIGN="CENTER" NOWRAP><A NAME="eq:smoothed_prol"></A><IMG
|
||||
WIDTH="73" HEIGHT="30" BORDER="0"
|
||||
SRC="img81.png"
|
||||
SRC="img82.png"
|
||||
ALT="\begin{displaymath}
|
||||
P_C = S P,
|
||||
\end{displaymath}"></TD>
|
||||
@@ -260,7 +260,7 @@ Schwarz method [<A
|
||||
HREF="node25.html#StubenGMD69_99">22</A>].
|
||||
A simple choice for <IMG
|
||||
WIDTH="16" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img82.png"
|
||||
SRC="img83.png"
|
||||
ALT="$S$"> is the damped Jacobi smoother:
|
||||
<BR>
|
||||
<DIV ALIGN="RIGHT">
|
||||
@@ -273,7 +273,7 @@ S = I - \omega D^{-1} A ,
|
||||
<TABLE WIDTH="100%" ALIGN="CENTER">
|
||||
<TR VALIGN="MIDDLE"><TD ALIGN="CENTER" NOWRAP><A NAME="eq:jac_smoother"></A><IMG
|
||||
WIDTH="126" HEIGHT="30" BORDER="0"
|
||||
SRC="img83.png"
|
||||
SRC="img84.png"
|
||||
ALT="\begin{displaymath}
|
||||
S = I - \omega D^{-1} A ,
|
||||
\end{displaymath}"></TD>
|
||||
@@ -283,11 +283,11 @@ S = I - \omega D^{-1} A ,
|
||||
<BR CLEAR="ALL"></DIV><P></P>
|
||||
where the value of <IMG
|
||||
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img84.png"
|
||||
SRC="img85.png"
|
||||
ALT="$\omega$"> can be chosen
|
||||
using some estimate of the spectral radius of <IMG
|
||||
WIDTH="50" HEIGHT="21" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img85.png"
|
||||
WIDTH="51" HEIGHT="21" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img86.png"
|
||||
ALT="$D^{-1}A$"> [<A
|
||||
HREF="node25.html#BREZINA_VANEK">1</A>].
|
||||
|
||||
|
||||
@@ -144,7 +144,7 @@ compilers.
|
||||
|
||||
<P>
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER"><A NAME="923"></A>
|
||||
<DIV ALIGN="CENTER"><A NAME="925"></A>
|
||||
<TABLE>
|
||||
<CAPTION><STRONG>Table 1:</STRONG>
|
||||
Preconditioner types, corresponding strings and default choices.
|
||||
@@ -185,12 +185,12 @@ Preconditioner types, corresponding strings and default choices.
|
||||
Aggregation: decoupled smoothed aggregation with
|
||||
threshold <IMG
|
||||
WIDTH="45" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img86.png"
|
||||
SRC="img87.png"
|
||||
ALT="$\theta = 0$">.
|
||||
Coarsest matrix: distributed among the processors.
|
||||
Coarsest-level solver:
|
||||
4 sweeps of the block-Jacobi solver,
|
||||
with LU (or ILU) factorization of the blocks
|
||||
with LU or ILU factorization of the blocks
|
||||
(UMFPACK for the double precision versions and
|
||||
SuperLU for the single precision ones, if the packages
|
||||
have been installed; ILU(0), otherwise).</TD>
|
||||
|
||||
@@ -90,7 +90,7 @@ the corresponding Fortran 95 codes are available in <code>examples/fileread/</co
|
||||
|
||||
<P>
|
||||
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:ex_default"></A><A NAME="926"></A>
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:ex_default"></A><A NAME="928"></A>
|
||||
<TABLE>
|
||||
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 2:</STRONG>
|
||||
Setup and application of the default multi-level Schwarz preconditioner.
|
||||
@@ -207,7 +207,7 @@ and linked to the MLD2P4 library.
|
||||
<BR>
|
||||
<P>
|
||||
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:ex_3lh"></A><A NAME="928"></A>
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:ex_3lh"></A><A NAME="930"></A>
|
||||
<TABLE>
|
||||
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 3:</STRONG>
|
||||
Setup of a hybrid three-level Schwarz preconditioner.</CAPTION>
|
||||
@@ -239,7 +239,7 @@ Setup of a hybrid three-level Schwarz preconditioner.</CAPTION>
|
||||
|
||||
<P>
|
||||
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:ex_3la"></A><A NAME="930"></A>
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:ex_3la"></A><A NAME="932"></A>
|
||||
<TABLE>
|
||||
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 4:</STRONG>
|
||||
Setup of an additive three-level Schwarz preconditioner.</CAPTION>
|
||||
@@ -271,7 +271,7 @@ Setup of an additive three-level Schwarz preconditioner.</CAPTION>
|
||||
|
||||
<P>
|
||||
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:ex_1l"></A><A NAME="932"></A>
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:ex_1l"></A><A NAME="934"></A>
|
||||
<TABLE>
|
||||
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 5:</STRONG>
|
||||
Setup of a one-level Schwarz preconditioner.</CAPTION>
|
||||
|
||||
@@ -90,8 +90,8 @@ i.e.
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$v$"> and <IMG
|
||||
WIDTH="17" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img87.png"
|
||||
WIDTH="18" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img88.png"
|
||||
ALT="$w$"> involved in
|
||||
the preconditioner application <IMG
|
||||
WIDTH="87" HEIGHT="21" ALIGN="BOTTOM" BORDER="0"
|
||||
|
||||
@@ -137,7 +137,7 @@ refer to Section <A HREF="node11.html#sec:background">4</A>.
|
||||
|
||||
<P>
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER"><A NAME="1260"></A>
|
||||
<DIV ALIGN="CENTER"><A NAME="1262"></A>
|
||||
<TABLE>
|
||||
<CAPTION><STRONG>Table 2:</STRONG>
|
||||
Parameters defining the type of multi-level preconditioner.
|
||||
@@ -181,7 +181,7 @@ Parameters defining the type of multi-level preconditioner.
|
||||
|
||||
<P>
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER"><A NAME="1262"></A>
|
||||
<DIV ALIGN="CENTER"><A NAME="1264"></A>
|
||||
<TABLE>
|
||||
<CAPTION><STRONG>Table 3:</STRONG>
|
||||
Parameters defining the one-level preconditioner used as smoother.
|
||||
@@ -198,8 +198,8 @@ Parameters defining the one-level preconditioner used as smoother.
|
||||
<TR><TD ALIGN="LEFT"><code>mld_sub_ovr_</code></TD>
|
||||
<TD ALIGN="LEFT"><code>integer</code></TD>
|
||||
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>any int. num. <IMG
|
||||
WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img88.png"
|
||||
WIDTH="31" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img89.png"
|
||||
ALT="$\ge 0$"></TD>
|
||||
<TD ALIGN="LEFT">1</TD>
|
||||
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Number of overlap layers.</TD>
|
||||
@@ -240,8 +240,8 @@ Parameters defining the one-level preconditioner used as smoother.
|
||||
<TR><TD ALIGN="LEFT"><code>mld_sub_fillin_</code></TD>
|
||||
<TD ALIGN="LEFT"><code>integer</code></TD>
|
||||
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>Any int. num. <IMG
|
||||
WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img88.png"
|
||||
WIDTH="31" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img89.png"
|
||||
ALT="$\ge 0$"></TD>
|
||||
<TD ALIGN="LEFT">0</TD>
|
||||
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Fill-in level <IMG
|
||||
@@ -252,13 +252,13 @@ Parameters defining the one-level preconditioner used as smoother.
|
||||
<TR><TD ALIGN="LEFT"><code>mld_sub_iluthrs_</code></TD>
|
||||
<TD ALIGN="LEFT"><code>real(</code><I>kind_parameter</I><code>)</code></TD>
|
||||
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>Any real num. <IMG
|
||||
WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img88.png"
|
||||
WIDTH="31" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img89.png"
|
||||
ALT="$\ge 0$"></TD>
|
||||
<TD ALIGN="LEFT">0</TD>
|
||||
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Drop tolerance <IMG
|
||||
WIDTH="11" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img89.png"
|
||||
SRC="img90.png"
|
||||
ALT="$t$"> in the ILU(<IMG
|
||||
WIDTH="27" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img35.png"
|
||||
@@ -281,7 +281,7 @@ Parameters defining the one-level preconditioner used as smoother.
|
||||
|
||||
<P>
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER"><A NAME="1264"></A>
|
||||
<DIV ALIGN="CENTER"><A NAME="1266"></A>
|
||||
<TABLE>
|
||||
<CAPTION><STRONG>Table 4:</STRONG>
|
||||
Parameters defining the aggregation algorithm.
|
||||
@@ -304,20 +304,21 @@ Parameters defining the aggregation algorithm.
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT"><code>mld_aggr_kind_</code></TD>
|
||||
<TD ALIGN="LEFT"><code>character(len=*)</code></TD>
|
||||
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=68><TT>'SMOOTH'</TT> <TT>'RAW'</TT></TD>
|
||||
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=68><TT>'SMOOTH'</TT></TD>
|
||||
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Type of aggregation: smoothed, raw (i.e. using the tentative prolongator).</TD>
|
||||
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=68><TT>'SMOOTHED'</TT> <TT>'NONSMOOTHED'</TT></TD>
|
||||
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=68><TT>'SMOOTHED'</TT></TD>
|
||||
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Type of aggregation: smoothed, nonsmoothed
|
||||
(i.e. using the tentative prolongator).</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT"><code>mld_aggr_thresh_</code></TD>
|
||||
<TD ALIGN="LEFT"><code>real(</code><I>kind_parameter</I><code>)</code></TD>
|
||||
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=68>Any real num. <IMG
|
||||
WIDTH="56" HEIGHT="36" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img90.png"
|
||||
SRC="img91.png"
|
||||
ALT="$\in [0, 1]$"></TD>
|
||||
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=68>0</TD>
|
||||
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Threshold <IMG
|
||||
WIDTH="13" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img91.png"
|
||||
SRC="img92.png"
|
||||
ALT="$\theta$"> in the aggregation algorithm.</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT"><code>mld_aggr_omega_alg_</code></TD>
|
||||
@@ -326,13 +327,13 @@ Parameters defining the aggregation algorithm.
|
||||
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=68><TT>'EIG_EST'</TT></TD>
|
||||
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>How the damping parameter <IMG
|
||||
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img84.png"
|
||||
SRC="img85.png"
|
||||
ALT="$\omega$"> in the
|
||||
smoothed aggregation should be computed:
|
||||
either via an estimate of the spectral radius of
|
||||
<IMG
|
||||
WIDTH="50" HEIGHT="21" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img85.png"
|
||||
WIDTH="51" HEIGHT="21" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img86.png"
|
||||
ALT="$D^{-1}A$">, or explicily
|
||||
specified by the user.</TD>
|
||||
</TR>
|
||||
@@ -341,8 +342,8 @@ Parameters defining the aggregation algorithm.
|
||||
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=68><TT>'A_NORMI'</TT></TD>
|
||||
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=68><TT>'A_NORMI'</TT></TD>
|
||||
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>How to estimate the spectral radius of <IMG
|
||||
WIDTH="50" HEIGHT="21" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img85.png"
|
||||
WIDTH="51" HEIGHT="21" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img86.png"
|
||||
ALT="$D^{-1}A$">.
|
||||
Currently only the infinity norm estimate
|
||||
is available.</TD>
|
||||
@@ -355,11 +356,11 @@ Parameters defining the aggregation algorithm.
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="113" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img92.png"
|
||||
SRC="img93.png"
|
||||
ALT="$4/(3\rho(D^{-1}A))$"></TD>
|
||||
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Damping parameter <IMG
|
||||
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img84.png"
|
||||
SRC="img85.png"
|
||||
ALT="$\omega$"> in the smoothed aggregation algorithm.
|
||||
It must be set by the user if
|
||||
<code>USER_CHOICE</code> was specified for
|
||||
@@ -367,11 +368,11 @@ Parameters defining the aggregation algorithm.
|
||||
otherwise it is computed by the library, using the
|
||||
selected estimate of the spectral radius <IMG
|
||||
WIDTH="73" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img93.png"
|
||||
SRC="img94.png"
|
||||
ALT="$\rho(D^{-1}A)$"> of
|
||||
<IMG
|
||||
WIDTH="50" HEIGHT="21" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img85.png"
|
||||
WIDTH="51" HEIGHT="21" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img86.png"
|
||||
ALT="$D^{-1}A$">.</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
@@ -383,7 +384,7 @@ Parameters defining the aggregation algorithm.
|
||||
|
||||
<P>
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER"><A NAME="1267"></A>
|
||||
<DIV ALIGN="CENTER"><A NAME="1269"></A>
|
||||
<TABLE>
|
||||
<CAPTION><STRONG>Table 5:</STRONG>
|
||||
Parameters defining the coarse-space correction at the coarsest
|
||||
@@ -440,8 +441,8 @@ level.</CAPTION>
|
||||
<TR><TD ALIGN="LEFT"><code>mld_coarse_sweeps_</code></TD>
|
||||
<TD ALIGN="LEFT"><code>integer</code></TD>
|
||||
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>Any int. num. <IMG
|
||||
WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img94.png"
|
||||
WIDTH="31" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img95.png"
|
||||
ALT="$> 0$"></TD>
|
||||
<TD ALIGN="LEFT">4</TD>
|
||||
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Number of Block-Jacobi sweeps when 'BJAC' is used as
|
||||
@@ -450,8 +451,8 @@ level.</CAPTION>
|
||||
<TR><TD ALIGN="LEFT"><code>mld_coarse_fillin_</code></TD>
|
||||
<TD ALIGN="LEFT"><code>integer</code></TD>
|
||||
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>Any int. num. <IMG
|
||||
WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img88.png"
|
||||
WIDTH="31" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img89.png"
|
||||
ALT="$\ge 0$"></TD>
|
||||
<TD ALIGN="LEFT">0</TD>
|
||||
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Fill-in level <IMG
|
||||
@@ -462,24 +463,24 @@ level.</CAPTION>
|
||||
<TR><TD ALIGN="LEFT"><code>mld_coarse_iluthrs_</code></TD>
|
||||
<TD ALIGN="LEFT"><code>real(</code><I>kind_parameter</I><code>)</code></TD>
|
||||
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>Any real. num. <IMG
|
||||
WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img88.png"
|
||||
WIDTH="31" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img89.png"
|
||||
ALT="$\ge 0$"></TD>
|
||||
<TD ALIGN="LEFT">0</TD>
|
||||
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Drop tolerance <IMG
|
||||
WIDTH="11" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img89.png"
|
||||
SRC="img90.png"
|
||||
ALT="$t$"> in the ILU(<IMG
|
||||
WIDTH="27" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img35.png"
|
||||
ALT="$p,t$">) factorization.</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT" COLSPAN=5><B>Note</B> Defaults for
|
||||
<TR><TD ALIGN="LEFT" COLSPAN=5><B>Note:</B> defaults for
|
||||
<TT>m</TT>ld_coarse_subsolve_ are chosen as</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT" COLSPAN=5>Single precision version: 'SLU' if installed, 'ILU' otherwise</TD>
|
||||
<TR><TD ALIGN="LEFT" COLSPAN=5>single precision version: 'SLU' if installed, 'ILU' otherwise</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT" COLSPAN=5>Double precision version: 'UMF' if installed,
|
||||
<TR><TD ALIGN="LEFT" COLSPAN=5>double precision version: 'UMF' if installed,
|
||||
else 'SLU' if installed, 'ILU' otherwise</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
|
||||
@@ -72,20 +72,20 @@ This routine computes <!-- MATH
|
||||
$y = op(M^{-1})\, x$
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="117" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img95.png"
|
||||
WIDTH="118" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img96.png"
|
||||
ALT="$y = op(M^{-1})\, x$">, where <IMG
|
||||
WIDTH="23" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img59.png"
|
||||
ALT="$M$"> is a previously built
|
||||
preconditioner, stored into <code>p</code>, and <IMG
|
||||
WIDTH="22" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img96.png"
|
||||
WIDTH="21" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img97.png"
|
||||
ALT="$op$">
|
||||
denotes the preconditioner itself or its transpose, according to
|
||||
the value of <code>trans</code>.
|
||||
Note that, when MLD2P4 is used with a Krylov solver from PSBLAS,
|
||||
<code>mld_precaply</code> is called within the PSBLAS routine <code>mld_krylov</code>
|
||||
<code>mld_precaply</code> is called within the PSBLAS routine <code>psb_krylov</code>
|
||||
and hence it is completely transparent to the user.
|
||||
|
||||
<P>
|
||||
@@ -109,8 +109,8 @@ and hence it is completely transparent to the user.
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34> </TD>
|
||||
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The local part of the vector <IMG
|
||||
WIDTH="14" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img97.png"
|
||||
WIDTH="15" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img98.png"
|
||||
ALT="$x$">. Note that <I>type</I> and
|
||||
<I>kind_parameter</I> must be chosen according
|
||||
to the real/complex, single/double precision version of MLD2P4 under use.</TD>
|
||||
@@ -120,8 +120,8 @@ and hence it is completely transparent to the user.
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34> </TD>
|
||||
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The local part of the vector <IMG
|
||||
WIDTH="14" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img98.png"
|
||||
WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img99.png"
|
||||
ALT="$y$">. Note that <I>type</I> and
|
||||
<I>kind_parameter</I> must be chosen according
|
||||
to the real/complex, single/double precision version of MLD2P4 under use.</TD>
|
||||
@@ -148,28 +148,28 @@ and hence it is completely transparent to the user.
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="132" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img99.png"
|
||||
SRC="img100.png"
|
||||
ALT="$op(M^{-1}) = M^{-1}$">;
|
||||
if <code>trans</code> = <code>'T','t'</code> then <!-- MATH
|
||||
$op(M^{-1}) = M^{-T}$
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="135" HEIGHT="40" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img100.png"
|
||||
SRC="img101.png"
|
||||
ALT="$op(M^{-1}) = M^{-T}$">
|
||||
(transpose of <IMG
|
||||
WIDTH="48" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img101.png"
|
||||
SRC="img102.png"
|
||||
ALT="$M^{-1})$">; if <code>trans</code> = <code>'C','c'</code> then <!-- MATH
|
||||
$op(M^{-1}) = M^{-C}$
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="136" HEIGHT="40" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img102.png"
|
||||
SRC="img103.png"
|
||||
ALT="$op(M^{-1}) = M^{-C}$">
|
||||
(conjugate transpose of <IMG
|
||||
WIDTH="48" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img101.png"
|
||||
SRC="img102.png"
|
||||
ALT="$M^{-1})$">.</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>work</code></TD>
|
||||
|
||||
@@ -63,11 +63,11 @@ License
|
||||
<P>
|
||||
The MLD2P4 is freely distributable under the following copyright
|
||||
terms: <PRE>
|
||||
MLD2P4 version 1.0
|
||||
MLD2P4 version 1.1
|
||||
MultiLevel Domain Decomposition Parallel Preconditioners Package
|
||||
based on PSBLAS (Parallel Sparse BLAS version 2.3)
|
||||
|
||||
(C) Copyright 2008
|
||||
(C) Copyright 2008, 2009
|
||||
|
||||
Salvatore Filippone University of Rome Tor Vergata
|
||||
Alfredo Buttari University of Rome Tor Vergata
|
||||
|
||||
@@ -67,7 +67,7 @@ Mathematics Department, Macquarie University, Sydney.
|
||||
The command line arguments were: <BR>
|
||||
<STRONG>latex2html</STRONG> <TT>-noaddress -dir ../../html userhtml.tex</TT>
|
||||
<P>
|
||||
The translation was initiated by Salvatore Filippone on 2008-09-12
|
||||
The translation was initiated by Salvatore Filippone on 2009-03-13
|
||||
<BR><HR>
|
||||
|
||||
</BODY>
|
||||
|
||||
@@ -75,7 +75,7 @@ Ax=b,
|
||||
-->
|
||||
<TABLE WIDTH="100%" ALIGN="CENTER">
|
||||
<TR VALIGN="MIDDLE"><TD ALIGN="CENTER" NOWRAP><A NAME="system1"></A><IMG
|
||||
WIDTH="58" HEIGHT="30" BORDER="0"
|
||||
WIDTH="57" HEIGHT="30" BORDER="0"
|
||||
SRC="img1.png"
|
||||
ALT="\begin{displaymath}
|
||||
Ax=b,
|
||||
@@ -151,7 +151,6 @@ On the other hand, the routines of the middle and lower layer can be used and ex
|
||||
by expert users to build new versions of multi-level Schwarz preconditioners.
|
||||
We provide here a description of the upper-layer routines, but not of the
|
||||
medium-layer ones.
|
||||
|
||||
<P>
|
||||
This guide is organized as follows. General information on the distribution of the source code
|
||||
is reported in Section <A HREF="node4.html#sec:distribution">2</A>, while details on the configuration
|
||||
|
||||
@@ -75,7 +75,7 @@ be specified with an <EM>absolute</EM> path).
|
||||
The full set of options may be looked at by issuing the command
|
||||
<code>./configure --help</code>, which produces:
|
||||
<PRE>
|
||||
`configure' configures MLD2P4 1.0 to adapt to many kinds of systems.
|
||||
`configure' configures MLD2P4 1.1 to adapt to many kinds of systems.
|
||||
|
||||
Usage: ./configure [OPTION]... [VAR=VALUE]...
|
||||
|
||||
|
||||
@@ -65,9 +65,9 @@ University of Rome ``Tor Vergata'', Italy
|
||||
<BR>
|
||||
<BR>
|
||||
<BR>
|
||||
Software version: 1.0
|
||||
Software version: 1.1
|
||||
<BR>
|
||||
Sept. 9th, 2008
|
||||
March 13, 2009
|
||||
|
||||
<BR>
|
||||
|
||||
|
||||
@@ -139,7 +139,7 @@ PDF = $(join $(BASEFILE),.pdf)
|
||||
PS = $(join $(BASEFILE),.ps)
|
||||
GXS = $(join $(BASEFILE),.gxs)
|
||||
GLX = $(join $(BASEFILE),.glx)
|
||||
TARGETPDF= ../mld2p4-1.0-guide.pdf
|
||||
TARGETPDF= ../mld2p4-1.1-guide.pdf
|
||||
BASEHTML = $(patsubst %.tex,%,$(HTMLFILE))
|
||||
HTML = $(join $(HTMLFILE),.html)
|
||||
HTMLDIR = ../html
|
||||
|
||||
@@ -5,7 +5,7 @@ PSBLAS}) is a package of parallel algebraic multi-level preconditioners.
|
||||
It implements various versions of one-level additive and of multi-level additive
|
||||
and hybrid Schwarz algorithms. In the multi-level case, a purely algebraic approach
|
||||
is applied to generate coarse-level corrections, so that no geometric background is needed
|
||||
concerning the matrix to be preconditioned. The matrix is required to be square, real
|
||||
concerning the matrix to be preconditioned. The matrix is assumed to be square, real
|
||||
or complex, with a symmetric sparsity pattern.
|
||||
|
||||
MLD2P4 has been designed to provide scalable and easy-to-use preconditioners in the
|
||||
|
||||
@@ -62,8 +62,8 @@ aggregation} algorithm \cite{BREZINA_VANEK,VANEK_MANDEL_BREZINA}. A decoupled ve
|
||||
of this algorithm is implemented, where the smoothed aggregation is applied locally
|
||||
to each submatrix \cite{TUMINARO_TONG}. 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 user
|
||||
is referred to \cite{para_04,aaecc_07,apnum_07,dd2_96}.
|
||||
aggregation technique as implemented in MLD2P4. For further details the reader
|
||||
is referred to \cite{para_04,aaecc_07,apnum_07,MLD2P4_TOMS,dd2_96}.
|
||||
|
||||
|
||||
\subsection{Multi-level Schwarz Preconditioners\label{sec:multilevel}}
|
||||
@@ -144,7 +144,7 @@ of the number of iterations on the degree of parallelism we may
|
||||
introduce a global coupling among the overlapping partitions by defining
|
||||
a coarse-space approximation $A_C$ of the matrix $A$.
|
||||
In a pure algebraic setting, $A_C$ is usually built with
|
||||
a Galerkin approach. Given a set $W_C$ of \emph{coarse vertices},
|
||||
the Galerkin approach. Given a set $W_C$ of \emph{coarse vertices},
|
||||
with size $n_C$, and a suitable restriction operator
|
||||
$R_C \in \Re^{n_C \times n}$, $A_C$ is defined as
|
||||
\[
|
||||
@@ -225,7 +225,8 @@ example, in Figure~\ref{fig:mlhpost_alg}. Here the number of levels
|
||||
is denoted by $nlev$ and the levels are numbered in increasing order starting
|
||||
from the finest one, i.e.\ the finest level is level 1; the coarse matrix
|
||||
and the corresponding basic preconditioner at each level $l$ are denoted by $A_l$ and
|
||||
$M_l$, respectively, with $A_1=A$.
|
||||
$M_l$, respectively, with $A_1=A$, while the related restriction operator is
|
||||
denoted by $R_l$.
|
||||
%
|
||||
\begin{figure}[t]
|
||||
\begin{center}
|
||||
|
||||
@@ -69,7 +69,14 @@ T.~Chan and T.~Mathew,
|
||||
{\em Domain Decomposition Algorithms},
|
||||
in A.~Iserles, editor, Acta Numerica 1994, 61--143.
|
||||
Cambridge University Press.
|
||||
%
|
||||
%
|
||||
%% \bibitem{MLD2P4_TOMS}
|
||||
%% P.~D'Ambra, D.~di~Serafino, S.~Filippone,
|
||||
%% \emph{MLD2P4: a Package of Parallel Multilevel
|
||||
%% Algebraic Domain Decomposition Preconditioners
|
||||
%% in Fortran 95},
|
||||
%% COMPLETARE.
|
||||
%
|
||||
\bibitem{UMFPACK}
|
||||
T.A.~Davis,
|
||||
{\em Algorithm 832: UMFPACK - an Unsymmetric-pattern Multifrontal
|
||||
|
||||
@@ -96,7 +96,7 @@ be specified with an {\em absolute} path).
|
||||
The full set of options may be looked at by issuing the command
|
||||
\verb|./configure --help|, which produces:
|
||||
\begin{verbatim}
|
||||
`configure' configures MLD2P4 1.0 to adapt to many kinds of systems.
|
||||
`configure' configures MLD2P4 1.1 to adapt to many kinds of systems.
|
||||
|
||||
Usage: ./configure [OPTION]... [VAR=VALUE]...
|
||||
|
||||
|
||||
@@ -94,7 +94,7 @@ Multilevel &\verb|'ML'| & Multi-level hybrid preconditioner (additive
|
||||
Coarsest matrix: distributed among the processors.
|
||||
Coarsest-level solver:
|
||||
4 sweeps of the block-Jacobi solver,
|
||||
with LU (or ILU) factorization of the blocks
|
||||
with LU or ILU factorization of the blocks
|
||||
(UMFPACK for the double precision versions and
|
||||
SuperLU for the single precision ones, if the packages
|
||||
have been installed; ILU(0), otherwise). \\
|
||||
|
||||
@@ -5,11 +5,11 @@
|
||||
The MLD2P4 is freely distributable under the following copyright
|
||||
terms: {\small
|
||||
\begin{verbatim}
|
||||
MLD2P4 version 1.0
|
||||
MLD2P4 version 1.1
|
||||
MultiLevel Domain Decomposition Parallel Preconditioners Package
|
||||
based on PSBLAS (Parallel Sparse BLAS version 2.3)
|
||||
|
||||
(C) Copyright 2008
|
||||
(C) Copyright 2008, 2009
|
||||
|
||||
Salvatore Filippone University of Rome Tor Vergata
|
||||
Alfredo Buttari University of Rome Tor Vergata
|
||||
@@ -41,4 +41,4 @@ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGE.
|
||||
\end{verbatim}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -69,7 +69,8 @@ build any preconditioner available in MLD2P4 and to apply it within a PSBLAS Kry
|
||||
On the other hand, the routines of the middle and lower layer can be used and extended
|
||||
by expert users to build new versions of multi-level Schwarz preconditioners.
|
||||
We provide here a description of the upper-layer routines, but not of the
|
||||
medium-layer ones.
|
||||
medium-layer ones.%% For a detailed description of the overall software architecture
|
||||
%% of MLD2P4 the reader is referred to~\cite{MLD2P4_TOMS}.
|
||||
|
||||
This guide is organized as follows. General information on the distribution of the source code
|
||||
is reported in Section~\ref{sec:distribution}, while details on the configuration
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
\pdfcompresslevel=0 %-- 0 = none, 9 = best
|
||||
\pdfinfo{ %-- Info dictionary of PDF output /Author (PD, DdS, SF)
|
||||
/Title (MultiLevel Domain Decomposition Parallel Preconditioners Package
|
||||
based on PSBLAS, V. 1.0)
|
||||
based on PSBLAS, V. 1.1)
|
||||
/Subject (MultiLevel Domain Decomposition Parallel Preconditioners Package)
|
||||
/Keywords (Parallel Numerical Software, Algebraic Multilevel Preconditioners, Sparse Iterative Solvers, PSBLAS, MPI)
|
||||
/Creator (pdfLaTeX)
|
||||
@@ -125,9 +125,9 @@ based on PSBLAS}
|
||||
\vspace{\stretch{1}}
|
||||
\noindent\hspace*{\centeroffset}\makebox[0pt][l]{\begin{minipage}{\textwidth}
|
||||
\flushright
|
||||
\large Software version: 1.0\\
|
||||
\large Software version: 1.1\\
|
||||
%\today
|
||||
\large Sept. 9th, 2008
|
||||
\large March 13, 2009
|
||||
\end{minipage}}
|
||||
%\addtolength{\textwidth}{\centeroffset}
|
||||
\vspace{\stretch{2}}
|
||||
|
||||
@@ -102,9 +102,9 @@ based on PSBLAS}\\[3ex]
|
||||
University of Rome ``Tor Vergata'', Italy\\[2ex]
|
||||
%\\[10ex]
|
||||
%\today
|
||||
Software version: 1.0\\
|
||||
Software version: 1.1\\
|
||||
%\today
|
||||
Sept. 9th, 2008
|
||||
March 13, 2009
|
||||
\clearpage
|
||||
\ \\
|
||||
\thispagestyle{empty}
|
||||
|
||||
@@ -228,9 +228,10 @@ refer to Section~\ref{sec:background}.
|
||||
& Aggregation algorithm. Currently, only the
|
||||
decoupled aggregation is available. \\ \hline
|
||||
\verb|mld_aggr_kind_| & \verb|character(len=*)|
|
||||
& \texttt{'SMOOTH'} \hspace{2.5cm} \texttt{'RAW'}
|
||||
& \texttt{'SMOOTH'}
|
||||
& Type of aggregation: smoothed, raw (i.e.\ using the tentative prolongator). \\ \hline
|
||||
& \texttt{'SMOOTHED'} \hspace{2.5cm} \texttt{'NONSMOOTHED'}
|
||||
& \texttt{'SMOOTHED'}
|
||||
& Type of aggregation: smoothed, nonsmoothed
|
||||
(i.e.\ using the tentative prolongator). \\ \hline
|
||||
\verb|mld_aggr_thresh_| & \verb|real(|\emph{kind\_parameter}\verb|)|
|
||||
& Any~real~num. $\in [0, 1]$
|
||||
& 0
|
||||
@@ -312,10 +313,10 @@ refer to Section~\ref{sec:background}.
|
||||
& 0
|
||||
& Drop tolerance $t$ in the ILU($p,t$) factorization. \\
|
||||
\hline
|
||||
\multicolumn{5}{|l|}{{\bfseries Note} Defaults for
|
||||
\multicolumn{5}{|l|}{{\bfseries Note:} defaults for
|
||||
{\texttt mld\_coarse\_subsolve\_} are chosen as }\\
|
||||
\multicolumn{5}{|l|}{Single precision version: 'SLU' if installed, 'ILU' otherwise}\\
|
||||
\multicolumn{5}{|l|}{Double precision version: 'UMF' if installed,
|
||||
\multicolumn{5}{|l|}{single precision version: 'SLU' if installed, 'ILU' otherwise}\\
|
||||
\multicolumn{5}{|l|}{double precision version: 'UMF' if installed,
|
||||
else 'SLU' if installed, 'ILU' otherwise}\\
|
||||
\hline
|
||||
\end{tabular}
|
||||
@@ -379,7 +380,7 @@ preconditioner, stored into \verb|p|, and $op$
|
||||
denotes the preconditioner itself or its transpose, according to
|
||||
the value of \verb|trans|.
|
||||
Note that, when MLD2P4 is used with a Krylov solver from PSBLAS,
|
||||
\verb|mld_precaply| is called within the PSBLAS routine \verb|mld_krylov|
|
||||
\verb|mld_precaply| is called within the PSBLAS routine \verb|psb_krylov|
|
||||
and hence it is completely transparent to the user.
|
||||
|
||||
{\vskip2\baselineskip\noindent\large\bfseries Arguments}
|
||||
|
||||