Added options to prec%dump and further code highlighting

documentation
Cirdans-Home 4 years ago
parent 8b9a6c5f9a
commit d1447297c5

Binary file not shown.

@ -73,14 +73,42 @@ class="cmr-12">routine as in the following:</span>
<div class="center"
>
<!--l. 26--><p class="noindent" >
<!--l. 27--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
<!--l. 27--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">call</span><span
class="cmtt-12">&#x00A0;p%set(smoother,info</span><span
class="cmtt-12">&#x00A0;[,ilev,ilmax,pos])</span></span></span><br />
<span class="obeylines-h"><span class="verb"><span
class="cmtt-12">&#x00A0;</span><span
class="cmtt-12">p</span><span
class="cmtt-12">%</span><span
class="cmtt-12">set</span><span
class="cmtt-12">(</span><span
class="cmtt-12">smoother</span><span
class="cmtt-12">,</span><span
class="cmtt-12">info</span><span
class="cmtt-12">&#x00A0;</span><span
class="cmtt-12">[,</span><span
class="cmtt-12">ilev</span><span
class="cmtt-12">,</span><span
class="cmtt-12">ilmax</span><span
class="cmtt-12">,</span><span
class="cmtt-12">pos</span><span
class="cmtt-12">])</span><br />
<span class="lstinline"></span><span
class="cmtt-12">call</span><span
class="cmtt-12">&#x00A0;p%set(solver,info</span><span
class="cmtt-12">&#x00A0;[,ilev,ilmax,pos])</span></span></span></div>
class="cmtt-12">&#x00A0;</span><span
class="cmtt-12">p</span><span
class="cmtt-12">%</span><span
class="cmtt-12">set</span><span
class="cmtt-12">(</span><span
class="cmtt-12">solver</span><span
class="cmtt-12">,</span><span
class="cmtt-12">info</span><span
class="cmtt-12">&#x00A0;</span><span
class="cmtt-12">[,</span><span
class="cmtt-12">ilev</span><span
class="cmtt-12">,</span><span
class="cmtt-12">ilmax</span><span
class="cmtt-12">,</span><span
class="cmtt-12">pos</span><span
class="cmtt-12">])</span></div>
</li>
<li class="itemize"><span
class="cmr-12">link the code implementing the various methods into the application</span>
@ -143,10 +171,13 @@ cellspacing="0" cellpadding="0"
id="TBL-21-1"><col
id="TBL-21-2"></colgroup><tr
style="vertical-align:baseline;" id="TBL-21-1-"><td style="white-space:wrap; text-align:left;" id="TBL-21-1-1"
class="td11"><!--l. 58--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
class="cmtt-12">smoother</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-21-1-2"
class="td11"><!--l. 58--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
class="cmtt-12">class(amg_x_base_smoother_type)</span></span></span> </td>
class="td11"><!--l. 58--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">smoother</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-21-1-2"
class="td11"><!--l. 58--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">class</span><span
class="cmtt-12">(</span><span
class="cmtt-12">amg_x_base_smoother_type</span><span
class="cmtt-12">)</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-21-2-"><td style="white-space:wrap; text-align:left;" id="TBL-21-2-1"
class="td11"><!--l. 59--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-21-2-2"
@ -156,10 +187,13 @@ class="cmr-12">The user-defined new smoother to be employed in t
class="cmr-12">preconditioner.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-21-3-"><td style="white-space:wrap; text-align:left;" id="TBL-21-3-1"
class="td11"><!--l. 61--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
class="cmtt-12">solver</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-21-3-2"
class="td11"><!--l. 61--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
class="cmtt-12">class(amg_x_base_solver_type)</span></span></span> </td>
class="td11"><!--l. 61--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">solver</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-21-3-2"
class="td11"><!--l. 61--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">class</span><span
class="cmtt-12">(</span><span
class="cmtt-12">amg_x_base_solver_type</span><span
class="cmtt-12">)</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-21-4-"><td style="white-space:wrap; text-align:left;" id="TBL-21-4-1"
class="td11"><!--l. 62--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-21-4-2"
@ -199,7 +233,7 @@ class="cmr-12">pass it as follows:</span>
&#x00A0;<br />&#x00A0;&#x00A0;call&#x00A0;prec%smoothers_build(a,desc_a,info)
&#x00A0;<br />
</div>
<!--l. 88--><p class="nopar" >
<!--l. 107--><p class="nopar" >

