mirror of
https://github.com/sfilippone/psblas3.git
synced 2026-10-06 22:55:08 +00:00
Third sweep of changes from Pasqua/Daniela about the
preconditioners. Updated documentation.
This commit is contained in:
@@ -34,6 +34,7 @@ module psb_base_mod
|
||||
use psb_penv_mod
|
||||
use psb_descriptor_type
|
||||
use psb_serial_mod
|
||||
use psb_comm_mod
|
||||
use psb_psblas_mod
|
||||
use psb_tools_mod
|
||||
end module psb_base_mod
|
||||
|
||||
+3
-2
@@ -66,10 +66,11 @@ $ptype$ string as follows\footnote{The string is case-insensitive}:
|
||||
\item[DIAG] Diagonal scaling; each entry of the input vector is
|
||||
multiplied by the reciprocal of the sum of the absolute values of
|
||||
the coefficients in the corresponding row of matrix $A$;
|
||||
\item[ILU, BJA] Precondition by the incomplete LU factorization of the
|
||||
\item[BJAC] Precondition by a factorization of the
|
||||
block-diagonal of matrix $A$, where block boundaries are determined
|
||||
by the data allocation boundaries for each process; requires no
|
||||
communication. Only $ILU(0)$ is currently implemented.
|
||||
communication. Only the incomplete factorization $ILU(0)$ is
|
||||
currently implemented.
|
||||
%% \item[AS] Additive Schwarz preconditioner (see~\cite{PARA04}); in this
|
||||
%% case the user may specify additional flags through the integer
|
||||
%% vector \verb|ir| as follows:
|
||||
|
||||
@@ -128,9 +128,7 @@ An integer value; 0 means no error has been detected.
|
||||
This subroutine examines the edges of the graph associated with the
|
||||
discretization mesh (and isomorphic to the sparsity pattern of a
|
||||
linear system coefficient matrix), storing them as necessary into the
|
||||
communication descriptor. It automatically ignores edges that do not
|
||||
insist on the current process, i.e. edges for which neither the starting
|
||||
nor the end vertex belong to the current process.
|
||||
communication descriptor.
|
||||
|
||||
\begin{description}
|
||||
\item[\bf On Entry]
|
||||
@@ -170,7 +168,10 @@ An integer value; 0 means no error has been detected.
|
||||
\section*{Notes}
|
||||
\begin{enumerate}
|
||||
\item This routine may only be called if the descriptor is in the
|
||||
build state
|
||||
build state;
|
||||
\item This routine automatically ignores edges that do not
|
||||
insist on the current process, i.e. edges for which neither the starting
|
||||
nor the end vertex belong to the current process.
|
||||
\end{enumerate}
|
||||
|
||||
|
||||
|
||||
+1902
-1886
File diff suppressed because one or more lines are too long
@@ -204,12 +204,12 @@ program df_sample
|
||||
select case(iprec)
|
||||
case(noprec_)
|
||||
call psb_precset(pre,'noprec',info)
|
||||
case(diagsc_)
|
||||
call psb_precset(pre,'diagsc',info)
|
||||
case(bja_)
|
||||
call psb_precset(pre,'ilu',info)
|
||||
case(diag_)
|
||||
call psb_precset(pre,'diag',info)
|
||||
case(bjac_)
|
||||
call psb_precset(pre,'bjac',info)
|
||||
case default
|
||||
call psb_precset(pre,'ilu',info)
|
||||
call psb_precset(pre,'bjac',info)
|
||||
end select
|
||||
|
||||
! building the preconditioner
|
||||
|
||||
@@ -204,12 +204,12 @@ program zf_sample
|
||||
select case(iprec)
|
||||
case(noprec_)
|
||||
call psb_precset(pre,'noprec',info)
|
||||
case(diagsc_)
|
||||
call psb_precset(pre,'diagsc',info)
|
||||
case(bja_)
|
||||
call psb_precset(pre,'ilu',info)
|
||||
case(diag_)
|
||||
call psb_precset(pre,'diag',info)
|
||||
case(bjac_)
|
||||
call psb_precset(pre,'bjac',info)
|
||||
case default
|
||||
call psb_precset(pre,'ilu',info)
|
||||
call psb_precset(pre,'bjac',info)
|
||||
end select
|
||||
|
||||
! building the preconditioner
|
||||
|
||||
@@ -155,12 +155,12 @@ program pde90
|
||||
select case(iprec)
|
||||
case(noprec_)
|
||||
call psb_precset(pre,'noprec',info)
|
||||
case(diagsc_)
|
||||
call psb_precset(pre,'diagsc',info)
|
||||
case(bja_)
|
||||
call psb_precset(pre,'ilu',info)
|
||||
case(diag_)
|
||||
call psb_precset(pre,'diag',info)
|
||||
case(bjac_)
|
||||
call psb_precset(pre,'bjac',info)
|
||||
case default
|
||||
call psb_precset(pre,'ilu',info)
|
||||
call psb_precset(pre,'bjac',info)
|
||||
end select
|
||||
|
||||
call psb_barrier(ictxt)
|
||||
|
||||
Reference in New Issue
Block a user