mld2p4-2:

Make.inc.in
 docs/html/index.html
 docs/html/node18.html
 docs/html/node24.html
 docs/html/node26.html
 docs/html/userhtml.html
 docs/mld2p4-2.0-guide.pdf
 docs/src/userguide.tex
 docs/src/userhtml.tex
 docs/src/userinterface.tex


Updated docs for SET functions.
Revised the MLDLIBS makefile variable definition.
stopcriterion
Salvatore Filippone 12 years ago
parent b35b914792
commit 9296da8b1a

@ -45,7 +45,8 @@ UMFLIBS=@UMF_LIBS@
UMFFLAGS=@UMF_FLAGS@ UMFFLAGS=@UMF_FLAGS@
LDLIBS=$(SLULIBS) $(SLUDISTLIBS) $(UMFLIBS) $(PSBLDLIBS) MLDLDLIBS=$(SLULIBS) $(SLUDISTLIBS) $(UMFLIBS) $(PSBLDLIBS)
LDLIBS=$(MLDLDLIBS)
# #
MLDCDEFINES=$(SLUFLAGS) $(UMFFLAGS) $(SLUDISTFLAGS) $(PSBCDEFINES) MLDCDEFINES=$(SLUFLAGS) $(UMFFLAGS) $(SLUDISTFLAGS) $(PSBCDEFINES)

@ -63,7 +63,7 @@ University of Rome ``Tor Vergata'', Italy
<BR> <BR>
Software version: 2.0-beta Software version: 2.0-beta
<BR> <BR>
October 31, 2012 March 13, 2013
<BR> <BR>