@ -46,6 +46,12 @@ class="cmtt-12">,</span><span
class="cmtt-12">&#x00A0;</span><span
class="cmtt-12">[</span><span
class="cmtt-12">iout</span><span
class="cmtt-12">,</span><span
class="cmtt-12">&#x00A0;</span><span
class="cmtt-12">root</span><span
class="cmtt-12">,</span><span
class="cmtt-12">&#x00A0;</span><span
class="cmtt-12">verbosity</span><span
class="cmtt-12">])</span><br />
</div>
<!--l. 763--><p class="noindent" ><span
@ -71,7 +77,7 @@ id="TBL-16-1"><col
id="TBL-16-2"></colgroup><tr
style="vertical-align:baseline;" id="TBL-16-1-"><td style="white-space:wrap; text-align:left;" id="TBL-16-1-1"
class="td11"><!--l. 771--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">info</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-16-1-2"
class="cmtt-12">info</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-16-1-2"
class="td11"><!--l. 771--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">integer</span><span
class="cmtt-12">,</span><span
@ -80,20 +86,20 @@ class="cmtt-12">intent</span><span
class="cmtt-12">(</span><span
class="cmtt-12">out</span><span
class="cmtt-12">)</span><span
class="cmr-12">.</span> </td>
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-16-2-"><td style="white-space:wrap; text-align:left;" id="TBL-16-2-1"
class="td11"><!--l. 772--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-16-2-2"
class="td11"><!--l. 772--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-16-2-2"
class="td11"><!--l. 772--><p class="noindent" ><span
class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span
class="cmr-12">&#x00A0;</span><a
href="userhtmlse7.html#x26-300007"><span
class="cmr-12">7</span><!--tex4ht:ref: sec:errors --></a> <span
class="cmr-12">for details.</span> </td>
class="cmr-12">for details.</span></td>
</tr><tr
style="vertical-align:baseline;" id="TBL-16-3-"><td style="white-space:wrap; text-align:left;" id="TBL-16-3-1"
class="td11"><!--l. 773--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">iout</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-16-3-2"
class="cmtt-12">iout</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-16-3-2"
class="td11"><!--l. 773--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">integer</span><span
class="cmtt-12">,</span><span
@ -104,21 +110,71 @@ class="cmtt-12">in</span><span
class="cmtt-12">),</span><span
class="cmtt-12">&#x00A0;</span><span
class="cmtt-12">optional</span><span
class="cmr-12">.</span> </td>
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-16-4-"><td style="white-space:wrap; text-align:left;" id="TBL-16-4-1"
class="td11"><!--l. 774--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-16-4-2"
class="td11"><!--l. 774--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-16-4-2"
class="td11"><!--l. 774--><p class="noindent" ><span
class="cmr-12">The id of the file where the preconditioner description will be</span>
class="cmr-12">The id of the file where the preconditioner description will be</span>
<span
class="cmr-12">printed; the default is the standard output.</span> </td>
class="cmr-12">printed; the default is the standard output.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-16-5-"><td style="white-space:wrap; text-align:left;" id="TBL-16-5-1"
class="td11"> </td> </tr></table></div>
class="td11"><!--l. 776--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">root</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-16-5-2"
class="td11"><!--l. 776--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">integer</span><span
class="cmtt-12">,</span><span
class="cmtt-12">&#x00A0;</span><span
class="cmtt-12">intent</span><span
class="cmtt-12">(</span><span
class="cmtt-12">in</span><span
class="cmtt-12">),</span><span
class="cmtt-12">&#x00A0;</span><span
class="cmtt-12">optional</span><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-16-6-"><td style="white-space:wrap; text-align:left;" id="TBL-16-6-1"
class="td11"><!--l. 777--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-16-6-2"
class="td11"><!--l. 777--><p class="noindent" ><span
class="cmr-12">The id of the process where the preconditioner description</span>
<span
class="cmr-12">will be printed; the default is </span><span class="lstinline"></span><span
class="cmtt-12">psb_root_</span><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-16-7-"><td style="white-space:wrap; text-align:left;" id="TBL-16-7-1"
class="td11"><!--l. 779--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">verbosity</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-16-7-2"
class="td11"><!--l. 779--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">integer</span><span
class="cmtt-12">,</span><span
class="cmtt-12">&#x00A0;</span><span
class="cmtt-12">intent</span><span
class="cmtt-12">(</span><span
class="cmtt-12">in</span><span
class="cmtt-12">),</span><span
class="cmtt-12">&#x00A0;</span><span
class="cmtt-12">optional</span><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-16-8-"><td style="white-space:wrap; text-align:left;" id="TBL-16-8-1"
class="td11"><!--l. 780--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-16-8-2"
class="td11"><!--l. 780--><p class="noindent" ><span
class="cmr-12">The verbosity level of the description. Default value is 0. For</span>
<span
class="cmr-12">values higher than 0, it prints out further information, e.g., for</span>
<span
class="cmr-12">a distributed multilevel preconditioner the size of the coarse</span>
<span
class="cmr-12">matrices on every process.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-16-9-"><td style="white-space:wrap; text-align:left;" id="TBL-16-9-1"
class="td11"> </td> </tr></table></div>
<!--l. 779--><div class="crosslinks"><p class="noindent"><span
<!--l. 787--><div class="crosslinks"><p class="noindent"><span
class="cmr-12">[</span><a
href="userhtmlsu15.html" ><span
class="cmr-12">next</span></a><span
@ -135,6 +191,6 @@ class="cmr-12">] [</span><a
href="userhtmlse5.html#userhtmlsu14.html" ><span
class="cmr-12">up</span></a><span
class="cmr-12">] </span></p></div>
<!--l. 779--><p class="indent" > <a
<!--l. 787--><p class="indent" > <a
id="tailuserhtmlsu14.html"></a>
</body></html>

