You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
918 lines
42 KiB
HTML
918 lines
42 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
|
|
|
<!--Converted with LaTeX2HTML 2018 (Released Feb 1, 2018) -->
|
|
<HTML>
|
|
<HEAD>
|
|
<TITLE>Method set</TITLE>
|
|
<META NAME="description" CONTENT="Method set">
|
|
<META NAME="keywords" CONTENT="userhtml">
|
|
<META NAME="resource-type" CONTENT="document">
|
|
<META NAME="distribution" CONTENT="global">
|
|
|
|
<META NAME="Generator" CONTENT="LaTeX2HTML v2018">
|
|
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
|
|
|
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
|
|
|
<LINK REL="next" HREF="node21.html">
|
|
<LINK REL="previous" HREF="node19.html">
|
|
<LINK REL="up" HREF="node18.html">
|
|
<LINK REL="next" HREF="node21.html">
|
|
</HEAD>
|
|
|
|
<BODY >
|
|
|
|
<DIV CLASS="navigation"><!--Navigation Panel-->
|
|
<A NAME="tex2html344"
|
|
HREF="node21.html">
|
|
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
|
<A NAME="tex2html340"
|
|
HREF="node18.html">
|
|
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
|
<A NAME="tex2html334"
|
|
HREF="node19.html">
|
|
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
|
<A NAME="tex2html342"
|
|
HREF="node2.html">
|
|
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
|
<BR>
|
|
<B> Next:</B> <A NAME="tex2html345"
|
|
HREF="node21.html">Method hierarchy_build</A>
|
|
<B> Up:</B> <A NAME="tex2html341"
|
|
HREF="node18.html">User Interface</A>
|
|
<B> Previous:</B> <A NAME="tex2html335"
|
|
HREF="node19.html">Method init</A>
|
|
<B> <A NAME="tex2html343"
|
|
HREF="node2.html">Contents</A></B>
|
|
<BR>
|
|
<BR></DIV>
|
|
<!--End of Navigation Panel-->
|
|
|
|
<H2><A NAME="SECTION00082000000000000000"></A><A NAME="sec:precset"></A>
|
|
<BR>
|
|
Method set
|
|
</H2><BIG CLASS="LARGE"><BIG CLASS="LARGE"></BIG></BIG>
|
|
<P>
|
|
<BIG CLASS="LARGE"><BIG CLASS="LARGE"></BIG></BIG>
|
|
<DIV ALIGN="CENTER"><BIG CLASS="LARGE"><BIG CLASS="LARGE"><BIG CLASS="LARGE"><code>call p%set(what,val,info [,ilev, ilmax, pos])</code>
|
|
</BIG></BIG></BIG></DIV><BIG CLASS="LARGE"><BIG CLASS="LARGE"></BIG></BIG>
|
|
<P>
|
|
<BIG CLASS="LARGE"><BIG CLASS="LARGE"><BIG CLASS="LARGE">
|
|
This method sets the parameters defining the preconditioner <code>p</code>. More
|
|
precisely, the parameter identified by <code>what</code> is assigned the value
|
|
contained in <code>val</code>.
|
|
</BIG></BIG></BIG>
|
|
<P>
|
|
<BIG CLASS="LARGE"><BIG CLASS="LARGE"><BIG CLASS="LARGE"><BIG CLASS="LARGE"><B>Arguments</B></BIG> </BIG></BIG></BIG>
|
|
<P></P>
|
|
<BIG CLASS="LARGE"><BIG CLASS="LARGE"></BIG></BIG>
|
|
<P>
|
|
<BIG CLASS="LARGE"><BIG CLASS="LARGE"></BIG></BIG><TABLE CELLPADDING=3>
|
|
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><BIG CLASS="LARGE"><BIG CLASS="LARGE"><BIG CLASS="LARGE">
|
|
<code>what</code> </BIG></BIG></BIG></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><BIG CLASS="LARGE"><BIG CLASS="LARGE"><BIG CLASS="LARGE"> <code>character(len=*)</code>. </BIG></BIG></BIG></TD>
|
|
</TR>
|
|
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><BIG CLASS="LARGE"><BIG CLASS="LARGE"><BIG CLASS="LARGE">
|
|
</BIG></BIG></BIG></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><BIG CLASS="LARGE"><BIG CLASS="LARGE"><BIG CLASS="LARGE"> The parameter to be set. It can be specified through its name;
|
|
the string is case-insensitive. See
|
|
Tables <A HREF="#tab:p_cycle">2</A>-<A HREF="#tab:p_smoother_1">8</A>.</BIG></BIG></BIG></TD>
|
|
</TR>
|
|
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><BIG CLASS="LARGE"><BIG CLASS="LARGE"><BIG CLASS="LARGE">
|
|
<code>val </code> </BIG></BIG></BIG></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><BIG CLASS="LARGE"><BIG CLASS="LARGE"><BIG CLASS="LARGE"> <code>integer</code> <SPAN CLASS="textit">or</SPAN> <code>character(len=*)</code> <SPAN CLASS="textit">or</SPAN>
|
|
<code>real(psb_spk_)</code> <SPAN CLASS="textit">or</SPAN> <code>real(psb_dpk_)</code>,
|
|
<code>intent(in)</code>.</BIG></BIG></BIG></TD>
|
|
</TR>
|
|
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><BIG CLASS="LARGE"><BIG CLASS="LARGE"><BIG CLASS="LARGE">
|
|
</BIG></BIG></BIG></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><BIG CLASS="LARGE"><BIG CLASS="LARGE"><BIG CLASS="LARGE"> The value of the parameter to be set. The list of allowed
|
|
values and the corresponding data types is given in
|
|
Tables <A HREF="#tab:p_cycle">2</A>-<A HREF="#tab:p_smoother_1">8</A>.
|
|
When the value is of type <code>character(len=*)</code>,
|
|
it is also treated as case insensitive.</BIG></BIG></BIG></TD>
|
|
</TR>
|
|
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><BIG CLASS="LARGE"><BIG CLASS="LARGE"><BIG CLASS="LARGE">
|
|
<code>info</code> </BIG></BIG></BIG></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><BIG CLASS="LARGE"><BIG CLASS="LARGE"><BIG CLASS="LARGE"> <code>integer, intent(out)</code>.</BIG></BIG></BIG></TD>
|
|
</TR>
|
|
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><BIG CLASS="LARGE"><BIG CLASS="LARGE"><BIG CLASS="LARGE">
|
|
</BIG></BIG></BIG></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><BIG CLASS="LARGE"><BIG CLASS="LARGE"><BIG CLASS="LARGE"> Error code. If no error, 0 is returned. See Section <A HREF="node34.html#sec:errors">8</A>
|
|
for details.</BIG></BIG></BIG></TD>
|
|
</TR>
|
|
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><BIG CLASS="LARGE"><BIG CLASS="LARGE"><BIG CLASS="LARGE">
|
|
<code>ilev</code> </BIG></BIG></BIG></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><BIG CLASS="LARGE"><BIG CLASS="LARGE"><BIG CLASS="LARGE"> <code>integer, optional, intent(in)</code>.</BIG></BIG></BIG></TD>
|
|
</TR>
|
|
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><BIG CLASS="LARGE"><BIG CLASS="LARGE"><BIG CLASS="LARGE">
|
|
</BIG></BIG></BIG></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><BIG CLASS="LARGE"><BIG CLASS="LARGE"><BIG CLASS="LARGE"> For the multilevel preconditioner, the level at which the
|
|
preconditioner parameter has to be set.
|
|
The levels are numbered in increasing
|
|
order starting from the finest one, i.e., level 1 is the finest level.
|
|
If <code>ilev</code> is not present, the parameter identified by <code>what</code>
|
|
is set at all the appropriate levels (see
|
|
Tables <A HREF="#tab:p_cycle">2</A>-<A HREF="#tab:p_smoother_1">8</A>).</BIG></BIG></BIG></TD>
|
|
</TR>
|
|
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><BIG CLASS="LARGE"><BIG CLASS="LARGE"><BIG CLASS="LARGE">
|
|
<code>ilmax</code> </BIG></BIG></BIG></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><BIG CLASS="LARGE"><BIG CLASS="LARGE"><BIG CLASS="LARGE"> <code>integer, optional, intent(in)</code>.</BIG></BIG></BIG></TD>
|
|
</TR>
|
|
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><BIG CLASS="LARGE"><BIG CLASS="LARGE"><BIG CLASS="LARGE">
|
|
</BIG></BIG></BIG></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><BIG CLASS="LARGE"><BIG CLASS="LARGE"><BIG CLASS="LARGE"> For the multilevel preconditioner, when both
|
|
<code>ilev</code> and <code>ilmax</code> are present, the settings
|
|
are applied at all levels <code>ilev:ilmax</code>. When
|
|
<code>ilev</code> is present but <code>ilmax</code> is not, then
|
|
the default is <code>ilmax=ilev</code>.
|
|
The levels are numbered in increasing
|
|
order starting from the finest one, i.e., level 1 is the finest level. </BIG></BIG></BIG></TD>
|
|
</TR>
|
|
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><BIG CLASS="LARGE"><BIG CLASS="LARGE"><BIG CLASS="LARGE">
|
|
<code>pos</code> </BIG></BIG></BIG></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><BIG CLASS="LARGE"><BIG CLASS="LARGE"><BIG CLASS="LARGE"> <code>charater(len=*), optional, intent(in)</code>.</BIG></BIG></BIG></TD>
|
|
</TR>
|
|
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><BIG CLASS="LARGE"><BIG CLASS="LARGE"><BIG CLASS="LARGE">
|
|
</BIG></BIG></BIG></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><BIG CLASS="LARGE"><BIG CLASS="LARGE"><BIG CLASS="LARGE"> Whether the other arguments apply only to the pre-smoother (<code>'PRE'</code>)
|
|
or to the post-smoother (<code>'POST'</code>). If <code>pos</code> is not present,
|
|
the other arguments are applied to both smoothers.
|
|
If the preconditioner is one-level or the parameter identified by <code>what</code>
|
|
does not concern the smoothers, <code>pos</code> is ignored.
|
|
</BIG></BIG></BIG></TD>
|
|
</TR>
|
|
</TABLE><BIG CLASS="LARGE"><BIG CLASS="LARGE"></BIG></BIG>
|
|
<P>
|
|
<BIG CLASS="LARGE"><BIG CLASS="LARGE"><BIG CLASS="LARGE">For compatibility with the previous versions of MLD2P4, this method can be also invoked
|
|
as follows:
|
|
</BIG></BIG></BIG>
|
|
<P>
|
|
<BIG CLASS="LARGE"><BIG CLASS="LARGE"></BIG></BIG>
|
|
<DIV ALIGN="CENTER"><BIG CLASS="LARGE"><BIG CLASS="LARGE"><BIG CLASS="LARGE"><code>call mld_precset(p,what,val,info)</code>
|
|
</BIG></BIG></BIG></DIV><BIG CLASS="LARGE"><BIG CLASS="LARGE"></BIG></BIG>
|
|
<P>
|
|
<BIG CLASS="LARGE"><BIG CLASS="LARGE"><BIG CLASS="LARGE">
|
|
However, in this case the optional arguments <code>ilev</code>, <code>ilmax</code>, and <code>pos</code>
|
|
cannot be used.
|
|
<BR></BIG></BIG></BIG>
|
|
<P>
|
|
<BIG CLASS="LARGE"><BIG CLASS="LARGE"><BIG CLASS="LARGE">A variety of preconditioners can be obtained
|
|
by a suitable setting of the preconditioner parameters. These parameters
|
|
can be logically divided into four groups, i.e., parameters defining
|
|
</BIG></BIG></BIG>
|
|
<OL>
|
|
<LI>the type of multilevel cycle and how many cycles must be applied;
|
|
</LI>
|
|
<LI>the aggregation algorithm;
|
|
</LI>
|
|
<LI>the coarse-space correction at the coarsest level (for multilevel
|
|
preconditioners only);
|
|
</LI>
|
|
<LI>the smoother of the multilevel preconditioners, or the one-level
|
|
preconditioner.
|
|
|
|
<P>
|
|
</LI>
|
|
</OL><BIG CLASS="LARGE"><BIG CLASS="LARGE"><BIG CLASS="LARGE">
|
|
A list of the parameters that can be set, along with their allowed and
|
|
default values, is given in Tables <A HREF="#tab:p_cycle">2</A>-<A HREF="#tab:p_smoother_1">8</A>.
|
|
For a description of the meaning of the parameters, please
|
|
refer also to Section <A HREF="node12.html#sec:background">4</A>.
|
|
<BR></BIG></BIG></BIG>
|
|
<P>
|
|
<BIG CLASS="LARGE"><BIG CLASS="LARGE"><BIG CLASS="LARGE"><SPAN CLASS="textbf">Remark 2.</SPAN> A smoother is usually obtained by combining two objects:
|
|
a smoother (<code>SMOOTHER_TYPE</code>) and a local solver (<code>SUB_SOLVE</code>),
|
|
as specified in Tables <A HREF="#tab:p_smoother">7</A>-<A HREF="#tab:p_smoother_1">8</A>.
|
|
For example, the block-Jacobi smoother using
|
|
ILU(0) on the blocks is obtained by combining the block-Jacobi smoother
|
|
object with the ILU(0) solver object. Similarly,
|
|
the hybrid Gauss-Seidel smoother (see Note in Table <A HREF="#tab:p_smoother">7</A>)
|
|
is obtained by combining the block-Jacobi smoother object with a single sweep
|
|
of the Gauss-Seidel solver object, while the point-Jacobi smoother is the
|
|
result of combining the block-Jacobi smoother object with a single sweep
|
|
of the pointwise-Jacobi solver object. However, for simplicity, shortcuts are
|
|
provided to set point-Jacobi, hybrid (forward) Gauss-Seidel, and
|
|
hybrid backward Gauss-Seidel, i.e., the previous smoothers can be defined
|
|
by setting only <code>SMOOTHER_TYPE</code> to appropriate values (see
|
|
Tables <A HREF="#tab:p_smoother">7</A>), i.e., without setting
|
|
<code>SUB_SOLVE</code> too.
|
|
</BIG></BIG></BIG>
|
|
<P>
|
|
<BIG CLASS="LARGE"><BIG CLASS="LARGE"><BIG CLASS="LARGE">The smoother and solver objects are arranged in a
|
|
hierarchical manner. When specifying a smoother object, its parameters,
|
|
including the local solver, are set to their default values, and when a solver
|
|
object is specified, its defaults are also set, overriding in both
|
|
cases any previous settings even if explicitly specified. Therefore if
|
|
the user sets a smoother, and wishes to use a solver
|
|
different from the default one, the call to set the solver must come
|
|
<SPAN CLASS="textit">after</SPAN> the call to set the smoother.
|
|
</BIG></BIG></BIG>
|
|
<P>
|
|
<BIG CLASS="LARGE"><BIG CLASS="LARGE"><BIG CLASS="LARGE">Similar considerations apply to the point-Jacobi, Gauss-Seidel and block-Jacobi
|
|
coarsest-level solvers, and shortcuts are available
|
|
in this case too (see Table <A HREF="#tab:p_coarse">5</A>).
|
|
<BR></BIG></BIG></BIG>
|
|
<P>
|
|
<BIG CLASS="LARGE"><BIG CLASS="LARGE"><BIG CLASS="LARGE"><SPAN CLASS="textbf">Remark 3.</SPAN> In general, a coarsest-level solver cannot be used with
|
|
both the replicated and distributed coarsest-matrix layout;
|
|
therefore, setting the solver after the layout may change the layout.
|
|
Similarly, setting the layout after the solver may change the solver.
|
|
</BIG></BIG></BIG>
|
|
<P>
|
|
<BIG CLASS="LARGE"><BIG CLASS="LARGE"><BIG CLASS="LARGE">More precisely, UMFPACK and SuperLU require the coarsest-level
|
|
matrix to be replicated, while SuperLU_Dist requires it to be distributed.
|
|
In these cases, setting the coarsest-level solver implies that
|
|
the layout is redefined according to the solver, ovverriding any
|
|
previous settings. MUMPS, point-Jacobi,
|
|
hybrid Gauss-Seidel and block-Jacobi can be applied to
|
|
replicated and distributed matrices, thus their choice
|
|
does not modify any previously specified layout.
|
|
It is worth noting that, when the matrix is replicated,
|
|
the point-Jacobi, hybrid Gauss-Seidel and block-Jacobi solvers
|
|
reduce to the corresponding local solver objects (see Remark 2).
|
|
For the point-Jacobi and Gauss-Seidel solvers, these objects
|
|
correspond to a <SPAN CLASS="textit">single</SPAN> point-Jacobi sweep and a <SPAN CLASS="textit">single</SPAN>
|
|
Gauss-Seidel sweep, respectively, which are very poor solvers.
|
|
</BIG></BIG></BIG>
|
|
<P>
|
|
<BIG CLASS="LARGE"><BIG CLASS="LARGE"><BIG CLASS="LARGE">On the other hand, the distributed layout can be used with any solver
|
|
but UMFPACK and SuperLU; therefore, if any of these two solvers has already
|
|
been selected, the coarsest-level solver is changed to block-Jacobi,
|
|
with the previously chosen solver applied to the local blocks.
|
|
Likewise, the replicated layout can be used with any solver but SuperLu_Dist;
|
|
therefore, if SuperLu_Dist has been previously set, the coarsest-level
|
|
solver is changed to the default sequential solver.
|
|
</BIG></BIG></BIG>
|
|
<P>
|
|
<BIG CLASS="LARGE"><BIG CLASS="LARGE"></BIG></BIG>
|
|
<BR><P></P>
|
|
<DIV ALIGN="CENTER"><A NAME="1390"></A>
|
|
<TABLE>
|
|
<CAPTION><STRONG>Table 2:</STRONG>
|
|
Parameters defining the multilevel cycle and the number of cycles to
|
|
be applied.
|
|
</CAPTION>
|
|
<TR><TD>
|
|
<DIV ALIGN="CENTER">
|
|
<TABLE CELLPADDING=3 BORDER="1" ALIGN="CENTER">
|
|
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=102><code>what</code></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><SMALL>DEFAULT</SMALL></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=204><SMALL>COMMENTS</SMALL></TD>
|
|
</TR>
|
|
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=102><code>'ML_CYCLE'</code></TD>
|
|
<TD ALIGN="LEFT"><code>character(len=*)</code></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=68><TT>'VCYCLE'</TT>
|
|
<P>
|
|
<TT>'WCYCLE'</TT>
|
|
<P>
|
|
<TT>'KCYCLE'</TT>
|
|
<P>
|
|
<TT>'MULT'</TT>
|
|
<P>
|
|
<TT>'ADD'</TT></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=68><TT>'VCYCLE'</TT></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=204>Multilevel cycle: V-cycle, W-cycle, K-cycle, hybrid Multiplicative Schwarz,
|
|
and Additive Schwarz.
|
|
<P>
|
|
Note that hybrid Multiplicative Schwarz is equivalent to V-cycle and
|
|
is included for compatibility with previous versions of MLD2P4.</TD>
|
|
</TR>
|
|
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=102><code>'OUTER_SWEEPS'</code></TD>
|
|
<TD ALIGN="LEFT"><TT>integer</TT></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=68>Any integer
|
|
<P>
|
|
number <SPAN CLASS="MATH"><IMG
|
|
WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
|
SRC="img74.png"
|
|
ALT="$\ge 1$"></SPAN></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=68>1</TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=204>Number of multilevel cycles.</TD>
|
|
</TR>
|
|
</TABLE>
|
|
</DIV>
|
|
</TD></TR>
|
|
</TABLE>
|
|
</DIV><P></P>
|
|
<BR><BIG CLASS="LARGE"><BIG CLASS="LARGE"></BIG></BIG>
|
|
<P>
|
|
<BIG CLASS="LARGE"><BIG CLASS="LARGE"></BIG></BIG>
|
|
<BR><P></P>
|
|
<DIV ALIGN="CENTER"><A NAME="1396"></A>
|
|
<TABLE>
|
|
<CAPTION><STRONG>Table 3:</STRONG>
|
|
Parameters defining the aggregation algorithm.
|
|
</CAPTION>
|
|
<TR><TD>
|
|
<DIV ALIGN="CENTER">
|
|
<TABLE CELLPADDING=3 BORDER="1" ALIGN="CENTER">
|
|
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=111><code>what</code></TD>
|
|
<TD ALIGN="LEFT"><SMALL>DATA TYPE</SMALL></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=65><code>val</code></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=82><SMALL>DEFAULT</SMALL></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=196><SMALL>COMMENTS</SMALL></TD>
|
|
</TR>
|
|
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=111><code>'MIN_COARSE_SIZE'</code></TD>
|
|
<TD ALIGN="LEFT"><code>integer</code></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=65>Any number
|
|
<P>
|
|
<SPAN CLASS="MATH"><IMG
|
|
WIDTH="31" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
|
SRC="img75.png"
|
|
ALT="$> 0$"></SPAN></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=82><!-- MATH
|
|
$\lfloor 40 \sqrt[3]{n} \rfloor$
|
|
-->
|
|
<SPAN CLASS="MATH"><IMG
|
|
WIDTH="63" HEIGHT="37" ALIGN="MIDDLE" BORDER="0"
|
|
SRC="img76.png"
|
|
ALT="$\lfloor 40 \sqrt[3]{n} \rfloor$"></SPAN>, where <SPAN CLASS="MATH"><IMG
|
|
WIDTH="14" HEIGHT="16" ALIGN="BOTTOM" BORDER="0"
|
|
SRC="img77.png"
|
|
ALT="$n$"></SPAN> is the dimension
|
|
of the matrix at the finest level</TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=196>Coarse size threshold. The aggregation stops
|
|
if the global number of variables of the
|
|
computed coarsest matrix
|
|
is lower than or equal to this threshold
|
|
(see Note).</TD>
|
|
</TR>
|
|
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=111><code>'MIN_CR_RATIO'</code></TD>
|
|
<TD ALIGN="LEFT"><code>real</code></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=65>Any number
|
|
<P>
|
|
<SPAN CLASS="MATH"><IMG
|
|
WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
|
SRC="img78.png"
|
|
ALT="$> 1$"></SPAN></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=82>1.5</TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=196>Minimum coarsening ratio. The aggregation stops
|
|
if the ratio between the matrix dimensions
|
|
at two consecutive levels is lower than or equal to this
|
|
threshold (see Note).</TD>
|
|
</TR>
|
|
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=111><code>'MAX_LEVS'</code></TD>
|
|
<TD ALIGN="LEFT"><code>integer</code></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=65>Any integer
|
|
<P>
|
|
number <SPAN CLASS="MATH"><IMG
|
|
WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
|
SRC="img78.png"
|
|
ALT="$> 1$"></SPAN></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=82>20</TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=196>Maximum number of levels. The aggregation stops
|
|
if the number of levels reaches this value (see Note).</TD>
|
|
</TR>
|
|
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=111><code>'PAR_AGGR_ALG'</code></TD>
|
|
<TD ALIGN="LEFT"><code>character(len=*)</code></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=65><TT>'DEC'</TT>, <TT>'SYMDEC'</TT></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=82><TT>'DEC'</TT></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=196>Parallel aggregation algorithm.
|
|
<P>
|
|
Currently, only the
|
|
decoupled aggregation (<code>DEC</code>) is available; the
|
|
<code>SYMDEC</code> option applies decoupled
|
|
aggregation to the sparsity pattern
|
|
of <SPAN CLASS="MATH"><IMG
|
|
WIDTH="62" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
|
|
SRC="img79.png"
|
|
ALT="$A+A^T$"></SPAN>.</TD>
|
|
</TR>
|
|
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=111><code>'AGGR_TYPE'</code></TD>
|
|
<TD ALIGN="LEFT"><code>character(len=*)</code></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=65><SPAN CLASS="textbf"><TT>'SOC1'</TT></SPAN></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=82><SPAN CLASS="textbf"><TT>'SOC1'</TT></SPAN>,
|
|
<SPAN CLASS="textbf"><TT>'SOC2'</TT></SPAN></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=196>Type of aggregation algorithm: currently,
|
|
we implement to measures of strength of
|
|
connection, the one by Vanek, Mandel
|
|
and Brezina [<A
|
|
HREF="node36.html#VANEK_MANDEL_BREZINA">26</A>],
|
|
and the one by Gratton et al [<A
|
|
HREF="node36.html#GrHeJi:16">16</A>].</TD>
|
|
</TR>
|
|
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=111><code>'AGGR_PROL'</code></TD>
|
|
<TD ALIGN="LEFT"><code>character(len=*)</code></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=65><TT>'SMOOTHED'</TT>, <TT>'UNSMOOTHED'</TT></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=82><TT>'SMOOTHED'</TT></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=196>Prolongator used by the aggregation algorithm: smoothed or unsmoothed
|
|
(i.e., tentative prolongator).</TD>
|
|
</TR>
|
|
<TR><TD ALIGN="LEFT" COLSPAN=5><SPAN><B>Note.</B> The aggregation algorithm stops when
|
|
at least one of the following criteria is met:
|
|
the coarse size threshold, the</SPAN></TD>
|
|
</TR>
|
|
<TR><TD ALIGN="LEFT" COLSPAN=5><SPAN>minimum coarsening ratio, or the maximum number
|
|
of levels is reached. Therefore, the actual number of levels may be</SPAN></TD>
|
|
</TR>
|
|
<TR><TD ALIGN="LEFT" COLSPAN=5><SPAN>smaller than the specified maximum number
|
|
of levels. </SPAN></TD>
|
|
</TR>
|
|
</TABLE>
|
|
</DIV>
|
|
</TD></TR>
|
|
</TABLE>
|
|
</DIV><P></P>
|
|
<BR><BIG CLASS="LARGE"><BIG CLASS="LARGE"></BIG></BIG>
|
|
<P>
|
|
<BIG CLASS="LARGE"><BIG CLASS="LARGE"></BIG></BIG>
|
|
<BR><P></P>
|
|
<DIV ALIGN="CENTER"><A NAME="1400"></A>
|
|
<TABLE>
|
|
<CAPTION><STRONG>Table 4:</STRONG>
|
|
Parameters defining the aggregation algorithm (continued).
|
|
</CAPTION>
|
|
<TR><TD>
|
|
<DIV ALIGN="CENTER">
|
|
<TABLE CELLPADDING=3 BORDER="1" ALIGN="CENTER">
|
|
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=108><code>what</code></TD>
|
|
<TD ALIGN="LEFT"><SMALL>DATA TYPE</SMALL></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=71><code>val</code></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=65><SMALL>DEFAULT</SMALL></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=187><SMALL>COMMENTS</SMALL></TD>
|
|
</TR>
|
|
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=108><code>'AGGR_ORD'</code></TD>
|
|
<TD ALIGN="LEFT"><code>character(len=*)</code></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=71><TT>'NATURAL'</TT>
|
|
<P>
|
|
<TT>'DEGREE'</TT></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=65><TT>'NATURAL'</TT></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=187>Initial ordering of indices for the aggregation
|
|
algorithm: either natural ordering or sorted by
|
|
descending degrees of the nodes in the
|
|
matrix graph.</TD>
|
|
</TR>
|
|
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=108><code>'AGGR_THRESH'</code></TD>
|
|
<TD ALIGN="LEFT"><code>real(</code><SPAN CLASS="textit">kind_parameter</SPAN><code>)</code></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=71>Any real
|
|
<P>
|
|
number <SPAN CLASS="MATH"><IMG
|
|
WIDTH="56" HEIGHT="34" ALIGN="MIDDLE" BORDER="0"
|
|
SRC="img80.png"
|
|
ALT="$\in [0, 1]$"></SPAN></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=65>0.01</TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=187>The threshold <SPAN CLASS="MATH"><IMG
|
|
WIDTH="13" HEIGHT="20" ALIGN="BOTTOM" BORDER="0"
|
|
SRC="img81.png"
|
|
ALT="$\theta$"></SPAN> in the aggregation algorithm,
|
|
see (<A HREF="node14.html#eq:strongly_coup">3</A>) in Section <A HREF="node14.html#sec:aggregation">4.2</A>.
|
|
See also the note at the bottom of this table.</TD>
|
|
</TR>
|
|
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=108><code>'AGGR_FILTER'</code></TD>
|
|
<TD ALIGN="LEFT"><code>character(len=*)</code></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=71><TT>'FILTER'</TT>
|
|
<P>
|
|
<TT>'NOFILTER'</TT></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=65><TT>'NOFILTER'</TT></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=187>Matrix used in computing the smoothed
|
|
prolongator: filtered or unfiltered (see (<A HREF="node14.html#eq:filtered">5</A>) in Section <A HREF="node14.html#sec:aggregation">4.2</A>).</TD>
|
|
</TR>
|
|
<TR><TD ALIGN="LEFT" COLSPAN=5><SPAN><B>Note.</B> Different thresholds at different levels, such as
|
|
those used in [<A
|
|
HREF="node36.html#VANEK_MANDEL_BREZINA">26</A>, Section 5.1], can be easily set by
|
|
invoking the rou-</SPAN></TD>
|
|
</TR>
|
|
<TR><TD ALIGN="LEFT" COLSPAN=5><SPAN>tine <TT>set</TT> with
|
|
the parameter <TT>ilev</TT>.</SPAN></TD>
|
|
</TR>
|
|
</TABLE>
|
|
</DIV>
|
|
</TD></TR>
|
|
</TABLE>
|
|
</DIV><P></P>
|
|
<BR><BIG CLASS="LARGE"><BIG CLASS="LARGE"></BIG></BIG>
|
|
<P>
|
|
<BIG CLASS="LARGE"><BIG CLASS="LARGE"></BIG></BIG>
|
|
<BR><P></P>
|
|
<DIV ALIGN="CENTER"><A NAME="1405"></A>
|
|
<TABLE>
|
|
<CAPTION><STRONG>Table 5:</STRONG>
|
|
Parameters defining the coarse-space correction at the coarsest
|
|
level.</CAPTION>
|
|
<TR><TD>
|
|
<DIV ALIGN="CENTER">
|
|
<TABLE CELLPADDING=3 BORDER="1" ALIGN="CENTER">
|
|
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=111><code>what</code></TD>
|
|
<TD ALIGN="LEFT"><SMALL>DATA TYPE</SMALL></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=48><code>val</code></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=48><SMALL>DEFAULT</SMALL></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=244><SMALL>COMMENTS</SMALL></TD>
|
|
</TR>
|
|
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=111><code>'COARSE_MAT'</code></TD>
|
|
<TD ALIGN="LEFT"><code>character(len=*)</code></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=48><TT>'DIST'</TT>
|
|
<P>
|
|
<TT>'REPL'</TT></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=48><TT>'REPL'</TT></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=244>Coarsest matrix layout: distributed among the processes or
|
|
replicated on each of them.</TD>
|
|
</TR>
|
|
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=111><code>'COARSE_SOLVE'</code></TD>
|
|
<TD ALIGN="LEFT"><code>character(len=*)</code></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=48><TT>'MUMPS'</TT>
|
|
<P>
|
|
<TT>'UMF'</TT>
|
|
<P>
|
|
<TT>'SLU'</TT>
|
|
<P>
|
|
<TT>'SLUDIST'</TT>
|
|
<P>
|
|
<TT>'JACOBI'</TT>
|
|
<P>
|
|
<TT>'GS'</TT>
|
|
<P>
|
|
<TT>'BJAC'</TT></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=48>See Note.</TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=244>Solver used at the coarsest level: sequential
|
|
LU from MUMPS, UMFPACK, or SuperLU
|
|
(plus triangular solve);
|
|
distributed LU from MUMPS or SuperLU_Dist
|
|
(plus triangular solve);
|
|
point-Jacobi, hybrid Gauss-Seidel or block-Jacobi.
|
|
<P>
|
|
Note that <TT>UMF</TT> and <TT>SLU</TT> require the coarsest
|
|
matrix to be replicated, <TT>SLUDIST</TT>, <TT>JACOBI</TT>,
|
|
<TT>GS</TT> and <TT>BJAC</TT> require it to be
|
|
distributed, and <TT>MUMPS</TT> can be used with either
|
|
a replicated or a distributed matrix. When any of the previous
|
|
solvers is specified, the matrix layout is set to a default
|
|
value which allows the use of the solver (see Remark 3, p. 24).
|
|
Note also that UMFPACK and SuperLU_Dist
|
|
are available only in double precision.</TD>
|
|
</TR>
|
|
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=111><code>'COARSE_SUBSOLVE'</code></TD>
|
|
<TD ALIGN="LEFT"><code>character(len=*)</code></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=48><TT>'ILU'</TT>
|
|
<P>
|
|
<TT>'ILUT'</TT>
|
|
<P>
|
|
<TT>'MILU'</TT>
|
|
<P>
|
|
<TT>'MUMPS'</TT>
|
|
<P>
|
|
<TT>'SLU'</TT>
|
|
<P>
|
|
<TT>'UMF'</TT></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=48>See Note.</TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=244>Solver for the diagonal blocks of the coarse matrix,
|
|
in case the block Jacobi solver
|
|
is chosen as coarsest-level solver: ILU(<SPAN CLASS="MATH"><IMG
|
|
WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
|
SRC="img82.png"
|
|
ALT="$p$"></SPAN>), ILU(<SPAN CLASS="MATH"><IMG
|
|
WIDTH="27" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
|
SRC="img83.png"
|
|
ALT="$p,t$"></SPAN>),
|
|
MILU(<SPAN CLASS="MATH"><IMG
|
|
WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
|
SRC="img82.png"
|
|
ALT="$p$"></SPAN>), LU from MUMPS, SuperLU or UMFPACK
|
|
(plus triangular solve).
|
|
Note that UMFPACK and SuperLU_Dist
|
|
are available only in double precision.</TD>
|
|
</TR>
|
|
<TR><TD ALIGN="LEFT" COLSPAN=5><SPAN><B>Note.</B> Defaults for <TT>COARSE_SOLVE</TT> and
|
|
<TT>COARSE_SUBSOLVE</TT> are chosen in the following order:</SPAN></TD>
|
|
</TR>
|
|
<TR><TD ALIGN="LEFT" COLSPAN=5><SPAN>single precision version - <TT>MUMPS</TT> if installed,
|
|
then <TT>SLU</TT> if installed,
|
|
<TT>ILU</TT> otherwise;</SPAN></TD>
|
|
</TR>
|
|
<TR><TD ALIGN="LEFT" COLSPAN=5><SPAN>double precision version - <TT>UMF</TT> if installed,
|
|
then <TT>MUMPS</TT> if installed, then <TT>SLU</TT> if
|
|
installed, <TT>ILU</TT> otherwise.</SPAN></TD>
|
|
</TR>
|
|
</TABLE>
|
|
</DIV>
|
|
</TD></TR>
|
|
</TABLE>
|
|
</DIV><P></P>
|
|
<BR><BIG CLASS="LARGE"><BIG CLASS="LARGE"></BIG></BIG>
|
|
<P>
|
|
<BIG CLASS="LARGE"><BIG CLASS="LARGE"></BIG></BIG>
|
|
<BR><P></P>
|
|
<DIV ALIGN="CENTER"><A NAME="1407"></A>
|
|
<TABLE>
|
|
<CAPTION><STRONG>Table 6:</STRONG>
|
|
Parameters defining the coarse-space correction at the coarsest
|
|
level (continued).</CAPTION>
|
|
<TR><TD>
|
|
<DIV ALIGN="CENTER">
|
|
<TABLE CELLPADDING=3 BORDER="1" ALIGN="CENTER">
|
|
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=111><code>what</code></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=43><SMALL>DEFAULT</SMALL></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=213><SMALL>COMMENTS</SMALL></TD>
|
|
</TR>
|
|
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=111><code>'COARSE_SWEEPS'</code></TD>
|
|
<TD ALIGN="LEFT"><code>integer</code></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=57>Any integer
|
|
<P>
|
|
number <SPAN CLASS="MATH"><IMG
|
|
WIDTH="31" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
|
SRC="img75.png"
|
|
ALT="$> 0$"></SPAN></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=43>10</TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=213>Number of sweeps when <code>JACOBI</code>, <code>GS</code> or <code>BJAC</code>
|
|
is chosen as coarsest-level solver.</TD>
|
|
</TR>
|
|
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=111><code>'COARSE_FILLIN'</code></TD>
|
|
<TD ALIGN="LEFT"><code>integer</code></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=57>Any integer
|
|
<P>
|
|
number <SPAN CLASS="MATH"><IMG
|
|
WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
|
SRC="img84.png"
|
|
ALT="$\ge 0$"></SPAN></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=43>0</TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=213>Fill-in level <SPAN CLASS="MATH"><IMG
|
|
WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
|
SRC="img82.png"
|
|
ALT="$p$"></SPAN> of the ILU factorizations.</TD>
|
|
</TR>
|
|
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=111><code>'COARSE_ILUTHRS'</code></TD>
|
|
<TD ALIGN="LEFT"><code>real(</code><SPAN CLASS="textit">kind_parameter</SPAN><code>)</code></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=57>Any real
|
|
<P>
|
|
number <SPAN CLASS="MATH"><IMG
|
|
WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
|
SRC="img84.png"
|
|
ALT="$\ge 0$"></SPAN></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=43>0</TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=213>Drop tolerance <SPAN CLASS="MATH"><IMG
|
|
WIDTH="10" HEIGHT="16" ALIGN="BOTTOM" BORDER="0"
|
|
SRC="img85.png"
|
|
ALT="$t$"></SPAN> in the ILU(<SPAN CLASS="MATH"><IMG
|
|
WIDTH="27" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
|
SRC="img83.png"
|
|
ALT="$p,t$"></SPAN>) factorization.</TD>
|
|
</TR>
|
|
</TABLE>
|
|
</DIV>
|
|
</TD></TR>
|
|
</TABLE>
|
|
</DIV><P></P>
|
|
<BR><BIG CLASS="LARGE"><BIG CLASS="LARGE"></BIG></BIG>
|
|
<P>
|
|
<BIG CLASS="LARGE"><BIG CLASS="LARGE"></BIG></BIG>
|
|
<BR><P></P>
|
|
<DIV ALIGN="CENTER"><A NAME="1409"></A>
|
|
<TABLE>
|
|
<CAPTION><STRONG>Table 7:</STRONG>
|
|
Parameters defining the smoother or the details of the one-level preconditioner.
|
|
</CAPTION>
|
|
<TR><TD>
|
|
<DIV ALIGN="CENTER">
|
|
<TABLE CELLPADDING=3 BORDER="1" ALIGN="CENTER">
|
|
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=102><SMALL CLASS="SMALL">
|
|
<code>what</code> </SMALL></TD>
|
|
<TD ALIGN="LEFT"><SMALL CLASS="SMALL"> <SMALL>DATA TYPE</SMALL> </SMALL></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=54><SMALL CLASS="SMALL"> <code>val</code> </SMALL></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=102><SMALL CLASS="SMALL"> <SMALL>DEFAULT</SMALL> </SMALL></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=184><SMALL CLASS="SMALL">
|
|
<SMALL>COMMENTS</SMALL> </SMALL></TD>
|
|
</TR>
|
|
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=102><SMALL CLASS="SMALL">
|
|
<code>'SMOOTHER_TYPE'</code> </SMALL></TD>
|
|
<TD ALIGN="LEFT"><SMALL CLASS="SMALL"> <code>character(len=*)</code>
|
|
</SMALL></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=54><SMALL CLASS="SMALL"> <code>'JACOBI'</code> </SMALL>
|
|
<P>
|
|
<SMALL CLASS="SMALL"><code>'GS'</code> </SMALL>
|
|
<P>
|
|
<SMALL CLASS="SMALL"><code>'BGS'</code> </SMALL>
|
|
<P>
|
|
<SMALL CLASS="SMALL"><code>'BJAC'</code>
|
|
</SMALL>
|
|
<P>
|
|
<SMALL CLASS="SMALL"><code>'AS'</code>
|
|
</SMALL></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=102><SMALL CLASS="SMALL"> <code>'FBGS'</code>
|
|
</SMALL></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=184><SMALL CLASS="SMALL"> Type of smoother used in the multilevel preconditioner:
|
|
point-Jacobi, hybrid (forward) Gauss-Seidel,
|
|
hybrid backward Gauss-Seidel, block-Jacobi, and
|
|
Additive Schwarz. </SMALL>
|
|
<P>
|
|
<SMALL CLASS="SMALL">It is ignored by one-level preconditioners. </SMALL></TD>
|
|
</TR>
|
|
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=102><SMALL CLASS="SMALL">
|
|
<code>'SUB_SOLVE'</code> </SMALL></TD>
|
|
<TD ALIGN="LEFT"><SMALL CLASS="SMALL"> <code>character(len=*)</code>
|
|
</SMALL></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=54><SMALL CLASS="SMALL"> <TT>'JACOBI'</TT> </SMALL>
|
|
<P>
|
|
<SMALL CLASS="SMALL"><TT>'GS'</TT> </SMALL>
|
|
<P>
|
|
<SMALL CLASS="SMALL"><TT>'BGS'</TT> </SMALL>
|
|
<P>
|
|
<SMALL CLASS="SMALL"><TT>'ILU'</TT> </SMALL>
|
|
<P>
|
|
<SMALL CLASS="SMALL"><TT>'ILUT'</TT> </SMALL>
|
|
<P>
|
|
<SMALL CLASS="SMALL"><TT>'MILU'</TT> </SMALL>
|
|
<P>
|
|
<SMALL CLASS="SMALL"><TT>'MUMPS'</TT> </SMALL>
|
|
<P>
|
|
<SMALL CLASS="SMALL"><TT>'SLU'</TT> </SMALL>
|
|
<P>
|
|
<SMALL CLASS="SMALL"><TT>'UMF'</TT>
|
|
</SMALL></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=102><SMALL CLASS="SMALL"> <TT>GS</TT> and <TT>BGS</TT> for pre- and post-smoothers
|
|
of multilevel preconditioners, respectively </SMALL>
|
|
<P>
|
|
<SMALL CLASS="SMALL"><TT>ILU</TT> for block-Jacobi and Additive Schwarz
|
|
one-level preconditioners
|
|
</SMALL></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=184><SMALL CLASS="SMALL"> The local solver to be used with the smoother or one-level
|
|
preconditioner (see Remark 2, page 24): point-Jacobi,
|
|
hybrid (forward) Gauss-Seidel, hybrid backward
|
|
Gauss-Seidel, ILU(<SPAN CLASS="MATH"><IMG
|
|
WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
|
SRC="img82.png"
|
|
ALT="$p$"></SPAN>), ILU(<SPAN CLASS="MATH"><IMG
|
|
WIDTH="27" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
|
SRC="img83.png"
|
|
ALT="$p,t$"></SPAN>), MILU(<SPAN CLASS="MATH"><IMG
|
|
WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
|
SRC="img82.png"
|
|
ALT="$p$"></SPAN>),
|
|
LU from MUMPS, SuperLU or UMFPACK
|
|
(plus triangular solve). See Note for details on hybrid
|
|
Gauss-Seidel. </SMALL></TD>
|
|
</TR>
|
|
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=102><SMALL CLASS="SMALL">
|
|
<code>'SMOOTHER_SWEEPS'</code> </SMALL></TD>
|
|
<TD ALIGN="LEFT"><SMALL CLASS="SMALL"> <code>integer</code>
|
|
</SMALL></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=54><SMALL CLASS="SMALL"> Any integer </SMALL>
|
|
<P>
|
|
<SMALL CLASS="SMALL">number <SPAN CLASS="MATH"><IMG
|
|
WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
|
SRC="img84.png"
|
|
ALT="$\ge 0$"></SPAN>
|
|
</SMALL></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=102><SMALL CLASS="SMALL"> 1
|
|
</SMALL></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=184><SMALL CLASS="SMALL"> Number of sweeps of the smoother or one-level preconditioner.
|
|
In the multilevel case, no pre-smother or
|
|
post-smoother is used if this parameter is set to 0
|
|
together with <code>pos='PRE'</code> or <code>pos='POST</code>,
|
|
respectively. </SMALL></TD>
|
|
</TR>
|
|
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=102><SMALL CLASS="SMALL">
|
|
<code>'SUB_OVR'</code> </SMALL></TD>
|
|
<TD ALIGN="LEFT"><SMALL CLASS="SMALL"> <code>integer</code>
|
|
</SMALL></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=54><SMALL CLASS="SMALL"> Any integer </SMALL>
|
|
<P>
|
|
<SMALL CLASS="SMALL">number <SPAN CLASS="MATH"><IMG
|
|
WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
|
SRC="img84.png"
|
|
ALT="$\ge 0$"></SPAN>
|
|
</SMALL></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=102><SMALL CLASS="SMALL"> 1
|
|
</SMALL></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=184><SMALL CLASS="SMALL"> Number of overlap layers, for Additive Schwarz only. </SMALL></TD>
|
|
</TR>
|
|
</TABLE></DIV>
|
|
</TD></TR>
|
|
</TABLE>
|
|
</DIV><P></P>
|
|
<BR><BIG CLASS="LARGE"><BIG CLASS="LARGE"></BIG></BIG>
|
|
<P>
|
|
<BIG CLASS="LARGE"><BIG CLASS="LARGE"></BIG></BIG>
|
|
<BR><P></P>
|
|
<DIV ALIGN="CENTER"><A NAME="1411"></A>
|
|
<TABLE>
|
|
<CAPTION><STRONG>Table 8:</STRONG>
|
|
Parameters defining the smoother or the details of the one-level preconditioner
|
|
(continued).</CAPTION>
|
|
<TR><TD>
|
|
<DIV ALIGN="CENTER">
|
|
<TABLE CELLPADDING=3 BORDER="1" ALIGN="CENTER">
|
|
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=85><SMALL CLASS="SMALL">
|
|
<code>what</code> </SMALL></TD>
|
|
<TD ALIGN="LEFT"><SMALL CLASS="SMALL"> <SMALL>DATA TYPE</SMALL> </SMALL></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=71><SMALL CLASS="SMALL"> <code>val</code> </SMALL></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=62><SMALL CLASS="SMALL"> <SMALL>DEFAULT</SMALL> </SMALL></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=201><SMALL CLASS="SMALL">
|
|
<SMALL>COMMENTS</SMALL> </SMALL></TD>
|
|
</TR>
|
|
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=85><SMALL CLASS="SMALL">
|
|
<code>'SUB_RESTR'</code> </SMALL></TD>
|
|
<TD ALIGN="LEFT"><SMALL CLASS="SMALL"> <code>character(len=*)</code>
|
|
</SMALL></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=71><SMALL CLASS="SMALL"> <TT>'HALO'</TT> </SMALL>
|
|
<P>
|
|
<SMALL CLASS="SMALL"><TT>'NONE'</TT>
|
|
</SMALL></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=62><SMALL CLASS="SMALL"> <TT>'HALO'</TT>
|
|
</SMALL></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=201><SMALL CLASS="SMALL"> Type of restriction operator, for Additive Schwarz only:
|
|
<TT>HALO</TT> for taking into account the overlap, <TT>NONE</TT>
|
|
for neglecting it. </SMALL>
|
|
<P>
|
|
<SMALL CLASS="SMALL">Note that <TT>HALO</TT> must be chosen for
|
|
the classical Addditive Schwarz smoother and its RAS variant.</SMALL></TD>
|
|
</TR>
|
|
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=85><SMALL CLASS="SMALL">
|
|
<code>'SUB_PROL'</code> </SMALL></TD>
|
|
<TD ALIGN="LEFT"><SMALL CLASS="SMALL"> <code>character(len=*)</code>
|
|
</SMALL></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=71><SMALL CLASS="SMALL"> <TT>'SUM'</TT> </SMALL>
|
|
<P>
|
|
<SMALL CLASS="SMALL"><TT>'NONE'</TT>
|
|
</SMALL></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=62><SMALL CLASS="SMALL"> <TT>'NONE'</TT>
|
|
</SMALL></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=201><SMALL CLASS="SMALL"> Type of prolongation operator, for Additive Schwarz only:
|
|
<TT>SUM</TT> for adding the contributions from the overlap, <TT>NONE</TT>
|
|
for neglecting them. </SMALL>
|
|
<P>
|
|
<SMALL CLASS="SMALL">Note that <TT>SUM</TT> must be chosen for the classical Additive
|
|
Schwarz smoother, and <TT>NONE</TT> for its RAS variant. </SMALL></TD>
|
|
</TR>
|
|
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=85><SMALL CLASS="SMALL">
|
|
<code>'SUB_FILLIN'</code> </SMALL></TD>
|
|
<TD ALIGN="LEFT"><SMALL CLASS="SMALL"> <code>integer</code>
|
|
</SMALL></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=71><SMALL CLASS="SMALL"> Any integer </SMALL>
|
|
<P>
|
|
<SMALL CLASS="SMALL">number <SPAN CLASS="MATH"><IMG
|
|
WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
|
SRC="img84.png"
|
|
ALT="$\ge 0$"></SPAN>
|
|
</SMALL></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=62><SMALL CLASS="SMALL"> 0
|
|
</SMALL></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=201><SMALL CLASS="SMALL"> Fill-in level <SPAN CLASS="MATH"><IMG
|
|
WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
|
SRC="img82.png"
|
|
ALT="$p$"></SPAN> of the incomplete LU factorizations. </SMALL></TD>
|
|
</TR>
|
|
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=85><SMALL CLASS="SMALL">
|
|
<code>'SUB_ILUTHRS'</code> </SMALL></TD>
|
|
<TD ALIGN="LEFT"><SMALL CLASS="SMALL"> <code>real(</code><SPAN CLASS="textit">kind_parameter</SPAN><code>)</code>
|
|
</SMALL></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=71><SMALL CLASS="SMALL"> Any real number <SPAN CLASS="MATH"><IMG
|
|
WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
|
SRC="img84.png"
|
|
ALT="$\ge 0$"></SPAN>
|
|
</SMALL></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=62><SMALL CLASS="SMALL"> 0
|
|
</SMALL></TD>
|
|
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=201><SMALL CLASS="SMALL"> Drop tolerance <SPAN CLASS="MATH"><IMG
|
|
WIDTH="10" HEIGHT="16" ALIGN="BOTTOM" BORDER="0"
|
|
SRC="img85.png"
|
|
ALT="$t$"></SPAN> in the ILU(<SPAN CLASS="MATH"><IMG
|
|
WIDTH="27" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
|
SRC="img83.png"
|
|
ALT="$p,t$"></SPAN>) factorization. </SMALL></TD>
|
|
</TR>
|
|
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=85><SMALL CLASS="SMALL"> </SMALL></TD>
|
|
<TD></TD>
|
|
<TD></TD>
|
|
<TD></TD>
|
|
<TD></TD>
|
|
</TR>
|
|
</TABLE></DIV>
|
|
</TD></TR>
|
|
</TABLE>
|
|
</DIV><P></P>
|
|
<BR><BIG CLASS="LARGE"><BIG CLASS="LARGE"></BIG></BIG>
|
|
<P>
|
|
<BIG CLASS="LARGE"><BIG CLASS="LARGE"></BIG></BIG>
|
|
<P>
|
|
<BIG CLASS="LARGE"><BIG CLASS="LARGE"></BIG></BIG>
|
|
<DIV CLASS="navigation"><HR>
|
|
<!--Navigation Panel-->
|
|
<A NAME="tex2html344"
|
|
HREF="node21.html">
|
|
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
|
<A NAME="tex2html340"
|
|
HREF="node18.html">
|
|
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
|
<A NAME="tex2html334"
|
|
HREF="node19.html">
|
|
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
|
<A NAME="tex2html342"
|
|
HREF="node2.html">
|
|
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
|
<BR>
|
|
<B> Next:</B> <A NAME="tex2html345"
|
|
HREF="node21.html">Method hierarchy_build</A>
|
|
<B> Up:</B> <A NAME="tex2html341"
|
|
HREF="node18.html">User Interface</A>
|
|
<B> Previous:</B> <A NAME="tex2html335"
|
|
HREF="node19.html">Method init</A>
|
|
<B> <A NAME="tex2html343"
|
|
HREF="node2.html">Contents</A></B> </DIV>
|
|
<!--End of Navigation Panel-->
|
|
|
|
</BODY>
|
|
</HTML>
|