mirror of
https://github.com/sfilippone/amg4psblas.git
synced 2026-10-07 07:04:59 +00:00
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:
+37
-27
@@ -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>
|
||||
<B> <A NAME="tex2html243"
|
||||
<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 <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 <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 [<A
|
||||
HREF="node25.html#UMFPACK">9</A>].
|
||||
HREF="node27.html#UMFPACK">9</A>].
|
||||
Figure <A HREF="#fig:ex_3lhm">4</A> shows how to set a three-level preconditioner
|
||||
similar to the one of <A HREF="#fig:ex_3lh">3</A>, but the coarsest-level
|
||||
systems is solved with the multifrontal factorization from
|
||||
MUMPS [<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>
|
||||
<B> <A NAME="tex2html243"
|
||||
<B> <A NAME="tex2html247"
|
||||
HREF="node2.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
|
||||
Reference in New Issue
Block a user