Formatting source code in mumps module. Updated docs for IDX in %SET.

stopcriterion
Salvatore Filippone 6 years ago
parent 4ffbd65166
commit c64eef2eb1

@ -262,8 +262,8 @@ end
\begin{tabbing}
\quad \=\quad \=\quad...
...[1mm]
\>endif \\ [1mm]
\>return $u^k$\ \\ [1mm]
\>endif [1mm]
\>return $u^k$ [1mm]
end
\end{tabbing}\end{minipage}}">

@ -54,7 +54,7 @@ Method set
</H2><BIG CLASS="LARGE"><BIG CLASS="LARGE"></BIG></BIG>
<P>
<BIG CLASS="LARGE"><BIG CLASS="LARGE"></BIG></BIG>
<DIV ALIGN="CENTER"><BIG CLASS="LARGE"><BIG CLASS="LARGE"><BIG CLASS="LARGE"><code>call p%set(what,val,info [,ilev, ilmax, pos])</code>
<DIV ALIGN="CENTER"><BIG CLASS="LARGE"><BIG CLASS="LARGE"><BIG CLASS="LARGE"><code>call p%set(what,val,info [,ilev, ilmax, pos, idx])</code>
</BIG></BIG></BIG></DIV><BIG CLASS="LARGE"><BIG CLASS="LARGE"></BIG></BIG>
<P>
<BIG CLASS="LARGE"><BIG CLASS="LARGE"><BIG CLASS="LARGE">
@ -139,7 +139,16 @@ contained in <code>val</code>.
or to the post-smoother (<code>'POST'</code>). If <code>pos</code> is not present,
the other arguments are applied to both smoothers.
If the preconditioner is one-level or the parameter identified by <code>what</code>
does not concern the smoothers, <code>pos</code> is ignored.
does not concern the smoothers, <code>pos</code> is ignored.</BIG></BIG></BIG></TD>
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><BIG CLASS="LARGE"><BIG CLASS="LARGE"><BIG CLASS="LARGE">
<code>idx</code> </BIG></BIG></BIG></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><BIG CLASS="LARGE"><BIG CLASS="LARGE"><BIG CLASS="LARGE"> <code>integer, optional, intent(in)</code>.</BIG></BIG></BIG></TD>
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><BIG CLASS="LARGE"><BIG CLASS="LARGE"><BIG CLASS="LARGE">
</BIG></BIG></BIG></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><BIG CLASS="LARGE"><BIG CLASS="LARGE"><BIG CLASS="LARGE"> An auxiliary input argument that can be passed to the
underlying objects.
</BIG></BIG></BIG></TD>
</TR>
</TABLE><BIG CLASS="LARGE"><BIG CLASS="LARGE"></BIG></BIG>
@ -153,7 +162,8 @@ as follows:
</BIG></BIG></BIG></DIV><BIG CLASS="LARGE"><BIG CLASS="LARGE"></BIG></BIG>
<P>
<BIG CLASS="LARGE"><BIG CLASS="LARGE"><BIG CLASS="LARGE">
However, in this case the optional arguments <code>ilev</code>, <code>ilmax</code>, and <code>pos</code>
However, in this case the optional arguments <code>ilev</code>,
<code>ilmax</code>, <code>pos</code> and <code>idx</code>
cannot be used.
<BR></BIG></BIG></BIG>
<P>
@ -245,9 +255,16 @@ therefore, if SuperLu_Dist has been previously set, the coarsest-level
solver is changed to the default sequential solver.
</BIG></BIG></BIG>
<P>
<BIG CLASS="LARGE"><BIG CLASS="LARGE"><BIG CLASS="LARGE"><SPAN CLASS="textbf">Remark 4.</SPAN> The argument <code>idx</code> can be used to allow finer
control for those solvers; for instance, by specifying the keyword
<code>MUMPS_IPAR_ENTRY</code> and an appropriate value for <code>idx</code>, it is
possible to set any entry in the MUMPS integer control array.
See also Sec.&nbsp;<A HREF="node33.html#sec:adding">7</A>.
</BIG></BIG></BIG>
<P>
<BIG CLASS="LARGE"><BIG CLASS="LARGE"></BIG></BIG>
<BR><P></P>
<DIV ALIGN="CENTER"><A NAME="1390"></A>
<DIV ALIGN="CENTER"><A NAME="1392"></A>
<TABLE>
<CAPTION><STRONG>Table 2:</STRONG>
Parameters defining the multilevel cycle and the number of cycles to
@ -300,7 +317,7 @@ number <SPAN CLASS="MATH"><IMG
<P>
<BIG CLASS="LARGE"><BIG CLASS="LARGE"></BIG></BIG>
<BR><P></P>
<DIV ALIGN="CENTER"><A NAME="1396"></A>
<DIV ALIGN="CENTER"><A NAME="1398"></A>
<TABLE>
<CAPTION><STRONG>Table 3:</STRONG>
Parameters defining the aggregation algorithm.
@ -419,7 +436,7 @@ of levels. </SPAN></TD>
<P>
<BIG CLASS="LARGE"><BIG CLASS="LARGE"></BIG></BIG>
<BR><P></P>
<DIV ALIGN="CENTER"><A NAME="1400"></A>
<DIV ALIGN="CENTER"><A NAME="1402"></A>
<TABLE>
<CAPTION><STRONG>Table 4:</STRONG>
Parameters defining the aggregation algorithm (continued).
@ -486,7 +503,7 @@ the parameter <TT>ilev</TT>.</SPAN></TD>
<P>
<BIG CLASS="LARGE"><BIG CLASS="LARGE"></BIG></BIG>
<BR><P></P>
<DIV ALIGN="CENTER"><A NAME="1405"></A>
<DIV ALIGN="CENTER"><A NAME="1407"></A>
<TABLE>
<CAPTION><STRONG>Table 5:</STRONG>
Parameters defining the coarse-space correction at the coarsest
@ -593,7 +610,7 @@ Note that <TT>UMF</TT> and <TT>SLU</TT> require the coarsest
<P>
<BIG CLASS="LARGE"><BIG CLASS="LARGE"></BIG></BIG>
<BR><P></P>
<DIV ALIGN="CENTER"><A NAME="1407"></A>
<DIV ALIGN="CENTER"><A NAME="1409"></A>
<TABLE>
<CAPTION><STRONG>Table 6:</STRONG>
Parameters defining the coarse-space correction at the coarsest
@ -659,7 +676,7 @@ number <SPAN CLASS="MATH"><IMG
<P>
<BIG CLASS="LARGE"><BIG CLASS="LARGE"></BIG></BIG>
<BR><P></P>
<DIV ALIGN="CENTER"><A NAME="1409"></A>
<DIV ALIGN="CENTER"><A NAME="1411"></A>
<TABLE>
<CAPTION><STRONG>Table 7:</STRONG>
Parameters defining the smoother or the details of the one-level preconditioner.
@ -786,7 +803,7 @@ Parameters defining the smoother or the details of the one-level preconditioner.
<P>
<BIG CLASS="LARGE"><BIG CLASS="LARGE"></BIG></BIG>
<BR><P></P>
<DIV ALIGN="CENTER"><A NAME="1411"></A>
<DIV ALIGN="CENTER"><A NAME="1413"></A>
<TABLE>
<CAPTION><STRONG>Table 8:</STRONG>
Parameters defining the smoother or the details of the one-level preconditioner
@ -873,6 +890,16 @@ Parameters defining the smoother or the details of the one-level preconditioner
SRC="img83.png"
ALT="$p,t$"></SPAN>) factorization. </SMALL></TD>
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=85><SMALL CLASS="SMALL"> <code>'MUMPS_IPAR_ENTRY'</code> </SMALL></TD>
<TD ALIGN="LEFT"><SMALL CLASS="SMALL"> <code>integer</code>
</SMALL></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=71><SMALL CLASS="SMALL"> Any integer number
</SMALL></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=62><SMALL CLASS="SMALL"> 0
</SMALL></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=201><SMALL CLASS="SMALL"> Set an entry in the MUMPS control array, as
chosen via the <code>idx</code> optional argument. </SMALL></TD>
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=85><SMALL CLASS="SMALL"> </SMALL></TD>
<TD></TD>
<TD></TD>

