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.
1697 lines
96 KiB
HTML
1697 lines
96 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
|
"http://www.w3.org/TR/html4/loose.dtd">
|
|
<html >
|
|
<head><title>Method set</title>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
<meta name="generator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
|
<meta name="originator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
|
<!-- html,3 -->
|
|
<meta name="src" content="userhtml.tex">
|
|
<link rel="stylesheet" type="text/css" href="userhtml.css">
|
|
</head><body
|
|
>
|
|
<!--l. 79--><div class="crosslinks"><p class="noindent"><span
|
|
class="cmbx-12">[</span><a
|
|
href="userhtmlsu12.html" ><span
|
|
class="cmbx-12">next</span></a><span
|
|
class="cmbx-12">] [</span><a
|
|
href="userhtmlsu10.html" ><span
|
|
class="cmbx-12">prev</span></a><span
|
|
class="cmbx-12">] [</span><a
|
|
href="userhtmlsu10.html#tailuserhtmlsu10.html" ><span
|
|
class="cmbx-12">prev-tail</span></a><span
|
|
class="cmbx-12">] [</span><a
|
|
href="#tailuserhtmlsu11.html"><span
|
|
class="cmbx-12">tail</span></a><span
|
|
class="cmbx-12">] [</span><a
|
|
href="userhtmlse6.html#userhtmlsu11.html" ><span
|
|
class="cmbx-12">up</span></a><span
|
|
class="cmbx-12">] </span></p></div>
|
|
<h4 class="subsectionHead"><span class="titlemark"><span
|
|
class="cmbx-12">6.2 </span></span> <a
|
|
id="x21-200006.2"></a><span
|
|
class="cmbx-12">Method set</span></h4>
|
|
<div class="center"
|
|
>
|
|
<!--l. 81--><p class="noindent" >
|
|
<!--l. 82--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-12">call</span><span
|
|
class="cmtt-12"> p%set(what,val,info</span><span
|
|
class="cmtt-12"> [,ilev,</span><span
|
|
class="cmtt-12"> ilmax,</span><span
|
|
class="cmtt-12"> pos,</span><span
|
|
class="cmtt-12"> idx])</span></span></span></div>
|
|
<!--l. 85--><p class="noindent" ><span
|
|
class="cmbx-12">This method sets the parameters defining the preconditioner </span><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-12">p</span></span></span><span
|
|
class="cmbx-12">. More</span>
|
|
<span
|
|
class="cmbx-12">precisely, the parameter identified by </span><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-12">what</span></span></span> <span
|
|
class="cmbx-12">is assigned the value contained in</span>
|
|
<span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-12">val</span></span></span><span
|
|
class="cmbx-12">.</span>
|
|
<!--l. 90--><p class="noindent" ><span
|
|
class="cmbx-12">Arguments</span>
|
|
|
|
|
|
|
|
<div class="tabular"> <table id="TBL-3" class="tabular"
|
|
cellspacing="0" cellpadding="0"
|
|
><colgroup id="TBL-3-1g"><col
|
|
id="TBL-3-1"><col
|
|
id="TBL-3-2"></colgroup><tr
|
|
style="vertical-align:baseline;" id="TBL-3-1-"><td style="white-space:wrap; text-align:left;" id="TBL-3-1-1"
|
|
class="td11"><!--l. 93--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-12">what</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-3-1-2"
|
|
class="td11"><!--l. 93--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-12">character(len=*)</span></span></span><span
|
|
class="cmbx-12">.</span> </td>
|
|
</tr><tr
|
|
style="vertical-align:baseline;" id="TBL-3-2-"><td style="white-space:wrap; text-align:left;" id="TBL-3-2-1"
|
|
class="td11"><!--l. 94--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-3-2-2"
|
|
class="td11"><!--l. 94--><p class="noindent" ><span
|
|
class="cmbx-12">The parameter to be set. It can be specified through its</span>
|
|
<span
|
|
class="cmbx-12">name; the string is case-insensitive. See Tables</span><span
|
|
class="cmbx-12"> </span><a
|
|
href="#x21-200092"><span
|
|
class="cmbx-12">2</span><!--tex4ht:ref: tab:p_cycle --></a><span
|
|
class="cmbx-12">-</span><a
|
|
href="#x21-200158"><span
|
|
class="cmbx-12">8</span><!--tex4ht:ref: tab:p_smoother_1 --></a><span
|
|
class="cmbx-12">.</span> </td>
|
|
</tr><tr
|
|
style="vertical-align:baseline;" id="TBL-3-3-"><td style="white-space:wrap; text-align:left;" id="TBL-3-3-1"
|
|
class="td11"><!--l. 97--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-12">val</span><span
|
|
class="cmtt-12"> </span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-3-3-2"
|
|
class="td11"><!--l. 97--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-12">integer</span></span></span> <span
|
|
class="cmbxti-10x-x-120">or </span><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-12">character(len=*)</span></span></span> <span
|
|
class="cmbxti-10x-x-120">or </span><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-12">real(psb_spk_)</span></span></span> <span
|
|
class="cmbxti-10x-x-120">or</span>
|
|
<span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-12">real(psb_dpk_)</span></span></span><span
|
|
class="cmbx-12">, </span><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-12">intent(in)</span></span></span><span
|
|
class="cmbx-12">.</span> </td>
|
|
</tr><tr
|
|
style="vertical-align:baseline;" id="TBL-3-4-"><td style="white-space:wrap; text-align:left;" id="TBL-3-4-1"
|
|
class="td11"><!--l. 100--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-3-4-2"
|
|
class="td11"><!--l. 100--><p class="noindent" ><span
|
|
class="cmbx-12">The value of the parameter to be set. The list of allowed</span>
|
|
<span
|
|
class="cmbx-12">values and the corresponding data types is given in</span>
|
|
<span
|
|
class="cmbx-12">Tables</span><span
|
|
class="cmbx-12"> </span><a
|
|
href="#x21-200092"><span
|
|
class="cmbx-12">2</span><!--tex4ht:ref: tab:p_cycle --></a><span
|
|
class="cmbx-12">-</span><a
|
|
href="#x21-200158"><span
|
|
class="cmbx-12">8</span><!--tex4ht:ref: tab:p_smoother_1 --></a><span
|
|
class="cmbx-12">. When the value is of type </span><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-12">character(len=*)</span></span></span><span
|
|
class="cmbx-12">, it</span>
|
|
<span
|
|
class="cmbx-12">is also treated as case insensitive.</span> </td>
|
|
</tr><tr
|
|
style="vertical-align:baseline;" id="TBL-3-5-"><td style="white-space:wrap; text-align:left;" id="TBL-3-5-1"
|
|
class="td11"><!--l. 105--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-12">info</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-3-5-2"
|
|
class="td11"><!--l. 105--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-12">integer,</span><span
|
|
class="cmtt-12"> intent(out)</span></span></span><span
|
|
class="cmbx-12">.</span> </td>
|
|
</tr><tr
|
|
style="vertical-align:baseline;" id="TBL-3-6-"><td style="white-space:wrap; text-align:left;" id="TBL-3-6-1"
|
|
class="td11"><!--l. 106--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-3-6-2"
|
|
class="td11"><!--l. 106--><p class="noindent" ><span
|
|
class="cmbx-12">Error code. If no error, 0 is returned. See Section</span><span
|
|
class="cmbx-12"> </span><a
|
|
href="userhtmlse8.html#x30-340008"><span
|
|
class="cmbx-12">8</span><!--tex4ht:ref: sec:errors --></a> <span
|
|
class="cmbx-12">for</span>
|
|
<span
|
|
class="cmbx-12">details.</span> </td>
|
|
</tr><tr
|
|
style="vertical-align:baseline;" id="TBL-3-7-"><td style="white-space:wrap; text-align:left;" id="TBL-3-7-1"
|
|
class="td11"><!--l. 108--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-12">ilev</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-3-7-2"
|
|
class="td11"><!--l. 108--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-12">integer,</span><span
|
|
class="cmtt-12"> optional,</span><span
|
|
class="cmtt-12"> intent(in)</span></span></span><span
|
|
class="cmbx-12">.</span> </td>
|
|
</tr><tr
|
|
style="vertical-align:baseline;" id="TBL-3-8-"><td style="white-space:wrap; text-align:left;" id="TBL-3-8-1"
|
|
class="td11"><!--l. 109--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-3-8-2"
|
|
class="td11"><!--l. 109--><p class="noindent" ><span
|
|
class="cmbx-12">For the multilevel preconditioner, the level at which the</span>
|
|
<span
|
|
class="cmbx-12">preconditioner parameter has to be set. The levels are</span>
|
|
<span
|
|
class="cmbx-12">numbered in increasing order starting from the finest one,</span>
|
|
<span
|
|
class="cmbx-12">i.e., level 1 is the finest level. If </span><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-12">ilev</span></span></span> <span
|
|
class="cmbx-12">is not present, the</span>
|
|
<span
|
|
class="cmbx-12">parameter identified by </span><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-12">what</span></span></span> <span
|
|
class="cmbx-12">is set at all the appropriate</span>
|
|
<span
|
|
class="cmbx-12">levels (see Tables</span><span
|
|
class="cmbx-12"> </span><a
|
|
href="#x21-200092"><span
|
|
class="cmbx-12">2</span><!--tex4ht:ref: tab:p_cycle --></a><span
|
|
class="cmbx-12">-</span><a
|
|
href="#x21-200158"><span
|
|
class="cmbx-12">8</span><!--tex4ht:ref: tab:p_smoother_1 --></a><span
|
|
class="cmbx-12">).</span> </td>
|
|
</tr><tr
|
|
style="vertical-align:baseline;" id="TBL-3-9-"><td style="white-space:wrap; text-align:left;" id="TBL-3-9-1"
|
|
class="td11"><!--l. 116--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-12">ilmax</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-3-9-2"
|
|
class="td11"><!--l. 116--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-12">integer,</span><span
|
|
class="cmtt-12"> optional,</span><span
|
|
class="cmtt-12"> intent(in)</span></span></span><span
|
|
class="cmbx-12">.</span> </td>
|
|
</tr><tr
|
|
style="vertical-align:baseline;" id="TBL-3-10-"><td style="white-space:wrap; text-align:left;" id="TBL-3-10-1"
|
|
class="td11"><!--l. 117--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-3-10-2"
|
|
class="td11"><!--l. 117--><p class="noindent" ><span
|
|
class="cmbx-12">For the multilevel preconditioner, when both </span><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-12">ilev</span></span></span> <span
|
|
class="cmbx-12">and</span>
|
|
<span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-12">ilmax</span></span></span> <span
|
|
class="cmbx-12">are present, the settings are applied at all levels</span>
|
|
<span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-12">ilev:ilmax</span></span></span><span
|
|
class="cmbx-12">. When </span><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-12">ilev</span></span></span> <span
|
|
class="cmbx-12">is present but </span><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-12">ilmax</span></span></span> <span
|
|
class="cmbx-12">is not, then the</span>
|
|
<span
|
|
class="cmbx-12">default is </span><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-12">ilmax=ilev</span></span></span><span
|
|
class="cmbx-12">. The levels are numbered in increasing</span>
|
|
<span
|
|
class="cmbx-12">order starting from the finest one, i.e., level 1 is the finest</span>
|
|
<span
|
|
class="cmbx-12">level.</span> </td>
|
|
</tr><tr
|
|
style="vertical-align:baseline;" id="TBL-3-11-"><td style="white-space:wrap; text-align:left;" id="TBL-3-11-1"
|
|
class="td11"><!--l. 124--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-12">pos</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-3-11-2"
|
|
class="td11"><!--l. 124--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-12">charater(len=*),</span><span
|
|
class="cmtt-12"> optional,</span><span
|
|
class="cmtt-12"> intent(in)</span></span></span><span
|
|
class="cmbx-12">.</span> </td>
|
|
</tr><tr
|
|
style="vertical-align:baseline;" id="TBL-3-12-"><td style="white-space:wrap; text-align:left;" id="TBL-3-12-1"
|
|
class="td11"><!--l. 125--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-3-12-2"
|
|
class="td11"><!--l. 125--><p class="noindent" ><span
|
|
class="cmbx-12">Whether the other arguments apply only to the</span>
|
|
<span
|
|
class="cmbx-12">pre-smoother (</span><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-12">’PRE’</span></span></span><span
|
|
class="cmbx-12">) or to the post-smoother (</span><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-12">’POST’</span></span></span><span
|
|
class="cmbx-12">).</span>
|
|
<span
|
|
class="cmbx-12">If </span><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-12">pos</span></span></span> <span
|
|
class="cmbx-12">is not present, the other arguments are applied</span>
|
|
<span
|
|
class="cmbx-12">to both smoothers. If the preconditioner is one-level or</span>
|
|
<span
|
|
class="cmbx-12">the parameter identified by </span><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-12">what</span></span></span> <span
|
|
class="cmbx-12">does not concern the</span>
|
|
<span
|
|
class="cmbx-12">smoothers, </span><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-12">pos</span></span></span> <span
|
|
class="cmbx-12">is ignored.</span> </td>
|
|
</tr><tr
|
|
style="vertical-align:baseline;" id="TBL-3-13-"><td style="white-space:wrap; text-align:left;" id="TBL-3-13-1"
|
|
class="td11"><!--l. 130--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-12">idx</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-3-13-2"
|
|
class="td11"><!--l. 130--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-12">integer,</span><span
|
|
class="cmtt-12"> optional,</span><span
|
|
class="cmtt-12"> intent(in)</span></span></span><span
|
|
class="cmbx-12">.</span> </td>
|
|
</tr><tr
|
|
style="vertical-align:baseline;" id="TBL-3-14-"><td style="white-space:wrap; text-align:left;" id="TBL-3-14-1"
|
|
class="td11"><!--l. 131--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-3-14-2"
|
|
class="td11"><!--l. 131--><p class="noindent" ><span
|
|
class="cmbx-12">An auxiliary input argument that can be passed to the</span>
|
|
<span
|
|
class="cmbx-12">underlying objects.</span> </td>
|
|
</tr></table></div>
|
|
<!--l. 136--><p class="indent" > <span
|
|
class="cmbx-12">For compatibility with the previous versions of MLD2P4, this method</span>
|
|
<span
|
|
class="cmbx-12">can be also invoked as follows:</span>
|
|
<div class="center"
|
|
>
|
|
<!--l. 139--><p class="noindent" >
|
|
<!--l. 140--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-12">call</span><span
|
|
class="cmtt-12"> amg_precset(p,what,val,info)</span></span></span></div>
|
|
<!--l. 143--><p class="noindent" ><span
|
|
class="cmbx-12">However, in this case the optional arguments </span><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-12">ilev</span></span></span><span
|
|
class="cmbx-12">, </span><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-12">ilmax</span></span></span><span
|
|
class="cmbx-12">, </span><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-12">pos</span></span></span> <span
|
|
class="cmbx-12">and </span><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-12">idx</span></span></span>
|
|
|
|
|
|
|
|
<span
|
|
class="cmbx-12">cannot be used. </span><br
|
|
class="newline" />
|
|
<!--l. 148--><p class="indent" > <span
|
|
class="cmbx-12">A variety of preconditioners can be obtained by a suitable setting of the</span>
|
|
<span
|
|
class="cmbx-12">preconditioner parameters. These parameters can be logically divided into</span>
|
|
<span
|
|
class="cmbx-12">four groups, i.e., parameters defining</span>
|
|
<ol class="enumerate1" >
|
|
<li
|
|
class="enumerate" id="x21-20002x1"><span
|
|
class="cmbx-12">the type of multilevel cycle and how many cycles must be applied;</span>
|
|
</li>
|
|
<li
|
|
class="enumerate" id="x21-20004x2"><span
|
|
class="cmbx-12">the aggregation algorithm;</span>
|
|
</li>
|
|
<li
|
|
class="enumerate" id="x21-20006x3"><span
|
|
class="cmbx-12">the coarse-space correction at the coarsest level (for multilevel</span>
|
|
<span
|
|
class="cmbx-12">preconditioners only);</span>
|
|
</li>
|
|
<li
|
|
class="enumerate" id="x21-20008x4"><span
|
|
class="cmbx-12">the smoother of the multilevel preconditioners, or the one-level</span>
|
|
<span
|
|
class="cmbx-12">preconditioner.</span>
|
|
</li></ol>
|
|
<!--l. 160--><p class="noindent" ><span
|
|
class="cmbx-12">A list of the parameters that can be set, along with their allowed and default</span>
|
|
<span
|
|
class="cmbx-12">values, is given in Tables</span><span
|
|
class="cmbx-12"> </span><a
|
|
href="#x21-200092"><span
|
|
class="cmbx-12">2</span><!--tex4ht:ref: tab:p_cycle --></a><span
|
|
class="cmbx-12">-</span><a
|
|
href="#x21-200158"><span
|
|
class="cmbx-12">8</span><!--tex4ht:ref: tab:p_smoother_1 --></a><span
|
|
class="cmbx-12">. For a description of the meaning of the</span>
|
|
<span
|
|
class="cmbx-12">parameters, please refer also to Section</span><span
|
|
class="cmbx-12"> </span><a
|
|
href="userhtmlse4.html#x13-120004"><span
|
|
class="cmbx-12">4</span><!--tex4ht:ref: sec:background --></a><span
|
|
class="cmbx-12">. </span><br
|
|
class="newline" />
|
|
<!--l. 165--><p class="indent" > <span
|
|
class="cmbx-12">Remark 2. A smoother is usually obtained by combining two objects: a</span>
|
|
<span
|
|
class="cmbx-12">smoother (</span><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-12">SMOOTHER_TYPE</span></span></span><span
|
|
class="cmbx-12">) and a local solver (</span><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-12">SUB_SOLVE</span></span></span><span
|
|
class="cmbx-12">), as specified in</span>
|
|
<span
|
|
class="cmbx-12">Tables</span><span
|
|
class="cmbx-12"> </span><a
|
|
href="#x21-200147"><span
|
|
class="cmbx-12">7</span><!--tex4ht:ref: tab:p_smoother --></a><span
|
|
class="cmbx-12">-</span><a
|
|
href="#x21-200158"><span
|
|
class="cmbx-12">8</span><!--tex4ht:ref: tab:p_smoother_1 --></a><span
|
|
class="cmbx-12">. For example, the block-Jacobi smoother using ILU(0) on the</span>
|
|
<span
|
|
class="cmbx-12">blocks is obtained by combining the block-Jacobi smoother object with the</span>
|
|
<span
|
|
class="cmbx-12">ILU(0) solver object. Similarly, the hybrid Gauss-Seidel smoother (see Note</span>
|
|
<span
|
|
class="cmbx-12">in Table</span><span
|
|
class="cmbx-12"> </span><a
|
|
href="#x21-200147"><span
|
|
class="cmbx-12">7</span><!--tex4ht:ref: tab:p_smoother --></a><span
|
|
class="cmbx-12">) is obtained by combining the block-Jacobi smoother object with</span>
|
|
<span
|
|
class="cmbx-12">a single sweep of the Gauss-Seidel solver object, while the point-Jacobi</span>
|
|
<span
|
|
class="cmbx-12">smoother is the result of combining the block-Jacobi smoother object</span>
|
|
<span
|
|
class="cmbx-12">with a single sweep of the pointwise-Jacobi solver object. However,</span>
|
|
<span
|
|
class="cmbx-12">for simplicity, shortcuts are provided to set point-Jacobi, hybrid</span>
|
|
<span
|
|
class="cmbx-12">(forward) Gauss-Seidel, and hybrid backward Gauss-Seidel, i.e., the</span>
|
|
<span
|
|
class="cmbx-12">previous smoothers can be defined by setting only </span><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-12">SMOOTHER_TYPE</span></span></span> <span
|
|
class="cmbx-12">to</span>
|
|
<span
|
|
class="cmbx-12">appropriate values (see Tables</span><span
|
|
class="cmbx-12"> </span><a
|
|
href="#x21-200147"><span
|
|
class="cmbx-12">7</span><!--tex4ht:ref: tab:p_smoother --></a><span
|
|
class="cmbx-12">), i.e., without setting </span><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-12">SUB_SOLVE</span></span></span>
|
|
<span
|
|
class="cmbx-12">too.</span>
|
|
<!--l. 182--><p class="indent" > <span
|
|
class="cmbx-12">The smoother and solver objects are arranged in a hierarchical manner.</span>
|
|
<span
|
|
class="cmbx-12">When specifying a smoother object, its parameters, including the</span>
|
|
<span
|
|
class="cmbx-12">local solver, are set to their default values, and when a solver object</span>
|
|
<span
|
|
class="cmbx-12">is specified, its defaults are also set, overriding in both cases any</span>
|
|
<span
|
|
class="cmbx-12">previous settings even if explicitly specified. Therefore if the user sets</span>
|
|
|
|
|
|
|
|
<span
|
|
class="cmbx-12">a smoother, and wishes to use a solver different from the default</span>
|
|
<span
|
|
class="cmbx-12">one, the call to set the solver must come </span><span
|
|
class="cmbxti-10x-x-120">after </span><span
|
|
class="cmbx-12">the call to set the</span>
|
|
<span
|
|
class="cmbx-12">smoother.</span>
|
|
<!--l. 191--><p class="indent" > <span
|
|
class="cmbx-12">Similar considerations apply to the point-Jacobi, Gauss-Seidel and</span>
|
|
<span
|
|
class="cmbx-12">block-Jacobi coarsest-level solvers, and shortcuts are available in this case</span>
|
|
<span
|
|
class="cmbx-12">too (see Table</span><span
|
|
class="cmbx-12"> </span><a
|
|
href="#x21-200125"><span
|
|
class="cmbx-12">5</span><!--tex4ht:ref: tab:p_coarse --></a><span
|
|
class="cmbx-12">). </span><br
|
|
class="newline" />
|
|
<!--l. 195--><p class="indent" > <span
|
|
class="cmbx-12">Remark 3. In general, a coarsest-level solver cannot be used with both</span>
|
|
<span
|
|
class="cmbx-12">the replicated and distributed coarsest-matrix layout; therefore, setting the</span>
|
|
<span
|
|
class="cmbx-12">solver after the layout may change the layout. Similarly, setting the layout</span>
|
|
<span
|
|
class="cmbx-12">after the solver may change the solver.</span>
|
|
<!--l. 200--><p class="indent" > <span
|
|
class="cmbx-12">More precisely, UMFPACK and SuperLU require the coarsest-level</span>
|
|
<span
|
|
class="cmbx-12">matrix to be replicated, while SuperLU</span><span
|
|
class="cmbx-12">_Dist requires it to be distributed.</span>
|
|
<span
|
|
class="cmbx-12">In these cases, setting the coarsest-level solver implies that the layout is</span>
|
|
<span
|
|
class="cmbx-12">redefined according to the solver, ovverriding any previous settings.</span>
|
|
<span
|
|
class="cmbx-12">MUMPS, point-Jacobi, hybrid Gauss-Seidel and block-Jacobi can be</span>
|
|
<span
|
|
class="cmbx-12">applied to replicated and distributed matrices, thus their choice does not</span>
|
|
<span
|
|
class="cmbx-12">modify any previously specified layout. It is worth noting that, when the</span>
|
|
<span
|
|
class="cmbx-12">matrix is replicated, the point-Jacobi, hybrid Gauss-Seidel and block-Jacobi</span>
|
|
<span
|
|
class="cmbx-12">solvers reduce to the corresponding local solver objects (see Remark</span><span
|
|
class="cmbx-12"> 2).</span>
|
|
<span
|
|
class="cmbx-12">For the point-Jacobi and Gauss-Seidel solvers, these objects correspond to a</span>
|
|
<span
|
|
class="cmbxti-10x-x-120">single </span><span
|
|
class="cmbx-12">point-Jacobi sweep and a </span><span
|
|
class="cmbxti-10x-x-120">single </span><span
|
|
class="cmbx-12">Gauss-Seidel sweep, respectively,</span>
|
|
<span
|
|
class="cmbx-12">which are very poor solvers.</span>
|
|
<!--l. 215--><p class="indent" > <span
|
|
class="cmbx-12">On the other hand, the distributed layout can be used with any solver</span>
|
|
<span
|
|
class="cmbx-12">but UMFPACK and SuperLU; therefore, if any of these two solvers</span>
|
|
<span
|
|
class="cmbx-12">has already been selected, the coarsest-level solver is changed to</span>
|
|
<span
|
|
class="cmbx-12">block-Jacobi, with the previously chosen solver applied to the local</span>
|
|
<span
|
|
class="cmbx-12">blocks. Likewise, the replicated layout can be used with any solver</span>
|
|
<span
|
|
class="cmbx-12">but SuperLu</span><span
|
|
class="cmbx-12">_Dist; therefore, if SuperLu</span><span
|
|
class="cmbx-12">_Dist has been previously</span>
|
|
<span
|
|
class="cmbx-12">set, the coarsest-level solver is changed to the default sequential</span>
|
|
<span
|
|
class="cmbx-12">solver.</span>
|
|
<!--l. 223--><p class="indent" > <span
|
|
class="cmbx-12">Remark 4. The argument </span><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-12">idx</span></span></span> <span
|
|
class="cmbx-12">can be used to allow finer control for those</span>
|
|
<span
|
|
class="cmbx-12">solvers; for instance, by specifying the keyword </span><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-12">MUMPS_IPAR_ENTRY</span></span></span> <span
|
|
class="cmbx-12">and an</span>
|
|
<span
|
|
class="cmbx-12">appropriate value for </span><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-12">idx</span></span></span><span
|
|
class="cmbx-12">, it is possible to set any entry in the MUMPS</span>
|
|
<span
|
|
class="cmbx-12">integer control array. See also Sec.</span><span
|
|
class="cmbx-12"> </span><a
|
|
href="userhtmlse7.html#x29-330007"><span
|
|
class="cmbx-12">7</span><!--tex4ht:ref: sec:adding --></a><span
|
|
class="cmbx-12">.</span>
|
|
<div class="table">
|
|
|
|
|
|
|
|
<!--l. 234--><p class="indent" > <a
|
|
id="x21-200092"></a><hr class="float"><div class="float"
|
|
>
|
|
|
|
|
|
|
|
<div class="center"
|
|
>
|
|
<!--l. 234--><p class="noindent" >
|
|
<div class="tabular"> <table id="TBL-4" class="tabular"
|
|
cellspacing="0" cellpadding="0"
|
|
><colgroup id="TBL-4-1g"><col
|
|
id="TBL-4-1"></colgroup><colgroup id="TBL-4-2g"><col
|
|
id="TBL-4-2"></colgroup><colgroup id="TBL-4-3g"><col
|
|
id="TBL-4-3"></colgroup><colgroup id="TBL-4-4g"><col
|
|
id="TBL-4-4"></colgroup><colgroup id="TBL-4-5g"><col
|
|
id="TBL-4-5"></colgroup><tr
|
|
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
|
|
style="vertical-align:baseline;" id="TBL-4-1-"><td style="white-space:wrap; text-align:left;" id="TBL-4-1-1"
|
|
class="td11"><!--l. 238--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">what</span></span></span> </td><td style="white-space:nowrap; text-align:left;" id="TBL-4-1-2"
|
|
class="td11"><span
|
|
class="cmcsc-10x-x-109"><span
|
|
class="small-caps">d</span><span
|
|
class="small-caps">a</span><span
|
|
class="small-caps">t</span><span
|
|
class="small-caps">a</span> <span
|
|
class="small-caps">t</span><span
|
|
class="small-caps">y</span><span
|
|
class="small-caps">p</span><span
|
|
class="small-caps">e</span> </span></td><td style="white-space:wrap; text-align:left;" id="TBL-4-1-3"
|
|
class="td11"><!--l. 238--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">val</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-4-1-4"
|
|
class="td11"><!--l. 238--><p class="noindent" ><span
|
|
class="cmcsc-10x-x-109"><span
|
|
class="small-caps">d</span><span
|
|
class="small-caps">e</span><span
|
|
class="small-caps">f</span><span
|
|
class="small-caps">a</span><span
|
|
class="small-caps">u</span><span
|
|
class="small-caps">l</span><span
|
|
class="small-caps">t</span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-4-1-5"
|
|
class="td11"><!--l. 239--><p class="noindent" ><span
|
|
class="cmcsc-10x-x-109"><span
|
|
class="small-caps">c</span><span
|
|
class="small-caps">o</span><span
|
|
class="small-caps">m</span><span
|
|
class="small-caps">m</span><span
|
|
class="small-caps">e</span><span
|
|
class="small-caps">n</span><span
|
|
class="small-caps">t</span><span
|
|
class="small-caps">s</span></span> </td></tr><tr
|
|
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
|
|
style="vertical-align:baseline;" id="TBL-4-2-"><td style="white-space:wrap; text-align:left;" id="TBL-4-2-1"
|
|
class="td11"><!--l. 240--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">’ML_CYCLE’</span></span></span> </td><td style="white-space:nowrap; text-align:left;" id="TBL-4-2-2"
|
|
class="td11"><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">character(len=*)</span></span></span></td><td style="white-space:wrap; text-align:left;" id="TBL-4-2-3"
|
|
class="td11"><!--l. 241--><p class="noindent" ><span
|
|
class="cmtt-10x-x-109">’VCYCLE’</span>
|
|
<!--l. 241--><p class="noindent" ><span
|
|
class="cmtt-10x-x-109">’WCYCLE’</span>
|
|
<!--l. 241--><p class="noindent" ><span
|
|
class="cmtt-10x-x-109">’KCYCLE’</span>
|
|
<!--l. 242--><p class="noindent" ><span
|
|
class="cmtt-10x-x-109">’MULT’</span>
|
|
<!--l. 242--><p class="noindent" ><span
|
|
class="cmtt-10x-x-109">’ADD’</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-4-2-4"
|
|
class="td11"><!--l. 243--><p class="noindent" ><span
|
|
class="cmtt-10x-x-109">’VCYCLE’</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-4-2-5"
|
|
class="td11"><!--l. 244--><p class="noindent" >Multilevel cycle: V-cycle, W-cycle, K-cycle,
|
|
hybrid Multiplicative Schwarz, and
|
|
Additive Schwarz.
|
|
<!--l. 246--><p class="noindent" >Note that hybrid Multiplicative Schwarz
|
|
is equivalent to V-cycle and is included
|
|
for compatibility with previous versions of
|
|
MLD2P4. </td>
|
|
</tr><tr
|
|
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
|
|
style="vertical-align:baseline;" id="TBL-4-3-"><td style="white-space:wrap; text-align:left;" id="TBL-4-3-1"
|
|
class="td11"><!--l. 248--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">’OUTER_SWEEPS’</span></span></span> </td><td style="white-space:nowrap; text-align:left;" id="TBL-4-3-2"
|
|
class="td11"><span
|
|
class="cmtt-10x-x-109">integer </span></td><td style="white-space:wrap; text-align:left;" id="TBL-4-3-3"
|
|
class="td11"><!--l. 249--><p class="noindent" >Any integer
|
|
<!--l. 249--><p class="noindent" >number <span
|
|
class="cmsy-10x-x-109">≥ </span>1 </td><td style="white-space:wrap; text-align:left;" id="TBL-4-3-4"
|
|
class="td11"><!--l. 249--><p class="noindent" >1 </td><td style="white-space:wrap; text-align:left;" id="TBL-4-3-5"
|
|
class="td11"><!--l. 250--><p class="noindent" >Number of multilevel cycles. </td>
|
|
</tr><tr
|
|
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
|
|
style="vertical-align:baseline;" id="TBL-4-4-"><td style="white-space:wrap; text-align:left;" id="TBL-4-4-1"
|
|
class="td11"> </td></tr></table></div></div>
|
|
<br /> <div class="caption"
|
|
><span class="id">Table 2: </span><span
|
|
class="content">Parameters defining the multilevel cycle and the number of cycles to be
|
|
applied. </span></div><!--tex4ht:label?: x21-200092 -->
|
|
|
|
|
|
|
|
</div><hr class="endfloat" />
|
|
</div>
|
|
<div class="table">
|
|
|
|
|
|
|
|
<!--l. 260--><p class="indent" > <a
|
|
id="x21-200103"></a><hr class="float"><div class="float"
|
|
>
|
|
|
|
|
|
|
|
<div class="center"
|
|
>
|
|
<!--l. 260--><p class="noindent" >
|
|
<div class="tabular"> <table id="TBL-5" class="tabular"
|
|
cellspacing="0" cellpadding="0"
|
|
><colgroup id="TBL-5-1g"><col
|
|
id="TBL-5-1"></colgroup><colgroup id="TBL-5-2g"><col
|
|
id="TBL-5-2"></colgroup><colgroup id="TBL-5-3g"><col
|
|
id="TBL-5-3"></colgroup><colgroup id="TBL-5-4g"><col
|
|
id="TBL-5-4"></colgroup><colgroup id="TBL-5-5g"><col
|
|
id="TBL-5-5"></colgroup><tr
|
|
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
|
|
style="vertical-align:baseline;" id="TBL-5-1-"><td style="white-space:wrap; text-align:left;" id="TBL-5-1-1"
|
|
class="td11"><!--l. 264--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">what</span></span></span> </td><td style="white-space:nowrap; text-align:left;" id="TBL-5-1-2"
|
|
class="td11"><span
|
|
class="cmcsc-10x-x-109"><span
|
|
class="small-caps">d</span><span
|
|
class="small-caps">a</span><span
|
|
class="small-caps">t</span><span
|
|
class="small-caps">a</span> <span
|
|
class="small-caps">t</span><span
|
|
class="small-caps">y</span><span
|
|
class="small-caps">p</span><span
|
|
class="small-caps">e</span> </span></td><td style="white-space:wrap; text-align:left;" id="TBL-5-1-3"
|
|
class="td11"><!--l. 264--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">val</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-5-1-4"
|
|
class="td11"><!--l. 264--><p class="noindent" ><span
|
|
class="cmcsc-10x-x-109"><span
|
|
class="small-caps">d</span><span
|
|
class="small-caps">e</span><span
|
|
class="small-caps">f</span><span
|
|
class="small-caps">a</span><span
|
|
class="small-caps">u</span><span
|
|
class="small-caps">l</span><span
|
|
class="small-caps">t</span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-5-1-5"
|
|
class="td11"><!--l. 265--><p class="noindent" ><span
|
|
class="cmcsc-10x-x-109"><span
|
|
class="small-caps">c</span><span
|
|
class="small-caps">o</span><span
|
|
class="small-caps">m</span><span
|
|
class="small-caps">m</span><span
|
|
class="small-caps">e</span><span
|
|
class="small-caps">n</span><span
|
|
class="small-caps">t</span><span
|
|
class="small-caps">s</span></span> </td>
|
|
</tr><tr
|
|
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
|
|
style="vertical-align:baseline;" id="TBL-5-2-"><td style="white-space:wrap; text-align:left;" id="TBL-5-2-1"
|
|
class="td11"><!--l. 266--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">’MIN_COARSE_SIZE’</span></span></span> </td><td style="white-space:nowrap; text-align:left;" id="TBL-5-2-2"
|
|
class="td11"><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">integer</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-5-2-3"
|
|
class="td11"><!--l. 267--><p class="noindent" >Any number
|
|
<!--l. 267--><p class="noindent" ><span
|
|
class="cmmi-10x-x-109">> </span>0 </td><td style="white-space:wrap; text-align:left;" id="TBL-5-2-4"
|
|
class="td11"><!--l. 268--><p class="noindent" ><span
|
|
class="cmsy-10x-x-109">⌊</span>40<img
|
|
src="userhtml19x.png" alt="√ --
|
|
3 n" class="root" align="middle" ><span
|
|
class="cmsy-10x-x-109">⌋</span>, where <span
|
|
class="cmmi-10x-x-109">n</span>
|
|
is the dimension
|
|
of the matrix at
|
|
the finest level </td><td style="white-space:wrap; text-align:left;" id="TBL-5-2-5"
|
|
class="td11"><!--l. 270--><p class="noindent" >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).
|
|
<!--l. 276--><p class="noindent" > </td>
|
|
</tr><tr
|
|
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
|
|
style="vertical-align:baseline;" id="TBL-5-3-"><td style="white-space:wrap; text-align:left;" id="TBL-5-3-1"
|
|
class="td11"><!--l. 278--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">’MIN_CR_RATIO’</span></span></span> </td><td style="white-space:nowrap; text-align:left;" id="TBL-5-3-2"
|
|
class="td11"><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">real</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-5-3-3"
|
|
class="td11"><!--l. 279--><p class="noindent" >Any number
|
|
<!--l. 279--><p class="noindent" ><span
|
|
class="cmmi-10x-x-109">> </span>1 </td><td style="white-space:wrap; text-align:left;" id="TBL-5-3-4"
|
|
class="td11"><!--l. 280--><p class="noindent" >1.5 </td><td style="white-space:wrap; text-align:left;" id="TBL-5-3-5"
|
|
class="td11"><!--l. 281--><p class="noindent" >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
|
|
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
|
|
style="vertical-align:baseline;" id="TBL-5-4-"><td style="white-space:wrap; text-align:left;" id="TBL-5-4-1"
|
|
class="td11"><!--l. 286--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">’MAX_LEVS’</span></span></span> </td><td style="white-space:nowrap; text-align:left;" id="TBL-5-4-2"
|
|
class="td11"><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">integer</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-5-4-3"
|
|
class="td11"><!--l. 287--><p class="noindent" >Any integer
|
|
<!--l. 287--><p class="noindent" >number <span
|
|
class="cmmi-10x-x-109">> </span>1 </td><td style="white-space:wrap; text-align:left;" id="TBL-5-4-4"
|
|
class="td11"><!--l. 288--><p class="noindent" >20 </td><td style="white-space:wrap; text-align:left;" id="TBL-5-4-5"
|
|
class="td11"><!--l. 289--><p class="noindent" >Maximum number of levels. The
|
|
aggregation stops if the number of levels
|
|
reaches this value (see Note). </td>
|
|
</tr><tr
|
|
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
|
|
style="vertical-align:baseline;" id="TBL-5-5-"><td style="white-space:wrap; text-align:left;" id="TBL-5-5-1"
|
|
class="td11"><!--l. 292--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">’PAR_AGGR_ALG’</span></span></span> </td><td style="white-space:nowrap; text-align:left;" id="TBL-5-5-2"
|
|
class="td11"><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">character(len=*)</span></span></span></td><td style="white-space:wrap; text-align:left;" id="TBL-5-5-3"
|
|
class="td11"><!--l. 293--><p class="noindent" ><span
|
|
class="cmtt-10x-x-109">’DEC’</span>,
|
|
<span
|
|
class="cmtt-10x-x-109">’SYMDEC’</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-5-5-4"
|
|
class="td11"><!--l. 294--><p class="noindent" ><span
|
|
class="cmtt-10x-x-109">’DEC’</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-5-5-5"
|
|
class="td11"><!--l. 295--><p class="noindent" >Parallel aggregation algorithm.
|
|
<!--l. 295--><p class="noindent" >Currently, only the decoupled
|
|
aggregation (<span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">DEC</span></span></span>) is available; the <span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">SYMDEC</span></span></span>
|
|
option applies decoupled aggregation to
|
|
the sparsity pattern of <span
|
|
class="cmmi-10x-x-109">A </span>+ <span
|
|
class="cmmi-10x-x-109">A</span><sup><span
|
|
class="cmmi-8">T</span> </sup>. </td>
|
|
</tr><tr
|
|
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
|
|
style="vertical-align:baseline;" id="TBL-5-6-"><td style="white-space:wrap; text-align:left;" id="TBL-5-6-1"
|
|
class="td11"><!--l. 301--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">’AGGR_TYPE’</span></span></span> </td><td style="white-space:nowrap; text-align:left;" id="TBL-5-6-2"
|
|
class="td11"><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">character(len=*)</span></span></span></td><td style="white-space:wrap; text-align:left;" id="TBL-5-6-3"
|
|
class="td11"><!--l. 302--><p class="noindent" ><span
|
|
class="cmtt-10x-x-109">’SOC1’</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-5-6-4"
|
|
class="td11"><!--l. 303--><p class="noindent" ><span
|
|
class="cmtt-10x-x-109">’SOC1’</span>, <span
|
|
class="cmtt-10x-x-109">’SOC2’</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-5-6-5"
|
|
class="td11"><!--l. 305--><p class="noindent" >Type of aggregation algorithm: currently,
|
|
we implement to measures of strength of
|
|
connection, the one by Vaněk, Mandel
|
|
and Brezina <span class="cite">[<a
|
|
href="userhtmlli4.html#XVANEK_MANDEL_BREZINA">28</a>]</span>, and the one by Gratton
|
|
et al <span class="cite">[<a
|
|
href="userhtmlli4.html#XGrHeJi:16">18</a>]</span>. </td>
|
|
</tr><tr
|
|
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
|
|
style="vertical-align:baseline;" id="TBL-5-7-"><td style="white-space:wrap; text-align:left;" id="TBL-5-7-1"
|
|
class="td11"><!--l. 311--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">’AGGR_PROL’</span></span></span> </td><td style="white-space:nowrap; text-align:left;" id="TBL-5-7-2"
|
|
class="td11"><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">character(len=*)</span></span></span></td><td style="white-space:wrap; text-align:left;" id="TBL-5-7-3"
|
|
class="td11"><!--l. 312--><p class="noindent" ><span
|
|
class="cmtt-10x-x-109">’SMOOTHED’</span>,
|
|
<span
|
|
class="cmtt-10x-x-109">’UNSMOOTHED’</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-5-7-4"
|
|
class="td11"><!--l. 312--><p class="noindent" ><span
|
|
class="cmtt-10x-x-109">’SMOOTHED’</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-5-7-5"
|
|
class="td11"><!--l. 313--><p class="noindent" >Prolongator used by the aggregation
|
|
algorithm: smoothed or unsmoothed (i.e.,
|
|
tentative prolongator). </td>
|
|
</tr><tr
|
|
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
|
|
style="vertical-align:baseline;" id="TBL-5-8-"><td colspan="3" style="white-space:wrap; text-align:left;" id="TBL-5-8-1"
|
|
class="td11"></td><div class="multicolumn" style="white-space:nowrap; text-align:left;"><span
|
|
class="cmbx-10x-x-109">Note. </span>The aggregation algorithm stops when at least one of the following criteria is met: the coarse size threshold, the</div>
|
|
</tr><tr
|
|
style="vertical-align:baseline;" id="TBL-5-9-"><td colspan="3" style="white-space:wrap; text-align:left;" id="TBL-5-9-1"
|
|
class="td11"></td><div class="multicolumn" style="white-space:nowrap; text-align:left;">minimum coarsening ratio, or the maximum number of levels is reached. Therefore, the actual number of levels may be</div>
|
|
</tr><tr
|
|
style="vertical-align:baseline;" id="TBL-5-10-"><td colspan="3" style="white-space:wrap; text-align:left;" id="TBL-5-10-1"
|
|
class="td11"></td><div class="multicolumn" style="white-space:nowrap; text-align:left;">smaller than the specified maximum number of levels. </div>
|
|
</tr><tr
|
|
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
|
|
style="vertical-align:baseline;" id="TBL-5-11-"><td style="white-space:wrap; text-align:left;" id="TBL-5-11-1"
|
|
class="td11"> </td></tr></table></div></div>
|
|
<br /> <div class="caption"
|
|
><span class="id">Table 3: </span><span
|
|
class="content">Parameters defining the aggregation algorithm. </span></div><!--tex4ht:label?: x21-200103 -->
|
|
|
|
|
|
|
|
</div><hr class="endfloat" />
|
|
</div>
|
|
<div class="table">
|
|
|
|
|
|
|
|
<!--l. 331--><p class="indent" > <a
|
|
id="x21-200114"></a><hr class="float"><div class="float"
|
|
>
|
|
|
|
|
|
|
|
<div class="center"
|
|
>
|
|
<!--l. 331--><p class="noindent" >
|
|
<div class="tabular"> <table id="TBL-6" class="tabular"
|
|
cellspacing="0" cellpadding="0"
|
|
><colgroup id="TBL-6-1g"><col
|
|
id="TBL-6-1"></colgroup><colgroup id="TBL-6-2g"><col
|
|
id="TBL-6-2"></colgroup><colgroup id="TBL-6-3g"><col
|
|
id="TBL-6-3"></colgroup><colgroup id="TBL-6-4g"><col
|
|
id="TBL-6-4"></colgroup><colgroup id="TBL-6-5g"><col
|
|
id="TBL-6-5"></colgroup><tr
|
|
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
|
|
style="vertical-align:baseline;" id="TBL-6-1-"><td style="white-space:wrap; text-align:left;" id="TBL-6-1-1"
|
|
class="td11"><!--l. 335--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">what</span></span></span> </td><td style="white-space:nowrap; text-align:left;" id="TBL-6-1-2"
|
|
class="td11"><span
|
|
class="cmcsc-10x-x-109"><span
|
|
class="small-caps">d</span><span
|
|
class="small-caps">a</span><span
|
|
class="small-caps">t</span><span
|
|
class="small-caps">a</span> <span
|
|
class="small-caps">t</span><span
|
|
class="small-caps">y</span><span
|
|
class="small-caps">p</span><span
|
|
class="small-caps">e</span> </span></td><td style="white-space:wrap; text-align:left;" id="TBL-6-1-3"
|
|
class="td11"><!--l. 335--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">val</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-6-1-4"
|
|
class="td11"><!--l. 335--><p class="noindent" ><span
|
|
class="cmcsc-10x-x-109"><span
|
|
class="small-caps">d</span><span
|
|
class="small-caps">e</span><span
|
|
class="small-caps">f</span><span
|
|
class="small-caps">a</span><span
|
|
class="small-caps">u</span><span
|
|
class="small-caps">l</span><span
|
|
class="small-caps">t</span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-6-1-5"
|
|
class="td11"><!--l. 336--><p class="noindent" ><span
|
|
class="cmcsc-10x-x-109"><span
|
|
class="small-caps">c</span><span
|
|
class="small-caps">o</span><span
|
|
class="small-caps">m</span><span
|
|
class="small-caps">m</span><span
|
|
class="small-caps">e</span><span
|
|
class="small-caps">n</span><span
|
|
class="small-caps">t</span><span
|
|
class="small-caps">s</span></span> </td></tr><tr
|
|
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
|
|
style="vertical-align:baseline;" id="TBL-6-2-"><td style="white-space:wrap; text-align:left;" id="TBL-6-2-1"
|
|
class="td11"><!--l. 338--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">’AGGR_ORD’</span></span></span> </td><td style="white-space:nowrap; text-align:left;" id="TBL-6-2-2"
|
|
class="td11"><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">character(len=*)</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-6-2-3"
|
|
class="td11"><!--l. 339--><p class="noindent" ><span
|
|
class="cmtt-10x-x-109">’NATURAL’</span>
|
|
<!--l. 339--><p class="noindent" ><span
|
|
class="cmtt-10x-x-109">’DEGREE’</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-6-2-4"
|
|
class="td11"><!--l. 340--><p class="noindent" ><span
|
|
class="cmtt-10x-x-109">’NATURAL’</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-6-2-5"
|
|
class="td11"><!--l. 341--><p class="noindent" >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
|
|
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
|
|
style="vertical-align:baseline;" id="TBL-6-3-"><td style="white-space:wrap; text-align:left;" id="TBL-6-3-1"
|
|
class="td11"><!--l. 348--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">’AGGR_THRESH’</span></span></span> </td><td style="white-space:nowrap; text-align:left;" id="TBL-6-3-2"
|
|
class="td11"><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">real(</span></span></span><span
|
|
class="cmti-10x-x-109">kind</span><span
|
|
class="cmti-10x-x-109">_parameter</span><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">)</span></span></span></td><td style="white-space:wrap; text-align:left;" id="TBL-6-3-3"
|
|
class="td11"><!--l. 349--><p class="noindent" >Any real
|
|
<!--l. 349--><p class="noindent" >number <span
|
|
class="cmsy-10x-x-109">∈</span>
|
|
[0<span
|
|
class="cmmi-10x-x-109">,</span>1] </td><td style="white-space:wrap; text-align:left;" id="TBL-6-3-4"
|
|
class="td11"><!--l. 350--><p class="noindent" >0.01 </td><td style="white-space:wrap; text-align:left;" id="TBL-6-3-5"
|
|
class="td11"><!--l. 351--><p class="noindent" >The threshold <span
|
|
class="cmmi-10x-x-109">θ </span>in the aggregation
|
|
algorithm, see (<a
|
|
href="userhtmlsu7.html#x15-14007r3">3<!--tex4ht:ref: eq:strongly_coup --></a>) in Section <a
|
|
href="userhtmlsu7.html#x15-140004.2">4.2<!--tex4ht:ref: sec:aggregation --></a>. See
|
|
also the note at the bottom of this table.</td>
|
|
</tr><tr
|
|
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
|
|
style="vertical-align:baseline;" id="TBL-6-4-"><td style="white-space:wrap; text-align:left;" id="TBL-6-4-1"
|
|
class="td11"><!--l. 354--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">’AGGR_FILTER’</span></span></span> </td><td style="white-space:nowrap; text-align:left;" id="TBL-6-4-2"
|
|
class="td11"><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">character(len=*)</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-6-4-3"
|
|
class="td11"><!--l. 356--><p class="noindent" ><span
|
|
class="cmtt-10x-x-109">’FILTER’</span>
|
|
<!--l. 356--><p class="noindent" ><span
|
|
class="cmtt-10x-x-109">’NOFILTER’</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-6-4-4"
|
|
class="td11"><!--l. 357--><p class="noindent" ><span
|
|
class="cmtt-10x-x-109">’NOFILTER’</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-6-4-5"
|
|
class="td11"><!--l. 357--><p class="noindent" >Matrix used in computing the smoothed
|
|
prolongator: filtered or unfiltered
|
|
(see (<a
|
|
href="userhtmlsu7.html#x15-14009r5">5<!--tex4ht:ref: eq:filtered --></a>) in Section <a
|
|
href="userhtmlsu7.html#x15-140004.2">4.2<!--tex4ht:ref: sec:aggregation --></a>). </td>
|
|
</tr><tr
|
|
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
|
|
style="vertical-align:baseline;" id="TBL-6-5-"><td colspan="3" style="white-space:wrap; text-align:left;" id="TBL-6-5-1"
|
|
class="td11"></td><div class="multicolumn" style="white-space:nowrap; text-align:left;"><span
|
|
class="cmbx-10x-x-109">Note. </span>Different thresholds at different levels, such as those used in <span class="cite">[<a
|
|
href="userhtmlli4.html#XVANEK_MANDEL_BREZINA">28</a>, Section 5.1]</span>, can be easily set by invoking the rou-</div>
|
|
</tr><tr
|
|
style="vertical-align:baseline;" id="TBL-6-6-"><td colspan="3" style="white-space:wrap; text-align:left;" id="TBL-6-6-1"
|
|
class="td11"></td><div class="multicolumn" style="white-space:nowrap; text-align:left;">tine <span
|
|
class="cmtt-10x-x-109">set </span>with the parameter <span
|
|
class="cmtt-10x-x-109">ilev</span>.</div>
|
|
</tr><tr
|
|
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
|
|
style="vertical-align:baseline;" id="TBL-6-7-"><td style="white-space:wrap; text-align:left;" id="TBL-6-7-1"
|
|
class="td11"> </td></tr></table></div></div>
|
|
<br /> <div class="caption"
|
|
><span class="id">Table 4: </span><span
|
|
class="content">Parameters defining the aggregation algorithm (continued). </span></div><!--tex4ht:label?: x21-200114 -->
|
|
|
|
|
|
|
|
</div><hr class="endfloat" />
|
|
</div>
|
|
<div class="table">
|
|
|
|
|
|
|
|
<!--l. 373--><p class="indent" > <a
|
|
id="x21-200125"></a><hr class="float"><div class="float"
|
|
>
|
|
|
|
|
|
|
|
<div class="center"
|
|
>
|
|
<!--l. 373--><p class="noindent" >
|
|
<div class="tabular"> <table id="TBL-7" class="tabular"
|
|
cellspacing="0" cellpadding="0"
|
|
><colgroup id="TBL-7-1g"><col
|
|
id="TBL-7-1"></colgroup><colgroup id="TBL-7-2g"><col
|
|
id="TBL-7-2"></colgroup><colgroup id="TBL-7-3g"><col
|
|
id="TBL-7-3"></colgroup><colgroup id="TBL-7-4g"><col
|
|
id="TBL-7-4"></colgroup><colgroup id="TBL-7-5g"><col
|
|
id="TBL-7-5"></colgroup><tr
|
|
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
|
|
style="vertical-align:baseline;" id="TBL-7-1-"><td style="white-space:wrap; text-align:left;" id="TBL-7-1-1"
|
|
class="td11"><!--l. 376--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">what</span></span></span> </td><td style="white-space:nowrap; text-align:left;" id="TBL-7-1-2"
|
|
class="td11"><span
|
|
class="cmcsc-10x-x-109"><span
|
|
class="small-caps">d</span><span
|
|
class="small-caps">a</span><span
|
|
class="small-caps">t</span><span
|
|
class="small-caps">a</span> <span
|
|
class="small-caps">t</span><span
|
|
class="small-caps">y</span><span
|
|
class="small-caps">p</span><span
|
|
class="small-caps">e</span> </span></td><td style="white-space:wrap; text-align:left;" id="TBL-7-1-3"
|
|
class="td11"><!--l. 376--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">val</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-7-1-4"
|
|
class="td11"><!--l. 376--><p class="noindent" ><span
|
|
class="cmcsc-10x-x-109"><span
|
|
class="small-caps">d</span><span
|
|
class="small-caps">e</span><span
|
|
class="small-caps">f</span><span
|
|
class="small-caps">a</span><span
|
|
class="small-caps">u</span><span
|
|
class="small-caps">l</span><span
|
|
class="small-caps">t</span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-7-1-5"
|
|
class="td11"><!--l. 377--><p class="noindent" ><span
|
|
class="cmcsc-10x-x-109"><span
|
|
class="small-caps">c</span><span
|
|
class="small-caps">o</span><span
|
|
class="small-caps">m</span><span
|
|
class="small-caps">m</span><span
|
|
class="small-caps">e</span><span
|
|
class="small-caps">n</span><span
|
|
class="small-caps">t</span><span
|
|
class="small-caps">s</span></span> </td></tr><tr
|
|
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
|
|
style="vertical-align:baseline;" id="TBL-7-2-"><td style="white-space:wrap; text-align:left;" id="TBL-7-2-1"
|
|
class="td11"><!--l. 378--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">’COARSE_MAT’</span></span></span> </td><td style="white-space:nowrap; text-align:left;" id="TBL-7-2-2"
|
|
class="td11"><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">character(len=*)</span></span></span></td><td style="white-space:wrap; text-align:left;" id="TBL-7-2-3"
|
|
class="td11"><!--l. 379--><p class="noindent" ><span
|
|
class="cmtt-10x-x-109">’DIST’</span>
|
|
<!--l. 379--><p class="noindent" ><span
|
|
class="cmtt-10x-x-109">’REPL’</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-7-2-4"
|
|
class="td11"><!--l. 380--><p class="noindent" ><span
|
|
class="cmtt-10x-x-109">’REPL’</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-7-2-5"
|
|
class="td11"><!--l. 381--><p class="noindent" >Coarsest matrix layout: distributed among the
|
|
processes or replicated on each of them. </td>
|
|
</tr><tr
|
|
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
|
|
style="vertical-align:baseline;" id="TBL-7-3-"><td style="white-space:wrap; text-align:left;" id="TBL-7-3-1"
|
|
class="td11"><!--l. 383--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">’COARSE_SOLVE’</span></span></span> </td><td style="white-space:nowrap; text-align:left;" id="TBL-7-3-2"
|
|
class="td11"><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">character(len=*)</span></span></span></td><td style="white-space:wrap; text-align:left;" id="TBL-7-3-3"
|
|
class="td11"><!--l. 384--><p class="noindent" ><span
|
|
class="cmtt-10x-x-109">’MUMPS’</span>
|
|
<!--l. 384--><p class="noindent" ><span
|
|
class="cmtt-10x-x-109">’UMF’</span>
|
|
<!--l. 385--><p class="noindent" ><span
|
|
class="cmtt-10x-x-109">’SLU’</span>
|
|
<!--l. 385--><p class="noindent" ><span
|
|
class="cmtt-10x-x-109">’SLUDIST’</span>
|
|
<!--l. 386--><p class="noindent" ><span
|
|
class="cmtt-10x-x-109">’JACOBI’</span>
|
|
<!--l. 386--><p class="noindent" ><span
|
|
class="cmtt-10x-x-109">’GS’</span>
|
|
<!--l. 386--><p class="noindent" ><span
|
|
class="cmtt-10x-x-109">’BJAC’</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-7-3-4"
|
|
class="td11"><!--l. 387--><p class="noindent" >See Note.</td><td style="white-space:wrap; text-align:left;" id="TBL-7-3-5"
|
|
class="td11"><!--l. 388--><p class="noindent" >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.
|
|
<!--l. 394--><p class="noindent" >Note that <span
|
|
class="cmtt-10x-x-109">UMF </span>and <span
|
|
class="cmtt-10x-x-109">SLU </span>require the coarsest matrix
|
|
to be replicated, <span
|
|
class="cmtt-10x-x-109">SLUDIST</span>, <span
|
|
class="cmtt-10x-x-109">JACOBI</span>, <span
|
|
class="cmtt-10x-x-109">GS </span>and <span
|
|
class="cmtt-10x-x-109">BJAC</span>
|
|
require it to be distributed, and <span
|
|
class="cmtt-10x-x-109">MUMPS </span>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
|
|
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
|
|
style="vertical-align:baseline;" id="TBL-7-4-"><td style="white-space:wrap; text-align:left;" id="TBL-7-4-1"
|
|
class="td11"><!--l. 403--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">’COARSE_SUBSOLVE’</span></span></span> </td><td style="white-space:nowrap; text-align:left;" id="TBL-7-4-2"
|
|
class="td11"><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">character(len=*)</span></span></span></td><td style="white-space:wrap; text-align:left;" id="TBL-7-4-3"
|
|
class="td11"><!--l. 404--><p class="noindent" ><span
|
|
class="cmtt-10x-x-109">’ILU’</span>
|
|
<!--l. 404--><p class="noindent" ><span
|
|
class="cmtt-10x-x-109">’ILUT’</span>
|
|
<!--l. 404--><p class="noindent" ><span
|
|
class="cmtt-10x-x-109">’MILU’</span>
|
|
<!--l. 405--><p class="noindent" ><span
|
|
class="cmtt-10x-x-109">’MUMPS’</span>
|
|
<!--l. 405--><p class="noindent" ><span
|
|
class="cmtt-10x-x-109">’SLU’</span>
|
|
<!--l. 405--><p class="noindent" ><span
|
|
class="cmtt-10x-x-109">’UMF’</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-7-4-4"
|
|
class="td11"><!--l. 406--><p class="noindent" >See Note.</td><td style="white-space:wrap; text-align:left;" id="TBL-7-4-5"
|
|
class="td11"><!--l. 407--><p class="noindent" >Solver for the diagonal blocks of the coarse matrix,
|
|
in case the block Jacobi solver is chosen as
|
|
coarsest-level solver: ILU(<span
|
|
class="cmmi-10x-x-109">p</span>), ILU(<span
|
|
class="cmmi-10x-x-109">p,t</span>), MILU(<span
|
|
class="cmmi-10x-x-109">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
|
|
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
|
|
style="vertical-align:baseline;" id="TBL-7-5-"><td colspan="3" style="white-space:wrap; text-align:left;" id="TBL-7-5-1"
|
|
class="td11"></td><div class="multicolumn" style="white-space:nowrap; text-align:left;"><span
|
|
class="cmbx-10x-x-109">Note. </span>Defaults for <span
|
|
class="cmtt-10x-x-109">COARSE</span><span
|
|
class="cmtt-10x-x-109">_SOLVE </span>and <span
|
|
class="cmtt-10x-x-109">COARSE</span><span
|
|
class="cmtt-10x-x-109">_SUBSOLVE </span>are chosen in the following order:</div>
|
|
</tr><tr
|
|
style="vertical-align:baseline;" id="TBL-7-6-"><td colspan="3" style="white-space:wrap; text-align:left;" id="TBL-7-6-1"
|
|
class="td11"></td><div class="multicolumn" style="white-space:nowrap; text-align:left;">single precision version – <span
|
|
class="cmtt-10x-x-109">MUMPS </span>if installed, then <span
|
|
class="cmtt-10x-x-109">SLU </span>if installed, <span
|
|
class="cmtt-10x-x-109">ILU </span>otherwise;</div>
|
|
</tr><tr
|
|
style="vertical-align:baseline;" id="TBL-7-7-"><td colspan="3" style="white-space:wrap; text-align:left;" id="TBL-7-7-1"
|
|
class="td11"></td><div class="multicolumn" style="white-space:nowrap; text-align:left;">double precision version – <span
|
|
class="cmtt-10x-x-109">UMF </span>if installed, then <span
|
|
class="cmtt-10x-x-109">MUMPS </span>if installed, then <span
|
|
class="cmtt-10x-x-109">SLU </span>if installed, <span
|
|
class="cmtt-10x-x-109">ILU </span>otherwise.</div>
|
|
</tr><tr
|
|
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
|
|
style="vertical-align:baseline;" id="TBL-7-8-"><td style="white-space:wrap; text-align:left;" id="TBL-7-8-1"
|
|
class="td11"> </td></tr></table></div></div>
|
|
<br /> <div class="caption"
|
|
><span class="id">Table 5: </span><span
|
|
class="content">Parameters defining the coarse-space correction at the coarsest level.</span></div><!--tex4ht:label?: x21-200125 -->
|
|
|
|
|
|
|
|
</div><hr class="endfloat" />
|
|
</div>
|
|
<div class="table">
|
|
|
|
|
|
|
|
<!--l. 431--><p class="indent" > <a
|
|
id="x21-200136"></a><hr class="float"><div class="float"
|
|
>
|
|
|
|
|
|
|
|
<div class="center"
|
|
>
|
|
<!--l. 431--><p class="noindent" >
|
|
<div class="tabular"> <table id="TBL-8" class="tabular"
|
|
cellspacing="0" cellpadding="0"
|
|
><colgroup id="TBL-8-1g"><col
|
|
id="TBL-8-1"></colgroup><colgroup id="TBL-8-2g"><col
|
|
id="TBL-8-2"></colgroup><colgroup id="TBL-8-3g"><col
|
|
id="TBL-8-3"></colgroup><colgroup id="TBL-8-4g"><col
|
|
id="TBL-8-4"></colgroup><colgroup id="TBL-8-5g"><col
|
|
id="TBL-8-5"></colgroup><tr
|
|
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
|
|
style="vertical-align:baseline;" id="TBL-8-1-"><td style="white-space:wrap; text-align:left;" id="TBL-8-1-1"
|
|
class="td11"><!--l. 434--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">what</span></span></span> </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-1-2"
|
|
class="td11"><span
|
|
class="cmcsc-10x-x-109"><span
|
|
class="small-caps">d</span><span
|
|
class="small-caps">a</span><span
|
|
class="small-caps">t</span><span
|
|
class="small-caps">a</span> <span
|
|
class="small-caps">t</span><span
|
|
class="small-caps">y</span><span
|
|
class="small-caps">p</span><span
|
|
class="small-caps">e</span> </span></td><td style="white-space:wrap; text-align:left;" id="TBL-8-1-3"
|
|
class="td11"><!--l. 434--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">val</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-8-1-4"
|
|
class="td11"><!--l. 434--><p class="noindent" ><span
|
|
class="cmcsc-10x-x-109"><span
|
|
class="small-caps">d</span><span
|
|
class="small-caps">e</span><span
|
|
class="small-caps">f</span><span
|
|
class="small-caps">a</span><span
|
|
class="small-caps">u</span><span
|
|
class="small-caps">l</span><span
|
|
class="small-caps">t</span></span></td><td style="white-space:wrap; text-align:left;" id="TBL-8-1-5"
|
|
class="td11"><!--l. 435--><p class="noindent" ><span
|
|
class="cmcsc-10x-x-109"><span
|
|
class="small-caps">c</span><span
|
|
class="small-caps">o</span><span
|
|
class="small-caps">m</span><span
|
|
class="small-caps">m</span><span
|
|
class="small-caps">e</span><span
|
|
class="small-caps">n</span><span
|
|
class="small-caps">t</span><span
|
|
class="small-caps">s</span></span> </td></tr><tr
|
|
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
|
|
style="vertical-align:baseline;" id="TBL-8-2-"><td style="white-space:wrap; text-align:left;" id="TBL-8-2-1"
|
|
class="td11"><!--l. 436--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">’COARSE_SWEEPS’</span></span></span> </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-2-2"
|
|
class="td11"><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">integer</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-8-2-3"
|
|
class="td11"><!--l. 437--><p class="noindent" >Any integer
|
|
<!--l. 437--><p class="noindent" >number <span
|
|
class="cmmi-10x-x-109">> </span>0</td><td style="white-space:wrap; text-align:left;" id="TBL-8-2-4"
|
|
class="td11"><!--l. 438--><p class="noindent" >10 </td><td style="white-space:wrap; text-align:left;" id="TBL-8-2-5"
|
|
class="td11"><!--l. 439--><p class="noindent" >Number of sweeps when <span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">JACOBI</span></span></span>, <span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">GS</span></span></span> or <span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">BJAC</span></span></span>
|
|
is chosen as coarsest-level solver. </td>
|
|
</tr><tr
|
|
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
|
|
style="vertical-align:baseline;" id="TBL-8-3-"><td style="white-space:wrap; text-align:left;" id="TBL-8-3-1"
|
|
class="td11"><!--l. 441--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">’COARSE_FILLIN’</span></span></span> </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-3-2"
|
|
class="td11"><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">integer</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-8-3-3"
|
|
class="td11"><!--l. 442--><p class="noindent" >Any integer
|
|
<!--l. 442--><p class="noindent" >number <span
|
|
class="cmsy-10x-x-109">≥ </span>0</td><td style="white-space:wrap; text-align:left;" id="TBL-8-3-4"
|
|
class="td11"><!--l. 443--><p class="noindent" >0 </td><td style="white-space:wrap; text-align:left;" id="TBL-8-3-5"
|
|
class="td11"><!--l. 444--><p class="noindent" >Fill-in level <span
|
|
class="cmmi-10x-x-109">p </span>of the ILU factorizations. </td>
|
|
</tr><tr
|
|
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
|
|
style="vertical-align:baseline;" id="TBL-8-4-"><td style="white-space:wrap; text-align:left;" id="TBL-8-4-1"
|
|
class="td11"><!--l. 445--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">’COARSE_ILUTHRS’</span></span></span> </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-4-2"
|
|
class="td11"><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">real(</span></span></span><span
|
|
class="cmti-10x-x-109">kind</span><span
|
|
class="cmti-10x-x-109">_parameter</span><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10x-x-109">)</span></span></span></td><td style="white-space:wrap; text-align:left;" id="TBL-8-4-3"
|
|
class="td11"><!--l. 447--><p class="noindent" >Any real
|
|
<!--l. 447--><p class="noindent" >number <span
|
|
class="cmsy-10x-x-109">≥ </span>0</td><td style="white-space:wrap; text-align:left;" id="TBL-8-4-4"
|
|
class="td11"><!--l. 448--><p class="noindent" >0 </td><td style="white-space:wrap; text-align:left;" id="TBL-8-4-5"
|
|
class="td11"><!--l. 449--><p class="noindent" >Drop tolerance <span
|
|
class="cmmi-10x-x-109">t </span>in the ILU(<span
|
|
class="cmmi-10x-x-109">p,t</span>)
|
|
factorization. </td>
|
|
</tr><tr
|
|
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
|
|
style="vertical-align:baseline;" id="TBL-8-5-"><td style="white-space:wrap; text-align:left;" id="TBL-8-5-1"
|
|
class="td11"> </td></tr></table></div></div>
|
|
<br /> <div class="caption"
|
|
><span class="id">Table 6: </span><span
|
|
class="content">Parameters defining the coarse-space correction at the coarsest level
|
|
(continued).</span></div><!--tex4ht:label?: x21-200136 -->
|
|
|
|
|
|
|
|
</div><hr class="endfloat" />
|
|
</div>
|
|
<div class="table">
|
|
|
|
|
|
|
|
<!--l. 458--><p class="indent" > <a
|
|
id="x21-200147"></a><hr class="float"><div class="float"
|
|
>
|
|
|
|
|
|
|
|
<div class="center"
|
|
>
|
|
<!--l. 458--><p class="noindent" >
|
|
<div class="tabular"> <table id="TBL-9" class="tabular"
|
|
cellspacing="0" cellpadding="0"
|
|
><colgroup id="TBL-9-1g"><col
|
|
id="TBL-9-1"></colgroup><colgroup id="TBL-9-2g"><col
|
|
id="TBL-9-2"></colgroup><colgroup id="TBL-9-3g"><col
|
|
id="TBL-9-3"></colgroup><colgroup id="TBL-9-4g"><col
|
|
id="TBL-9-4"></colgroup><colgroup id="TBL-9-5g"><col
|
|
id="TBL-9-5"></colgroup><tr
|
|
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
|
|
style="vertical-align:baseline;" id="TBL-9-1-"><td style="white-space:wrap; text-align:left;" id="TBL-9-1-1"
|
|
class="td11"><!--l. 462--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10">what</span></span></span> </td><td style="white-space:nowrap; text-align:left;" id="TBL-9-1-2"
|
|
class="td11"><span
|
|
class="cmcsc-10"><span
|
|
class="small-caps">d</span><span
|
|
class="small-caps">a</span><span
|
|
class="small-caps">t</span><span
|
|
class="small-caps">a</span> <span
|
|
class="small-caps">t</span><span
|
|
class="small-caps">y</span><span
|
|
class="small-caps">p</span><span
|
|
class="small-caps">e</span> </span></td><td style="white-space:wrap; text-align:left;" id="TBL-9-1-3"
|
|
class="td11"><!--l. 462--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10">val</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-9-1-4"
|
|
class="td11"><!--l. 462--><p class="noindent" ><span
|
|
class="cmcsc-10"><span
|
|
class="small-caps">d</span><span
|
|
class="small-caps">e</span><span
|
|
class="small-caps">f</span><span
|
|
class="small-caps">a</span><span
|
|
class="small-caps">u</span><span
|
|
class="small-caps">l</span><span
|
|
class="small-caps">t</span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-9-1-5"
|
|
class="td11"><!--l. 463--><p class="noindent" ><span
|
|
class="cmcsc-10"><span
|
|
class="small-caps">c</span><span
|
|
class="small-caps">o</span><span
|
|
class="small-caps">m</span><span
|
|
class="small-caps">m</span><span
|
|
class="small-caps">e</span><span
|
|
class="small-caps">n</span><span
|
|
class="small-caps">t</span><span
|
|
class="small-caps">s</span></span> </td></tr><tr
|
|
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
|
|
style="vertical-align:baseline;" id="TBL-9-2-"><td style="white-space:wrap; text-align:left;" id="TBL-9-2-1"
|
|
class="td11"><!--l. 465--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10">’SMOOTHER_TYPE’</span></span></span> </td><td style="white-space:nowrap; text-align:left;" id="TBL-9-2-2"
|
|
class="td11"><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10">character(len=*)</span></span></span></td><td style="white-space:wrap; text-align:left;" id="TBL-9-2-3"
|
|
class="td11"><!--l. 466--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10">’JACOBI’</span></span></span>
|
|
<!--l. 466--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10">’GS’</span></span></span>
|
|
<!--l. 466--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10">’BGS’</span></span></span>
|
|
<!--l. 466--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10">’BJAC’</span></span></span>
|
|
<!--l. 467--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10">’AS’</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-9-2-4"
|
|
class="td11"><!--l. 468--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10">’FBGS’</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-9-2-5"
|
|
class="td11"><!--l. 469--><p class="noindent" ><span
|
|
class="cmr-10">Type of smoother used in the multilevel</span>
|
|
<span
|
|
class="cmr-10">preconditioner: point-Jacobi, hybrid</span>
|
|
<span
|
|
class="cmr-10">(forward) Gauss-Seidel, hybrid backward</span>
|
|
<span
|
|
class="cmr-10">Gauss-Seidel, block-Jacobi, and Additive</span>
|
|
<span
|
|
class="cmr-10">Schwarz.</span>
|
|
<!--l. 473--><p class="noindent" ><span
|
|
class="cmr-10">It is ignored by one-level preconditioners.</span> </td>
|
|
</tr><tr
|
|
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
|
|
style="vertical-align:baseline;" id="TBL-9-3-"><td style="white-space:wrap; text-align:left;" id="TBL-9-3-1"
|
|
class="td11"><!--l. 474--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10">’SUB_SOLVE’</span></span></span> </td><td style="white-space:nowrap; text-align:left;" id="TBL-9-3-2"
|
|
class="td11"><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10">character(len=*)</span></span></span></td><td style="white-space:wrap; text-align:left;" id="TBL-9-3-3"
|
|
class="td11"><!--l. 475--><p class="noindent" ><span
|
|
class="cmtt-10">’JACOBI’</span>
|
|
<!--l. 476--><p class="noindent" ><span
|
|
class="cmtt-10">’GS’</span>
|
|
<!--l. 476--><p class="noindent" ><span
|
|
class="cmtt-10">’BGS’</span>
|
|
<!--l. 476--><p class="noindent" ><span
|
|
class="cmtt-10">’ILU’</span>
|
|
<!--l. 477--><p class="noindent" ><span
|
|
class="cmtt-10">’ILUT’</span>
|
|
<!--l. 477--><p class="noindent" ><span
|
|
class="cmtt-10">’MILU’</span>
|
|
<!--l. 478--><p class="noindent" ><span
|
|
class="cmtt-10">’MUMPS’</span>
|
|
<!--l. 478--><p class="noindent" ><span
|
|
class="cmtt-10">’SLU’</span>
|
|
<!--l. 478--><p class="noindent" ><span
|
|
class="cmtt-10">’UMF’</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-9-3-4"
|
|
class="td11"><!--l. 479--><p class="noindent" ><span
|
|
class="cmtt-10">GS </span><span
|
|
class="cmr-10">and </span><span
|
|
class="cmtt-10">BGS </span><span
|
|
class="cmr-10">for pre-</span>
|
|
<span
|
|
class="cmr-10">and post-smoothers of</span>
|
|
<span
|
|
class="cmr-10">multilevel</span>
|
|
<span
|
|
class="cmr-10">preconditioners,</span>
|
|
<span
|
|
class="cmr-10">respectively</span>
|
|
<!--l. 481--><p class="noindent" ><span
|
|
class="cmtt-10">ILU </span><span
|
|
class="cmr-10">for block-Jacobi</span>
|
|
<span
|
|
class="cmr-10">and Additive Schwarz</span>
|
|
<span
|
|
class="cmr-10">one-level</span>
|
|
<span
|
|
class="cmr-10">preconditioners</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-9-3-5"
|
|
class="td11"><!--l. 483--><p class="noindent" ><span
|
|
class="cmr-10">The local solver to be used with the</span>
|
|
<span
|
|
class="cmr-10">smoother or one-level preconditioner (see</span>
|
|
<span
|
|
class="cmr-10">Remark</span><span
|
|
class="cmr-10"> 2, page</span><span
|
|
class="cmr-10"> 24): point-Jacobi, hybrid</span>
|
|
<span
|
|
class="cmr-10">(forward) Gauss-Seidel, hybrid backward</span>
|
|
<span
|
|
class="cmr-10">Gauss-Seidel, ILU(</span><span
|
|
class="cmmi-10">p</span><span
|
|
class="cmr-10">), ILU(</span><span
|
|
class="cmmi-10">p,t</span><span
|
|
class="cmr-10">), MILU(</span><span
|
|
class="cmmi-10">p</span><span
|
|
class="cmr-10">),</span>
|
|
<span
|
|
class="cmr-10">LU from MUMPS, SuperLU</span>
|
|
<span
|
|
class="cmr-10">or UMFPACK (plus triangular solve). See</span>
|
|
<span
|
|
class="cmr-10">Note for details on hybrid Gauss-Seidel.</span> </td>
|
|
</tr><tr
|
|
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
|
|
style="vertical-align:baseline;" id="TBL-9-4-"><td style="white-space:wrap; text-align:left;" id="TBL-9-4-1"
|
|
class="td11"><!--l. 490--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10">’SMOOTHER_SWEEPS’</span></span></span> </td><td style="white-space:nowrap; text-align:left;" id="TBL-9-4-2"
|
|
class="td11"><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10">integer</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-9-4-3"
|
|
class="td11"><!--l. 491--><p class="noindent" ><span
|
|
class="cmr-10">Any integer</span>
|
|
<!--l. 491--><p class="noindent" ><span
|
|
class="cmr-10">number</span><span
|
|
class="cmr-10"> </span><span
|
|
class="cmsy-10">≥ </span><span
|
|
class="cmr-10">0</span></td><td style="white-space:wrap; text-align:left;" id="TBL-9-4-4"
|
|
class="td11"><!--l. 492--><p class="noindent" ><span
|
|
class="cmr-10">1</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-9-4-5"
|
|
class="td11"><!--l. 493--><p class="noindent" ><span
|
|
class="cmr-10">Number of sweeps of the smoother or</span>
|
|
<span
|
|
class="cmr-10">one-level preconditioner. In the multilevel</span>
|
|
<span
|
|
class="cmr-10">case, no pre-smother or post-smoother</span>
|
|
<span
|
|
class="cmr-10">is used if this parameter is set to 0</span>
|
|
<span
|
|
class="cmr-10">together with </span><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10">pos=’PRE’</span></span></span> <span
|
|
class="cmr-10">or </span><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10">pos=’POST</span></span></span><span
|
|
class="cmr-10">,</span>
|
|
<span
|
|
class="cmr-10">respectively.</span> </td>
|
|
</tr><tr
|
|
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
|
|
style="vertical-align:baseline;" id="TBL-9-5-"><td style="white-space:wrap; text-align:left;" id="TBL-9-5-1"
|
|
class="td11"><!--l. 498--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10">’SUB_OVR’</span></span></span> </td><td style="white-space:nowrap; text-align:left;" id="TBL-9-5-2"
|
|
class="td11"><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10">integer</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-9-5-3"
|
|
class="td11"><!--l. 499--><p class="noindent" ><span
|
|
class="cmr-10">Any integer</span>
|
|
<!--l. 499--><p class="noindent" ><span
|
|
class="cmr-10">number</span><span
|
|
class="cmr-10"> </span><span
|
|
class="cmsy-10">≥ </span><span
|
|
class="cmr-10">0</span></td><td style="white-space:wrap; text-align:left;" id="TBL-9-5-4"
|
|
class="td11"><!--l. 500--><p class="noindent" ><span
|
|
class="cmr-10">1</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-9-5-5"
|
|
class="td11"><!--l. 501--><p class="noindent" ><span
|
|
class="cmr-10">Number of overlap layers, for Additive</span>
|
|
<span
|
|
class="cmr-10">Schwarz only.</span> </td>
|
|
</tr><tr
|
|
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
|
|
style="vertical-align:baseline;" id="TBL-9-6-"><td style="white-space:wrap; text-align:left;" id="TBL-9-6-1"
|
|
class="td11"> </td></tr></table></div></div>
|
|
<br /> <div class="caption"
|
|
><span class="id">Table 7: </span><span
|
|
class="content">Parameters defining the smoother or the details of the one-level
|
|
preconditioner. </span></div><!--tex4ht:label?: x21-200147 -->
|
|
|
|
|
|
|
|
</div><hr class="endfloat" />
|
|
</div>
|
|
<div class="table">
|
|
|
|
|
|
|
|
<!--l. 510--><p class="indent" > <a
|
|
id="x21-200158"></a><hr class="float"><div class="float"
|
|
>
|
|
|
|
|
|
|
|
<div class="center"
|
|
>
|
|
<!--l. 510--><p class="noindent" >
|
|
<div class="tabular"> <table id="TBL-10" class="tabular"
|
|
cellspacing="0" cellpadding="0"
|
|
><colgroup id="TBL-10-1g"><col
|
|
id="TBL-10-1"></colgroup><colgroup id="TBL-10-2g"><col
|
|
id="TBL-10-2"></colgroup><colgroup id="TBL-10-3g"><col
|
|
id="TBL-10-3"></colgroup><colgroup id="TBL-10-4g"><col
|
|
id="TBL-10-4"></colgroup><colgroup id="TBL-10-5g"><col
|
|
id="TBL-10-5"></colgroup><tr
|
|
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
|
|
style="vertical-align:baseline;" id="TBL-10-1-"><td style="white-space:wrap; text-align:left;" id="TBL-10-1-1"
|
|
class="td11"><!--l. 514--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10">what</span></span></span> </td><td style="white-space:nowrap; text-align:left;" id="TBL-10-1-2"
|
|
class="td11"><span
|
|
class="cmcsc-10"><span
|
|
class="small-caps">d</span><span
|
|
class="small-caps">a</span><span
|
|
class="small-caps">t</span><span
|
|
class="small-caps">a</span> <span
|
|
class="small-caps">t</span><span
|
|
class="small-caps">y</span><span
|
|
class="small-caps">p</span><span
|
|
class="small-caps">e</span> </span></td><td style="white-space:wrap; text-align:left;" id="TBL-10-1-3"
|
|
class="td11"><!--l. 514--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10">val</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-10-1-4"
|
|
class="td11"><!--l. 514--><p class="noindent" ><span
|
|
class="cmcsc-10"><span
|
|
class="small-caps">d</span><span
|
|
class="small-caps">e</span><span
|
|
class="small-caps">f</span><span
|
|
class="small-caps">a</span><span
|
|
class="small-caps">u</span><span
|
|
class="small-caps">l</span><span
|
|
class="small-caps">t</span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-10-1-5"
|
|
class="td11"><!--l. 515--><p class="noindent" ><span
|
|
class="cmcsc-10"><span
|
|
class="small-caps">c</span><span
|
|
class="small-caps">o</span><span
|
|
class="small-caps">m</span><span
|
|
class="small-caps">m</span><span
|
|
class="small-caps">e</span><span
|
|
class="small-caps">n</span><span
|
|
class="small-caps">t</span><span
|
|
class="small-caps">s</span></span> </td></tr><tr
|
|
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
|
|
style="vertical-align:baseline;" id="TBL-10-2-"><td style="white-space:wrap; text-align:left;" id="TBL-10-2-1"
|
|
class="td11"><!--l. 516--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10">’SUB_RESTR’</span></span></span> </td><td style="white-space:nowrap; text-align:left;" id="TBL-10-2-2"
|
|
class="td11"><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10">character(len=*)</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-10-2-3"
|
|
class="td11"><!--l. 517--><p class="noindent" ><span
|
|
class="cmtt-10">’HALO’</span>
|
|
<!--l. 517--><p class="noindent" ><span
|
|
class="cmtt-10">’NONE’</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-10-2-4"
|
|
class="td11"><!--l. 518--><p class="noindent" ><span
|
|
class="cmtt-10">’HALO’</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-10-2-5"
|
|
class="td11"><!--l. 519--><p class="noindent" ><span
|
|
class="cmr-10">Type of restriction operator, for Additive</span>
|
|
<span
|
|
class="cmr-10">Schwarz only: </span><span
|
|
class="cmtt-10">HALO </span><span
|
|
class="cmr-10">for taking into account the</span>
|
|
<span
|
|
class="cmr-10">overlap, </span><span
|
|
class="cmtt-10">NONE </span><span
|
|
class="cmr-10">for neglecting it.</span>
|
|
<!--l. 522--><p class="noindent" ><span
|
|
class="cmr-10">Note that </span><span
|
|
class="cmtt-10">HALO </span><span
|
|
class="cmr-10">must be chosen for the classical</span>
|
|
<span
|
|
class="cmr-10">Addditive Schwarz smoother and its RAS</span>
|
|
<span
|
|
class="cmr-10">variant.</span> </td>
|
|
</tr><tr
|
|
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
|
|
style="vertical-align:baseline;" id="TBL-10-3-"><td style="white-space:wrap; text-align:left;" id="TBL-10-3-1"
|
|
class="td11"><!--l. 524--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10">’SUB_PROL’</span></span></span> </td><td style="white-space:nowrap; text-align:left;" id="TBL-10-3-2"
|
|
class="td11"><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10">character(len=*)</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-10-3-3"
|
|
class="td11"><!--l. 525--><p class="noindent" ><span
|
|
class="cmtt-10">’SUM’</span>
|
|
<!--l. 525--><p class="noindent" ><span
|
|
class="cmtt-10">’NONE’</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-10-3-4"
|
|
class="td11"><!--l. 526--><p class="noindent" ><span
|
|
class="cmtt-10">’NONE’</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-10-3-5"
|
|
class="td11"><!--l. 527--><p class="noindent" ><span
|
|
class="cmr-10">Type of prolongation operator, for Additive</span>
|
|
<span
|
|
class="cmr-10">Schwarz only: </span><span
|
|
class="cmtt-10">SUM </span><span
|
|
class="cmr-10">for adding the contributions</span>
|
|
<span
|
|
class="cmr-10">from the overlap, </span><span
|
|
class="cmtt-10">NONE </span><span
|
|
class="cmr-10">for neglecting them.</span>
|
|
<!--l. 530--><p class="noindent" ><span
|
|
class="cmr-10">Note that </span><span
|
|
class="cmtt-10">SUM </span><span
|
|
class="cmr-10">must be chosen for the classical</span>
|
|
<span
|
|
class="cmr-10">Additive Schwarz smoother, and </span><span
|
|
class="cmtt-10">NONE </span><span
|
|
class="cmr-10">for its</span>
|
|
<span
|
|
class="cmr-10">RAS variant.</span> </td>
|
|
</tr><tr
|
|
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
|
|
style="vertical-align:baseline;" id="TBL-10-4-"><td style="white-space:wrap; text-align:left;" id="TBL-10-4-1"
|
|
class="td11"><!--l. 532--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10">’SUB_FILLIN’</span></span></span> </td><td style="white-space:nowrap; text-align:left;" id="TBL-10-4-2"
|
|
class="td11"><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10">integer</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-10-4-3"
|
|
class="td11"><!--l. 533--><p class="noindent" ><span
|
|
class="cmr-10">Any integer</span>
|
|
<!--l. 533--><p class="noindent" ><span
|
|
class="cmr-10">number</span><span
|
|
class="cmr-10"> </span><span
|
|
class="cmsy-10">≥ </span><span
|
|
class="cmr-10">0</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-10-4-4"
|
|
class="td11"><!--l. 534--><p class="noindent" ><span
|
|
class="cmr-10">0</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-10-4-5"
|
|
class="td11"><!--l. 535--><p class="noindent" ><span
|
|
class="cmr-10">Fill-in level </span><span
|
|
class="cmmi-10">p </span><span
|
|
class="cmr-10">of the incomplete LU</span>
|
|
<span
|
|
class="cmr-10">factorizations.</span> </td>
|
|
</tr><tr
|
|
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
|
|
style="vertical-align:baseline;" id="TBL-10-5-"><td style="white-space:wrap; text-align:left;" id="TBL-10-5-1"
|
|
class="td11"><!--l. 536--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10">’SUB_ILUTHRS’</span></span></span> </td><td style="white-space:nowrap; text-align:left;" id="TBL-10-5-2"
|
|
class="td11"><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10">real(</span></span></span><span
|
|
class="cmti-10">kind</span><span
|
|
class="cmti-10">_parameter</span><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10">)</span></span></span></td><td style="white-space:wrap; text-align:left;" id="TBL-10-5-3"
|
|
class="td11"><!--l. 537--><p class="noindent" ><span
|
|
class="cmr-10">Any real</span>
|
|
<span
|
|
class="cmr-10">number</span><span
|
|
class="cmr-10"> </span><span
|
|
class="cmsy-10">≥ </span><span
|
|
class="cmr-10">0</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-10-5-4"
|
|
class="td11"><!--l. 538--><p class="noindent" ><span
|
|
class="cmr-10">0</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-10-5-5"
|
|
class="td11"><!--l. 539--><p class="noindent" ><span
|
|
class="cmr-10">Drop tolerance </span><span
|
|
class="cmmi-10">t </span><span
|
|
class="cmr-10">in the ILU(</span><span
|
|
class="cmmi-10">p,t</span><span
|
|
class="cmr-10">) factorization.</span></td>
|
|
</tr><tr
|
|
style="vertical-align:baseline;" id="TBL-10-6-"><td style="white-space:wrap; text-align:left;" id="TBL-10-6-1"
|
|
class="td11"><!--l. 540--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10">’MUMPS_LOC_GLOB’</span></span></span> </td><td style="white-space:nowrap; text-align:left;" id="TBL-10-6-2"
|
|
class="td11"><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10">character(len=*)</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-10-6-3"
|
|
class="td11"><!--l. 541--><p class="noindent" ><span
|
|
class="cmtt-10">LOCAL</span><span
|
|
class="cmtt-10">_SOLVER’</span>
|
|
<!--l. 541--><p class="noindent" ><span
|
|
class="cmtt-10">GLOBAL</span><span
|
|
class="cmtt-10">_SOLVER’</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-10-6-4"
|
|
class="td11"><!--l. 542--><p class="noindent" ><span
|
|
class="cmtt-10">GLOBAL</span><span
|
|
class="cmtt-10">_SOLVER’</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-10-6-5"
|
|
class="td11"><!--l. 543--><p class="noindent" ><span
|
|
class="cmr-10">Whether MUMPS should be used as a</span>
|
|
<span
|
|
class="cmr-10">distributed solver, or as a serial solver acting</span>
|
|
<span
|
|
class="cmr-10">only on the part of the matrix local to each</span>
|
|
<span
|
|
class="cmr-10">process.</span> </td>
|
|
</tr><tr
|
|
style="vertical-align:baseline;" id="TBL-10-7-"><td style="white-space:wrap; text-align:left;" id="TBL-10-7-1"
|
|
class="td11"><!--l. 547--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10">’MUMPS_IPAR_ENTRY’</span></span></span> </td><td style="white-space:nowrap; text-align:left;" id="TBL-10-7-2"
|
|
class="td11"><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10">integer</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-10-7-3"
|
|
class="td11"><!--l. 548--><p class="noindent" ><span
|
|
class="cmr-10">Any integer</span>
|
|
<span
|
|
class="cmr-10">number</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-10-7-4"
|
|
class="td11"><!--l. 549--><p class="noindent" ><span
|
|
class="cmr-10">0</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-10-7-5"
|
|
class="td11"><!--l. 550--><p class="noindent" ><span
|
|
class="cmr-10">Set an entry in the MUMPS integer control</span>
|
|
<span
|
|
class="cmr-10">array, as chosen via the </span><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10">idx</span></span></span> <span
|
|
class="cmr-10">optional argument.</span></td>
|
|
</tr><tr
|
|
style="vertical-align:baseline;" id="TBL-10-8-"><td style="white-space:wrap; text-align:left;" id="TBL-10-8-1"
|
|
class="td11"><!--l. 552--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10">’MUMPS_RPAR_ENTRY’</span></span></span> </td><td style="white-space:nowrap; text-align:left;" id="TBL-10-8-2"
|
|
class="td11"><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10">real</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-10-8-3"
|
|
class="td11"><!--l. 553--><p class="noindent" ><span
|
|
class="cmr-10">Any real</span>
|
|
<span
|
|
class="cmr-10">number</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-10-8-4"
|
|
class="td11"><!--l. 554--><p class="noindent" ><span
|
|
class="cmr-10">0</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-10-8-5"
|
|
class="td11"><!--l. 555--><p class="noindent" ><span
|
|
class="cmr-10">Set an entry in the MUMPS real control array,</span>
|
|
<span
|
|
class="cmr-10">as chosen via the </span><span class="obeylines-h"><span class="verb"><span
|
|
class="cmtt-10">idx</span></span></span> <span
|
|
class="cmr-10">optional argument.</span> </td>
|
|
</tr><tr
|
|
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
|
|
style="vertical-align:baseline;" id="TBL-10-9-"><td style="white-space:wrap; text-align:left;" id="TBL-10-9-1"
|
|
class="td11"> </td></tr></table></div></div>
|
|
<br /> <div class="caption"
|
|
><span class="id">Table 8: </span><span
|
|
class="content">Parameters defining the smoother or the details of the one-level preconditioner
|
|
(continued).</span></div><!--tex4ht:label?: x21-200158 -->
|
|
|
|
|
|
|
|
</div><hr class="endfloat" />
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!--l. 567--><div class="crosslinks"><p class="noindent"><span
|
|
class="cmbx-12">[</span><a
|
|
href="userhtmlsu12.html" ><span
|
|
class="cmbx-12">next</span></a><span
|
|
class="cmbx-12">] [</span><a
|
|
href="userhtmlsu10.html" ><span
|
|
class="cmbx-12">prev</span></a><span
|
|
class="cmbx-12">] [</span><a
|
|
href="userhtmlsu10.html#tailuserhtmlsu10.html" ><span
|
|
class="cmbx-12">prev-tail</span></a><span
|
|
class="cmbx-12">] [</span><a
|
|
href="userhtmlsu11.html" ><span
|
|
class="cmbx-12">front</span></a><span
|
|
class="cmbx-12">] [</span><a
|
|
href="userhtmlse6.html#userhtmlsu11.html" ><span
|
|
class="cmbx-12">up</span></a><span
|
|
class="cmbx-12">] </span></p></div>
|
|
<!--l. 567--><p class="indent" > <a
|
|
id="tailuserhtmlsu11.html"></a>
|
|
</body></html>
|