@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body
>
<!--l. 779--><div class="crosslinks"><p class="noindent"><span
<!--l. 787--><div class="crosslinks"><p class="noindent"><span
class="cmr-12">[</span><a
href="userhtmlsu14.html" ><span
class="cmr-12">prev</span></a><span
@ -28,19 +28,19 @@ class="cmr-12">] </span></p></div>
class="cmr-12">5.9 </span></span> <a
id="x24-230005.9"></a><span
class="cmr-12">Auxiliary Methods</span></h4>
<!--l. 780--><p class="noindent" ><span
<!--l. 788--><p class="noindent" ><span
class="cmr-12">Various functionalities are implemented as additional methods of the preconditioner</span>
<span
class="cmr-12">object.</span>
<!--l. 783--><p class="noindent" >
<!--l. 791--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark"><span
class="cmr-12">5.9.1 </span></span> <a
id="x24-240005.9.1"></a><span
class="cmr-12">Method: dump</span></h5>
<div class="center"
>
<!--l. 785--><p class="noindent" >
<!--l. 786--><p class="noindent" ><span class="lstinline"></span><span
<!--l. 793--><p class="noindent" >
<!--l. 794--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">call</span><span
class="cmtt-12">&#x00A0;</span><span
class="cmtt-12">p</span><span
@ -68,9 +68,9 @@ class="cmtt-12">,</span><span
class="cmtt-12">global_num</span><span
class="cmtt-12">])</span><br />
</div>
<!--l. 789--><p class="noindent" ><span
<!--l. 797--><p class="noindent" ><span
class="cmr-12">Dump on file.</span>
<!--l. 792--><p class="noindent" ><span
<!--l. 800--><p class="noindent" ><span
class="cmbx-12">Arguments</span>
<div class="tabular"> <table id="TBL-17" class="tabular"
cellspacing="0" cellpadding="0"
@ -78,9 +78,9 @@ cellspacing="0" cellpadding="0"
id="TBL-17-1"><col
id="TBL-17-2"></colgroup><tr
style="vertical-align:baseline;" id="TBL-17-1-"><td style="white-space:wrap; text-align:left;" id="TBL-17-1-1"
class="td11"><!--l. 795--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 803--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">info</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-17-1-2"
class="td11"><!--l. 795--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 803--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">integer</span><span
class="cmtt-12">,</span><span
class="cmtt-12">&#x00A0;</span><span
@ -91,8 +91,8 @@ class="cmtt-12">)</span><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-17-2-"><td style="white-space:wrap; text-align:left;" id="TBL-17-2-1"
class="td11"><!--l. 796--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-17-2-2"
class="td11"><!--l. 796--><p class="noindent" ><span
class="td11"><!--l. 804--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-17-2-2"
class="td11"><!--l. 804--><p class="noindent" ><span
class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span
class="cmr-12">&#x00A0;</span><a
href="userhtmlse7.html#x26-300007"><span
@ -100,9 +100,9 @@ class="cmr-12">7</span><!--tex4ht:ref: sec:errors --></a> <span
class="cmr-12">for details.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-17-3-"><td style="white-space:wrap; text-align:left;" id="TBL-17-3-1"
class="td11"><!--l. 797--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 805--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">amold</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-17-3-2"
class="td11"><!--l. 797--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 805--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">class</span><span
class="cmtt-12">(</span><span
class="cmtt-12">psb_</span><span
@ -119,8 +119,8 @@ class="cmtt-12">optional</span><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-17-4-"><td style="white-space:wrap; text-align:left;" id="TBL-17-4-1"
class="td11"><!--l. 798--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-17-4-2"
class="td11"><!--l. 798--><p class="noindent" ><span
class="td11"><!--l. 806--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-17-4-2"
class="td11"><!--l. 806--><p class="noindent" ><span
class="cmr-12">The desired dynamic type for internal matrix components; this</span>
<span
class="cmr-12">allows e.g. running on GPUs; it needs not be the same on all</span>
@ -134,15 +134,15 @@ class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-17-5-"><td style="white-space:wrap; text-align:left;" id="TBL-17-5-1"
class="td11"> </td> </tr></table></div>
<!--l. 805--><p class="noindent" >
<!--l. 813--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark"><span
class="cmr-12">5.9.2 </span></span> <a
id="x24-250005.9.2"></a><span
class="cmr-12">Method: clone</span></h5>
<div class="center"
>
<!--l. 807--><p class="noindent" >
<!--l. 808--><p class="noindent" ><span class="lstinline"></span><span
<!--l. 815--><p class="noindent" >
<!--l. 816--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">call</span><span
class="cmtt-12">&#x00A0;</span><span
class="cmtt-12">p</span><span
@ -157,9 +157,9 @@ class="cmtt-12">)</span><br />
<!--l. 811--><p class="noindent" ><span
<!--l. 819--><p class="noindent" ><span
class="cmr-12">Create a (deep) copy of the preconditioner object.</span>
<!--l. 814--><p class="noindent" ><span
<!--l. 822--><p class="noindent" ><span
class="cmbx-12">Arguments</span>
<div class="tabular"> <table id="TBL-18" class="tabular"
cellspacing="0" cellpadding="0"
@ -167,9 +167,9 @@ cellspacing="0" cellpadding="0"
id="TBL-18-1"><col
id="TBL-18-2"></colgroup><tr
style="vertical-align:baseline;" id="TBL-18-1-"><td style="white-space:wrap; text-align:left;" id="TBL-18-1-1"
class="td11"><!--l. 817--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 825--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">pout</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-18-1-2"
class="td11"><!--l. 817--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 825--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">type</span><span
class="cmtt-12">(</span><span
class="cmtt-12">amg_</span><span
@ -184,8 +184,8 @@ class="cmtt-12">)</span><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-18-2-"><td style="white-space:wrap; text-align:left;" id="TBL-18-2-1"
class="td11"><!--l. 818--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-18-2-2"
class="td11"><!--l. 818--><p class="noindent" ><span
class="td11"><!--l. 826--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-18-2-2"
class="td11"><!--l. 826--><p class="noindent" ><span
class="cmr-12">The copy of the preconditioner data structure. Note that </span><span
class="cmti-12">x </span><span
class="cmr-12">must</span>
@ -199,9 +199,9 @@ class="cmr-12">, single/double precision</span>
class="cmr-12">version of AMG4PSBLAS under use.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-18-3-"><td style="white-space:wrap; text-align:left;" id="TBL-18-3-1"
class="td11"><!--l. 821--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 829--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">info</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-18-3-2"
class="td11"><!--l. 821--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 829--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">integer</span><span
class="cmtt-12">,</span><span
class="cmtt-12">&#x00A0;</span><span
@ -212,8 +212,8 @@ class="cmtt-12">)</span><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-18-4-"><td style="white-space:wrap; text-align:left;" id="TBL-18-4-1"
class="td11"><!--l. 822--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-18-4-2"
class="td11"><!--l. 822--><p class="noindent" ><span
class="td11"><!--l. 830--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-18-4-2"
class="td11"><!--l. 830--><p class="noindent" ><span
class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span
class="cmr-12">&#x00A0;</span><a
href="userhtmlse7.html#x26-300007"><span
@ -222,15 +222,15 @@ class="cmr-12">for details.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-18-5-"><td style="white-space:wrap; text-align:left;" id="TBL-18-5-1"
class="td11"> </td> </tr></table></div>
<!--l. 827--><p class="noindent" >
<!--l. 835--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark"><span
class="cmr-12">5.9.3 </span></span> <a
id="x24-260005.9.3"></a><span
class="cmr-12">Method: sizeof</span></h5>
<div class="center"
>
<!--l. 829--><p class="noindent" >
<!--l. 830--><p class="noindent" ><span class="lstinline"></span><span
<!--l. 837--><p class="noindent" >
<!--l. 838--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">sz</span><span
class="cmtt-12">&#x00A0;</span><span
class="cmtt-12">=</span><span
@ -240,9 +240,9 @@ class="cmtt-12">%</span><span
class="cmtt-12">sizeof</span><span
class="cmtt-12">()</span><br />
</div>
<!--l. 833--><p class="noindent" ><span
<!--l. 841--><p class="noindent" ><span
class="cmr-12">Return memory footprint in bytes.</span>
<!--l. 836--><p class="noindent" >
<!--l. 844--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark"><span
class="cmr-12">5.9.4 </span></span> <a
id="x24-270005.9.4"></a><span
@ -250,8 +250,8 @@ class="cmr-12">Method: allocate</span><span
class="cmr-12">_wrk</span></h5>
<div class="center"
>
<!--l. 838--><p class="noindent" >
<!--l. 839--><p class="noindent" ><span class="lstinline"></span><span
<!--l. 846--><p class="noindent" >
<!--l. 847--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">call</span><span
class="cmtt-12">&#x00A0;</span><span
class="cmtt-12">p</span><span
@ -264,7 +264,7 @@ class="cmtt-12">&#x00A0;</span><span
class="cmtt-12">vmold</span><span
class="cmtt-12">])</span><br />
</div>
<!--l. 842--><p class="noindent" ><span
<!--l. 850--><p class="noindent" ><span
class="cmr-12">Allocate internal work vectors. Each application of the preconditioner uses a number of</span>
<span
class="cmr-12">work vectors which are allocated internally as necessary; therefore allocation and</span>
@ -296,7 +296,7 @@ class="cmr-12">argument to the </span><span class="lstinline"></span><span
class="cmtt-12">apply</span>
<span
class="cmr-12">method.</span>
<!--l. 858--><p class="noindent" ><span
<!--l. 866--><p class="noindent" ><span
class="cmbx-12">Arguments</span>
<div class="tabular"> <table id="TBL-19" class="tabular"
cellspacing="0" cellpadding="0"
@ -304,9 +304,9 @@ cellspacing="0" cellpadding="0"
id="TBL-19-1"><col
id="TBL-19-2"></colgroup><tr
style="vertical-align:baseline;" id="TBL-19-1-"><td style="white-space:wrap; text-align:left;" id="TBL-19-1-1"
class="td11"><!--l. 861--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 869--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">info</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-19-1-2"
class="td11"><!--l. 861--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 869--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">integer</span><span
class="cmtt-12">,</span><span
class="cmtt-12">&#x00A0;</span><span
@ -317,8 +317,8 @@ class="cmtt-12">)</span><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-19-2-"><td style="white-space:wrap; text-align:left;" id="TBL-19-2-1"
class="td11"><!--l. 862--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-19-2-2"
class="td11"><!--l. 862--><p class="noindent" ><span
class="td11"><!--l. 870--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-19-2-2"
class="td11"><!--l. 870--><p class="noindent" ><span
class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span
class="cmr-12">&#x00A0;</span><a
href="userhtmlse7.html#x26-300007"><span
@ -326,9 +326,9 @@ class="cmr-12">7</span><!--tex4ht:ref: sec:errors --></a> <span
class="cmr-12">for details.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-19-3-"><td style="white-space:wrap; text-align:left;" id="TBL-19-3-1"
class="td11"><!--l. 863--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 871--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">vmold</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-19-3-2"
class="td11"><!--l. 863--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 871--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">class</span><span
class="cmtt-12">(</span><span
class="cmtt-12">psb_</span><span
@ -345,15 +345,15 @@ class="cmtt-12">optional</span><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-19-4-"><td style="white-space:wrap; text-align:left;" id="TBL-19-4-1"
class="td11"><!--l. 864--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-19-4-2"
class="td11"><!--l. 864--><p class="noindent" ><span
class="td11"><!--l. 872--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-19-4-2"
class="td11"><!--l. 872--><p class="noindent" ><span
class="cmr-12">The desired dynamic type for internal vector components; this</span>
<span
class="cmr-12">allows e.g. running on GPUs.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-19-5-"><td style="white-space:wrap; text-align:left;" id="TBL-19-5-1"
class="td11"> </td> </tr></table></div>
<!--l. 870--><p class="noindent" >
<!--l. 878--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark"><span
class="cmr-12">5.9.5 </span></span> <a
id="x24-280005.9.5"></a><span
@ -361,8 +361,8 @@ class="cmr-12">Method: free</span><span
class="cmr-12">_wrk</span></h5>
<div class="center"
>
<!--l. 872--><p class="noindent" >
<!--l. 873--><p class="noindent" ><span class="lstinline"></span><span
<!--l. 880--><p class="noindent" >
<!--l. 881--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">call</span><span
class="cmtt-12">&#x00A0;</span><span
class="cmtt-12">p</span><span
@ -372,9 +372,9 @@ class="cmtt-12">(</span><span
class="cmtt-12">info</span><span
class="cmtt-12">)</span><br />
</div>
<!--l. 876--><p class="noindent" ><span
<!--l. 884--><p class="noindent" ><span
class="cmr-12">Deallocate internal work vectors.</span>
<!--l. 879--><p class="noindent" ><span
<!--l. 887--><p class="noindent" ><span
class="cmbx-12">Arguments</span>
<div class="tabular"> <table id="TBL-20" class="tabular"
cellspacing="0" cellpadding="0"
@ -382,9 +382,9 @@ cellspacing="0" cellpadding="0"
id="TBL-20-1"><col
id="TBL-20-2"></colgroup><tr
style="vertical-align:baseline;" id="TBL-20-1-"><td style="white-space:wrap; text-align:left;" id="TBL-20-1-1"
class="td11"><!--l. 882--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 890--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">info</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-20-1-2"
class="td11"><!--l. 882--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 890--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">integer</span><span
class="cmtt-12">,</span><span
class="cmtt-12">&#x00A0;</span><span
@ -395,8 +395,8 @@ class="cmtt-12">)</span><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-20-2-"><td style="white-space:wrap; text-align:left;" id="TBL-20-2-1"
class="td11"><!--l. 883--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-20-2-2"
class="td11"><!--l. 883--><p class="noindent" ><span
class="td11"><!--l. 891--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-20-2-2"
class="td11"><!--l. 891--><p class="noindent" ><span
class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span
class="cmr-12">&#x00A0;</span><a
href="userhtmlse7.html#x26-300007"><span

