Define 1.2 as name of UG

This commit is contained in:
sfilippone
2024-11-18 15:51:16 +01:00
parent 417f8beaf9
commit 36b57eec24
17 changed files with 8824 additions and 588 deletions
+26 -20
View File
@@ -29,7 +29,7 @@ class="cmr-12">up</span></a><span
class="cmr-12">] </span></p></div>
<h3 class="sectionHead"><span class="titlemark"><span
class="cmr-12">6 </span></span> <a
id="x27-310006"></a><span
id="x9-310006"></a><span
class="cmr-12">Adding new smoother and solver objects to AMG4PSBLAS</span></h3>
<!--l. 6--><p class="noindent" ><span
class="cmr-12">Developers can add completely new smoother and/or solver classes derived from the</span>
@@ -37,7 +37,7 @@ class="cmr-12">Developers can add completely new smoother and/or solver classes
class="cmr-12">base objects in the library (see Remark</span><span
class="cmr-12">&#x00A0;2 in Section</span><span
class="cmr-12">&#x00A0;</span><a
href="userhtmlsu9.html#x19-180005.2"><span
href="userhtmlse5.html#x8-180005.2"><span
class="cmr-12">5.2</span><!--tex4ht:ref: sec:precset --></a><span
class="cmr-12">), without recompiling the</span>
<span
@@ -69,7 +69,8 @@ class="cmr-12">declare in the application program a variable of the new type;</s
</li>
<li class="itemize">
<!--l. 24--><p class="noindent" ><span
class="cmr-12">pass that variable as the argument to the </span><span class="obeylines-h"><code class="verb">set</code></span> <span
class="cmr-12">pass that variable as the argument to the </span><span class="obeylines-h"><span class="verb"><span
class="cmtt-12">set</span></span></span> <span
class="cmr-12">routine as in the following:</span>
<div class="center"
>
@@ -96,8 +97,10 @@ class="cmr-12">the AMG4PSBLAS library has not been modified to account for this
<span
class="cmr-12">development.</span>
<!--l. 37--><p class="indent" > <span
class="cmr-12">It is possible to define new values for the keyword </span><span class="obeylines-h"><code class="verb">WHAT</code></span> <span
class="cmr-12">in the </span><span class="obeylines-h"><code class="verb">set</code></span> <span
class="cmr-12">It is possible to define new values for the keyword </span><span class="obeylines-h"><span class="verb"><span
class="cmtt-12">WHAT</span></span></span> <span
class="cmr-12">in the </span><span class="obeylines-h"><span class="verb"><span
class="cmtt-12">set</span></span></span> <span
class="cmr-12">routine; if the</span>
<span
class="cmr-12">library code does not recognize a keyword, it passes it down the composition hierarchy</span>
@@ -113,7 +116,8 @@ class="cmr-12">any keyword/value pair that does not pertain to a given solver is
class="cmr-12">ignored.</span>
<!--l. 46--><p class="indent" > <span
class="cmr-12">An example is provided in the source code distribution under the folder</span>
<span class="obeylines-h"><code class="verb">tests/newslv</code></span><span
<span class="obeylines-h"><span class="verb"><span
class="cmtt-12">tests/newslv</span></span></span><span
class="cmr-12">. In this example we are implementing a new incomplete factorization</span>
<span
class="cmr-12">variant (which is simply the ILU(0) factorization under a new name). Because of the</span>
@@ -136,32 +140,34 @@ class="cmr-12">The interfaces for the calls shown above are defined using</span>
id="TBL-23-1"><col
id="TBL-23-2"></colgroup><tr
style="vertical-align:baseline;" id="TBL-23-1-"><td style="white-space:normal; text-align:left;" id="TBL-23-1-1"
class="td11"> <!--l. 58--><p class="noindent" ><code class="lstinline"><span style="color:#000000">smoother</span></code> </td><td style="white-space:normal; text-align:left;" id="TBL-23-1-2"
class="td11"> <!--l. 58--><p class="noindent" ><code class="lstinline"><span style="color:#000000">class</span><span style="color:#000000">(</span><span style="color:#000000">amg_x_base_smoother_type</span><span style="color:#000000">)</span></code> </td>
class="td11"><!--l. 58--><p class="noindent" ><code class="lstinline"><span style="color:#000000">smoother</span></code> </td><td style="white-space:normal; text-align:left;" id="TBL-23-1-2"
class="td11"><!--l. 58--><p class="noindent" ><code class="lstinline"><span style="color:#000000">class</span><span style="color:#000000">(</span><span style="color:#000000">amg_x_base_smoother_type</span><span style="color:#000000">)</span></code> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-23-2-"><td style="white-space:normal; text-align:left;" id="TBL-23-2-1"
class="td11"> <!--l. 59--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-23-2-2"
class="td11"> <!--l. 59--><p class="noindent" ><span
class="td11"><!--l. 59--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-23-2-2"
class="td11"><!--l. 59--><p class="noindent" ><span
class="cmr-12">The user-defined new smoother to be employed in the</span>
<span
class="cmr-12">preconditioner.</span> </td>
<span
class="cmr-12">preconditioner.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-23-3-"><td style="white-space:normal; text-align:left;" id="TBL-23-3-1"
class="td11"> <!--l. 61--><p class="noindent" ><code class="lstinline"><span style="color:#000000">solver</span></code> </td><td style="white-space:normal; text-align:left;" id="TBL-23-3-2"
class="td11"> <!--l. 61--><p class="noindent" ><code class="lstinline"><span style="color:#000000">class</span><span style="color:#000000">(</span><span style="color:#000000">amg_x_base_solver_type</span><span style="color:#000000">)</span></code> </td>
class="td11"><!--l. 61--><p class="noindent" ><code class="lstinline"><span style="color:#000000">solver</span></code> </td><td style="white-space:normal; text-align:left;" id="TBL-23-3-2"
class="td11"><!--l. 61--><p class="noindent" ><code class="lstinline"><span style="color:#000000">class</span><span style="color:#000000">(</span><span style="color:#000000">amg_x_base_solver_type</span><span style="color:#000000">)</span></code> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-23-4-"><td style="white-space:normal; text-align:left;" id="TBL-23-4-1"
class="td11"> <!--l. 62--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-23-4-2"
class="td11"> <!--l. 62--><p class="noindent" ><span
class="cmr-12">The user-defined new solver to be employed in the preconditioner.</span> </td></tr></table></div></div>
class="td11"><!--l. 62--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-23-4-2"
class="td11"><!--l. 62--><p class="noindent" ><span
class="cmr-12">The user-defined new solver to be employed in the preconditioner.</span></td></tr></table> </div></div>
<!--l. 66--><p class="noindent" ><span
class="cmr-12">The other arguments are defined in the way described in Sec.</span><span
class="cmr-12">&#x00A0;</span><a
href="userhtmlsu9.html#x19-180005.2"><span
href="userhtmlse5.html#x8-180005.2"><span
class="cmr-12">5.2</span><!--tex4ht:ref: sec:precset --></a><span
class="cmr-12">. As an example, in the</span>
<span class="obeylines-h"><code class="verb">tests/newslv</code></span> <span
class="cmr-12">code we define a new object of type </span><span class="obeylines-h"><code class="verb">amg_d_tlu_solver_type</code></span><span
<span class="obeylines-h"><span class="verb"><span
class="cmtt-12">tests/newslv</span></span></span> <span
class="cmr-12">code we define a new object of type </span><span class="obeylines-h"><span class="verb"><span
class="cmtt-12">amg_d_tlu_solver_type</span></span></span><span
class="cmr-12">, and we</span>
<span
class="cmr-12">pass it as follows:</span>