@ -64,7 +64,7 @@ This method computes <!-- MATH
<SPAN CLASS="MATH"><IMG
WIDTH="113" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="img86.png"
ALT="$y = op(B^{-1})\, x$"></SPAN>, where <SPAN CLASS="MATH"><IMG
ALT="$y = op(B^{-1}) x$"></SPAN>, where <SPAN CLASS="MATH"><IMG
WIDTH="19" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img24.png"
ALT="$B$"></SPAN> is a previously built

@ -96,7 +96,10 @@ been modified to account for this new development.
<code>set</code> routine; if the library code does not recognize a keyword,
it passes it down the composition hierarchy (levels containing
smoothers containing in turn solvers), so that it can be eventually caught by
the new solver.
the new solver. By the same token, any keyword/value pair that does not pertain to
a given smoother should be passed down to the contained solver, and
any keyword/value pair that does not pertain to a given solver is by
default ignored.
</BIG></BIG></BIG>
<P>
<BIG CLASS="LARGE"><BIG CLASS="LARGE"><BIG CLASS="LARGE">An example is provided in the source code distribution under the

@ -60,7 +60,7 @@ Mathematics Department, Macquarie University, Sydney.
The command line arguments were: <BR>
<STRONG>latex2html</STRONG> <TT>-local_icons -noaddress -dir ../../html userhtml.tex</TT>
<P>
The translation was initiated on 2018-05-14<BIG CLASS="LARGE"><BIG CLASS="LARGE"></BIG></BIG>
The translation was initiated on 2018-10-05<BIG CLASS="LARGE"><BIG CLASS="LARGE"></BIG></BIG>
<BR><HR>
</BODY>