@ -64,16 +64,18 @@ the consequences for any action they deem in violation of this Code of Conduct:
\begin{enumerate}
\item Correction
Community Impact: Use of inappropriate language or other behavior deemed
\textit{Community Impact:} Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.
Consequence: A private, written warning from community leaders, providing
\textit{Consequence:} A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.
\item Warning
Community Impact: A violation through a single incident or series
\textit{Community Impact:} A violation through a single incident or series
of actions.
Consequence: A warning with consequences for continued behavior. No
\textit{Consequence:} A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
@ -81,26 +83,28 @@ like social media. Violating these terms may lead to a temporary or
permanent ban.
\item Temporary Ban
Community Impact: A serious violation of community standards, including
\textit{Community Impact:} A serious violation of community standards, including
sustained inappropriate behavior.
Consequence: A temporary ban from any sort of interaction or public
\textit{Consequence:} A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.
\item Permanent Ban
Community Impact: Demonstrating a pattern of violation of community
\textit{Community Impact:} Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
Consequence: A permanent ban from any sort of public interaction within
\textit{Consequence:} A permanent ban from any sort of public interaction within
the community.
\end{enumerate}
\paragraph{Attribution}
This Code of Conduct is adapted from the Contributor Covenant,
version 2.0, available at
\href{https://www.contributor-covenant.org/version/2/0/code_of_conduct.html}{https://www.contributor-covenant.org/version/2/0/code\_of\_conduct.html}.
\href{https://www.contributor-covenant.org/version/2/0/code_of_conduct.html}{https://www.contributor-covenant.org/version/2/0/code\_of\_conduct .html}.
Community Impact Guidelines were inspired by
Mozillas code of conduct enforcement ladder.
For answers to common questions about this code of conduct, see the FAQ at

@ -24,8 +24,8 @@ the context of the multilevel preconditioners it is necessary to:
\item pass that variable as the argument to the \verb|set| routine as in the
following:
\begin{center}
\verb|call p%set(smoother,info [,ilev,ilmax,pos])|\\
\verb|call p%set(solver,info [,ilev,ilmax,pos])|
\fortinline|call p%set(smoother,info [,ilev,ilmax,pos])|\\
\fortinline|call p%set(solver,info [,ilev,ilmax,pos])|
\end{center}
\item link the code implementing the various methods into the application executable.
\end{itemize}
@ -55,10 +55,10 @@ need to be ovverridden (rewritten).
The interfaces for the calls shown above are defined using
\begin{center}
\begin{tabular}{p{1.4cm}p{12cm}}
\verb|smoother| & \verb|class(amg_x_base_smoother_type)| \\
\fortinline|smoother| & \fortinline|class(amg_x_base_smoother_type)| \\
& The user-defined new smoother to be employed in the
preconditioner.\\
\verb|solver| & \verb|class(amg_x_base_solver_type)| \\
\fortinline|solver| & \fortinline|class(amg_x_base_solver_type)| \\
& The user-defined new solver to be employed in the
preconditioner.
\end{tabular}
@ -67,6 +67,25 @@ The other arguments are defined in the way described in
Sec.~\ref{sec:precset}. As an example, in the \verb|tests/newslv|
code we define a new object of type \verb|amg_d_tlu_solver_type|, and
we pass it as follows:
\ifpdf
\begin{minted}[breaklines=true,bgcolor=bg,fontsize=\small]{fortran}
! sparse matrix and preconditioner
type(psb_dspmat_type) :: a
type(amg_dprec_type) :: prec
type(amg_d_tlu_solver_type) :: tlusv
......
!
! prepare the preconditioner: an ML with defaults, but with TLU solver at
! intermediate levels. All other parameters are at default values.
!
call prec%init('ML', info)
call prec%hierarchy_build(a,desc_a,info)
nlv = prec%get_nlevs()
call prec%set(tlusv, info,ilev=1,ilmax=max(1,nlv-1))
call prec%smoothers_build(a,desc_a,info)
\end{minted}
\else
\begin{verbatim}
! sparse matrix and preconditioner
@ -86,3 +105,4 @@ we pass it as follows:
call prec%smoothers_build(a,desc_a,info)
\end{verbatim}
\fi

@ -757,7 +757,7 @@ This method deallocates the preconditioner data structure \fortinline|p|.
\subsection{Method descr\label{sec:precdescr}}
\begin{center}
\fortinline|call p%descr(info, [iout])|\\
\fortinline|call p%descr(info, [iout, root, verbosity])|\\
\end{center}
\noindent
@ -767,12 +767,20 @@ or \fortinline|build|, have been called.
{\vskip1.5\baselineskip\noindent\large\bfseries Arguments} \smallskip
\begin{tabular}{p{1.2cm}p{12cm}}
\begin{tabular}{p{2.2cm}p{11cm}}
\fortinline|info| & \fortinline|integer, intent(out)|.\\
& Error code. If no error, 0 is returned. See Section~\ref{sec:errors} for details.\\
\fortinline|iout| & \fortinline|integer, intent(in), optional|.\\
& The id of the file where the preconditioner description
will be printed; the default is the standard output.\\
\fortinline|root| & \fortinline|integer, intent(in), optional|.\\
& The id of the process where the preconditioner description
will be printed; the default is \fortinline|psb_root_|.\\
\fortinline|verbosity| & \fortinline|integer, intent(in), optional|.\\
& The verbosity level of the description. Default value
is 0. For values higher than 0, it prints out further
information, e.g., for a distributed multilevel preconditioner
the size of the coarse matrices on every process.\\
\end{tabular}

Loading…
Cancel
Save