docs/html/footnode.html
 docs/html/img104.png
 docs/html/img109.png
 docs/html/img110.png
 docs/html/img112.png
 docs/html/img113.png
 docs/html/img114.png
 docs/html/img115.png
 docs/html/img116.png
 docs/html/img117.png
 docs/html/img118.png
 docs/html/img119.png
 docs/html/img120.png
 docs/html/img121.png
 docs/html/img122.png
 docs/html/img123.png
 docs/html/img124.png
 docs/html/img125.png
 docs/html/img127.png
 docs/html/img128.png
 docs/html/img129.png
 docs/html/img133.png
 docs/html/img140.png
 docs/html/img141.png
 docs/html/img143.png
 docs/html/img145.png
 docs/html/img146.png
 docs/html/img147.png
 docs/html/img148.png
 docs/html/img149.png
 docs/html/img150.png
 docs/html/img151.png
 docs/html/img152.png
 docs/html/img153.png
 docs/html/img154.png
 docs/html/img155.png
 docs/html/img156.png
 docs/html/img157.png
 docs/html/img158.png
 docs/html/img159.png
 docs/html/img160.png
 docs/html/img161.png
 docs/html/img162.png
 docs/html/img163.png
 docs/html/img164.png
 docs/html/img165.png
 docs/html/img21.png
 docs/html/img22.png
 docs/html/img23.png
 docs/html/img24.png
 docs/html/img28.png
 docs/html/img30.png
 docs/html/img40.png
 docs/html/img44.png
 docs/html/img47.png
 docs/html/img48.png
 docs/html/img56.png
 docs/html/img57.png
 docs/html/img59.png
 docs/html/img60.png
 docs/html/img61.png
 docs/html/img62.png
 docs/html/img63.png
 docs/html/img64.png
 docs/html/img65.png
 docs/html/img66.png
 docs/html/img67.png
 docs/html/img68.png
 docs/html/img69.png
 docs/html/img70.png
 docs/html/img71.png
 docs/html/img72.png
 docs/html/img73.png
 docs/html/img74.png
 docs/html/img75.png
 docs/html/img76.png
 docs/html/img77.png
 docs/html/img78.png
 docs/html/img79.png
 docs/html/img80.png
 docs/html/img81.png
 docs/html/img82.png
 docs/html/img91.png
 docs/html/img92.png
 docs/html/img93.png
 docs/html/img94.png
 docs/html/img95.png
 docs/html/img96.png
 docs/html/img97.png
 docs/html/img98.png
 docs/html/index.html
 docs/html/node1.html
 docs/html/node10.html
 docs/html/node100.html
 docs/html/node101.html
 docs/html/node102.html
 docs/html/node103.html
 docs/html/node104.html
 docs/html/node105.html
 docs/html/node106.html
 docs/html/node107.html
 docs/html/node108.html
 docs/html/node109.html
 docs/html/node11.html
 docs/html/node110.html
 docs/html/node111.html
 docs/html/node112.html
 docs/html/node113.html
 docs/html/node114.html
 docs/html/node115.html
 docs/html/node116.html
 docs/html/node117.html
 docs/html/node118.html
 docs/html/node119.html
 docs/html/node12.html
 docs/html/node120.html
 docs/html/node121.html
 docs/html/node122.html
 docs/html/node123.html
 docs/html/node13.html
 docs/html/node14.html
 docs/html/node15.html
 docs/html/node16.html
 docs/html/node17.html
 docs/html/node18.html
 docs/html/node19.html
 docs/html/node2.html
 docs/html/node20.html
 docs/html/node21.html
 docs/html/node22.html
 docs/html/node23.html
 docs/html/node24.html
 docs/html/node25.html
 docs/html/node26.html
 docs/html/node27.html
 docs/html/node28.html
 docs/html/node29.html
 docs/html/node3.html
 docs/html/node30.html
 docs/html/node31.html
 docs/html/node32.html
 docs/html/node33.html
 docs/html/node34.html
 docs/html/node35.html
 docs/html/node36.html
 docs/html/node37.html
 docs/html/node38.html
 docs/html/node39.html
 docs/html/node4.html
 docs/html/node40.html
 docs/html/node41.html
 docs/html/node42.html
 docs/html/node43.html
 docs/html/node44.html
 docs/html/node45.html
 docs/html/node46.html
 docs/html/node47.html
 docs/html/node48.html
 docs/html/node49.html
 docs/html/node5.html
 docs/html/node50.html
 docs/html/node51.html
 docs/html/node52.html
 docs/html/node53.html
 docs/html/node54.html
 docs/html/node55.html
 docs/html/node56.html
 docs/html/node57.html
 docs/html/node58.html
 docs/html/node59.html
 docs/html/node6.html
 docs/html/node60.html
 docs/html/node61.html
 docs/html/node62.html
 docs/html/node63.html
 docs/html/node64.html
 docs/html/node65.html
 docs/html/node66.html
 docs/html/node67.html
 docs/html/node68.html
 docs/html/node69.html
 docs/html/node7.html
 docs/html/node70.html
 docs/html/node71.html
 docs/html/node72.html
 docs/html/node73.html
 docs/html/node74.html
 docs/html/node75.html
 docs/html/node76.html
 docs/html/node77.html
 docs/html/node78.html
 docs/html/node79.html
 docs/html/node8.html
 docs/html/node80.html
 docs/html/node81.html
 docs/html/node82.html
 docs/html/node83.html
 docs/html/node84.html
 docs/html/node85.html
 docs/html/node86.html
 docs/html/node87.html
 docs/html/node88.html
 docs/html/node89.html
 docs/html/node9.html
 docs/html/node90.html
 docs/html/node91.html
 docs/html/node92.html
 docs/html/node93.html
 docs/html/node94.html
 docs/html/node95.html
 docs/html/node96.html
 docs/html/node97.html
 docs/html/node98.html
 docs/html/node99.html
 docs/html/userhtml.html
 docs/psblas-3.2.pdf
 docs/src/datastruct.tex