File diff suppressed because it is too large Load Diff

@ -38,7 +38,10 @@ It is possible to define new values for the keyword \verb|WHAT| in the
\verb|set| routine; if the library code does not recognize a keyword,
it passes it down the composition hierarchy (levels containing
smoothers containing in turn solvers), so that it can be eventually caught by
the new solver.
the new solver. By the same token, any keyword/value pair that does not pertain to
a given smoother should be passed down to the contained solver, and
any keyword/value pair that does not pertain to a given solver is by
default ignored.
An example is provided in the source code distribution under the
folder \verb|tests/newslv|. In this example we are implementing a new

@ -85,7 +85,7 @@ as follows:
\subsection{Method set\label{sec:precset}}
\begin{center}
\verb|call p%set(what,val,info [,ilev, ilmax, pos])|
\verb|call p%set(what,val,info [,ilev, ilmax, pos, idx])|
\end{center}
\noindent
@ -136,7 +136,10 @@ contained in \verb|val|.
or to the post-smoother (\verb|'POST'|). If \verb|pos| is not present,
the other arguments are applied to both smoothers.
If the preconditioner is one-level or the parameter identified by \verb|what|
does not concern the smoothers, \verb|pos| is ignored.
does not concern the smoothers, \verb|pos| is ignored.\\
\verb|idx| & \verb|integer, optional, intent(in)|.\\
& An auxiliary input argument that can be passed to the
underlying objects.
\end{tabular}
\vskip1.5\baselineskip
@ -148,7 +151,8 @@ as follows:
\end{center}
\noindent
However, in this case the optional arguments \verb|ilev|, \verb|ilmax|, and \verb|pos|
However, in this case the optional arguments \verb|ilev|,
\verb|ilmax|, \verb|pos| and \verb|idx|
cannot be used. \\
A variety of preconditioners can be obtained
@ -226,6 +230,11 @@ Likewise, the replicated layout can be used with any solver but SuperLu\_Dist;
therefore, if SuperLu\_Dist has been previously set, the coarsest-level
solver is changed to the default sequential solver.
\textbf{Remark 4.} The argument \verb|idx| can be used to allow finer
control for those solvers; for instance, by specifying the keyword
\verb|MUMPS_IPAR_ENTRY| and an appropriate value for \verb|idx|, it is
possible to set any entry in the MUMPS integer control array.
See also Sec.~\ref{sec:adding}.
%The \verb|what,val| pairs described here are those of the predefined
%moother/solver objects; newly developed solvers may define new pairs
%according to their needs.
@ -609,6 +618,11 @@ level (continued).\label{tab:p_coarse_1}}
& Any real number~$\ge 0$
& 0
& Drop tolerance $t$ in the ILU($p,t$) factorization. \\ %\hline
\verb|'MUMPS_IPAR_ENTRY'| & \verb|integer|
& Any integer number
& 0
& Set an entry in the MUMPS control array, as
chosen via the \verb|idx| optional argument. \\ %\hline
%\verb|mld_sub_ren_| \par \verb|SUB_REN| & \verb|character(len=*)|
% & \texttt{'RENUM\_NONE'} \texttt{'RENUM\_GLOBAL'} %, \texttt{'RENUM_GPS'}
% & \texttt{'RENUM\_NONE'}

