mirror of
https://github.com/sfilippone/amg4psblas.git
synced 2026-10-06 14:44:55 +00:00
Merge mumps into trunk
This commit is contained in:
@@ -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
|
||||
<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"
|
||||
|
||||
@@ -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
|
||||
<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 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>
|
||||
<B> <A NAME="tex2html50"
|
||||
HREF="node2.html">Contents</A></B>
|
||||
HREF="node2.html">Contents</A></B> </DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
|
||||
@@ -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
|
||||
<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
@@ -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
|
||||
<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>
|
||||
<B> <A NAME="tex2html194"
|
||||
HREF="node2.html">Contents</A></B>
|
||||
HREF="node2.html">Contents</A></B> </DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
|
||||
+11
-9
@@ -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
|
||||
<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>
|
||||
<B> <A NAME="tex2html241"
|
||||
HREF="node2.html">Contents</A></B>
|
||||
HREF="node2.html">Contents</A></B> </DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
|
||||
+19
-17
@@ -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
|
||||
<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>
|
||||
<B> <A NAME="tex2html253"
|
||||
HREF="node2.html">Contents</A></B>
|
||||
HREF="node2.html">Contents</A></B> </DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
|
||||
+10
-8
@@ -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
|
||||
<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> </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>
|
||||
<B> <A NAME="tex2html271"
|
||||
HREF="node2.html">Contents</A></B>
|
||||
HREF="node2.html">Contents</A></B> </DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
|
||||
+68
-66
@@ -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
|
||||
<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> </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> </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 <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> </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 int. num. <IMG
|
||||
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>any int. num. <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 int. num. <IMG
|
||||
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>Any int. num. <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 real num. <IMG
|
||||
<TD ALIGN="LEFT"><code>real(</code><SPAN CLASS="textit">kind_parameter</SPAN><code>)</code></TD>
|
||||
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>Any real num. <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 real 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 real 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 nonnegative real 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 int. num. <IMG
|
||||
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>Any int. num. <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img99.png"
|
||||
ALT="$> 0$"></TD>
|
||||
ALT="$> 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 int. num. <IMG
|
||||
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>Any int. num. <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 real. num. <IMG
|
||||
<TD ALIGN="LEFT"><code>real(</code><SPAN CLASS="textit">kind_parameter</SPAN><code>)</code></TD>
|
||||
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>Any real. num. <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>
|
||||
<B> <A NAME="tex2html283"
|
||||
HREF="node2.html">Contents</A></B>
|
||||
HREF="node2.html">Contents</A></B> </DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
|
||||
+11
-10
@@ -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
|
||||
<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> </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> </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>
|
||||
<B> <A NAME="tex2html295"
|
||||
HREF="node2.html">Contents</A></B>
|
||||
HREF="node2.html">Contents</A></B> </DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
|
||||
@@ -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
@@ -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
|
||||
<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> </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> </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> </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> </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>
|
||||
<B> <A NAME="tex2html307"
|
||||
HREF="node2.html">Contents</A></B>
|
||||
HREF="node2.html">Contents</A></B> </DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
|
||||
@@ -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
|
||||
<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> </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>
|
||||
|
||||
@@ -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
|
||||
<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> </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>
|
||||
|
||||
@@ -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
|
||||
<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>
|
||||
|
||||
@@ -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
|
||||
<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
@@ -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
|
||||
<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> [<A
|
||||
</SMALL>PSBLAS (MLD2P4) provides <SPAN CLASS="textit">multi-level Schwarz preconditioners</SPAN> [<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 [<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 [<A
|
||||
</UL>
|
||||
|
||||
<P>
|
||||
Version 2.0 of the package is written in <I>Fortran 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 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> [<A
|
||||
multilevel preconditioners in the context of the <SPAN CLASS="textit">PSBLAS
|
||||
(Parallel Sparse BLAS) computational framework</SPAN> [<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 <A HREF="node23.html#sec:errors">7</A>. The copyright terms conc
|
||||
of MLD2P4 are reported in Appendix <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 <A HREF="node24.html#sec:license">A</A>.
|
||||
<B> Previous:</B> <A NAME="tex2html87"
|
||||
HREF="node2.html">Contents</A>
|
||||
<B> <A NAME="tex2html95"
|
||||
HREF="node2.html">Contents</A></B>
|
||||
HREF="node2.html">Contents</A></B> </DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
|
||||
@@ -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
|
||||
<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_|
|
||||
|
||||
@@ -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
|
||||
<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
@@ -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
|
||||
<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>
|
||||
<B> <A NAME="tex2html136"
|
||||
HREF="node2.html">Contents</A></B> </DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
+39
-4
@@ -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
|
||||
<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>
|
||||
<B> <A NAME="tex2html148"
|
||||
HREF="node2.html">Contents</A></B> </DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
@@ -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
|
||||
<B> <A NAME="tex2html160"
|
||||
HREF="node2.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION00053000000000000000">
|
||||
|
||||
@@ -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
|
||||
<B> <A NAME="tex2html172"
|
||||
HREF="node2.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION00054000000000000000">
|
||||
|
||||
@@ -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
|
||||
<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"
|
||||
|
||||
@@ -17,7 +17,7 @@ for the ``best'' preconditioner for the problem at hand.
|
||||
|
||||
The package employs object-oriented design techniques in
|
||||
Fortran~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
|
||||
|
||||
@@ -84,6 +84,14 @@ Method with a Column Pre-ordering Strategy},
|
||||
ACM Transactions on Mathematical Software, 30, 2004, 196--199.
|
||||
(See also {\tt http://www.cise.ufl.edu/~davis/})
|
||||
%
|
||||
|
||||
\bibitem{MUMPS}
|
||||
P.R.~Amestoy, C.~Ashcraft, O.~Boiteau, A.~Buttari, J.~L'Excellent, C.~Weisbecker
|
||||
{\em Improving multifrontal methods by means of block low-rank representations},
|
||||
SIAM SISC, volume 37, number 3, pages A1452-A1474.
|
||||
(See also {\tt http://mumps.enseeiht.fr})
|
||||
%
|
||||
|
||||
\bibitem{SUPERLU}
|
||||
J.W.~Demmel, S.C.~Eisenstat, J.R.~Gilbert, X.S.~Li and J.W.H.~Liu,
|
||||
A supernodal approach to sparse partial pivoting,
|
||||
|
||||
@@ -69,6 +69,14 @@ for multilevel preconditioners may change to reflect their presence.
|
||||
from the same site as SuperLU; provides parallel factorization and
|
||||
triangular system solution for double precision real and complex data.
|
||||
We have tested version 3.3 and 4.2.
|
||||
\item[MUMPS] \cite{MUMPS}
|
||||
MUMPS (“MUltifrontal Massively Parallel Solver”) is a sparse, direct factorization
|
||||
package available from \\
|
||||
\verb|http://mumps.enseeiht.fr/|.
|
||||
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.
|
||||
|
||||
\end{description}
|
||||
\subsection{Configuration options}
|
||||
|
||||
@@ -222,6 +230,9 @@ generated the file \verb|Make.inc| which will then be used by all
|
||||
Makefiles in the directory tree; this file will be copied in the
|
||||
install directory under the name \verb|Make.inc.MLD2P4|.
|
||||
|
||||
In order to use the MUMPS solver based on multifrontal factorization, the user has to add MUMPS flags, include directories and libraries in the Make.inc file.
|
||||
The necessary MUMPS libraries are \verb|-ldmumps, -lsmumps -lzmumps -lzmumps -mumps_common -lpord|. The flag \verb|-DHAVE_MUMPS_| is mandatory too. Since MUMPS uses openmp and ScaLAPACK, \verb|LINKOPT=-fonemp| must be added as well, along with the ScaLAPACK flags, include directories and library (which can be set using the configure script).
|
||||
|
||||
To build the library the user will now enter
|
||||
\begin{verbatim}
|
||||
make
|
||||
|
||||
@@ -203,6 +203,9 @@ Figure~\ref{fig:ex_3lh} shows how to set a three-level hybrid Schwarz
|
||||
preconditioner, which uses block Jacobi with ILU(0) on the
|
||||
local blocks as post-smoother, has a coarsest matrix replicated on the processors,
|
||||
and solves the coarsest-level system with the LU factorization from UMFPACK~\cite{UMFPACK}.
|
||||
Figure~\ref{fig:ex_3lhm} shows how to set a three-level preconditioner similar to the one of ~\ref{fig:ex_3lh}, but the coarsest-level systems is solved with the multifrontal factorization from MUMPS~\cite{UMFPACK}.
|
||||
Note that MUMPS can be used on both replicated and distributed coarsest level matrices,
|
||||
as a global and local solver respectively.
|
||||
The number of levels is specified by using \verb|mld_precinit|; the other
|
||||
preconditioner parameters are set by calling \verb|mld_precset|. Note that
|
||||
the type of multilevel framework (i.e.\ multiplicative among the levels
|
||||
@@ -218,7 +221,7 @@ solver. Again, \verb|mld_precset| is used only to set
|
||||
non-default values of the parameters (see Tables~\ref{tab:p_type}-\ref{tab:p_coarse}).
|
||||
In both cases, the construction and the application of the preconditioner
|
||||
are carried out as for the default multi-level preconditioner.
|
||||
The code fragments shown in in Figures~\ref{fig:ex_3lh}-\ref{fig:ex_3la} are
|
||||
The code fragments shown in in Figures~\ref{fig:ex_3lh}~\ref{fig:ex_3lhm}-\ref{fig:ex_3la} are
|
||||
included in the example program file \verb|mld_dexample_ml.f90| too.
|
||||
|
||||
Finally, Figure~\ref{fig:ex_1l} shows the setup of a one-level
|
||||
@@ -263,6 +266,32 @@ boundary conditions are also available in the directory \verb|examples/pdegen|.
|
||||
\end{center}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}[tbh]
|
||||
\begin{center}
|
||||
\begin{minipage}{.90\textwidth}
|
||||
{\small
|
||||
\begin{verbatim}
|
||||
... ...
|
||||
! set a three-level hybrid Schwarz preconditioner, which uses
|
||||
! block Jacobi (with ILU(0) on the blocks) as post-smoother,
|
||||
! a coarsest matrix replicated on the processors, and the
|
||||
! multifrontal solver in MUMPS as coarse-level solver
|
||||
|
||||
call mld_precinit(P,'ML',info,nlev=3)
|
||||
call mld_precset(P,mld_smoother_type_,'BJAC',info)
|
||||
call mld_precset(P,mld_coarse_mat_,'REPL',info)
|
||||
call mld_precset(P,mld_coarse_solve_,'MUMPS',info)
|
||||
|
||||
... ...
|
||||
\end{verbatim}
|
||||
}
|
||||
\end{minipage}
|
||||
|
||||
\caption{Setup of a hybrid three-level Schwarz preconditioner.\label{fig:ex_3lhm}}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
|
||||
|
||||
\begin{figure}[tbh]
|
||||
\begin{center}
|
||||
\begin{minipage}{.90\textwidth}
|
||||
|
||||
Reference in New Issue
Block a user