Docs update.
This commit is contained in:
Salvatore Filippone
2014-03-25 09:46:44 +00:00
parent c590c5a3ee
commit 38b70b287f
217 changed files with 24106 additions and 25346 deletions
+138 -88
View File
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>psb_spasb -- Sparse matrix assembly routine</TITLE>
<META NAME="description" CONTENT="psb_spasb -- Sparse matrix assembly routine">
<TITLE>psb_cdins -- Communication descriptor insert routine</TITLE>
<META NAME="description" CONTENT="psb_cdins -- Communication descriptor insert routine">
<META NAME="keywords" CONTENT="userhtml">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
@@ -20,67 +20,116 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<LINK REL="next" HREF="node68.html">
<LINK REL="previous" HREF="node66.html">
<LINK REL="up" HREF="node58.html">
<LINK REL="up" HREF="node65.html">
<LINK REL="next" HREF="node68.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html1057"
<A NAME="tex2html1078"
HREF="node68.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html1053"
HREF="node58.html">
<A NAME="tex2html1074"
HREF="node65.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html1047"
<A NAME="tex2html1068"
HREF="node66.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html1055"
<A NAME="tex2html1076"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html1058"
HREF="node68.html">psb_spfree Frees</A>
<B> Up:</B> <A NAME="tex2html1054"
HREF="node58.html">Data management routines</A>
<B> Previous:</B> <A NAME="tex2html1048"
HREF="node66.html">psb_spins Insert</A>
&nbsp; <B> <A NAME="tex2html1056"
<B> Next:</B> <A NAME="tex2html1079"
HREF="node68.html">psb_cdasb Communication</A>
<B> Up:</B> <A NAME="tex2html1075"
HREF="node65.html">Data management routines</A>
<B> Previous:</B> <A NAME="tex2html1069"
HREF="node66.html">psb_cdall Allocates</A>
&nbsp; <B> <A NAME="tex2html1077"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00079000000000000000">
psb_spasb -- Sparse matrix assembly routine</A>
<H2><A NAME="SECTION00072000000000000000">
psb_cdins -- Communication descriptor insert
routine</A>
</H2>
<P>
<PRE>
call psb_spasb(a, desc_a, info, afmt, upd, dupl, mold)
call psb_cdins(nz, ia, ja, desc_a, info [,ila,jla])
call psb_cdins(nz,ja,desc,info[,jla,mask,lidx])
</PRE>
<P>
This subroutine examines the edges of the graph associated with the
discretization mesh (and isomorphic to the sparsity pattern of a
linear system coefficient matrix), storing them as necessary into the
communication descriptor. In the first form the edges are specified as
pairs of indices <IMG
WIDTH="77" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img99.png"
ALT="$ia(i),ja(i)$">; the starting index <IMG
WIDTH="35" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img100.png"
ALT="$ia(i)$"> should
belong to the current process.
In the second form only the remote indices <IMG
WIDTH="38" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img101.png"
ALT="$ja(i)$"> are specified.
<P>
<DL>
<DT><STRONG>Type:</STRONG></DT>
<DD>Synchronous.
<DD>Asynchronous.
</DD>
<DT><STRONG><B>On Entry</B></STRONG></DT>
<DD>
</DD>
<DT><STRONG>desc_a</STRONG></DT>
<DD>the communication descriptor.
<DT><STRONG>nz</STRONG></DT>
<DD>the number of points being inserted.
<BR>
Scope:<B>local</B>.
Scope: <B>local</B>.
<BR>
Type:<B>required</B>.
Type: <B>required</B>.
<BR>
Intent: <B>in</B>.
<BR>
Specified as: a structured data of type descdata<TT>psb_desc_type</TT>.
Specified as: an integer value.
</DD>
<DT><STRONG>afmt</STRONG></DT>
<DD>the storage format for the sparse matrix.
<DT><STRONG>ia</STRONG></DT>
<DD>the indices of the starting vertex of the edges being inserted.
<BR>
Scope: <B>local</B>.
<BR>
Type: <B>required</B>.
<BR>
Intent: <B>in</B>.
<BR>
Specified as: an integer array of length <IMG
WIDTH="21" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
SRC="img102.png"
ALT="$nz$">.
</DD>
<DT><STRONG>ja</STRONG></DT>
<DD>the indices of the end vertex of the edges being inserted.
<BR>
Scope: <B>local</B>.
<BR>
Type: <B>required</B>.
<BR>
Intent: <B>in</B>.
<BR>
Specified as: an integer array of length <IMG
WIDTH="21" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
SRC="img102.png"
ALT="$nz$">.
</DD>
<DT><STRONG>mask</STRONG></DT>
<DD>Mask entries in <code>ja</code>, they are inserted only when the
corresponding <code>mask</code> entries are <code>.true.</code>
<BR>
Scope: <B>local</B>.
<BR>
@@ -88,33 +137,13 @@ Type: <B>optional</B>.
<BR>
Intent: <B>in</B>.
<BR>
Specified as: an array of characters. Defalt: 'CSR'.
Specified as: a logical array of length <IMG
WIDTH="21" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
SRC="img102.png"
ALT="$nz$">, default <code>.true.</code>.
</DD>
<DT><STRONG>upd</STRONG></DT>
<DD>Provide for updates to the matrix coefficients.
<BR>
Scope: <B>global</B>.
<BR>
Type: <B>optional</B>.
<BR>
Intent: <B>in</B>.
<BR>
Specified as: integer, possible values: <code>psb_upd_srch_</code>, <code>psb_upd_perm_</code>
</DD>
<DT><STRONG>dupl</STRONG></DT>
<DD>How to handle duplicate coefficients.
<BR>
Scope: <B>global</B>.
<BR>
Type: <B>optional</B>.
<BR>
Intent: <B>in</B>.
<BR>
Specified as: integer, possible values: <code>psb_dupl_ovwrt_</code>,
<code>psb_dupl_add_</code>, <code>psb_dupl_err_</code>.
</DD>
<DT><STRONG>mold</STRONG></DT>
<DD>The desired dynamic type for the internal matrix storage.
<DT><STRONG>lidx</STRONG></DT>
<DD>User defined local indices for <code>ja</code>.
<BR>
Scope: <B>local</B>.
<BR>
@@ -122,7 +151,10 @@ Type: <B>optional</B>.
<BR>
Intent: <B>in</B>.
<BR>
Specified as: an object of a class derived from spbasedata<TT>psb_T_base_sparse_mat</TT>.
Specified as: an integer array of length <IMG
WIDTH="21" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
SRC="img102.png"
ALT="$nz$">.
</DD>
</DL>
@@ -131,16 +163,16 @@ Specified as: an object of a class derived from spbasedata<TT>psb_T_base_sparse_
<DT><STRONG><B>On Return</B></STRONG></DT>
<DD>
</DD>
<DT><STRONG>a</STRONG></DT>
<DD>the matrix to be assembled.
<DT><STRONG>desc_a</STRONG></DT>
<DD>the updated communication descriptor.
<BR>
Scope:<B>local</B>
Scope:<B>local</B>.
<BR>
Type:<B>required</B>
Type:<B>required</B>.
<BR>
Intent: <B>inout</B>.
<BR>
Specified as: a structured data of type spdata<TT>psb_Tspmat_type</TT>.
Specified as: a structured data of type descdata<TT>psb_desc_type</TT>.
</DD>
<DT><STRONG>info</STRONG></DT>
<DD>Error code.
@@ -153,57 +185,75 @@ Intent: <B>out</B>.
<BR>
An integer value; 0 means no error has been detected.
</DD>
</DL>
<DT><STRONG>ila</STRONG></DT>
<DD>the local indices of the starting vertex of the edges being inserted.
<BR>
Scope: <B>local</B>.
<BR>
Type: <B>optional</B>.
<BR>
Intent: <B>out</B>.
<BR>
Specified as: an integer array of length <IMG
WIDTH="21" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
SRC="img102.png"
ALT="$nz$">.
</DD>
<DT><STRONG>jla</STRONG></DT>
<DD>the local indices of the end vertex of the edges being inserted.
<BR>
Scope: <B>local</B>.
<BR>
Type: <B>optional</B>.
<BR>
Intent: <B>out</B>.
<BR>
Specified as: an integer array of length <IMG
WIDTH="21" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
SRC="img102.png"
ALT="$nz$">.
<P>
</DD>
</DL>
<FONT SIZE="+1"><B>Notes</B></FONT>
<OL>
<LI>On entry to this routine the descriptor must be in the
assembled state, i.e. <code>psb_cdasb</code> must already have been called.
<LI>This routine may only be called if the descriptor is in the
build state;
</LI>
<LI>The sparse matrix may be in either the build or update state;
<LI>This routine automatically ignores edges that do not
insist on the current process, i.e. edges for which neither the starting
nor the end vertex belong to the current process.
</LI>
<LI>Duplicate entries are detected and handled in both build and
update state, with the exception of the error action that is only
taken in the build state, i.e. on the first assembly;
</LI>
<LI>If the update choice is <code>psb_upd_perm_</code>, then subsequent
calls to <code>psb_spins</code> to update the matrix must be arranged in
such a way as to produce exactly the same sequence of coefficient
values as encountered at the first assembly;
</LI>
<LI>The output storage format need not be the same on all
processes;
</LI>
<LI>On exit from this routine the matrix is in the assembled state,
and thus is suitable for the computational routines.
<LI>The second form of this routine will be useful when dealing with
user-specified index mappings; see also&nbsp;<A HREF="node7.html#sec:usermaps">2.3.1</A>.
</LI>
</OL>
<P>
<HR>
<!--Navigation Panel-->
<A NAME="tex2html1057"
<A NAME="tex2html1078"
HREF="node68.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html1053"
HREF="node58.html">
<A NAME="tex2html1074"
HREF="node65.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html1047"
<A NAME="tex2html1068"
HREF="node66.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html1055"
<A NAME="tex2html1076"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html1058"
HREF="node68.html">psb_spfree Frees</A>
<B> Up:</B> <A NAME="tex2html1054"
HREF="node58.html">Data management routines</A>
<B> Previous:</B> <A NAME="tex2html1048"
HREF="node66.html">psb_spins Insert</A>
&nbsp; <B> <A NAME="tex2html1056"
<B> Next:</B> <A NAME="tex2html1079"
HREF="node68.html">psb_cdasb Communication</A>
<B> Up:</B> <A NAME="tex2html1075"
HREF="node65.html">Data management routines</A>
<B> Previous:</B> <A NAME="tex2html1069"
HREF="node66.html">psb_cdall Allocates</A>
&nbsp; <B> <A NAME="tex2html1077"
HREF="node1.html">Contents</A></B>
<!--End of Navigation Panel-->