@ -85,12 +85,13 @@ and solvers to be employed in the preconditioner.
version of MLD2P4 under use.</TD> version of MLD2P4 under use.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>what</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>what</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>integer, intent(in)</code>.</TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>integer, intent(in)</code> <I>or</I> <code>character(len=*)</code>.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The number identifying the parameter to be set. <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The parameter to be set. It can be specified by
A mnemonic constant has been associated to each of these a predefined constant, or through its name; the string
numbers, as reported in Tables&nbsp;<A HREF="#tab:p_type">2</A>-<A HREF="#tab:p_coarse">5</A>.</TD> is case-insensitive. See also
Tables&nbsp;<A HREF="#tab:p_type">2</A>-<A HREF="#tab:p_coarse">5</A>.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>val </code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>val </code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>integer</code> <I>or</I> <code>character(len=*)</code> <I>or</I> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>integer</code> <I>or</I> <code>character(len=*)</code> <I>or</I>
@ -159,7 +160,7 @@ which is not the default one, the call to set the solver must come
<P> <P>
<BR><P></P> <BR><P></P>
<DIV ALIGN="CENTER"><A NAME="1258"></A> <DIV ALIGN="CENTER"><A NAME="1263"></A>
<TABLE> <TABLE>
<CAPTION><STRONG>Table 2:</STRONG> <CAPTION><STRONG>Table 2:</STRONG>
Parameters defining the type of multi-level preconditioner. Parameters defining the type of multi-level preconditioner.
@ -167,27 +168,28 @@ Parameters defining the type of multi-level preconditioner.
<TR><TD> <TR><TD>
<DIV ALIGN="CENTER"> <DIV ALIGN="CENTER">
<TABLE CELLPADDING=3 BORDER="1" ALIGN="CENTER"> <TABLE CELLPADDING=3 BORDER="1" ALIGN="CENTER">
<TR><TD ALIGN="LEFT"><code>what</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=142><code>what</code></TD>
<TD ALIGN="LEFT"><SMALL>DATA TYPE</SMALL></TD> <TD ALIGN="LEFT"><SMALL>DATA TYPE</SMALL></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=57><code>val</code></TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=57><code>val</code></TD>
<TD ALIGN="LEFT"><SMALL>DEFAULT</SMALL></TD> <TD ALIGN="LEFT"><SMALL>DEFAULT</SMALL></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198><SMALL>COMMENTS</SMALL></TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198><SMALL>COMMENTS</SMALL></TD>
</TR> </TR>
<TR><TD ALIGN="LEFT"><code>mld_ml_type_</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=142><code>mld_ml_type_</code> <BR><code>ML_TYPE</code></TD>
<TD ALIGN="LEFT"><code>character(len=*)</code></TD> <TD ALIGN="LEFT"><code>character(len=*)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=57><TT>'ADD'</TT> <TT>'MULT'</TT></TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=57><TT>'ADD'</TT> <TT>'MULT'</TT></TD>
<TD ALIGN="LEFT"><TT>'MULT'</TT></TD> <TD ALIGN="LEFT"><TT>'MULT'</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Basic multi-level framework: additive or multiplicative <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Basic multi-level framework: additive or multiplicative
among the levels (always additive inside a level).</TD> among the levels (always additive inside a level).</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT"><code>mld_smoother_type_</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=142><code>mld_smoother_type_</code> <BR><code>SMOOTHER_TYPE</code></TD>
<TD ALIGN="LEFT"><code>character(len=*)</code></TD> <TD ALIGN="LEFT"><code>character(len=*)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=57><TT>'DIAG'</TT> <TT>'BJAC'</TT> <TT>'AS'</TT></TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=57><TT>'DIAG'</TT> <TT>'BJAC'</TT> <TT>'AS'</TT></TD>
<TD ALIGN="LEFT"><TT>'AS'</TT></TD> <TD ALIGN="LEFT"><TT>'AS'</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Basic predefined one-level preconditioner (i.e. smoother): diagonal, <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Basic predefined one-level preconditioner
(i.e. smoother): diagonal,
block Jacobi, AS.</TD> block Jacobi, AS.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT"><code>mld_smoother_pos_</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=142><code>mld_smoother_pos_</code> <BR><code>SMOOTHER_POS</code></TD>
<TD ALIGN="LEFT"><code>character(len=*)</code></TD> <TD ALIGN="LEFT"><code>character(len=*)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=57><TT>'PRE'</TT> <TT>'POST'</TT> <TT>'TWOSIDE'</TT></TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=57><TT>'PRE'</TT> <TT>'POST'</TT> <TT>'TWOSIDE'</TT></TD>
<TD ALIGN="LEFT"><TT>'POST'</TT></TD> <TD ALIGN="LEFT"><TT>'POST'</TT></TD>
@ -203,7 +205,7 @@ Parameters defining the type of multi-level preconditioner.
<P> <P>
<BR><P></P> <BR><P></P>
<DIV ALIGN="CENTER"><A NAME="1260"></A> <DIV ALIGN="CENTER"><A NAME="1265"></A>
<TABLE> <TABLE>
<CAPTION><STRONG>Table 3:</STRONG> <CAPTION><STRONG>Table 3:</STRONG>
Parameters defining the one-level preconditioner used as smoother. Parameters defining the one-level preconditioner used as smoother.
@ -211,43 +213,43 @@ Parameters defining the one-level preconditioner used as smoother.
<TR><TD> <TR><TD>
<DIV ALIGN="CENTER"> <DIV ALIGN="CENTER">
<TABLE CELLPADDING=3 BORDER="1" ALIGN="CENTER"> <TABLE CELLPADDING=3 BORDER="1" ALIGN="CENTER">
<TR><TD ALIGN="LEFT"><code>what</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=99><code>what</code></TD>
<TD ALIGN="LEFT"><SMALL>DATA TYPE</SMALL></TD> <TD ALIGN="LEFT"><SMALL>DATA TYPE</SMALL></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91><code>val</code></TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91><code>val</code></TD>
<TD ALIGN="LEFT"><SMALL>DEFAULT</SMALL></TD> <TD ALIGN="LEFT"><SMALL>DEFAULT</SMALL></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198><SMALL>COMMENTS</SMALL></TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=142><SMALL>COMMENTS</SMALL></TD>
</TR> </TR>
<TR><TD ALIGN="LEFT"><code>mld_sub_ovr_</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=99><code>mld_sub_ovr_</code> <BR><code>SUB_OVR</code></TD>
<TD ALIGN="LEFT"><code>integer</code></TD> <TD ALIGN="LEFT"><code>integer</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>any&nbsp;int.&nbsp;num.&nbsp;<IMG <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>any&nbsp;int.&nbsp;num.&nbsp;<IMG
WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0" WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img90.png" SRC="img90.png"
ALT="$\ge 0$"></TD> ALT="$\ge 0$"></TD>
<TD ALIGN="LEFT">1</TD> <TD ALIGN="LEFT">1</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Number of overlap layers.</TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=142>Number of overlap layers.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT"><code>mld_sub_restr_</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=99><code>mld_sub_restr_</code> <BR><code>SUB_RESTR</code></TD>
<TD ALIGN="LEFT"><code>character(len=*)</code></TD> <TD ALIGN="LEFT"><code>character(len=*)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91><TT>'HALO'</TT> <TT>'NONE'</TT></TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91><TT>'HALO'</TT> <TT>'NONE'</TT></TD>
<TD ALIGN="LEFT"><TT>'HALO'</TT></TD> <TD ALIGN="LEFT"><TT>'HALO'</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Type of restriction operator: <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=142>Type of restriction operator:
<TT>'HALO'</TT> for taking into account the overlap, <TT>'NONE'</TT> <TT>'HALO'</TT> for taking into account the overlap, <TT>'NONE'</TT>
for neglecting it.</TD> for neglecting it.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT"><code>mld_sub_prol_</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=99><code>mld_sub_prol_</code> <BR><code>SUB_PROL</code></TD>
<TD ALIGN="LEFT"><code>character(len=*)</code></TD> <TD ALIGN="LEFT"><code>character(len=*)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91><TT>'SUM'</TT> <TT>'NONE'</TT></TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91><TT>'SUM'</TT> <TT>'NONE'</TT></TD>
<TD ALIGN="LEFT"><TT>'NONE'</TT></TD> <TD ALIGN="LEFT"><TT>'NONE'</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Type of prolongation operator: <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=142>Type of prolongation operator:
<TT>'SUM'</TT> for adding the contributions from the overlap, <TT>'NONE'</TT> <TT>'SUM'</TT> for adding the contributions from the overlap, <TT>'NONE'</TT>
for neglecting them.</TD> for neglecting them.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT"><code>mld_sub_solve_</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=99><code>mld_sub_solve_</code> <BR><code>SUB_SOLVE</code></TD>
<TD ALIGN="LEFT"><code>character(len=*)</code></TD> <TD ALIGN="LEFT"><code>character(len=*)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91><TT>'ILU'</TT> <TT>'MILU'</TT> <TT>'ILUT'</TT> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91><TT>'ILU'</TT> <TT>'MILU'</TT> <TT>'ILUT'</TT>
<TT>'UMF'</TT> <TT>'SLU'</TT></TD> <TT>'UMF'</TT> <TT>'SLU'</TT></TD>
<TD ALIGN="LEFT"><TT>'ILU'</TT></TD> <TD ALIGN="LEFT"><TT>'ILU'</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Predefined local solver: ILU(<IMG <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=142>Predefined local solver: ILU(<IMG
WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0" WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img35.png" SRC="img35.png"
ALT="$p$">), ALT="$p$">),
@ -260,26 +262,26 @@ Parameters defining the one-level preconditioner used as smoother.
ALT="$p,t$">), LU from UMFPACK, LU from SuperLU ALT="$p,t$">), LU from UMFPACK, LU from SuperLU
(plus triangular solve).</TD> (plus triangular solve).</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT"><code>mld_sub_fillin_</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=99><code>mld_sub_fillin_</code> <BR><code>SUB_FILLIN</code></TD>
<TD ALIGN="LEFT"><code>integer</code></TD> <TD ALIGN="LEFT"><code>integer</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>Any&nbsp;int.&nbsp;num.&nbsp;<IMG <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>Any&nbsp;int.&nbsp;num.&nbsp;<IMG
WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0" WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img90.png" SRC="img90.png"
ALT="$\ge 0$"></TD> ALT="$\ge 0$"></TD>
<TD ALIGN="LEFT">0</TD> <TD ALIGN="LEFT">0</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Fill-in level <IMG <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=142>Fill-in level <IMG
WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0" WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img35.png" SRC="img35.png"
ALT="$p$"> of the incomplete LU factorizations.</TD> ALT="$p$"> of the incomplete LU factorizations.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT"><code>mld_sub_iluthrs_</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=99><code>mld_sub_iluthrs_</code> <BR><code>SUB_ILUTHRS</code></TD>
<TD ALIGN="LEFT"><code>real(</code><I>kind_parameter</I><code>)</code></TD> <TD ALIGN="LEFT"><code>real(</code><I>kind_parameter</I><code>)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>Any&nbsp;real&nbsp;num.&nbsp;<IMG <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>Any&nbsp;real&nbsp;num.&nbsp;<IMG
WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0" WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img90.png" SRC="img90.png"
ALT="$\ge 0$"></TD> ALT="$\ge 0$"></TD>
<TD ALIGN="LEFT">0</TD> <TD ALIGN="LEFT">0</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Drop tolerance <IMG <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=142>Drop tolerance <IMG
WIDTH="11" HEIGHT="18" ALIGN="BOTTOM" BORDER="0" WIDTH="11" HEIGHT="18" ALIGN="BOTTOM" BORDER="0"
SRC="img91.png" SRC="img91.png"
ALT="$t$"> in the ILU(<IMG ALT="$t$"> in the ILU(<IMG
@ -287,11 +289,11 @@ Parameters defining the one-level preconditioner used as smoother.
SRC="img36.png" SRC="img36.png"
ALT="$p,t$">) factorization.</TD> ALT="$p,t$">) factorization.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT"><code>mld_sub_ren_</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=99><code>mld_sub_ren_</code> <BR><code>SUB_REN</code></TD>
<TD ALIGN="LEFT"><code>character(len=*)</code></TD> <TD ALIGN="LEFT"><code>character(len=*)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91><TT>'RENUM_NONE'</TT> <TT>'RENUM_GLOBAL'</TT> </TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91><TT>'RENUM_NONE'</TT> <TT>'RENUM_GLOBAL'</TT> </TD>
<TD ALIGN="LEFT"><TT>'RENUM_NONE'</TT></TD> <TD ALIGN="LEFT"><TT>'RENUM_NONE'</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Row and column reordering of the local submatrices: no reordering, <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=142>Row and column reordering of the local submatrices: no reordering,
reordering according to the global numbering of the rows and columns of reordering according to the global numbering of the rows and columns of
the whole matrix.</TD> the whole matrix.</TD>
</TR> </TR>
@ -304,7 +306,7 @@ Parameters defining the one-level preconditioner used as smoother.
<P> <P>
<BR><P></P> <BR><P></P>
<DIV ALIGN="CENTER"><A NAME="1262"></A> <DIV ALIGN="CENTER"><A NAME="1267"></A>
<TABLE> <TABLE>
<CAPTION><STRONG>Table 4:</STRONG> <CAPTION><STRONG>Table 4:</STRONG>
Parameters defining the aggregation algorithm. Parameters defining the aggregation algorithm.
@ -312,55 +314,55 @@ Parameters defining the aggregation algorithm.
<TR><TD> <TR><TD>
<DIV ALIGN="CENTER"> <DIV ALIGN="CENTER">
<TABLE CELLPADDING=3 BORDER="1" ALIGN="CENTER"> <TABLE CELLPADDING=3 BORDER="1" ALIGN="CENTER">
<TR><TD ALIGN="LEFT"><code>what</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=142><code>what</code></TD>
<TD ALIGN="LEFT"><SMALL>DATA TYPE</SMALL></TD> <TD ALIGN="LEFT"><SMALL>DATA TYPE</SMALL></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=68><code>val</code></TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=68><code>val</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=68><SMALL>DEFAULT</SMALL></TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=68><SMALL>DEFAULT</SMALL></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198><SMALL>COMMENTS</SMALL></TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=170><SMALL>COMMENTS</SMALL></TD>
</TR> </TR>
<TR><TD ALIGN="LEFT"><code>mld_coarse_aggr_size_</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=142><code>mld_coarse_aggr_size_</code> <BR><code>COARSE_AGGR_SIZE</code></TD>
<TD ALIGN="LEFT"><code>integer</code></TD> <TD ALIGN="LEFT"><code>integer</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=68>A positive number</TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=68>A positive number</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=68>0, meaning that the size is fixed at <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=68>0, meaning that the size is fixed at
<code>precinit</code> time</TD> <code>precinit</code> time</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Coarse size threshold. Disregard the <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=170>Coarse size threshold. Disregard the
original specification of number of levels in original specification of number of levels in
<code>precinit</code> and continue aggregation <code>precinit</code> and continue aggregation
until either the global number of variables until either the global number of variables
is below this threshold, or the aggregation is below this threshold, or the aggregation
does not reduce the size any longer.</TD> does not reduce the size any longer.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT"><code>mld_aggr_alg_</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=142><code>mld_aggr_alg_</code> <BR><code>AGGR_ALG</code></TD>
<TD ALIGN="LEFT"><code>character(len=*)</code></TD> <TD ALIGN="LEFT"><code>character(len=*)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=68><TT>'DEC'</TT></TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=68><TT>'DEC'</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=68><TT>'DEC'</TT></TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=68><TT>'DEC'</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Aggregation algorithm. Currently, only the <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=170>Aggregation algorithm. Currently, only the
decoupled aggregation is available.</TD> decoupled aggregation is available.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT"><code>mld_aggr_kind_</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=142><code>mld_aggr_kind_</code> <BR><code>AGGR_KIND</code></TD>
<TD ALIGN="LEFT"><code>character(len=*)</code></TD> <TD ALIGN="LEFT"><code>character(len=*)</code></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> <TT>'NONSMOOTHED'</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=68><TT>'SMOOTHED'</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 <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=170>Type of aggregation: smoothed, nonsmoothed
(i.e. using the tentative prolongator).</TD> (i.e. using the tentative prolongator).</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT"><code>mld_aggr_thresh_</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=142><code>mld_aggr_thresh_</code> <BR><code>AGGR_THRESH</code></TD>
<TD ALIGN="LEFT"><code>real(</code><I>kind_parameter</I><code>)</code></TD> <TD ALIGN="LEFT"><code>real(</code><I>kind_parameter</I><code>)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=68>Any&nbsp;real&nbsp;num. <IMG <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=68>Any&nbsp;real&nbsp;num. <IMG
WIDTH="56" HEIGHT="36" ALIGN="MIDDLE" BORDER="0" WIDTH="56" HEIGHT="36" ALIGN="MIDDLE" BORDER="0"
SRC="img92.png" SRC="img92.png"
ALT="$\in [0, 1]$"></TD> ALT="$\in [0, 1]$"></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=68>0</TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=68>0</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Threshold <IMG <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=170>Threshold <IMG
WIDTH="13" HEIGHT="15" ALIGN="BOTTOM" BORDER="0" WIDTH="13" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img93.png" SRC="img93.png"
ALT="$\theta$"> in the aggregation algorithm.</TD> ALT="$\theta$"> in the aggregation algorithm.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT"><code>mld_aggr_omega_alg_</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=142><code>mld_aggr_omega_alg_</code> <BR><code>AGGR_OMEGA_ALG</code></TD>
<TD ALIGN="LEFT"><code>character(len=*)</code></TD> <TD ALIGN="LEFT"><code>character(len=*)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=68><TT>'EIG_EST'</TT> <TT>'USER_CHOICE'</TT></TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=68><TT>'EIG_EST'</TT> <TT>'USER_CHOICE'</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=68><TT>'EIG_EST'</TT></TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=68><TT>'EIG_EST'</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>How the damping parameter <IMG <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=170>How the damping parameter <IMG
WIDTH="16" HEIGHT="18" ALIGN="BOTTOM" BORDER="0" WIDTH="16" HEIGHT="18" ALIGN="BOTTOM" BORDER="0"
SRC="img86.png" SRC="img86.png"
ALT="$\omega$"> in the ALT="$\omega$"> in the
@ -372,18 +374,18 @@ Parameters defining the aggregation algorithm.
ALT="$D^{-1}A$">, or explicily ALT="$D^{-1}A$">, or explicily
specified by the user.</TD> specified by the user.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT"><code>mld_aggr_eig_</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=142><code>mld_aggr_eig_</code> <BR><code>AGGR_EIG</code></TD>
<TD ALIGN="LEFT"><code>character(len=*)</code></TD> <TD ALIGN="LEFT"><code>character(len=*)</code></TD>
<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=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 <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=170>How to estimate the spectral radius of <IMG
WIDTH="50" HEIGHT="21" ALIGN="BOTTOM" BORDER="0" WIDTH="50" HEIGHT="21" ALIGN="BOTTOM" BORDER="0"
SRC="img87.png" SRC="img87.png"
ALT="$D^{-1}A$">. ALT="$D^{-1}A$">.
Currently only the infinity norm estimate Currently only the infinity norm estimate
is available.</TD> is available.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT"><code>mld_aggr_omega_val_</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=142><code>mld_aggr_omega_val_</code> <BR><code>AGGR_OMEGA_VAL</code></TD>
<TD ALIGN="LEFT"><code>real(</code><I>kind_parameter</I><code>)</code></TD> <TD ALIGN="LEFT"><code>real(</code><I>kind_parameter</I><code>)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=68>Any&nbsp;nonnegative&nbsp;real&nbsp;num.</TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=68>Any&nbsp;nonnegative&nbsp;real&nbsp;num.</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=68><!-- MATH <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=68><!-- MATH
@ -393,7 +395,7 @@ Parameters defining the aggregation algorithm.
WIDTH="113" HEIGHT="39" ALIGN="MIDDLE" BORDER="0" WIDTH="113" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="img94.png" SRC="img94.png"
ALT="$4/(3\rho(D^{-1}A))$"></TD> ALT="$4/(3\rho(D^{-1}A))$"></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Damping parameter <IMG <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=170>Damping parameter <IMG
WIDTH="16" HEIGHT="18" ALIGN="BOTTOM" BORDER="0" WIDTH="16" HEIGHT="18" ALIGN="BOTTOM" BORDER="0"
SRC="img86.png" SRC="img86.png"
ALT="$\omega$"> in the smoothed aggregation algorithm. ALT="$\omega$"> in the smoothed aggregation algorithm.
@ -419,7 +421,7 @@ Parameters defining the aggregation algorithm.
<P> <P>
<BR><P></P> <BR><P></P>
<DIV ALIGN="CENTER"><A NAME="1265"></A> <DIV ALIGN="CENTER"><A NAME="1270"></A>
<TABLE> <TABLE>
<CAPTION><STRONG>Table 5:</STRONG> <CAPTION><STRONG>Table 5:</STRONG>
Parameters defining the coarse-space correction at the coarsest Parameters defining the coarse-space correction at the coarsest
@ -427,38 +429,38 @@ level.</CAPTION>
<TR><TD> <TR><TD>
<DIV ALIGN="CENTER"> <DIV ALIGN="CENTER">
<TABLE CELLPADDING=3 BORDER="1" ALIGN="CENTER"> <TABLE CELLPADDING=3 BORDER="1" ALIGN="CENTER">
<TR><TD ALIGN="LEFT"><code>what</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=99><code>what</code></TD>
<TD ALIGN="LEFT"><SMALL>DATA TYPE</SMALL></TD> <TD ALIGN="LEFT"><SMALL>DATA TYPE</SMALL></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91><code>val</code></TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91><code>val</code></TD>
<TD ALIGN="LEFT"><SMALL>DEFAULT</SMALL></TD> <TD ALIGN="LEFT"><SMALL>DEFAULT</SMALL></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198><SMALL>COMMENTS</SMALL></TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=142><SMALL>COMMENTS</SMALL></TD>
</TR> </TR>
<TR><TD ALIGN="LEFT"><code>mld_coarse_mat_</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=99><code>mld_coarse_mat_</code> <BR><code>COARSE_MAT</code></TD>
<TD ALIGN="LEFT"><code>character(len=*)</code></TD> <TD ALIGN="LEFT"><code>character(len=*)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91><TT>'DISTR'</TT> <TT>'REPL'</TT></TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91><TT>'DISTR'</TT> <TT>'REPL'</TT></TD>
<TD ALIGN="LEFT"><TT>'DISTR'</TT></TD> <TD ALIGN="LEFT"><TT>'DISTR'</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Coarsest matrix: distributed among the processors or <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=142>Coarsest matrix: distributed among the processors or
replicated on each of them.</TD> replicated on each of them.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT"><code>mld_coarse_solve_</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=99><code>mld_coarse_solve_</code> <BR><code>COARSE_SOLVE</code></TD>
<TD ALIGN="LEFT"><code>character(len=*)</code></TD> <TD ALIGN="LEFT"><code>character(len=*)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91><TT>'BJAC'</TT> <TT>'UMF'</TT> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91><TT>'BJAC'</TT> <TT>'UMF'</TT>
<TT>'SLU'</TT> <TT>'SLUDIST'</TT></TD> <TT>'SLU'</TT> <TT>'SLUDIST'</TT></TD>
<TD ALIGN="LEFT"><TT>'BJAC'</TT></TD> <TD ALIGN="LEFT"><TT>'BJAC'</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Solver used at the coarsest level: block Jacobi, sequential <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=142>Solver used at the coarsest level: block Jacobi, sequential
LU from UMFPACK, sequential LU from SuperLU, LU from UMFPACK, sequential LU from SuperLU,
distributed LU from SuperLU_Dist. distributed LU from SuperLU_Dist.
<TT>'SLUDIST'</TT> requires the coarsest <TT>'SLUDIST'</TT> requires the coarsest
matrix to be distributed, while <TT>'UMF'</TT> and matrix to be distributed, while <TT>'UMF'</TT> and
<TT>'SLU'</TT> require it to be replicated.</TD> <TT>'SLU'</TT> require it to be replicated.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT"><code>mld_coarse_subsolve_</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=99><code>mld_coarse_subsolve_</code> <BR><code>COARSE_SUBSOLVE</code></TD>
<TD ALIGN="LEFT"><code>character(len=*)</code></TD> <TD ALIGN="LEFT"><code>character(len=*)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91><TT>'ILU'</TT> <TT>'MILU'</TT> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91><TT>'ILU'</TT> <TT>'MILU'</TT>
<TT>'ILUT'</TT> <TT>'ILUT'</TT>
<TT>'UMF'</TT> <TT>'SLU'</TT></TD> <TT>'UMF'</TT> <TT>'SLU'</TT></TD>
<TD ALIGN="LEFT">See note</TD> <TD ALIGN="LEFT">See note</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Solver for the diagonal blocks of the coarse matrix, <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=142>Solver for the diagonal blocks of the coarse matrix,
in case the block Jacobi solver in case the block Jacobi solver
is chosen as coarsest-level solver: ILU(<IMG is chosen as coarsest-level solver: ILU(<IMG
WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0" WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
@ -473,36 +475,36 @@ level.</CAPTION>
ALT="$p,t$">), LU from UMFPACK, ALT="$p,t$">), LU from UMFPACK,
LU from SuperLU, plus triangular solve.</TD> LU from SuperLU, plus triangular solve.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT"><code>mld_coarse_sweeps_</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=99><code>mld_coarse_sweeps_</code> <BR><code>COARSE_SWEEPS</code></TD>
<TD ALIGN="LEFT"><code>integer</code></TD> <TD ALIGN="LEFT"><code>integer</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>Any&nbsp;int.&nbsp;num.&nbsp;<IMG <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>Any&nbsp;int.&nbsp;num.&nbsp;<IMG
WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0" WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img96.png" SRC="img96.png"
ALT="$&gt; 0$"></TD> ALT="$&gt; 0$"></TD>
<TD ALIGN="LEFT">4</TD> <TD ALIGN="LEFT">4</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Number of Block-Jacobi sweeps when 'BJAC' is used as <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=142>Number of Block-Jacobi sweeps when 'BJAC' is used as
coarsest-level solver.</TD> coarsest-level solver.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT"><code>mld_coarse_fillin_</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=99><code>mld_coarse_fillin_</code> <BR><code>COARSE_FILLIN</code></TD>
<TD ALIGN="LEFT"><code>integer</code></TD> <TD ALIGN="LEFT"><code>integer</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>Any&nbsp;int.&nbsp;num.&nbsp;<IMG <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>Any&nbsp;int.&nbsp;num.&nbsp;<IMG
WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0" WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img90.png" SRC="img90.png"
ALT="$\ge 0$"></TD> ALT="$\ge 0$"></TD>
<TD ALIGN="LEFT">0</TD> <TD ALIGN="LEFT">0</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Fill-in level <IMG <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=142>Fill-in level <IMG
WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0" WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img35.png" SRC="img35.png"
ALT="$p$"> of the incomplete LU factorizations.</TD> ALT="$p$"> of the incomplete LU factorizations.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT"><code>mld_coarse_iluthrs_</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=99><code>mld_coarse_iluthrs_</code> <BR><code>COARSE_ILUTHRS</code></TD>
<TD ALIGN="LEFT"><code>real(</code><I>kind_parameter</I><code>)</code></TD> <TD ALIGN="LEFT"><code>real(</code><I>kind_parameter</I><code>)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>Any&nbsp;real.&nbsp;num.&nbsp;<IMG <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>Any&nbsp;real.&nbsp;num.&nbsp;<IMG
WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0" WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img90.png" SRC="img90.png"
ALT="$\ge 0$"></TD> ALT="$\ge 0$"></TD>
<TD ALIGN="LEFT">0</TD> <TD ALIGN="LEFT">0</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Drop tolerance <IMG <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=142>Drop tolerance <IMG
WIDTH="11" HEIGHT="18" ALIGN="BOTTOM" BORDER="0" WIDTH="11" HEIGHT="18" ALIGN="BOTTOM" BORDER="0"
SRC="img91.png" SRC="img91.png"
ALT="$t$"> in the ILU(<IMG ALT="$t$"> in the ILU(<IMG

@ -65,7 +65,7 @@ terms: <PRE>
MultiLevel Domain Decomposition Parallel Preconditioners Package MultiLevel Domain Decomposition Parallel Preconditioners Package
based on PSBLAS (Parallel Sparse BLAS version 3.0) based on PSBLAS (Parallel Sparse BLAS version 3.0)
(C) Copyright 2008,2009,2010, 2010 (C) Copyright 2008,2009,2010, 2012
Salvatore Filippone University of Rome Tor Vergata Salvatore Filippone University of Rome Tor Vergata
Alfredo Buttari CNRS-IRIT, Toulouse Alfredo Buttari CNRS-IRIT, Toulouse

@ -63,7 +63,7 @@ Mathematics Department, Macquarie University, Sydney.
The command line arguments were: <BR> The command line arguments were: <BR>
<STRONG>latex2html</STRONG> <TT>-local_icons -noaddress -dir ../../html userhtml.tex</TT> <STRONG>latex2html</STRONG> <TT>-local_icons -noaddress -dir ../../html userhtml.tex</TT>
<P> <P>
The translation was initiated by Salvatore Filippone on 2012-10-10 The translation was initiated by Salvatore Filippone on 2013-03-13
<BR><HR> <BR><HR>
</BODY> </BODY>

@ -63,7 +63,7 @@ University of Rome ``Tor Vergata'', Italy
<BR> <BR>
Software version: 2.0-beta Software version: 2.0-beta
<BR> <BR>
October 31, 2012 March 13, 2013
<BR> <BR>

File diff suppressed because it is too large Load Diff

@ -127,7 +127,7 @@ based on PSBLAS}
\flushright \flushright
\large Software version: 2.0-beta\\ \large Software version: 2.0-beta\\
%\today %\today
\large October 31, 2012 \large March 13, 2013
\end{minipage}} \end{minipage}}
%\addtolength{\textwidth}{\centeroffset} %\addtolength{\textwidth}{\centeroffset}
\vspace{\stretch{2}} \vspace{\stretch{2}}

