Merge mumps into trunk

This commit is contained in:
Ambra Abdullahi
2016-03-26 10:39:51 +00:00
parent c3d57d91db
commit d096f682dd
87 changed files with 4517 additions and 380 deletions
+9 -8
View File
@@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2012 (1.2)
original version by: Nikos Drakos, CBLU, University of Leeds
@@ -22,7 +22,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html13"
HREF="node1.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
@@ -37,15 +38,15 @@ original version by: Nikos Drakos, CBLU, University of Leeds
&nbsp; <B> <A NAME="tex2html12"
HREF="node2.html">Contents</A></B>
<BR>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<FONT SIZE="+2"><B>MLD2P4
<BIG CLASS="XXLARGE"><B>MLD2P4
<BR>
<BR>
User's and Reference Guide</B></FONT>
<BR><I><FONT SIZE="+1">A guide for the Multi-Level Domain Decomposition
User's and Reference Guide</B></BIG>
<BR><SPAN CLASS="textit"><BIG CLASS="LARGE">A guide for the Multi-Level Domain Decomposition
Parallel Preconditioners Package
based on PSBLAS</FONT></I>
based on PSBLAS</BIG></SPAN>
<BR>
<BR>
<BR>
@@ -76,7 +77,7 @@ Oct. 12, 2015
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"></A>
<UL>
<UL CLASS="ChildLinks">
<LI><A NAME="tex2html15"
HREF="node1.html">Abstract</A>
<LI><A NAME="tex2html16"
+8 -6
View File
@@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2012 (1.2)
original version by: Nikos Drakos, CBLU, University of Leeds
@@ -25,7 +25,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html51"
HREF="node2.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
@@ -48,7 +49,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
&nbsp; <B> <A NAME="tex2html50"
HREF="node2.html">Contents</A></B>
<BR>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H1><A NAME="SECTION00010000000000000000">
@@ -74,7 +75,7 @@ for the ``best'' preconditioner for the problem at hand.
<P>
The package employs object-oriented design techniques in
Fortran&nbsp;2003, with interfaces to additional third party libraries
such as UMFPACK, SuperLU and SuperLU_Dist, that
such as UMFPACK, SuperLU, SuperLU_Dist and MUMPS, that
can be exploited in building multi-level preconditioners. The parallel
implementation is based on a Single Program Multiple Data (SPMD)
paradigm for distributed-memory architectures; the inter-process data
@@ -86,7 +87,8 @@ the user interface of MLD2P4.
<P>
<HR>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html51"
HREF="node2.html">
@@ -108,7 +110,7 @@ the user interface of MLD2P4.
<B> Previous:</B> <A NAME="tex2html42"
HREF="userhtml.html">userhtml</A>
&nbsp; <B> <A NAME="tex2html50"
HREF="node2.html">Contents</A></B>
HREF="node2.html">Contents</A></B> </DIV>
<!--End of Navigation Panel-->
</BODY>
+4 -3
View File
@@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2012 (1.2)
original version by: Nikos Drakos, CBLU, University of Leeds
@@ -24,7 +24,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html183"
HREF="node11.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
@@ -47,7 +48,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
&nbsp; <B> <A NAME="tex2html182"
HREF="node2.html">Contents</A></B>
<BR>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00055000000000000000"></A><A NAME="sec:ex_and_test"></A>
+14 -12
View File
@@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2012 (1.2)
original version by: Nikos Drakos, CBLU, University of Leeds
@@ -25,7 +25,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html195"
HREF="node12.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
@@ -48,7 +49,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
&nbsp; <B> <A NAME="tex2html194"
HREF="node2.html">Contents</A></B>
<BR>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H1><A NAME="SECTION00060000000000000000"></A><A NAME="sec:background"></A>
@@ -57,7 +58,7 @@ Multi-level Domain Decomposition Background
</H1>
<P>
<I>Domain Decomposition</I> (DD) preconditioners, coupled with Krylov iterative
<SPAN CLASS="textit">Domain Decomposition</SPAN> (DD) preconditioners, coupled with Krylov iterative
solvers, are widely used in the parallel solution of large and sparse linear systems.
These preconditioners are based on the divide and conquer technique: the matrix
to be preconditioned is divided into submatrices, a ``local'' linear system
@@ -73,7 +74,7 @@ solution of the original problem from the local solutions
HREF="node25.html#dd2_96">22</A>].
<P>
<I>Additive Schwarz</I> preconditioners are DD preconditioners using overlapping
<SPAN CLASS="textit">Additive Schwarz</SPAN> preconditioners are DD preconditioners using overlapping
submatrices, i.e. with some common rows, to couple the local information
related to the submatrices (see, e.g., [<A
HREF="node25.html#dd2_96">22</A>]).
@@ -89,7 +90,7 @@ in a coarse space, which globally couples the information related to the single
submatrices.
<P>
<I>Two-level Schwarz</I> preconditioners are obtained
<SPAN CLASS="textit">Two-level Schwarz</SPAN> preconditioners are obtained
by combining basic (one-level) Schwarz preconditioners with a coarse-level
correction. In this context, the one-level preconditioner is often
called `smoother'. Different two-level preconditioners are obtained by varying the
@@ -97,7 +98,7 @@ choice of the smoother and of the coarse-level correction, and the
way they are combined [<A
HREF="node25.html#dd2_96">22</A>]. The same reasoning can be applied starting
from the coarse-level system, i.e. a coarse-space correction can be built
from this system, thus obtaining <I>multi-level</I> preconditioners.
from this system, thus obtaining <SPAN CLASS="textit">multi-level</SPAN> preconditioners.
<P>
It is worth noting that optimal preconditioners do not necessarily correspond
@@ -123,8 +124,8 @@ interpolation [<A
<P>
MLD2P4 uses a pure algebraic approach for building the sequence of coarse matrices
starting from the original matrix. The algebraic approach is based on the <I>smoothed
aggregation</I> algorithm [<A
starting from the original matrix. The algebraic approach is based on the <SPAN CLASS="textit">smoothed
aggregation</SPAN> algorithm [<A
HREF="node25.html#BREZINA_VANEK">1</A>,<A
HREF="node25.html#VANEK_MANDEL_BREZINA">26</A>]. A decoupled version
of this algorithm is implemented, where the smoothed aggregation is applied locally
@@ -144,14 +145,15 @@ is referred to [<A
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL>
<UL CLASS="ChildLinks">
<LI><A NAME="tex2html197"
HREF="node12.html">Multi-level Schwarz Preconditioners</A>
<LI><A NAME="tex2html198"
HREF="node13.html">Smoothed Aggregation</A>
</UL>
<!--End of Table of Child-Links-->
<HR>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html195"
HREF="node12.html">
@@ -173,7 +175,7 @@ is referred to [<A
<B> Previous:</B> <A NAME="tex2html186"
HREF="node10.html">Example and test programs</A>
&nbsp; <B> <A NAME="tex2html194"
HREF="node2.html">Contents</A></B>
HREF="node2.html">Contents</A></B> </DIV>
<!--End of Navigation Panel-->
</BODY>
+11 -9
View File
@@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2012 (1.2)
original version by: Nikos Drakos, CBLU, University of Leeds
@@ -24,7 +24,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html242"
HREF="node16.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
@@ -47,7 +48,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
&nbsp; <B> <A NAME="tex2html241"
HREF="node2.html">Contents</A></B>
<BR>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00071000000000000000"></A><A NAME="sec:examples"></A>
@@ -86,7 +87,7 @@ the corresponding Fortran 95 codes are available in <code>examples/fileread/</co
<P>
<DIV ALIGN="CENTER"><A NAME="fig:ex_default"></A><A NAME="927"></A>
<DIV ALIGN="CENTER"><A NAME="fig:ex_default"></A><A NAME="930"></A>
<TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 2:</STRONG>
Setup and application of the default multi-level Schwarz preconditioner.
@@ -194,7 +195,7 @@ boundary conditions are also available in the directory <code>examples/pdegen</c
<P>
<DIV ALIGN="CENTER"><A NAME="fig:ex_3lh"></A><A NAME="929"></A>
<DIV ALIGN="CENTER"><A NAME="fig:ex_3lh"></A><A NAME="932"></A>
<TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 3:</STRONG>
Setup of a hybrid three-level Schwarz preconditioner.</CAPTION>
@@ -227,7 +228,7 @@ Setup of a hybrid three-level Schwarz preconditioner.</CAPTION>
<P>
<DIV ALIGN="CENTER"><A NAME="fig:ex_3la"></A><A NAME="931"></A>
<DIV ALIGN="CENTER"><A NAME="fig:ex_3la"></A><A NAME="934"></A>
<TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 4:</STRONG>
Setup of an additive three-level Schwarz preconditioner.</CAPTION>
@@ -259,7 +260,7 @@ Setup of an additive three-level Schwarz preconditioner.</CAPTION>
<P>
<DIV ALIGN="CENTER"><A NAME="fig:ex_1l"></A><A NAME="933"></A>
<DIV ALIGN="CENTER"><A NAME="fig:ex_1l"></A><A NAME="936"></A>
<TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 5:</STRONG>
Setup of a one-level Schwarz preconditioner.</CAPTION>
@@ -283,7 +284,8 @@ Setup of a one-level Schwarz preconditioner.</CAPTION>
</DIV>
<P>
<HR>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html242"
HREF="node16.html">
@@ -305,7 +307,7 @@ Setup of a one-level Schwarz preconditioner.</CAPTION>
<B> Previous:</B> <A NAME="tex2html235"
HREF="node14.html">Getting Started</A>
&nbsp; <B> <A NAME="tex2html241"
HREF="node2.html">Contents</A></B>
HREF="node2.html">Contents</A></B> </DIV>
<!--End of Navigation Panel-->
</BODY>
+19 -17
View File
@@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2012 (1.2)
original version by: Nikos Drakos, CBLU, University of Leeds
@@ -25,7 +25,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html254"
HREF="node17.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
@@ -48,7 +49,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
&nbsp; <B> <A NAME="tex2html253"
HREF="node2.html">Contents</A></B>
<BR>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H1><A NAME="SECTION00080000000000000000"></A><A NAME="sec:userinterface"></A>
@@ -72,28 +73,28 @@ i.e.
<UL>
<LI>the sparse matrix data structure, containing the matrix to be
preconditioned, must be of type <code>psb_</code><I>x</I><code>spmat_type</code>
with <I>x</I> = <code>s</code> for real single precision, <I>x</I> = <code>d</code>
for real double precision, <I>x</I> = <code>c</code> for complex single precision,
<I>x</I> = <code>z</code> for complex double precision;
preconditioned, must be of type <code>psb_</code><SPAN CLASS="textit">x</SPAN><code>spmat_type</code>
with <SPAN CLASS="textit">x</SPAN> = <code>s</code> for real single precision, <SPAN CLASS="textit">x</SPAN> = <code>d</code>
for real double precision, <SPAN CLASS="textit">x</SPAN> = <code>c</code> for complex single precision,
<SPAN CLASS="textit">x</SPAN> = <code>z</code> for complex double precision;
</LI>
<LI>the preconditioner data structure must be of type
<code>mld_</code><I>x</I><code>prec_type</code>, with <I>x</I> =
<code>mld_</code><SPAN CLASS="textit">x</SPAN><code>prec_type</code>, with <SPAN CLASS="textit">x</SPAN> =
<code>s</code>, <code>d</code>, <code>c</code>, <code>z</code>, according to the sparse
matrix data structure;
</LI>
<LI>the arrays containing the vectors <IMG
<LI>the arrays containing the vectors <SPAN CLASS="MATH"><IMG
WIDTH="14" HEIGHT="18" ALIGN="BOTTOM" BORDER="0"
SRC="img22.png"
ALT="$v$"> and <IMG
ALT="$v$"></SPAN> and <SPAN CLASS="MATH"><IMG
WIDTH="17" HEIGHT="18" ALIGN="BOTTOM" BORDER="0"
SRC="img89.png"
ALT="$w$"> involved in
the preconditioner application <IMG
ALT="$w$"></SPAN> involved in
the preconditioner application <SPAN CLASS="MATH"><IMG
WIDTH="86" HEIGHT="21" ALIGN="BOTTOM" BORDER="0"
SRC="img61.png"
ALT="$w=M^{-1}v$"> must be of type
<code>psb_</code><I>x</I><code>vect_type</code> with <I>x</I> =
ALT="$w=M^{-1}v$"></SPAN> must be of type
<code>psb_</code><SPAN CLASS="textit">x</SPAN><code>vect_type</code> with <SPAN CLASS="textit">x</SPAN> =
<code>s</code>, <code>d</code>, <code>c</code>, <code>z</code>, in a manner completely
analogous to the sparse matrix type;
</LI>
@@ -111,7 +112,7 @@ A description of each routine is given in the remainder of this section.
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL>
<UL CLASS="ChildLinks">
<LI><A NAME="tex2html256"
HREF="node17.html">Subroutine mld_precinit</A>
<LI><A NAME="tex2html257"
@@ -126,7 +127,8 @@ A description of each routine is given in the remainder of this section.
HREF="node22.html">Subroutine mld_precdescr</A>
</UL>
<!--End of Table of Child-Links-->
<HR>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html254"
HREF="node17.html">
@@ -148,7 +150,7 @@ A description of each routine is given in the remainder of this section.
<B> Previous:</B> <A NAME="tex2html245"
HREF="node15.html">Examples</A>
&nbsp; <B> <A NAME="tex2html253"
HREF="node2.html">Contents</A></B>
HREF="node2.html">Contents</A></B> </DIV>
<!--End of Navigation Panel-->
</BODY>
+10 -8
View File
@@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2012 (1.2)
original version by: Nikos Drakos, CBLU, University of Leeds
@@ -25,7 +25,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html272"
HREF="node18.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
@@ -48,7 +49,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
&nbsp; <B> <A NAME="tex2html271"
HREF="node2.html">Contents</A></B>
<BR>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00081000000000000000"></A><A NAME="sec:precinit"></A>
@@ -68,15 +69,15 @@ This routine allocates and initializes the preconditioner data structure,
according to the preconditioner type chosen by the user.
<P>
<FONT SIZE="+1"><B>Arguments</B></FONT>
<BIG CLASS="LARGE"><B>Arguments</B></BIG>
<P>
<TABLE CELLPADDING=3>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>p</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>type(mld_</code><I>x</I><code>prec_type), intent(inout)</code>.</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>type(mld_</code><SPAN CLASS="textit">x</SPAN><code>prec_type), intent(inout)</code>.</TD>
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The preconditioner data structure. Note that <I>x</I>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The preconditioner data structure. Note that <SPAN CLASS="textit">x</SPAN>
must be chosen according to the real/complex, single/double
precision version of MLD2P4 under use.</TD>
</TR>
@@ -109,7 +110,8 @@ according to the preconditioner type chosen by the user.
<P>
<P>
<HR>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html272"
HREF="node18.html">
@@ -131,7 +133,7 @@ according to the preconditioner type chosen by the user.
<B> Previous:</B> <A NAME="tex2html263"
HREF="node16.html">User Interface</A>
&nbsp; <B> <A NAME="tex2html271"
HREF="node2.html">Contents</A></B>
HREF="node2.html">Contents</A></B> </DIV>
<!--End of Navigation Panel-->
</BODY>
+68 -66
View File
@@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2012 (1.2)
original version by: Nikos Drakos, CBLU, University of Leeds
@@ -25,7 +25,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html284"
HREF="node19.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
@@ -48,7 +49,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
&nbsp; <B> <A NAME="tex2html283"
HREF="node2.html">Contents</A></B>
<BR>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00082000000000000000"></A><A NAME="sec:precset"></A>
@@ -88,25 +89,25 @@ the new smoother/solver variable to the setup routine as follows:
<BR><code>call p%set(solver,info [,ilev])</code>
</DIV>
In this way, the variable will act as a <I>mold</I> to which the
In this way, the variable will act as a <SPAN CLASS="textit">mold</SPAN> to which the
preconditioner will conform, even though the MLD2P4 library is not
modified, and thus has no direct knowledge about the new type.
<P>
<FONT SIZE="+1"><B>Arguments</B></FONT>
<BIG CLASS="LARGE"><B>Arguments</B></BIG>
<P>
<TABLE CELLPADDING=3>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>p</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>type(mld_</code><I>x</I><code>prec_type), intent(inout)</code>.</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>type(mld_</code><SPAN CLASS="textit">x</SPAN><code>prec_type), intent(inout)</code>.</TD>
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The preconditioner data structure. Note that <I>x</I> must
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The preconditioner data structure. Note that <SPAN CLASS="textit">x</SPAN> must
be chosen according to the real/complex, single/double precision
version of MLD2P4 under use.</TD>
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>what</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>integer, intent(in)</code> <I>or</I> <code>character(len=*)</code>.</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>integer, intent(in)</code> <SPAN CLASS="textit">or</SPAN> <code>character(len=*)</code>.</TD>
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The parameter to be set. It can be specified by
@@ -115,8 +116,8 @@ modified, and thus has no direct knowledge about the new type.
Tables&nbsp;<A HREF="#tab:p_type">2</A>-<A HREF="#tab:p_coarse">5</A>.</TD>
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>val </code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>integer</code> <I>or</I> <code>character(len=*)</code> <I>or</I>
<code>real(psb_spk_)</code> <I>or</I> <code>real(psb_dpk_)</code>,
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>integer</code> <SPAN CLASS="textit">or</SPAN> <code>character(len=*)</code> <SPAN CLASS="textit">or</SPAN>
<code>real(psb_spk_)</code> <SPAN CLASS="textit">or</SPAN> <code>real(psb_dpk_)</code>,
<code>intent(in)</code>.</TD>
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
@@ -179,7 +180,7 @@ object is specified its defaults are also set, overriding in both
cases any previous settings even if explicitly specified. Therefore if
the user sets a new smoother, and wishes to use a solver
different from the default one, the call to set the solver must come
<I>after</I> the call to set the smoother.
<SPAN CLASS="textit">after</SPAN> the call to set the smoother.
<P>
The combination of a Jacobi smoother with a Diagonal Scaling local
solver is equivalent to the strategy called Point Jacobi in the
@@ -262,10 +263,10 @@ Parameters defining the one-level preconditioner used as smoother.
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=99><code>mld_sub_ovr_</code> <BR><code>SUB_OVR</code></TD>
<TD ALIGN="LEFT"><code>integer</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>any&nbsp;int.&nbsp;num.&nbsp;<IMG
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>any&nbsp;int.&nbsp;num.&nbsp;<SPAN CLASS="MATH"><IMG
WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img90.png"
ALT="$\ge 0$"></TD>
ALT="$\ge 0$"></SPAN></TD>
<TD ALIGN="LEFT">1</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=142>Number of overlap layers.</TD>
</TR>
@@ -310,30 +311,30 @@ Parameters defining the one-level preconditioner used as smoother.
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=99><code>mld_sub_fillin_</code> <BR><code>SUB_FILLIN</code></TD>
<TD ALIGN="LEFT"><code>integer</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>Any&nbsp;int.&nbsp;num.&nbsp;<IMG
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>Any&nbsp;int.&nbsp;num.&nbsp;<SPAN CLASS="MATH"><IMG
WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img90.png"
ALT="$\ge 0$"></TD>
ALT="$\ge 0$"></SPAN></TD>
<TD ALIGN="LEFT">0</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=142>Fill-in level <IMG
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=142>Fill-in level <SPAN CLASS="MATH"><IMG
WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img35.png"
ALT="$p$"> of the incomplete LU factorizations.</TD>
ALT="$p$"></SPAN> of the incomplete LU factorizations.</TD>
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=99><code>mld_sub_iluthrs_</code> <BR><code>SUB_ILUTHRS</code></TD>
<TD ALIGN="LEFT"><code>real(</code><I>kind_parameter</I><code>)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>Any&nbsp;real&nbsp;num.&nbsp;<IMG
<TD ALIGN="LEFT"><code>real(</code><SPAN CLASS="textit">kind_parameter</SPAN><code>)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>Any&nbsp;real&nbsp;num.&nbsp;<SPAN CLASS="MATH"><IMG
WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img90.png"
ALT="$\ge 0$"></TD>
ALT="$\ge 0$"></SPAN></TD>
<TD ALIGN="LEFT">0</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=142>Drop tolerance <IMG
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=142>Drop tolerance <SPAN CLASS="MATH"><IMG
WIDTH="11" HEIGHT="18" ALIGN="BOTTOM" BORDER="0"
SRC="img91.png"
ALT="$t$"> in the ILU(<IMG
ALT="$t$"></SPAN> in the ILU(<SPAN CLASS="MATH"><IMG
WIDTH="27" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img36.png"
ALT="$p,t$">) factorization.</TD>
ALT="$p,t$"></SPAN>) factorization.</TD>
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=99><code>mld_sub_ren_</code> <BR><code>SUB_REN</code></TD>
<TD ALIGN="LEFT"><code>character(len=*)</code></TD>
@@ -403,16 +404,16 @@ Parameters defining the aggregation algorithm.
(i.e. using the tentative prolongator).</TD>
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=142><code>mld_aggr_thresh_</code> <BR><code>AGGR_THRESH</code></TD>
<TD ALIGN="LEFT"><code>real(</code><I>kind_parameter</I><code>)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=68>Any&nbsp;real&nbsp;num. <IMG
<TD ALIGN="LEFT"><code>real(</code><SPAN CLASS="textit">kind_parameter</SPAN><code>)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=68>Any&nbsp;real&nbsp;num. <SPAN CLASS="MATH"><IMG
WIDTH="56" HEIGHT="36" ALIGN="MIDDLE" BORDER="0"
SRC="img93.png"
ALT="$\in [0, 1]$"></TD>
ALT="$\in [0, 1]$"></SPAN></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=68>0.05</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=170>Threshold <IMG
WIDTH="13" HEIGHT="16" ALIGN="BOTTOM" BORDER="0"
SRC="img94.png"
ALT="$\theta$"> in the aggregation algorithm.</TD>
ALT="$\theta$"></SPAN> in the aggregation algorithm.</TD>
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=142><code>mld_aggr_scale_</code> <BR><code>AGGR_SCALE</code></TD>
<TD ALIGN="LEFT"><code>real(</code><I>kind_parameter</I><code>)</code></TD>
@@ -434,55 +435,55 @@ Parameters defining the aggregation algorithm.
<TD ALIGN="LEFT"><code>character(len=*)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=68><TT>'EIG_EST'</TT> <TT>'USER_CHOICE'</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=68><TT>'EIG_EST'</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=170>How the damping parameter <IMG
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=170>How the damping parameter <SPAN CLASS="MATH"><IMG
WIDTH="16" HEIGHT="18" ALIGN="BOTTOM" BORDER="0"
SRC="img86.png"
ALT="$\omega$"> in the
ALT="$\omega$"></SPAN> in the
smoothed aggregation should be computed:
either via an estimate of the spectral radius of
<IMG
<SPAN CLASS="MATH"><IMG
WIDTH="50" HEIGHT="21" ALIGN="BOTTOM" BORDER="0"
SRC="img87.png"
ALT="$D^{-1}A$">, or explicily
ALT="$D^{-1}A$"></SPAN>, or explicily
specified by the user.</TD>
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=142><code>mld_aggr_eig_</code> <BR><code>AGGR_EIG</code></TD>
<TD ALIGN="LEFT"><code>character(len=*)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=68><TT>'A_NORMI'</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=68><TT>'A_NORMI'</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=170>How to estimate the spectral radius of <IMG
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=170>How to estimate the spectral radius of <SPAN CLASS="MATH"><IMG
WIDTH="50" HEIGHT="21" ALIGN="BOTTOM" BORDER="0"
SRC="img87.png"
ALT="$D^{-1}A$">.
ALT="$D^{-1}A$"></SPAN>.
Currently only the infinity norm estimate
is available.</TD>
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=142><code>mld_aggr_omega_val_</code> <BR><code>AGGR_OMEGA_VAL</code></TD>
<TD ALIGN="LEFT"><code>real(</code><I>kind_parameter</I><code>)</code></TD>
<TD ALIGN="LEFT"><code>real(</code><SPAN CLASS="textit">kind_parameter</SPAN><code>)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=68>Any&nbsp;nonnegative&nbsp;real&nbsp;num.</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=68><!-- MATH
$4/(3\rho(D^{-1}A))$
-->
<IMG
<SPAN CLASS="MATH"><IMG
WIDTH="113" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="img97.png"
ALT="$4/(3\rho(D^{-1}A))$"></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=170>Damping parameter <IMG
ALT="$4/(3\rho(D^{-1}A))$"></SPAN></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=170>Damping parameter <SPAN CLASS="MATH"><IMG
WIDTH="16" HEIGHT="18" ALIGN="BOTTOM" BORDER="0"
SRC="img86.png"
ALT="$\omega$"> in the smoothed aggregation algorithm.
ALT="$\omega$"></SPAN> in the smoothed aggregation algorithm.
It must be set by the user if
<code>USER_CHOICE</code> was specified for
<code>mld_aggr_omega_alg_</code>,
otherwise it is computed by the library, using the
selected estimate of the spectral radius <IMG
selected estimate of the spectral radius <SPAN CLASS="MATH"><IMG
WIDTH="73" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="img98.png"
ALT="$\rho(D^{-1}A)$"> of
<IMG
ALT="$\rho(D^{-1}A)$"></SPAN> of
<SPAN CLASS="MATH"><IMG
WIDTH="50" HEIGHT="21" ALIGN="BOTTOM" BORDER="0"
SRC="img87.png"
ALT="$D^{-1}A$">.</TD>
ALT="$D^{-1}A$"></SPAN>.</TD>
</TR>
</TABLE>
</DIV>
@@ -534,63 +535,63 @@ level.</CAPTION>
<TD ALIGN="LEFT">See note</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=142>Solver for the diagonal blocks of the coarse matrix,
in case the block Jacobi solver
is chosen as coarsest-level solver: ILU(<IMG
is chosen as coarsest-level solver: ILU(<SPAN CLASS="MATH"><IMG
WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img35.png"
ALT="$p$">), MILU(<IMG
ALT="$p$"></SPAN>), MILU(<SPAN CLASS="MATH"><IMG
WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img35.png"
ALT="$p$">),
ILU(<IMG
ALT="$p$"></SPAN>),
ILU(<SPAN CLASS="MATH"><IMG
WIDTH="27" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img36.png"
ALT="$p,t$">), LU from UMFPACK,
ALT="$p,t$"></SPAN>), LU from UMFPACK,
LU from SuperLU, plus triangular solve.</TD>
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=99><code>mld_coarse_sweeps_</code> <BR><code>COARSE_SWEEPS</code></TD>
<TD ALIGN="LEFT"><code>integer</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>Any&nbsp;int.&nbsp;num.&nbsp;<IMG
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>Any&nbsp;int.&nbsp;num.&nbsp;<SPAN CLASS="MATH"><IMG
WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img99.png"
ALT="$&gt; 0$"></TD>
ALT="$&gt; 0$"></SPAN></TD>
<TD ALIGN="LEFT">4</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=142>Number of Block-Jacobi sweeps when 'BJAC' is used as
coarsest-level solver.</TD>
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=99><code>mld_coarse_fillin_</code> <BR><code>COARSE_FILLIN</code></TD>
<TD ALIGN="LEFT"><code>integer</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>Any&nbsp;int.&nbsp;num.&nbsp;<IMG
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>Any&nbsp;int.&nbsp;num.&nbsp;<SPAN CLASS="MATH"><IMG
WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img90.png"
ALT="$\ge 0$"></TD>
ALT="$\ge 0$"></SPAN></TD>
<TD ALIGN="LEFT">0</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=142>Fill-in level <IMG
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=142>Fill-in level <SPAN CLASS="MATH"><IMG
WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img35.png"
ALT="$p$"> of the incomplete LU factorizations.</TD>
ALT="$p$"></SPAN> of the incomplete LU factorizations.</TD>
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=99><code>mld_coarse_iluthrs_</code> <BR><code>COARSE_ILUTHRS</code></TD>
<TD ALIGN="LEFT"><code>real(</code><I>kind_parameter</I><code>)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>Any&nbsp;real.&nbsp;num.&nbsp;<IMG
<TD ALIGN="LEFT"><code>real(</code><SPAN CLASS="textit">kind_parameter</SPAN><code>)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>Any&nbsp;real.&nbsp;num.&nbsp;<SPAN CLASS="MATH"><IMG
WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img90.png"
ALT="$\ge 0$"></TD>
ALT="$\ge 0$"></SPAN></TD>
<TD ALIGN="LEFT">0</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=142>Drop tolerance <IMG
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=142>Drop tolerance <SPAN CLASS="MATH"><IMG
WIDTH="11" HEIGHT="18" ALIGN="BOTTOM" BORDER="0"
SRC="img91.png"
ALT="$t$"> in the ILU(<IMG
ALT="$t$"></SPAN> in the ILU(<SPAN CLASS="MATH"><IMG
WIDTH="27" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img36.png"
ALT="$p,t$">) factorization.</TD>
ALT="$p,t$"></SPAN>) factorization.</TD>
</TR>
<TR><TD ALIGN="LEFT" COLSPAN=5><B>Note:</B> defaults for
<TT>m</TT>ld_coarse_subsolve_ are chosen as</TD>
<TR><TD ALIGN="LEFT" COLSPAN=5><SPAN><B>Note:</B> defaults for
<TT>m</TT>ld_coarse_subsolve_ are chosen as </SPAN></TD>
</TR>
<TR><TD ALIGN="LEFT" COLSPAN=5>single precision version: 'SLU' if installed, 'ILU' otherwise</TD>
<TR><TD ALIGN="LEFT" COLSPAN=5><SPAN>single precision version: 'SLU' if installed, 'ILU' otherwise</SPAN></TD>
</TR>
<TR><TD ALIGN="LEFT" COLSPAN=5>double precision version: 'UMF' if installed,
else 'SLU' if installed, 'ILU' otherwise</TD>
<TR><TD ALIGN="LEFT" COLSPAN=5><SPAN>double precision version: 'UMF' if installed,
else 'SLU' if installed, 'ILU' otherwise</SPAN></TD>
</TR>
</TABLE>
</DIV>
@@ -602,7 +603,8 @@ level.</CAPTION>
<P>
<P>
<HR>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html284"
HREF="node19.html">
@@ -624,7 +626,7 @@ level.</CAPTION>
<B> Previous:</B> <A NAME="tex2html275"
HREF="node17.html">Subroutine mld_precinit</A>
&nbsp; <B> <A NAME="tex2html283"
HREF="node2.html">Contents</A></B>
HREF="node2.html">Contents</A></B> </DIV>
<!--End of Navigation Panel-->
</BODY>
+11 -10
View File
@@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2012 (1.2)
original version by: Nikos Drakos, CBLU, University of Leeds
@@ -25,7 +25,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html296"
HREF="node20.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
@@ -48,7 +49,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
&nbsp; <B> <A NAME="tex2html295"
HREF="node2.html">Contents</A></B>
<BR>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00083000000000000000"></A><A NAME="sec:precbld"></A>
@@ -67,16 +68,16 @@ This routine builds the preconditioner according to the requirements made by
the user through the routines <code>mld_precinit</code> and <code>mld_precset</code>.
<P>
<FONT SIZE="+1"><B>Arguments</B></FONT>
<BIG CLASS="LARGE"><B>Arguments</B></BIG>
<P>
<TABLE CELLPADDING=3>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>a</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>type(psb_</code><I>x</I><code>spmat_type), intent(in)</code>.</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>type(psb_</code><SPAN CLASS="textit">x</SPAN><code>spmat_type), intent(in)</code>.</TD>
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The sparse matrix structure containing the local part of the
matrix to be preconditioned. Note that <I>x</I> must be chosen according
matrix to be preconditioned. Note that <SPAN CLASS="textit">x</SPAN> must be chosen according
to the real/complex,
single/double precision version of MLD2P4 under use.
See the PSBLAS User's Guide for details [<A
@@ -91,10 +92,10 @@ single/double precision version of MLD2P4 under use.
HREF="node25.html#PSBLASGUIDE">15</A>].</TD>
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>p</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>type(mld_</code><I>x</I><code>prec_type), intent(inout)</code>.</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>type(mld_</code><SPAN CLASS="textit">x</SPAN><code>prec_type), intent(inout)</code>.</TD>
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The preconditioner data structure. Note that <I>x</I> must be chosen according
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The preconditioner data structure. Note that <SPAN CLASS="textit">x</SPAN> must be chosen according
to the real/complex, single/double precision version of MLD2P4 under use.</TD>
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>info</code></TD>
@@ -107,7 +108,7 @@ single/double precision version of MLD2P4 under use.
<P>
<HR>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html296"
HREF="node20.html">
@@ -129,7 +130,7 @@ single/double precision version of MLD2P4 under use.
<B> Previous:</B> <A NAME="tex2html287"
HREF="node18.html">Subroutine mld_precset</A>
&nbsp; <B> <A NAME="tex2html295"
HREF="node2.html">Contents</A></B>
HREF="node2.html">Contents</A></B> </DIV>
<!--End of Navigation Panel-->
</BODY>
+5 -4
View File
@@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2012 (1.2)
original version by: Nikos Drakos, CBLU, University of Leeds
@@ -25,7 +25,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html61"
HREF="node3.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
@@ -43,7 +44,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<B> Previous:</B> <A NAME="tex2html54"
HREF="node1.html">Abstract</A>
<BR>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<BR>
@@ -52,7 +53,7 @@ Contents</A>
</H2>
<!--Table of Contents-->
<UL>
<UL CLASS="TofC">
<LI><A NAME="tex2html63"
HREF="node3.html">General Overview</A>
<LI><A NAME="tex2html64"
+37 -35
View File
@@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2012 (1.2)
original version by: Nikos Drakos, CBLU, University of Leeds
@@ -25,7 +25,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html308"
HREF="node21.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
@@ -48,7 +49,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
&nbsp; <B> <A NAME="tex2html307"
HREF="node2.html">Contents</A></B>
<BR>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00084000000000000000"></A><A NAME="sec:precaply"></A>
@@ -67,17 +68,17 @@ Subroutine mld_precaply
This routine computes <!-- MATH
$y = op(M^{-1})\, x$
-->
<IMG
<SPAN CLASS="MATH"><IMG
WIDTH="117" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="img100.png"
ALT="$y = op(M^{-1}) x$">, where <IMG
ALT="$y = op(M^{-1}) x$"></SPAN>, where <SPAN CLASS="MATH"><IMG
WIDTH="23" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img60.png"
ALT="$M$"> is a previously built
preconditioner, stored into <code>p</code>, and <IMG
ALT="$M$"></SPAN> is a previously built
preconditioner, stored into <code>p</code>, and <SPAN CLASS="MATH"><IMG
WIDTH="22" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img101.png"
ALT="$op$">
ALT="$op$"></SPAN>
denotes the preconditioner itself or its transpose, according to
the value of <code>trans</code>.
Note that, when MLD2P4 is used with a Krylov solver from PSBLAS,
@@ -85,41 +86,41 @@ Note that, when MLD2P4 is used with a Krylov solver from PSBLAS,
and hence it is completely transparent to the user.
<P>
<FONT SIZE="+1"><B>Arguments</B></FONT>
<BIG CLASS="LARGE"><B>Arguments</B></BIG>
<P>
<TABLE CELLPADDING=3>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>p</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>type(mld_</code><I>x</I><code>prec_type), intent(inout)</code>.</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>type(mld_</code><SPAN CLASS="textit">x</SPAN><code>prec_type), intent(inout)</code>.</TD>
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The preconditioner data structure, containing the local part of <IMG
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The preconditioner data structure, containing the local part of <SPAN CLASS="MATH"><IMG
WIDTH="23" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img60.png"
ALT="$M$">.
Note that <I>x</I> must be chosen according
ALT="$M$"></SPAN>.
Note that <SPAN CLASS="textit">x</SPAN> must be chosen according
to the real/complex, single/double precision version of MLD2P4 under use.</TD>
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>x</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><I>type</I><code>(</code><I>kind_parameter</I><code>), dimension(:), intent(in)</code>.</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><SPAN CLASS="textit">type</SPAN><code>(</code><SPAN CLASS="textit">kind_parameter</SPAN><code>), dimension(:), intent(in)</code>.</TD>
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The local part of the vector <IMG
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The local part of the vector <SPAN CLASS="MATH"><IMG
WIDTH="14" HEIGHT="18" ALIGN="BOTTOM" BORDER="0"
SRC="img102.png"
ALT="$x$">. Note that <I>type</I> and
<I>kind_parameter</I> must be chosen according
ALT="$x$"></SPAN>. Note that <SPAN CLASS="textit">type</SPAN> and
<SPAN CLASS="textit">kind_parameter</SPAN> must be chosen according
to the real/complex, single/double precision version of MLD2P4 under use.</TD>
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>y</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><I>type</I><code>(</code><I>kind_parameter</I><code>), dimension(:), intent(out)</code>.</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><SPAN CLASS="textit">type</SPAN><code>(</code><SPAN CLASS="textit">kind_parameter</SPAN><code>), dimension(:), intent(out)</code>.</TD>
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The local part of the vector <IMG
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The local part of the vector <SPAN CLASS="MATH"><IMG
WIDTH="14" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img103.png"
ALT="$y$">. Note that <I>type</I> and
<I>kind_parameter</I> must be chosen according
ALT="$y$"></SPAN>. Note that <SPAN CLASS="textit">type</SPAN> and
<SPAN CLASS="textit">kind_parameter</SPAN> must be chosen according
to the real/complex, single/double precision version of MLD2P4 under use.</TD>
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>desc_a</code></TD>
@@ -142,39 +143,39 @@ and hence it is completely transparent to the user.
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>If <code>trans</code> = <code>'N','n'</code> then <!-- MATH
$op(M^{-1}) = M^{-1}$
-->
<IMG
<SPAN CLASS="MATH"><IMG
WIDTH="132" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="img104.png"
ALT="$op(M^{-1}) = M^{-1}$">;
ALT="$op(M^{-1}) = M^{-1}$"></SPAN>;
if <code>trans</code> = <code>'T','t'</code> then <!-- MATH
$op(M^{-1}) = M^{-T}$
-->
<IMG
<SPAN CLASS="MATH"><IMG
WIDTH="135" HEIGHT="40" ALIGN="MIDDLE" BORDER="0"
SRC="img105.png"
ALT="$op(M^{-1}) = M^{-T}$">
(transpose of <IMG
ALT="$op(M^{-1}) = M^{-T}$"></SPAN>
(transpose of <SPAN CLASS="MATH"><IMG
WIDTH="48" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="img106.png"
ALT="$M^{-1})$">; if <code>trans</code> = <code>'C','c'</code> then <!-- MATH
ALT="$M^{-1})$"></SPAN>; if <code>trans</code> = <code>'C','c'</code> then <!-- MATH
$op(M^{-1}) = M^{-C}$
-->
<IMG
<SPAN CLASS="MATH"><IMG
WIDTH="136" HEIGHT="40" ALIGN="MIDDLE" BORDER="0"
SRC="img107.png"
ALT="$op(M^{-1}) = M^{-C}$">
(conjugate transpose of <IMG
ALT="$op(M^{-1}) = M^{-C}$"></SPAN>
(conjugate transpose of <SPAN CLASS="MATH"><IMG
WIDTH="48" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="img106.png"
ALT="$M^{-1})$">.</TD>
ALT="$M^{-1})$"></SPAN>.</TD>
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>work</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><I>type</I><code>(</code><I>kind_parameter</I><code>), dimension(:), optional, target</code>.</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><SPAN CLASS="textit">type</SPAN><code>(</code><SPAN CLASS="textit">kind_parameter</SPAN><code>), dimension(:), optional, target</code>.</TD>
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>Workspace. Its size should be at
least <code>4 * psb_cd_get_local_</code> <code>cols(desc_a)</code> (see the PSBLAS User's Guide).
Note that <I>type</I> and <I>kind_parameter</I> must be chosen according
Note that <SPAN CLASS="textit">type</SPAN> and <SPAN CLASS="textit">kind_parameter</SPAN> must be chosen according
to the real/complex, single/double precision version of MLD2P4 under use.</TD>
</TR>
</TABLE>
@@ -182,7 +183,8 @@ and hence it is completely transparent to the user.
<P>
<P>
<HR>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html308"
HREF="node21.html">
@@ -204,7 +206,7 @@ and hence it is completely transparent to the user.
<B> Previous:</B> <A NAME="tex2html299"
HREF="node19.html">Subroutine mld_precbld</A>
&nbsp; <B> <A NAME="tex2html307"
HREF="node2.html">Contents</A></B>
HREF="node2.html">Contents</A></B> </DIV>
<!--End of Navigation Panel-->
</BODY>
+7 -6
View File
@@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2012 (1.2)
original version by: Nikos Drakos, CBLU, University of Leeds
@@ -25,7 +25,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html320"
HREF="node22.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
@@ -48,7 +49,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
&nbsp; <B> <A NAME="tex2html319"
HREF="node2.html">Contents</A></B>
<BR>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00085000000000000000"></A><A NAME="sec:precfree"></A>
@@ -66,15 +67,15 @@ Subroutine mld_precfree
This routine deallocates the preconditioner data structure.
<P>
<FONT SIZE="+1"><B>Arguments</B></FONT>
<BIG CLASS="LARGE"><B>Arguments</B></BIG>
<P>
<TABLE CELLPADDING=3>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>p</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298><code>type(mld_</code><I>x</I><code>prec_type), intent(inout)</code>.</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298><code>type(mld_</code><SPAN CLASS="textit">x</SPAN><code>prec_type), intent(inout)</code>.</TD>
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298>The preconditioner data structure. Note that <I>x</I> must be chosen according
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298>The preconditioner data structure. Note that <SPAN CLASS="textit">x</SPAN> must be chosen according
to the real/complex, single/double precision version of MLD2P4 under use.</TD>
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>info</code></TD>
+7 -6
View File
@@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2012 (1.2)
original version by: Nikos Drakos, CBLU, University of Leeds
@@ -24,7 +24,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html330"
HREF="node23.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
@@ -47,7 +48,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
&nbsp; <B> <A NAME="tex2html329"
HREF="node2.html">Contents</A></B>
<BR>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00086000000000000000"></A><A NAME="sec:precdescr"></A>
@@ -67,15 +68,15 @@ This routine prints a description of the preconditioner to the standard output o
to a file. It must be called after <code>mld_precbld</code> has been called.
<P>
<FONT SIZE="+1"><B>Arguments</B></FONT>
<BIG CLASS="LARGE"><B>Arguments</B></BIG>
<P>
<TABLE CELLPADDING=3>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>p</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>type(mld_</code><I>x</I><code>prec_type), intent(in)</code>.</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>type(mld_</code><SPAN CLASS="textit">x</SPAN><code>prec_type), intent(in)</code>.</TD>
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The preconditioner data structure. Note that <I>x</I> must be chosen according
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The preconditioner data structure. Note that <SPAN CLASS="textit">x</SPAN> must be chosen according
to the real/complex, single/double precision version of MLD2P4 under use.</TD>
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>info</code></TD>
+4 -3
View File
@@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2012 (1.2)
original version by: Nikos Drakos, CBLU, University of Leeds
@@ -25,7 +25,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html342"
HREF="node24.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
@@ -48,7 +49,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
&nbsp; <B> <A NAME="tex2html341"
HREF="node2.html">Contents</A></B>
<BR>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H1><A NAME="SECTION00090000000000000000"></A><A NAME="sec:errors"></A>
+4 -3
View File
@@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2012 (1.2)
original version by: Nikos Drakos, CBLU, University of Leeds
@@ -25,7 +25,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html354"
HREF="node25.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
@@ -48,7 +49,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
&nbsp; <B> <A NAME="tex2html353"
HREF="node2.html">Contents</A></B>
<BR>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H1><A NAME="SECTION000100000000000000000"></A><A NAME="sec:license"></A>
+21 -18
View File
@@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2012 (1.2)
original version by: Nikos Drakos, CBLU, University of Leeds
@@ -25,7 +25,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html96"
HREF="node4.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
@@ -48,7 +49,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
&nbsp; <B> <A NAME="tex2html95"
HREF="node2.html">Contents</A></B>
<BR>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H1><A NAME="SECTION00030000000000000000"></A><A NAME="sec:overview"></A>
@@ -58,17 +59,18 @@ General Overview
<P>
The M<SMALL>ULTI-</SMALL>L<SMALL>EVEL </SMALL>D<SMALL>OMAIN </SMALL>D<SMALL>ECOMPOSITION </SMALL>P<SMALL>ARALLEL </SMALL>P<SMALL>RECONDITIONERS </SMALL>P<SMALL>ACKAGE BASED ON
</SMALL>PSBLAS (MLD2P4) provides <I>multi-level Schwarz preconditioners</I>&nbsp;[<A
</SMALL>PSBLAS (MLD2P4) provides <SPAN CLASS="textit">multi-level Schwarz preconditioners</SPAN>&nbsp;[<A
HREF="node25.html#dd2_96">22</A>],
to be used in the iterative solutions of sparse linear systems:
<BR>
<DIV ALIGN="RIGHT">
<DIV ALIGN="RIGHT" CLASS="mathdisplay">
<!-- MATH
\begin{equation}
Ax=b,
\end{equation}
-->
<A NAME="system1"></A>
<TABLE WIDTH="100%" ALIGN="CENTER">
<TR VALIGN="MIDDLE"><TD ALIGN="CENTER" NOWRAP><A NAME="system1"></A><IMG
WIDTH="58" HEIGHT="30" BORDER="0"
@@ -76,26 +78,26 @@ Ax=b,
ALT="\begin{displaymath}
Ax=b,
\end{displaymath}"></TD>
<TD WIDTH=10 ALIGN="RIGHT">
(1)</TD></TR>
<TD CLASS="eqno" WIDTH=10 ALIGN="RIGHT">
(<SPAN CLASS="arabic">1</SPAN>)</TD></TR>
</TABLE>
<BR CLEAR="ALL"></DIV><P></P>
where <IMG
where <SPAN CLASS="MATH"><IMG
WIDTH="18" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img2.png"
ALT="$A$"> is a square, real or complex, sparse matrix with a symmetric
ALT="$A$"></SPAN> is a square, real or complex, sparse matrix with a symmetric
sparsity pattern. These preconditioners have the following general features:
<UL>
<LI>both <I>additive and hybrid multilevel</I> variants are implemented,
<LI>both <SPAN CLASS="textit">additive and hybrid multilevel</SPAN> variants are implemented,
i.e. variants that are additive among the levels and inside each level, and variants
that are multiplicative among the levels and additive inside each level;
the basic Additive Schwarz (AS) preconditioners are obtained by considering only one level;
</LI>
<LI>a <I>purely algebraic</I> approach is used to
<LI>a <SPAN CLASS="textit">purely algebraic</SPAN> approach is used to
generate a sequence of coarse-level corrections to a basic AS preconditioner, without
explicitly using any information on the geometry of the original problem (e.g. the
discretization of a PDE). The <I>smoothed aggregation</I> technique is applied
discretization of a PDE). The <SPAN CLASS="textit">smoothed aggregation</SPAN> technique is applied
as algebraic coarsening strategy&nbsp;[<A
HREF="node25.html#BREZINA_VANEK">1</A>,<A
HREF="node25.html#VANEK_MANDEL_BREZINA">26</A>].
@@ -103,8 +105,8 @@ as algebraic coarsening strategy&nbsp;[<A
</UL>
<P>
Version 2.0 of the package is written in <I>Fortran&nbsp;2003</I>, following an
<I>object-oriented design</I> through the exploitation of features
Version 2.0 of the package is written in <SPAN CLASS="textit">Fortran&nbsp;2003</SPAN>, following an
<SPAN CLASS="textit">object-oriented design</SPAN> through the exploitation of features
such as abstract data type creation, functional overloading and
dynamic memory management. The parallel implementation is based on a Single Program Multiple Data
(SPMD) paradigm for distributed-memory architectures. Single and
@@ -114,8 +116,8 @@ interface.
<P>
MLD2P4 has been designed to implement scalable and easy-to-use
multilevel preconditioners in the context of the <I>PSBLAS
(Parallel Sparse BLAS) computational framework</I>&nbsp;[<A
multilevel preconditioners in the context of the <SPAN CLASS="textit">PSBLAS
(Parallel Sparse BLAS) computational framework</SPAN>&nbsp;[<A
HREF="node25.html#psblas_00">17</A>,<A
HREF="node25.html#PSBLAS3">16</A>].
PSBLAS is a library originally developed to address the parallel implementation of
@@ -170,7 +172,8 @@ in Section&nbsp;<A HREF="node23.html#sec:errors">7</A>. The copyright terms conc
of MLD2P4 are reported in Appendix&nbsp;<A HREF="node24.html#sec:license">A</A>.
<P>
<HR>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html96"
HREF="node4.html">
@@ -192,7 +195,7 @@ of MLD2P4 are reported in Appendix&nbsp;<A HREF="node24.html#sec:license">A</A>.
<B> Previous:</B> <A NAME="tex2html87"
HREF="node2.html">Contents</A>
&nbsp; <B> <A NAME="tex2html95"
HREF="node2.html">Contents</A></B>
HREF="node2.html">Contents</A></B> </DIV>
<!--End of Navigation Panel-->
</BODY>
+5 -4
View File
@@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2012 (1.2)
original version by: Nikos Drakos, CBLU, University of Leeds
@@ -25,7 +25,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html108"
HREF="node5.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
@@ -48,7 +49,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
&nbsp; <B> <A NAME="tex2html107"
HREF="node2.html">Contents</A></B>
<BR>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H1><A NAME="SECTION00040000000000000000"></A><A NAME="sec:distribution"></A>
@@ -75,7 +76,7 @@ account when treating derived works.
The library defines a version string with the
constant
<BR><P></P>
<DIV ALIGN="CENTER">
<DIV ALIGN="CENTER" CLASS="mathdisplay">
<!-- MATH
\begin{displaymath}
\verb|mld_version_string_|
+5 -4
View File
@@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2012 (1.2)
original version by: Nikos Drakos, CBLU, University of Leeds
@@ -25,7 +25,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html120"
HREF="node6.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
@@ -48,7 +49,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
&nbsp; <B> <A NAME="tex2html119"
HREF="node2.html">Contents</A></B>
<BR>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H1><A NAME="SECTION00050000000000000000"></A><A NAME="sec:building"></A>
@@ -79,7 +80,7 @@ real and complex data, in both single and double precision.
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL>
<UL CLASS="ChildLinks">
<LI><A NAME="tex2html122"
HREF="node6.html">Prerequisites</A>
<LI><A NAME="tex2html123"
+29 -4
View File
@@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2012 (1.2)
original version by: Nikos Drakos, CBLU, University of Leeds
@@ -25,7 +25,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html137"
HREF="node7.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
@@ -48,7 +49,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
&nbsp; <B> <A NAME="tex2html136"
HREF="node2.html">Contents</A></B>
<BR>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00051000000000000000">
@@ -98,7 +99,31 @@ usually this means that they should all be built with the same
compiler as MLD2P4.
<P>
<BR><HR>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html137"
HREF="node7.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html133"
HREF="node5.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html127"
HREF="node5.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html135"
HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html138"
HREF="node7.html">Optional third party libraries</A>
<B> Up:</B> <A NAME="tex2html134"
HREF="node5.html">Configuring and Building MLD2P4</A>
<B> Previous:</B> <A NAME="tex2html128"
HREF="node5.html">Configuring and Building MLD2P4</A>
&nbsp; <B> <A NAME="tex2html136"
HREF="node2.html">Contents</A></B> </DIV>
<!--End of Navigation Panel-->
</BODY>
</HTML>
+39 -4
View File
@@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2012 (1.2)
original version by: Nikos Drakos, CBLU, University of Leeds
@@ -25,7 +25,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html149"
HREF="node8.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
@@ -48,7 +49,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
&nbsp; <B> <A NAME="tex2html148"
HREF="node2.html">Contents</A></B>
<BR>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00052000000000000000">
@@ -88,8 +89,42 @@ for multilevel preconditioners may change to reflect their presence.
triangular system solution for double precision real and complex data.
We have tested version 3.3 and 4.2.
</DD>
<DT><STRONG>MUMPS</STRONG></DT>
<DD>[]
MUMPS (“Multifrontal Massively Parallel Solver”) is a sparse, direct factorization
package available from
<BR> <code>http://mumps.enseeiht.fr/</code>.
It implements a direct method based on a multifrontal approach which performs
a Gaussian factorization.
We have tested versions 4.10.0 and version 5.0.1.
<P>
</DD>
</DL>
<BR><HR>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html149"
HREF="node8.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html145"
HREF="node5.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html139"
HREF="node6.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html147"
HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html150"
HREF="node8.html">Configuration options</A>
<B> Up:</B> <A NAME="tex2html146"
HREF="node5.html">Configuring and Building MLD2P4</A>
<B> Previous:</B> <A NAME="tex2html140"
HREF="node6.html">Prerequisites</A>
&nbsp; <B> <A NAME="tex2html148"
HREF="node2.html">Contents</A></B> </DIV>
<!--End of Navigation Panel-->
</BODY>
</HTML>
+4 -3
View File
@@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2012 (1.2)
original version by: Nikos Drakos, CBLU, University of Leeds
@@ -25,7 +25,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html161"
HREF="node9.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
@@ -48,7 +49,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
&nbsp; <B> <A NAME="tex2html160"
HREF="node2.html">Contents</A></B>
<BR>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00053000000000000000">
+4 -3
View File
@@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2012 (1.2)
original version by: Nikos Drakos, CBLU, University of Leeds
@@ -25,7 +25,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html173"
HREF="node10.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
@@ -48,7 +49,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
&nbsp; <B> <A NAME="tex2html172"
HREF="node2.html">Contents</A></B>
<BR>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00054000000000000000">
+9 -8
View File
@@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2012 (1.2)
original version by: Nikos Drakos, CBLU, University of Leeds
@@ -22,7 +22,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html13"
HREF="node1.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
@@ -37,15 +38,15 @@ original version by: Nikos Drakos, CBLU, University of Leeds
&nbsp; <B> <A NAME="tex2html12"
HREF="node2.html">Contents</A></B>
<BR>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<FONT SIZE="+2"><B>MLD2P4
<BIG CLASS="XXLARGE"><B>MLD2P4
<BR>
<BR>
User's and Reference Guide</B></FONT>
<BR><I><FONT SIZE="+1">A guide for the Multi-Level Domain Decomposition
User's and Reference Guide</B></BIG>
<BR><SPAN CLASS="textit"><BIG CLASS="LARGE">A guide for the Multi-Level Domain Decomposition
Parallel Preconditioners Package
based on PSBLAS</FONT></I>
based on PSBLAS</BIG></SPAN>
<BR>
<BR>
<BR>
@@ -76,7 +77,7 @@ Oct. 12, 2015
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"></A>
<UL>
<UL CLASS="ChildLinks">
<LI><A NAME="tex2html15"
HREF="node1.html">Abstract</A>
<LI><A NAME="tex2html16"