mld2p4-2:

docs/html/contents.png
 docs/html/crossref.png
 docs/html/index.html
 docs/html/node1.html
 docs/html/node10.html
 docs/html/node11.html
 docs/html/node12.html
 docs/html/node13.html
 docs/html/node14.html
 docs/html/node15.html
 docs/html/node16.html
 docs/html/node17.html
 docs/html/node18.html
 docs/html/node19.html
 docs/html/node2.html
 docs/html/node20.html
 docs/html/node21.html
 docs/html/node22.html
 docs/html/node23.html
 docs/html/node24.html
 docs/html/node25.html
 docs/html/node26.html
 docs/html/node27.html
 docs/html/node28.html
 docs/html/node3.html
 docs/html/node4.html
 docs/html/node5.html
 docs/html/node6.html
 docs/html/node7.html
 docs/html/node8.html
 docs/html/node9.html
 docs/html/userhtml.html
 docs/mld2p4-2.1-guide.pdf
 docs/src/gettingstarted.tex
 docs/src/userinterface.tex

New interfaces for building hierachy and preconditioner.
This commit is contained in:
Salvatore Filippone
2016-06-09 15:38:36 +00:00
parent d989714ee9
commit 86982461ad
35 changed files with 5859 additions and 5210 deletions
+37 -27
View File
@@ -25,26 +25,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html244"
<A NAME="tex2html248"
HREF="node16.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html240"
<A NAME="tex2html244"
HREF="node14.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html236"
<A NAME="tex2html240"
HREF="node14.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html242"
<A NAME="tex2html246"
HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html245"
<B> Next:</B> <A NAME="tex2html249"
HREF="node16.html">User Interface</A>
<B> Up:</B> <A NAME="tex2html241"
<B> Up:</B> <A NAME="tex2html245"
HREF="node14.html">Getting Started</A>
<B> Previous:</B> <A NAME="tex2html237"
<B> Previous:</B> <A NAME="tex2html241"
HREF="node14.html">Getting Started</A>
&nbsp; <B> <A NAME="tex2html243"
&nbsp; <B> <A NAME="tex2html247"
HREF="node2.html">Contents</A></B>
<BR>
<BR>
@@ -75,7 +75,7 @@ in the directory <code>examples/fileread</code> of the MLD2P4 tree (see
Section&nbsp;<A HREF="node10.html#sec:ex_and_test">3.5</A>).
For details on the use of the PSBLAS routines, see the PSBLAS User's
Guide [<A
HREF="node25.html#PSBLASGUIDE">16</A>].
HREF="node27.html#PSBLASGUIDE">16</A>].
<P>
The setup and application of the default multi-level
@@ -86,7 +86,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="946"></A>
<DIV ALIGN="CENTER"><A NAME="fig:ex_default"></A><A NAME="952"></A>
<TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 2:</STRONG>
Setup and application of the default multi-level Schwarz preconditioner.
@@ -128,7 +128,9 @@ Setup and application of the default multi-level Schwarz preconditioner.
call mld_precinit(P,'ML',info)
!
! build the preconditioner
call mld_precbld(A,desc_A,P,info)
call mld_hierarchy_bld(A,desc_A,P,info)
call mld_ml_prec_bld(A,desc_A,P,info)
!
! set the solver parameters and the initial guess
... ...
@@ -162,12 +164,12 @@ Figure&nbsp;<A HREF="#fig:ex_3lh">3</A> shows how to set a three-level hybrid Sc
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&nbsp;[<A
HREF="node25.html#UMFPACK">9</A>].
HREF="node27.html#UMFPACK">9</A>].
Figure&nbsp;<A HREF="#fig:ex_3lhm">4</A> shows how to set a three-level preconditioner
similar to the one of&nbsp;<A HREF="#fig:ex_3lh">3</A>, but the coarsest-level
systems is solved with the multifrontal factorization from
MUMPS&nbsp;[<A
HREF="node25.html#UMFPACK">9</A>].
HREF="node27.html#UMFPACK">9</A>].
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 <code>mld_precinit</code>; the other
@@ -202,7 +204,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="948"></A>
<DIV ALIGN="CENTER"><A NAME="fig:ex_3lh"></A><A NAME="954"></A>
<TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 3:</STRONG>
Setup of a hybrid three-level Schwarz preconditioner.</CAPTION>
@@ -216,11 +218,14 @@ Setup of a hybrid three-level Schwarz preconditioner.</CAPTION>
! block Jacobi (with ILU(0) on the blocks) as post-smoother,
! a coarsest matrix replicated on the processors, and the
! LU factorization from UMFPACK as coarse-level solver
call mld_precinit(P,'ML',info,nlev=3)
call mld_precinit(P,'ML',info)
call mld_hierarchy_bld(A,desc_A,P,info)
call_mld_precset(P,'SMOOTHER_TYPE','BJAC',info)
call_mld_precset(P,'SMOOTHER_POS,'POST'w,info)
call mld_precset(P,'COARSE_MAT','REPL',info)
call mld_precset(P,'COARSE_SOLVE','UMF',info)
call mld_ml_prec_bld(A,desc_A,P,info)
... ...
</PRE>
</TD></TR>
@@ -235,7 +240,7 @@ Setup of a hybrid three-level Schwarz preconditioner.</CAPTION>
<P>
<DIV ALIGN="CENTER"><A NAME="fig:ex_3lhm"></A><A NAME="950"></A>
<DIV ALIGN="CENTER"><A NAME="fig:ex_3lhm"></A><A NAME="956"></A>
<TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 4:</STRONG>
Setup of a hybrid three-level Schwarz preconditioner.</CAPTION>
@@ -251,10 +256,12 @@ Setup of a hybrid three-level Schwarz preconditioner.</CAPTION>
! multifrontal solver in MUMPS as coarse-level solver
call mld_precinit(P,'ML',info,nlev=3)
call mld_hierarchy_bld(A,desc_A,P,info)
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)
call mld_ml_prec_bld(A,desc_A,P,info)
... ...
</PRE>
</TD></TR>
@@ -269,7 +276,7 @@ Setup of a hybrid three-level Schwarz preconditioner.</CAPTION>
<P>
<DIV ALIGN="CENTER"><A NAME="fig:ex_3la"></A><A NAME="952"></A>
<DIV ALIGN="CENTER"><A NAME="fig:ex_3la"></A><A NAME="958"></A>
<TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 5:</STRONG>
Setup of an additive three-level Schwarz preconditioner.</CAPTION>
@@ -284,9 +291,11 @@ Setup of an additive three-level Schwarz preconditioner.</CAPTION>
! post-smoother, and 5 block-Jacobi sweeps (with UMFPACK LU
! on the blocks) as distributed coarsest-level solver
call mld_precinit(P,'ML',info,nlev=3)
call mld_ml_prec_bld(A,desc_A,P,info)
call mld_precset(P,'ML_TYPE','ADD',info)
call_mld_precset(P,'SMOOTHER_POS','TWOSIDE',info)
call mld_precset(P,'COARSE_SWEEPS',5,info)
call mld_ml_prec_bld(A,desc_A,P,info)
... ...
</PRE>
</TD></TR>
@@ -301,7 +310,7 @@ Setup of an additive three-level Schwarz preconditioner.</CAPTION>
<P>
<DIV ALIGN="CENTER"><A NAME="fig:ex_1l"></A><A NAME="954"></A>
<DIV ALIGN="CENTER"><A NAME="fig:ex_1l"></A><A NAME="960"></A>
<TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 6:</STRONG>
Setup of a one-level Schwarz preconditioner.</CAPTION>
@@ -314,6 +323,7 @@ Setup of a one-level Schwarz preconditioner.</CAPTION>
! set RAS with overlap 2 and ILU(0) on the local blocks
call mld_precinit(P,'AS',info)
call mld_precset(P,'SUB_OVR',2,info)
call mld_precbld(A,desc_A,P,info)
... ...
</PRE>
</TD></TR>
@@ -327,26 +337,26 @@ Setup of a one-level Schwarz preconditioner.</CAPTION>
<P>
<HR>
<!--Navigation Panel-->
<A NAME="tex2html244"
<A NAME="tex2html248"
HREF="node16.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html240"
<A NAME="tex2html244"
HREF="node14.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html236"
<A NAME="tex2html240"
HREF="node14.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html242"
<A NAME="tex2html246"
HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html245"
<B> Next:</B> <A NAME="tex2html249"
HREF="node16.html">User Interface</A>
<B> Up:</B> <A NAME="tex2html241"
<B> Up:</B> <A NAME="tex2html245"
HREF="node14.html">Getting Started</A>
<B> Previous:</B> <A NAME="tex2html237"
<B> Previous:</B> <A NAME="tex2html241"
HREF="node14.html">Getting Started</A>
&nbsp; <B> <A NAME="tex2html243"
&nbsp; <B> <A NAME="tex2html247"
HREF="node2.html">Contents</A></B>
<!--End of Navigation Panel-->