@ -104,7 +104,7 @@ based on PSBLAS}\\[3ex]
%\today %\today
Software version: 2.0-beta\\ Software version: 2.0-beta\\
%\today %\today
October 31, 2012 March 13, 2013
\clearpage \clearpage
\ \\ \ \\
\thispagestyle{empty} \thispagestyle{empty}

@ -91,10 +91,11 @@ and solvers to be employed in the preconditioner.
& The preconditioner data structure. Note that \emph{x} must & The preconditioner data structure. Note that \emph{x} must
be chosen according to the real/complex, single/double precision be chosen according to the real/complex, single/double precision
version of MLD2P4 under use.\\ version of MLD2P4 under use.\\
\verb|what| & \verb|integer, intent(in)|. \\ \verb|what| & \verb|integer, intent(in)| \emph{or} \verb|character(len=*)|. \\
& The number identifying the parameter to be set. & The parameter to be set. It can be specified by
A mnemonic constant has been associated to each of these a predefined constant, or through its name; the string
numbers, as reported in Tables~\ref{tab:p_type}-\ref{tab:p_coarse}.\\ is case-insensitive. See also
Tables~\ref{tab:p_type}-\ref{tab:p_coarse}.\\
\verb|val | & \verb|integer| \emph{or} \verb|character(len=*)| \emph{or} \verb|val | & \verb|integer| \emph{or} \verb|character(len=*)| \emph{or}
\verb|real(psb_spk_)| \emph{or} \verb|real(psb_dpk_)|, \verb|real(psb_spk_)| \emph{or} \verb|real(psb_dpk_)|,
\verb|intent(in)|.\\ \verb|intent(in)|.\\
@ -151,22 +152,23 @@ which is not the default one, the call to set the solver must come
\bsideways \bsideways
\begin{center} \begin{center}
\begin{tabular}{|l|l|p{2cm}|l|p{7cm}|} \begin{tabular}{|p{5cm}|l|p{2cm}|l|p{7cm}|}
\hline \hline
\verb|what| & \textsc{data type} & \verb|val| & \textsc{default} & \verb|what| & \textsc{data type} & \verb|val| & \textsc{default} &
\textsc{comments} \\ \hline \textsc{comments} \\ \hline
%\multicolumn{5}{|c|}{\emph{type of the multi-level preconditioner}}\\ \hline %\multicolumn{5}{|c|}{\emph{type of the multi-level preconditioner}}\\ \hline
\verb|mld_ml_type_| & \verb|character(len=*)| \verb|mld_ml_type_| \break \verb|ML_TYPE| & \verb|character(len=*)|
& \texttt{'ADD'} \ \ \ \texttt{'MULT'} & \texttt{'ADD'} \ \ \ \texttt{'MULT'}
& \texttt{'MULT'} & \texttt{'MULT'}
& Basic multi-level framework: additive or multiplicative & Basic multi-level framework: additive or multiplicative
among the levels (always additive inside a level). \\ \hline among the levels (always additive inside a level). \\ \hline
\verb|mld_smoother_type_|& \verb|character(len=*)| \verb|mld_smoother_type_| \break \verb|SMOOTHER_TYPE| & \verb|character(len=*)|
& \texttt{'DIAG'} \ \ \ \texttt{'BJAC'} \ \ \ \texttt{'AS'} & \texttt{'DIAG'} \ \ \ \texttt{'BJAC'} \ \ \ \texttt{'AS'}
& \texttt{'AS'} & \texttt{'AS'}
& Basic predefined one-level preconditioner (i.e.\ smoother): diagonal, & Basic predefined one-level preconditioner
(i.e.\ smoother): diagonal,
block Jacobi, AS. \\ \hline block Jacobi, AS. \\ \hline
\verb|mld_smoother_pos_| & \verb|character(len=*)| \verb|mld_smoother_pos_| \break \verb|SMOOTHER_POS| & \verb|character(len=*)|
& \texttt{'PRE'} \ \ \ \texttt{'POST'} \ \ \ \texttt{'TWOSIDE'} & \texttt{'PRE'} \ \ \ \texttt{'POST'} \ \ \ \texttt{'TWOSIDE'}
& \texttt{'POST'} & \texttt{'POST'}
& ``Position'' of the smoother: pre-smoother, post-smoother, & ``Position'' of the smoother: pre-smoother, post-smoother,
@ -180,43 +182,43 @@ which is not the default one, the call to set the solver must come
\bsideways \bsideways
\begin{center} \begin{center}
\begin{tabular}{|l|l|p{3.2cm}|l|p{7cm}|} \begin{tabular}{|p{3.5cm}|l|p{3.2cm}|l|p{5cm}|}
\hline \hline
\verb|what| & \textsc{data type} & \verb|val| & \textsc{default} & \verb|what| & \textsc{data type} & \verb|val| & \textsc{default} &
\textsc{comments} \\ \hline \textsc{comments} \\ \hline
%\multicolumn{5}{|c|}{\emph{basic one-level preconditioner (smoother)}} \\ \hline %\multicolumn{5}{|c|}{\emph{basic one-level preconditioner (smoother)}} \\ \hline
\verb|mld_sub_ovr_| & \verb|integer| \verb|mld_sub_ovr_| \break \verb|SUB_OVR| & \verb|integer|
& any~int.~num.~$\ge 0$ & any~int.~num.~$\ge 0$
& 1 & 1
& Number of overlap layers. \\ \hline & Number of overlap layers. \\ \hline
\verb|mld_sub_restr_| & \verb|character(len=*)| \verb|mld_sub_restr_| \break \verb|SUB_RESTR| & \verb|character(len=*)|
& \texttt{'HALO'} \hspace{2.5cm} \texttt{'NONE'} & \texttt{'HALO'} \hspace{2.5cm} \texttt{'NONE'}
& \texttt{'HALO'} & \texttt{'HALO'}
& Type of restriction operator: & Type of restriction operator:
\texttt{'HALO'} for taking into account the overlap, \texttt{'NONE'} \texttt{'HALO'} for taking into account the overlap, \texttt{'NONE'}
for neglecting it. \\ \hline for neglecting it. \\ \hline
\verb|mld_sub_prol_| & \verb|character(len=*)| \verb|mld_sub_prol_| \break \verb|SUB_PROL| & \verb|character(len=*)|
& \texttt{'SUM'} \hspace{2.5cm} \texttt{'NONE'} & \texttt{'SUM'} \hspace{2.5cm} \texttt{'NONE'}
& \texttt{'NONE'} & \texttt{'NONE'}
& Type of prolongation operator: & Type of prolongation operator:
\texttt{'SUM'} for adding the contributions from the overlap, \texttt{'NONE'} \texttt{'SUM'} for adding the contributions from the overlap, \texttt{'NONE'}
for neglecting them. \\ \hline for neglecting them. \\ \hline
\verb|mld_sub_solve_| & \verb|character(len=*)| \verb|mld_sub_solve_| \break \verb|SUB_SOLVE| & \verb|character(len=*)|
& \texttt{'ILU'} \hspace{2.5cm} \texttt{'MILU'} \hspace{2.5cm} \texttt{'ILUT'} & \texttt{'ILU'} \hspace{2.5cm} \texttt{'MILU'} \hspace{2.5cm} \texttt{'ILUT'}
\hspace{2.5cm} \texttt{'UMF'} \hspace{2.5cm} \texttt{'SLU'} \hspace{2.5cm} \texttt{'UMF'} \hspace{2.5cm} \texttt{'SLU'}
& \texttt{'ILU'} & \texttt{'ILU'}
& Predefined local solver: ILU($p$), & Predefined local solver: ILU($p$),
MILU($p$), ILU($p,t$), LU from UMFPACK, LU from SuperLU MILU($p$), ILU($p,t$), LU from UMFPACK, LU from SuperLU
(plus triangular solve). \\ \hline (plus triangular solve). \\ \hline
\verb|mld_sub_fillin_| & \verb|integer| \verb|mld_sub_fillin_| \break \verb|SUB_FILLIN| & \verb|integer|
& Any~int.~num.~$\ge 0$ & Any~int.~num.~$\ge 0$
& 0 & 0
& Fill-in level $p$ of the incomplete LU factorizations. \\ \hline & Fill-in level $p$ of the incomplete LU factorizations. \\ \hline
\verb|mld_sub_iluthrs_| & \verb|real(|\emph{kind\_parameter}\verb|)| \verb|mld_sub_iluthrs_| \break \verb|SUB_ILUTHRS| & \verb|real(|\emph{kind\_parameter}\verb|)|
& Any~real~num.~$\ge 0$ & Any~real~num.~$\ge 0$
& 0 & 0
& Drop tolerance $t$ in the ILU($p,t$) factorization. \\ \hline & Drop tolerance $t$ in the ILU($p,t$) factorization. \\ \hline
\verb|mld_sub_ren_| & \verb|character(len=*)| \verb|mld_sub_ren_| \break \verb|SUB_REN| & \verb|character(len=*)|
& \texttt{'RENUM\_NONE'} \texttt{'RENUM\_GLOBAL'} %, \texttt{'RENUM_GPS'} & \texttt{'RENUM\_NONE'} \texttt{'RENUM\_GLOBAL'} %, \texttt{'RENUM_GPS'}
& \texttt{'RENUM\_NONE'} & \texttt{'RENUM\_NONE'}
& Row and column reordering of the local submatrices: no reordering, & Row and column reordering of the local submatrices: no reordering,
@ -231,12 +233,12 @@ which is not the default one, the call to set the solver must come
\bsideways \bsideways
\begin{center} \begin{center}
\begin{tabular}{|l|l|p{2.4cm}|p{2.4cm}|p{7cm}|} \begin{tabular}{|p{5cm}|l|p{2.4cm}|p{2.4cm}|p{6cm}|}
\hline \hline
\verb|what| & \textsc{data type} & \verb|val| & \textsc{default} & \verb|what| & \textsc{data type} & \verb|val| & \textsc{default} &
\textsc{comments} \\ \hline \textsc{comments} \\ \hline
%\multicolumn{5}{|c|}{\emph{aggregation algorithm}} \\ \hline %\multicolumn{5}{|c|}{\emph{aggregation algorithm}} \\ \hline
\verb|mld_coarse_aggr_size_|& \verb|integer| \verb|mld_coarse_aggr_size_| \break \verb|COARSE_AGGR_SIZE| & \verb|integer|
& A positive number & A positive number
& 0, meaning that the size is fixed at & 0, meaning that the size is fixed at
\verb|precinit| time \verb|precinit| time
@ -246,21 +248,21 @@ which is not the default one, the call to set the solver must come
until either the global number of variables until either the global number of variables
is below this threshold, or the aggregation is below this threshold, or the aggregation
does not reduce the size any longer. \\ \hline does not reduce the size any longer. \\ \hline
\verb|mld_aggr_alg_| & \verb|character(len=*)| \verb|mld_aggr_alg_| \break \verb|AGGR_ALG| & \verb|character(len=*)|
& \texttt{'DEC'} & \texttt{'DEC'}
& \texttt{'DEC'} & \texttt{'DEC'}
& Aggregation algorithm. Currently, only the & Aggregation algorithm. Currently, only the
decoupled aggregation is available. \\ \hline decoupled aggregation is available. \\ \hline
\verb|mld_aggr_kind_| & \verb|character(len=*)| \verb|mld_aggr_kind_| \break \verb|AGGR_KIND| & \verb|character(len=*)|
& \texttt{'SMOOTHED'} \hspace{2.5cm} \texttt{'NONSMOOTHED'} & \texttt{'SMOOTHED'} \hspace{2.5cm} \texttt{'NONSMOOTHED'}
& \texttt{'SMOOTHED'} & \texttt{'SMOOTHED'}
& Type of aggregation: smoothed, nonsmoothed & Type of aggregation: smoothed, nonsmoothed
(i.e.\ using the tentative prolongator). \\ \hline (i.e.\ using the tentative prolongator). \\ \hline
\verb|mld_aggr_thresh_| & \verb|real(|\emph{kind\_parameter}\verb|)| \verb|mld_aggr_thresh_| \break \verb|AGGR_THRESH| & \verb|real(|\emph{kind\_parameter}\verb|)|
& Any~real~num. $\in [0, 1]$ & Any~real~num. $\in [0, 1]$
& 0 & 0
& Threshold $\theta$ in the aggregation algorithm. \\ \hline & Threshold $\theta$ in the aggregation algorithm. \\ \hline
\verb|mld_aggr_omega_alg_| & \verb|character(len=*)| \verb|mld_aggr_omega_alg_| \break \verb|AGGR_OMEGA_ALG|& \verb|character(len=*)|
& \texttt{'EIG\_EST'} \hspace{2.5cm} \texttt{'USER\_CHOICE'} & \texttt{'EIG\_EST'} \hspace{2.5cm} \texttt{'USER\_CHOICE'}
& \texttt{'EIG\_EST'} & \texttt{'EIG\_EST'}
& How the damping parameter $\omega$ in the & How the damping parameter $\omega$ in the
@ -268,13 +270,13 @@ which is not the default one, the call to set the solver must come
either via an estimate of the spectral radius of either via an estimate of the spectral radius of
$D^{-1}A$, or explicily $D^{-1}A$, or explicily
specified by the user. \\ \hline specified by the user. \\ \hline
\verb|mld_aggr_eig_| & \verb|character(len=*)| \verb|mld_aggr_eig_| \break \verb|AGGR_EIG| & \verb|character(len=*)|
& \texttt{'A\_NORMI'} & \texttt{'A\_NORMI'}
& \texttt{'A\_NORMI'} & \texttt{'A\_NORMI'}
& How to estimate the spectral radius of $D^{-1}A$. & How to estimate the spectral radius of $D^{-1}A$.
Currently only the infinity norm estimate Currently only the infinity norm estimate
is available. \\ \hline is available. \\ \hline
\verb|mld_aggr_omega_val_| & \verb|real(|\emph{kind\_parameter}\verb|)| \verb|mld_aggr_omega_val_| \break \verb|AGGR_OMEGA_VAL| & \verb|real(|\emph{kind\_parameter}\verb|)|
& Any~nonnegative~real~num. & Any~nonnegative~real~num.
& $4/(3\rho(D^{-1}A))$ & $4/(3\rho(D^{-1}A))$
& Damping parameter $\omega$ in the smoothed aggregation algorithm. & Damping parameter $\omega$ in the smoothed aggregation algorithm.
@ -293,17 +295,17 @@ which is not the default one, the call to set the solver must come
\bsideways \bsideways
\begin{center} \begin{center}
\begin{tabular}{|l|l|p{3.2cm}|l|p{7cm}|} \begin{tabular}{|p{3.5cm}|l|p{3.2cm}|l|p{5cm}|}
\hline \hline
\verb|what| & \textsc{data type} & \verb|val| & \textsc{default} & \verb|what| & \textsc{data type} & \verb|val| & \textsc{default} &
\textsc{comments} \\ \hline \textsc{comments} \\ \hline
%\multicolumn{5}{|c|}{\emph{coarse-space correction at the coarsest level}}\\ \hline %\multicolumn{5}{|c|}{\emph{coarse-space correction at the coarsest level}}\\ \hline
\verb|mld_coarse_mat_| & \verb|character(len=*)| \verb|mld_coarse_mat_| \break \verb|COARSE_MAT| & \verb|character(len=*)|
& \texttt{'DISTR'} \hspace{2.5cm} \texttt{'REPL'} & \texttt{'DISTR'} \hspace{2.5cm} \texttt{'REPL'}
& \texttt{'DISTR'} & \texttt{'DISTR'}
& Coarsest matrix: distributed among the processors or & Coarsest matrix: distributed among the processors or
replicated on each of them. \\ \hline replicated on each of them. \\ \hline
\verb|mld_coarse_solve_| & \verb|character(len=*)| \verb|mld_coarse_solve_| \break \verb|COARSE_SOLVE| & \verb|character(len=*)|
& \texttt{'BJAC'} \hspace{2.5cm} \texttt{'UMF'} \hspace{2.5cm} & \texttt{'BJAC'} \hspace{2.5cm} \texttt{'UMF'} \hspace{2.5cm}
\texttt{'SLU'} \hspace{2.5cm} \texttt{'SLUDIST'} \texttt{'SLU'} \hspace{2.5cm} \texttt{'SLUDIST'}
& \texttt{'BJAC'} & \texttt{'BJAC'}
@ -313,7 +315,7 @@ which is not the default one, the call to set the solver must come
\texttt{'SLUDIST'} requires the coarsest \texttt{'SLUDIST'} requires the coarsest
matrix to be distributed, while \texttt{'UMF'} and matrix to be distributed, while \texttt{'UMF'} and
\texttt{'SLU'} require it to be replicated. \\ \hline \texttt{'SLU'} require it to be replicated. \\ \hline
\verb|mld_coarse_subsolve_| & \verb|character(len=*)| \verb|mld_coarse_subsolve_| \break \verb|COARSE_SUBSOLVE| & \verb|character(len=*)|
& \texttt{'ILU'} \hspace{2.5cm} \texttt{'MILU'} & \texttt{'ILU'} \hspace{2.5cm} \texttt{'MILU'}
\hspace{2.5cm} \texttt{'ILUT'} \hspace{2.5cm} \texttt{'ILUT'}
\hspace{2.5cm} \texttt{'UMF'} \hspace{2.5cm} \texttt{'SLU'} \hspace{2.5cm} \texttt{'UMF'} \hspace{2.5cm} \texttt{'SLU'}
@ -323,16 +325,16 @@ which is not the default one, the call to set the solver must come
is chosen as coarsest-level solver: ILU($p$), MILU($p$), is chosen as coarsest-level solver: ILU($p$), MILU($p$),
ILU($p,t$), LU from UMFPACK, ILU($p,t$), LU from UMFPACK,
LU from SuperLU, plus triangular solve. \\ \hline LU from SuperLU, plus triangular solve. \\ \hline
\verb|mld_coarse_sweeps_|& \verb|integer| \verb|mld_coarse_sweeps_| \break \verb|COARSE_SWEEPS| & \verb|integer|
& Any~int.~num.~$> 0$ & Any~int.~num.~$> 0$
& 4 & 4
& Number of Block-Jacobi sweeps when 'BJAC' is used as & Number of Block-Jacobi sweeps when 'BJAC' is used as
coarsest-level solver. \\ \hline coarsest-level solver. \\ \hline
\verb|mld_coarse_fillin_| & \verb|integer| \verb|mld_coarse_fillin_| \break \verb|COARSE_FILLIN| & \verb|integer|
& Any~int.~num.~$\ge 0$ & Any~int.~num.~$\ge 0$
& 0 & 0
& Fill-in level $p$ of the incomplete LU factorizations. \\ \hline & Fill-in level $p$ of the incomplete LU factorizations. \\ \hline
\verb|mld_coarse_iluthrs_| & \verb|real(|\emph{kind\_parameter}\verb|)| \verb|mld_coarse_iluthrs_| \break \verb|COARSE_ILUTHRS| & \verb|real(|\emph{kind\_parameter}\verb|)|
& Any~real.~num.~$\ge 0$ & Any~real.~num.~$\ge 0$
& 0 & 0
& Drop tolerance $t$ in the ILU($p,t$) factorization. \\ & Drop tolerance $t$ in the ILU($p,t$) factorization. \\

Loading…
Cancel
Save