<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html > <head><title>build — Builds a preconditioner</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. 87--><div class="crosslinks"><p class="noindent">[<a href="userhtmlse11.html" >next</a>] [<a href="userhtmlsu84.html" >prev</a>] [<a href="userhtmlsu84.html#tailuserhtmlsu84.html" >prev-tail</a>] [<a href="userhtmlsu83.html#tailuserhtmlsu85.html">tail</a>] [<a href="userhtmlsu86.html#userhtmlsu89.html" >up</a>] </p></div> <h4 class="subsectionHead"><span class="titlemark">10.2 </span> <a id="x101-13700010.2"></a>build — Builds a preconditioner</h4> <pre class="verbatim" id="verbatim-87"> call prec%build(a, desc_a, info[,amold,vmold,imold]) </pre> <!--l. 91--><p class="nopar" > <!--l. 93--><p class="indent" > <dl class="description"><dt class="description"> <span class="cmbx-10">Type:</span> </dt><dd class="description">Synchronous. </dd><dt class="description"> <span class="cmbx-10">On Entry</span> </dt><dd class="description"> </dd><dt class="description"> <span class="cmbx-10">a</span> </dt><dd class="description">the system sparse matrix. Scope: <span class="cmbx-10">local </span><br class="newline" />Type: <span class="cmbx-10">required</span><br class="newline" />Intent: <span class="cmbx-10">in</span>, target.<br class="newline" />Specified as: a sparse matrix data structure <a href="userhtmlsu6.html#spdata"><span class="cmtt-10">psb</span><span class="cmtt-10">_Tspmat</span><span class="cmtt-10">_type</span></a>. </dd><dt class="description"> <span class="cmbx-10">prec</span> </dt><dd class="description">the preconditioner.<br class="newline" />Scope: <span class="cmbx-10">local </span><br class="newline" />Type: <span class="cmbx-10">required</span><br class="newline" />Intent: <span class="cmbx-10">inout</span>.<br class="newline" />Specified as: an already initialized precondtioner data structure <a href="userhtmlsu8.html#precdata"><span class="cmtt-10">psb</span><span class="cmtt-10">_prec</span><span class="cmtt-10">_type</span></a><br class="newline" /> </dd><dt class="description"> <span class="cmbx-10">desc</span><span class="cmbx-10">_a</span> </dt><dd class="description">the problem communication descriptor. Scope: <span class="cmbx-10">local </span><br class="newline" />Type: <span class="cmbx-10">required</span><br class="newline" />Intent: <span class="cmbx-10">in</span>, target.<br class="newline" />Specified as: a communication descriptor data structure <a href="userhtmlsu5.html#descdata"><span class="cmtt-10">psb</span><span class="cmtt-10">_desc</span><span class="cmtt-10">_type</span></a>. </dd><dt class="description"> <span class="cmbx-10">amold</span> </dt><dd class="description">The desired dynamic type for the internal matrix storage.<br class="newline" />Scope: <span class="cmbx-10">local</span>.<br class="newline" />Type: <span class="cmbx-10">optional</span>.<br class="newline" />Intent: <span class="cmbx-10">in</span>.<br class="newline" />Specified as: an object of a class derived from <a id="spbasedata"></a><span class="cmtt-10">psb</span><span class="cmtt-10">_T</span><span class="cmtt-10">_base</span><span class="cmtt-10">_sparse</span><span class="cmtt-10">_mat</span>. </dd><dt class="description"> <span class="cmbx-10">vmold</span> </dt><dd class="description">The desired dynamic type for the internal vector storage.<br class="newline" />Scope: <span class="cmbx-10">local</span>.<br class="newline" />Type: <span class="cmbx-10">optional</span>.<br class="newline" />Intent: <span class="cmbx-10">in</span>.<br class="newline" />Specified as: an object of a class derived from <a id="vbasedata"></a><span class="cmtt-10">psb</span><span class="cmtt-10">_T</span><span class="cmtt-10">_base</span><span class="cmtt-10">_vect</span><span class="cmtt-10">_type</span>. </dd><dt class="description"> <span class="cmbx-10">imold</span> </dt><dd class="description">The desired dynamic type for the internal integer vector storage.<br class="newline" />Scope: <span class="cmbx-10">local</span>.<br class="newline" />Type: <span class="cmbx-10">optional</span>.<br class="newline" />Intent: <span class="cmbx-10">in</span>.<br class="newline" />Specified as: an object of a class derived from (integer) <a id="vbasedata"></a><span class="cmtt-10">psb</span><span class="cmtt-10">_T</span><span class="cmtt-10">_base</span><span class="cmtt-10">_vect</span><span class="cmtt-10">_type</span>.</dd></dl> <!--l. 133--><p class="indent" > <dl class="description"><dt class="description"> <span class="cmbx-10">On Return</span> </dt><dd class="description"> </dd><dt class="description"> <span class="cmbx-10">prec</span> </dt><dd class="description">the preconditioner.<br class="newline" />Scope: <span class="cmbx-10">local </span><br class="newline" />Type: <span class="cmbx-10">required</span><br class="newline" />Intent: <span class="cmbx-10">inout</span>.<br class="newline" />Specified as: a precondtioner data structure <a href="userhtmlsu8.html#precdata"><span class="cmtt-10">psb</span><span class="cmtt-10">_prec</span><span class="cmtt-10">_type</span></a><br class="newline" /> </dd><dt class="description"> <span class="cmbx-10">info</span> </dt><dd class="description">Error code.<br class="newline" />Scope: <span class="cmbx-10">local </span><br class="newline" />Type: <span class="cmbx-10">required </span><br class="newline" />Intent: <span class="cmbx-10">out</span>.<br class="newline" />An integer value; 0 means no error has been detected.</dd></dl> <!--l. 146--><p class="noindent" >The <span class="obeylines-h"><span class="verb"><span class="cmtt-10">amold</span></span></span>, <span class="obeylines-h"><span class="verb"><span class="cmtt-10">vmold</span></span></span> and <span class="obeylines-h"><span class="verb"><span class="cmtt-10">imold</span></span></span> arguments may be employed to interface with special devices, such as GPUs and other accelerators. <!--l. 152--><div class="crosslinks"><p class="noindent">[<a href="userhtmlse11.html" >next</a>] [<a href="userhtmlsu84.html" >prev</a>] [<a href="userhtmlsu84.html#tailuserhtmlsu84.html" >prev-tail</a>] [<a href="userhtmlsu85.html" >front</a>] [<a href="userhtmlsu86.html#userhtmlsu89.html" >up</a>] </p></div> <!--l. 152--><p class="indent" > <a id="tailuserhtmlsu85.html"></a> </body></html>