@ -76,11 +76,11 @@ module mld_c_mumps_solver
procedure, pass(sv) :: free => c_mumps_solver_free
procedure, pass(sv) :: descr => c_mumps_solver_descr
procedure, pass(sv) :: sizeof => c_mumps_solver_sizeof
procedure, pass(sv) :: cseti =>c_mumps_solver_cseti
procedure, pass(sv) :: csetr => c_mumps_solver_csetr
procedure, pass(sv) :: default => c_mumps_solver_default
procedure, nopass :: get_fmt => c_mumps_get_fmt
procedure, nopass :: get_id => c_mumps_get_id
procedure, pass(sv) :: cseti => c_mumps_solver_cseti
procedure, pass(sv) :: csetr => c_mumps_solver_csetr
procedure, pass(sv) :: default => c_mumps_solver_default
procedure, nopass :: get_fmt => c_mumps_get_fmt
procedure, nopass :: get_id => c_mumps_get_id
#if defined(HAVE_FINAL)
final :: c_mumps_solver_finalize

@ -76,11 +76,11 @@ module mld_d_mumps_solver
procedure, pass(sv) :: free => d_mumps_solver_free
procedure, pass(sv) :: descr => d_mumps_solver_descr
procedure, pass(sv) :: sizeof => d_mumps_solver_sizeof
procedure, pass(sv) :: cseti =>d_mumps_solver_cseti
procedure, pass(sv) :: csetr => d_mumps_solver_csetr
procedure, pass(sv) :: default => d_mumps_solver_default
procedure, nopass :: get_fmt => d_mumps_get_fmt
procedure, nopass :: get_id => d_mumps_get_id
procedure, pass(sv) :: cseti => d_mumps_solver_cseti
procedure, pass(sv) :: csetr => d_mumps_solver_csetr
procedure, pass(sv) :: default => d_mumps_solver_default
procedure, nopass :: get_fmt => d_mumps_get_fmt
procedure, nopass :: get_id => d_mumps_get_id
#if defined(HAVE_FINAL)
final :: d_mumps_solver_finalize

@ -76,11 +76,11 @@ module mld_s_mumps_solver
procedure, pass(sv) :: free => s_mumps_solver_free
procedure, pass(sv) :: descr => s_mumps_solver_descr
procedure, pass(sv) :: sizeof => s_mumps_solver_sizeof
procedure, pass(sv) :: cseti =>s_mumps_solver_cseti
procedure, pass(sv) :: csetr => s_mumps_solver_csetr
procedure, pass(sv) :: default => s_mumps_solver_default
procedure, nopass :: get_fmt => s_mumps_get_fmt
procedure, nopass :: get_id => s_mumps_get_id
procedure, pass(sv) :: cseti => s_mumps_solver_cseti
procedure, pass(sv) :: csetr => s_mumps_solver_csetr
procedure, pass(sv) :: default => s_mumps_solver_default
procedure, nopass :: get_fmt => s_mumps_get_fmt
procedure, nopass :: get_id => s_mumps_get_id
#if defined(HAVE_FINAL)
final :: s_mumps_solver_finalize

@ -76,11 +76,11 @@ module mld_z_mumps_solver
procedure, pass(sv) :: free => z_mumps_solver_free
procedure, pass(sv) :: descr => z_mumps_solver_descr
procedure, pass(sv) :: sizeof => z_mumps_solver_sizeof
procedure, pass(sv) :: cseti =>z_mumps_solver_cseti
procedure, pass(sv) :: csetr => z_mumps_solver_csetr
procedure, pass(sv) :: default => z_mumps_solver_default
procedure, nopass :: get_fmt => z_mumps_get_fmt
procedure, nopass :: get_id => z_mumps_get_id
procedure, pass(sv) :: cseti => z_mumps_solver_cseti
procedure, pass(sv) :: csetr => z_mumps_solver_csetr
procedure, pass(sv) :: default => z_mumps_solver_default
procedure, nopass :: get_fmt => z_mumps_get_fmt
procedure, nopass :: get_id => z_mumps_get_id
#if defined(HAVE_FINAL)
final :: z_mumps_solver_finalize

Loading…
Cancel
Save