|
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
|
|
|
"http://www.w3.org/TR/html4/loose.dtd">
|
|
|
|
<html >
|
|
|
|
<head><title>Method smoothers_build</title>
|
|
|
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
|
|
<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)">
|
|
|
|
<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)">
|
|
|
|
<!-- html,3 -->
|
|
|
|
<meta name="src" content="userhtml.tex">
|
|
|
|
<link rel="stylesheet" type="text/css" href="userhtml.css">
|
|
|
|
</head><body
|
|
|
|
>
|
|
|
|
<!--l. 603--><div class="crosslinks"><p class="noindent"><span
|
|
|
|
class="cmr-12">[</span><a
|
|
|
|
href="userhtmlsu14.html" ><span
|
|
|
|
class="cmr-12">next</span></a><span
|
|
|
|
class="cmr-12">] [</span><a
|
|
|
|
href="userhtmlsu12.html" ><span
|
|
|
|
class="cmr-12">prev</span></a><span
|
|
|
|
class="cmr-12">] [</span><a
|
|
|
|
href="userhtmlsu12.html#tailuserhtmlsu12.html" ><span
|
|
|
|
class="cmr-12">prev-tail</span></a><span
|
|
|
|
class="cmr-12">] [</span><a
|
|
|
|
href="#tailuserhtmlsu13.html"><span
|
|
|
|
class="cmr-12">tail</span></a><span
|
|
|
|
class="cmr-12">] [</span><a
|
|
|
|
href="userhtmlse6.html#userhtmlsu13.html" ><span
|
|
|
|
class="cmr-12">up</span></a><span
|
|
|
|
class="cmr-12">] </span></p></div>
|
|
|
|
<h4 class="subsectionHead"><span class="titlemark"><span
|
|
|
|
class="cmr-12">6.4 </span></span> <a
|
|
|
|
id="x23-220006.4"></a><span
|
|
|
|
class="cmr-12">Method smoothers</span><span
|
|
|
|
class="cmr-12">_build</span></h4>
|
|
|
|
<div class="center"
|
|
|
|
>
|
|
|
|
<!--l. 606--><p class="noindent" >
|
|
|
|
<!--l. 607--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
|
|
class="cmtt-12">call</span><span
|
|
|
|
class="cmtt-12"> p%smoothers_build(a,desc_a,p,info[,amold,vmold,imold])</span></span></span><br />
|
|
|
|
</div>
|
|
|
|
<!--l. 610--><p class="noindent" ><span
|
|
|
|
class="cmr-12">This method builds the smoothers and the coarsest-level solvers for the multilevel</span>
|
|
|
|
<span
|
|
|
|
class="cmr-12">preconditioner </span><span class="obeylines-h"><span class="verb"><span
|
|
|
|
class="cmtt-12">p</span></span></span><span
|
|
|
|
class="cmr-12">, according to the requirements made by the user through the methods</span>
|
|
|
|
<span class="obeylines-h"><span class="verb"><span
|
|
|
|
class="cmtt-12">init</span></span></span> <span
|
|
|
|
class="cmr-12">and </span><span class="obeylines-h"><span class="verb"><span
|
|
|
|
class="cmtt-12">set</span></span></span><span
|
|
|
|
class="cmr-12">, and based on the aggregation hierarchy produced by a previous call to</span>
|
|
|
|
<span class="obeylines-h"><span class="verb"><span
|
|
|
|
class="cmtt-12">hierarchy_build</span></span></span> <span
|
|
|
|
class="cmr-12">(see Section</span><span
|
|
|
|
class="cmr-12"> </span><a
|
|
|
|
href="userhtmlsu12.html#x22-210006.3"><span
|
|
|
|
class="cmr-12">6.3</span><!--tex4ht:ref: sec:hier_bld --></a><span
|
|
|
|
class="cmr-12">).</span>
|
|
|
|
<!--l. 617--><p class="noindent" ><span
|
|
|
|
class="cmbx-12">Arguments</span>
|
|
|
|
<div class="tabular"> <table id="TBL-12" class="tabular"
|
|
|
|
cellspacing="0" cellpadding="0"
|
|
|
|
><colgroup id="TBL-12-1g"><col
|
|
|
|
id="TBL-12-1"><col
|
|
|
|
id="TBL-12-2"></colgroup><tr
|
|
|
|
style="vertical-align:baseline;" id="TBL-12-1-"><td style="white-space:normal; text-align:left;" id="TBL-12-1-1"
|
|
|
|
class="td11"><!--l. 620--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
|
|
class="cmtt-12">a</span></span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-12-1-2"
|
|
|
|
class="td11"><!--l. 620--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
|
|
class="cmtt-12">type(psb_</span></span></span><span
|
|
|
|
class="cmti-12">x</span><span class="obeylines-h"><span class="verb"><span
|
|
|
|
class="cmtt-12">spmat_type),</span><span
|
|
|
|
class="cmtt-12"> intent(in)</span></span></span><span
|
|
|
|
class="cmr-12">.</span> </td>
|
|
|
|
</tr><tr
|
|
|
|
style="vertical-align:baseline;" id="TBL-12-2-"><td style="white-space:normal; text-align:left;" id="TBL-12-2-1"
|
|
|
|
class="td11"><!--l. 621--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-12-2-2"
|
|
|
|
class="td11"><!--l. 621--><p class="noindent" ><span
|
|
|
|
class="cmr-12">The sparse matrix structure containing the local part of the matrix</span>
|
|
|
|
<span
|
|
|
|
class="cmr-12">to be preconditioned. Note that </span><span
|
|
|
|
class="cmti-12">x </span><span
|
|
|
|
class="cmr-12">must be chosen according to the</span>
|
|
|
|
<span
|
|
|
|
class="cmr-12">real/complex, single/double precision version of AMG4PSBLAS</span>
|
|
|
|
<span
|
|
|
|
class="cmr-12">under use. See the PSBLAS User’s Guide for details </span><span class="cite"><span
|
|
|
|
class="cmr-12">[</span><a
|
|
|
|
href="userhtmlli4.html#XPSBLASGUIDE"><span
|
|
|
|
class="cmr-12">16</span></a><span
|
|
|
|
class="cmr-12">]</span></span><span
|
|
|
|
class="cmr-12">.</span> </td>
|
|
|
|
</tr><tr
|
|
|
|
style="vertical-align:baseline;" id="TBL-12-3-"><td style="white-space:normal; text-align:left;" id="TBL-12-3-1"
|
|
|
|
class="td11"><!--l. 625--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
|
|
class="cmtt-12">desc_a</span></span></span></td><td style="white-space:normal; text-align:left;" id="TBL-12-3-2"
|
|
|
|
class="td11"><!--l. 625--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
|
|
class="cmtt-12">type(psb_desc_type),</span><span
|
|
|
|
class="cmtt-12"> intent(in)</span></span></span><span
|
|
|
|
class="cmr-12">.</span> </td>
|
|
|
|
</tr><tr
|
|
|
|
style="vertical-align:baseline;" id="TBL-12-4-"><td style="white-space:normal; text-align:left;" id="TBL-12-4-1"
|
|
|
|
class="td11"><!--l. 626--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-12-4-2"
|
|
|
|
class="td11"><!--l. 626--><p class="noindent" ><span
|
|
|
|
class="cmr-12">The communication descriptor of </span><span class="obeylines-h"><span class="verb"><span
|
|
|
|
class="cmtt-12">a</span></span></span><span
|
|
|
|
class="cmr-12">. See the PSBLAS User’s Guide</span>
|
|
|
|
<span
|
|
|
|
class="cmr-12">for details </span><span class="cite"><span
|
|
|
|
class="cmr-12">[</span><a
|
|
|
|
href="userhtmlli4.html#XPSBLASGUIDE"><span
|
|
|
|
class="cmr-12">16</span></a><span
|
|
|
|
class="cmr-12">]</span></span><span
|
|
|
|
class="cmr-12">.</span> </td>
|
|
|
|
</tr><tr
|
|
|
|
style="vertical-align:baseline;" id="TBL-12-5-"><td style="white-space:normal; text-align:left;" id="TBL-12-5-1"
|
|
|
|
class="td11"><!--l. 628--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
|
|
class="cmtt-12">info</span></span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-12-5-2"
|
|
|
|
class="td11"><!--l. 628--><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="cmr-12">.</span> </td>
|
|
|
|
</tr><tr
|
|
|
|
style="vertical-align:baseline;" id="TBL-12-6-"><td style="white-space:normal; text-align:left;" id="TBL-12-6-1"
|
|
|
|
class="td11"><!--l. 629--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-12-6-2"
|
|
|
|
class="td11"><!--l. 629--><p class="noindent" ><span
|
|
|
|
class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span
|
|
|
|
class="cmr-12"> </span><a
|
|
|
|
href="userhtmlse8.html#x30-340008"><span
|
|
|
|
class="cmr-12">8</span><!--tex4ht:ref: sec:errors --></a> <span
|
|
|
|
class="cmr-12">for details.</span> </td>
|
|
|
|
</tr><tr
|
|
|
|
style="vertical-align:baseline;" id="TBL-12-7-"><td style="white-space:normal; text-align:left;" id="TBL-12-7-1"
|
|
|
|
class="td11"><!--l. 630--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
|
|
class="cmtt-12">amold</span></span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-12-7-2"
|
|
|
|
class="td11"><!--l. 630--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
|
|
class="cmtt-12">class(psb_</span></span></span><span
|
|
|
|
class="cmti-12">x</span><span class="obeylines-h"><span class="verb"><span
|
|
|
|
class="cmtt-12">_base_sparse_mat),</span><span
|
|
|
|
class="cmtt-12"> intent(in),</span><span
|
|
|
|
class="cmtt-12"> optional</span></span></span><span
|
|
|
|
class="cmr-12">.</span> </td>
|
|
|
|
</tr><tr
|
|
|
|
style="vertical-align:baseline;" id="TBL-12-8-"><td style="white-space:normal; text-align:left;" id="TBL-12-8-1"
|
|
|
|
class="td11"><!--l. 631--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-12-8-2"
|
|
|
|
class="td11"><!--l. 631--><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>
|
|
|
|
<span
|
|
|
|
class="cmr-12">processes. See the PSBLAS User’s Guide for details </span><span class="cite"><span
|
|
|
|
class="cmr-12">[</span><a
|
|
|
|
href="userhtmlli4.html#XPSBLASGUIDE"><span
|
|
|
|
class="cmr-12">16</span></a><span
|
|
|
|
class="cmr-12">]</span></span><span
|
|
|
|
class="cmr-12">.</span> </td>
|
|
|
|
</tr><tr
|
|
|
|
style="vertical-align:baseline;" id="TBL-12-9-"><td style="white-space:normal; text-align:left;" id="TBL-12-9-1"
|
|
|
|
class="td11"><!--l. 635--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
|
|
class="cmtt-12">vmold</span></span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-12-9-2"
|
|
|
|
class="td11"><!--l. 635--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
|
|
class="cmtt-12">class(psb_</span></span></span><span
|
|
|
|
class="cmti-12">x</span><span class="obeylines-h"><span class="verb"><span
|
|
|
|
class="cmtt-12">_base_vect_type),</span><span
|
|
|
|
class="cmtt-12"> intent(in),</span><span
|
|
|
|
class="cmtt-12"> optional</span></span></span><span
|
|
|
|
class="cmr-12">.</span> </td>
|
|
|
|
</tr><tr
|
|
|
|
style="vertical-align:baseline;" id="TBL-12-10-"><td style="white-space:normal; text-align:left;" id="TBL-12-10-1"
|
|
|
|
class="td11"><!--l. 636--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-12-10-2"
|
|
|
|
class="td11"><!--l. 636--><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-12-11-"><td style="white-space:normal; text-align:left;" id="TBL-12-11-1"
|
|
|
|
class="td11"><!--l. 638--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
|
|
class="cmtt-12">imold</span></span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-12-11-2"
|
|
|
|
class="td11"><!--l. 638--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
|
|
|
class="cmtt-12">class(psb_i_base_vect_type),</span><span
|
|
|
|
class="cmtt-12"> intent(in),</span><span
|
|
|
|
class="cmtt-12"> optional</span></span></span><span
|
|
|
|
class="cmr-12">.</span> </td>
|
|
|
|
</tr><tr
|
|
|
|
style="vertical-align:baseline;" id="TBL-12-12-"><td style="white-space:normal; text-align:left;" id="TBL-12-12-1"
|
|
|
|
class="td11"><!--l. 639--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-12-12-2"
|
|
|
|
class="td11"><!--l. 639--><p class="noindent" ><span
|
|
|
|
class="cmr-12">The desired dynamic type for internal integer vector components;</span>
|
|
|
|
<span
|
|
|
|
class="cmr-12">this allows e.g. running on GPUs.</span> </td>
|
|
|
|
</tr><tr
|
|
|
|
style="vertical-align:baseline;" id="TBL-12-13-"><td style="white-space:normal; text-align:left;" id="TBL-12-13-1"
|
|
|
|
class="td11"> </td> </tr></table></div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!--l. 645--><div class="crosslinks"><p class="noindent"><span
|
|
|
|
class="cmr-12">[</span><a
|
|
|
|
href="userhtmlsu14.html" ><span
|
|
|
|
class="cmr-12">next</span></a><span
|
|
|
|
class="cmr-12">] [</span><a
|
|
|
|
href="userhtmlsu12.html" ><span
|
|
|
|
class="cmr-12">prev</span></a><span
|
|
|
|
class="cmr-12">] [</span><a
|
|
|
|
href="userhtmlsu12.html#tailuserhtmlsu12.html" ><span
|
|
|
|
class="cmr-12">prev-tail</span></a><span
|
|
|
|
class="cmr-12">] [</span><a
|
|
|
|
href="userhtmlsu13.html" ><span
|
|
|
|
class="cmr-12">front</span></a><span
|
|
|
|
class="cmr-12">] [</span><a
|
|
|
|
href="userhtmlse6.html#userhtmlsu13.html" ><span
|
|
|
|
class="cmr-12">up</span></a><span
|
|
|
|
class="cmr-12">] </span></p></div>
|
|
|
|
<!--l. 645--><p class="indent" > <a
|
|
|
|
id="tailuserhtmlsu13.html"></a>
|
|
|
|
</body></html>
|