mld2p4-2:

docs/html/node18.html
 docs/html/node26.html
 docs/mld2p4-2.0-guide.pdf
 docs/src/userinterface.tex
 mlprec/impl/mld_cmlprec_bld.f90
 mlprec/impl/mld_dmlprec_bld.f90
 mlprec/impl/mld_smlprec_bld.f90
 mlprec/impl/mld_zmlprec_bld.f90

Doc fix.
Fix aggregation scheme to stop properly when no progress is being
made.
stopcriterion
Salvatore Filippone 12 years ago
parent 9296da8b1a
commit b8af18ae99

@ -59,17 +59,23 @@ Subroutine mld_precset
<P> <P>
<DIV ALIGN="CENTER"> <DIV ALIGN="CENTER">
<code>mld_precset(p,what,val,info)</code> <code>mld_precset(p,what,val,info)</code>
<BR><code>p%set(what,val,info [,ilev])</code>
<BR><code>mld_precset(p,smoother,info)</code> <BR><code>mld_precset(p,smoother,info)</code>
<BR><code>p%set(smoother,info [,ilev])</code>
<BR><code>mld_precset(p,solver,info)</code> <BR><code>mld_precset(p,solver,info)</code>
<BR> <BR><code>p%set(solver,info [,ilev])</code>
</DIV> </DIV>
<P> <P>
This routine sets the parameters defining the preconditioner. More This routine sets the parameters defining the preconditioner. More
precisely, the parameter identified by <code>what</code> is assigned the value precisely, the parameter identified by <code>what</code> is assigned the value
contained in <code>val</code>. The other two forms of this routine are contained in <code>val</code>. The routine may also be invoked as a method
designed to allow extensions of the library by passing new smoothers of the preconditioner object; in this case it is also possible to
and solvers to be employed in the preconditioner. specify an optional <code>ilev</code> argument that restricts the effect of
the call to the specified level.
The alternative forms of this routine are designed to allow
extensions of the library.
<P> <P>
<FONT SIZE="+1"><B>Arguments</B></FONT> <FONT SIZE="+1"><B>Arguments</B></FONT>
@ -150,13 +156,25 @@ default values, is given in Tables&nbsp;<A HREF="#tab:p_type">2</A>-<A HREF="#ta
For a detailed description of the meaning of the parameters, please For a detailed description of the meaning of the parameters, please
refer to Section&nbsp;<A HREF="node11.html#sec:background">4</A>. refer to Section&nbsp;<A HREF="node11.html#sec:background">4</A>.
The smoother and solver objects are arranged in a hierarchical manner; The smoother and solver objects are arranged in a hierarchical manner;
when specifying a new smoother object, its parameters including the when specifying a smoother object, its parameters including the
contained solver are set to default values, and when a new solver contained solver are set to default values, and when a solver
object is specified its defaults are also set, overriding in both object is specified its defaults are also set, overriding in both
cases any previous settings even if explicitly specified. Therefore if cases any previous settings even if explicitly specified. Therefore if
the user specifies a new smoother, and whishes to use a new solver the user sets a new smoother, and wishes to use a solver
which is not the default one, the call to set the solver must come different from the default one, the call to set the solver must come
<I>after</I> the call to set the smoother. <I>after</I> the call to set the smoother.
Completely new smoother and/or solver class derived from the
base objects in the library may be used without recompiling the
library itself. Once the new smoother/solver class has been
developed, the user can declare a variable of that new type in the
application, and pass that variable to the <code>p%set(solver,info)</code>
call; the new solver object is then dynamically included in the
preconditioner structure.
<P>
The <code>what,val</code> pairs described here are those of the predefined
smoother/solver objects; newly developed solvers may define new pairs
according to their needs.
<P> <P>
<BR><P></P> <BR><P></P>

@ -63,7 +63,7 @@ Mathematics Department, Macquarie University, Sydney.
The command line arguments were: <BR> The command line arguments were: <BR>
<STRONG>latex2html</STRONG> <TT>-local_icons -noaddress -dir ../../html userhtml.tex</TT> <STRONG>latex2html</STRONG> <TT>-local_icons -noaddress -dir ../../html userhtml.tex</TT>
<P> <P>
The translation was initiated by Salvatore Filippone on 2013-03-13 The translation was initiated by Salvatore Filippone on 2013-03-14
<BR><HR> <BR><HR>
</BODY> </BODY>

File diff suppressed because it is too large Load Diff

@ -73,16 +73,22 @@ according to the preconditioner type chosen by the user.
\begin{center} \begin{center}
\verb|mld_precset(p,what,val,info)|\\ \verb|mld_precset(p,what,val,info)|\\
\verb|p%set(what,val,info [,ilev])|\\
\verb|mld_precset(p,smoother,info)|\\ \verb|mld_precset(p,smoother,info)|\\
\verb|p%set(smoother,info [,ilev])|\\
\verb|mld_precset(p,solver,info)|\\ \verb|mld_precset(p,solver,info)|\\
\verb|p%set(solver,info [,ilev])|
\end{center} \end{center}
\noindent \noindent
This routine sets the parameters defining the preconditioner. More This routine sets the parameters defining the preconditioner. More
precisely, the parameter identified by \verb|what| is assigned the value precisely, the parameter identified by \verb|what| is assigned the value
contained in \verb|val|. The other two forms of this routine are contained in \verb|val|. The routine may also be invoked as a method
designed to allow extensions of the library by passing new smoothers of the preconditioner object; in this case it is also possible to
and solvers to be employed in the preconditioner. specify an optional \verb|ilev| argument that restricts the effect of
the call to the specified level.
The alternative forms of this routine are designed to allow
extensions of the library.
{\vskip2\baselineskip\noindent\large\bfseries Arguments} {\vskip2\baselineskip\noindent\large\bfseries Arguments}
@ -141,14 +147,26 @@ For a detailed description of the meaning of the parameters, please
refer to Section~\ref{sec:background}. refer to Section~\ref{sec:background}.
% %
The smoother and solver objects are arranged in a hierarchical manner; The smoother and solver objects are arranged in a hierarchical manner;
when specifying a new smoother object, its parameters including the when specifying a smoother object, its parameters including the
contained solver are set to default values, and when a new solver contained solver are set to default values, and when a solver
object is specified its defaults are also set, overriding in both object is specified its defaults are also set, overriding in both
cases any previous settings even if explicitly specified. Therefore if cases any previous settings even if explicitly specified. Therefore if
the user specifies a new smoother, and whishes to use a new solver the user sets a new smoother, and wishes to use a solver
which is not the default one, the call to set the solver must come different from the default one, the call to set the solver must come
\emph{after} the call to set the smoother. \emph{after} the call to set the smoother.
% %
Completely new smoother and/or solver class derived from the
base objects in the library may be used without recompiling the
library itself. Once the new smoother/solver class has been
developed, the user can declare a variable of that new type in the
application, and pass that variable to the \verb|p%set(solver,info)|
call; the new solver object is then dynamically included in the
preconditioner structure.
The \verb|what,val| pairs described here are those of the predefined
smoother/solver objects; newly developed solvers may define new pairs
according to their needs.
\bsideways \bsideways
\begin{center} \begin{center}

@ -245,6 +245,7 @@ subroutine mld_cmlprec_bld(a,desc_a,p,info,amold,vmold)
info = psb_err_internal_error_ info = psb_err_internal_error_
call psb_errpush(info,name,a_err='Deallocate at list end'); goto 9999 call psb_errpush(info,name,a_err='Deallocate at list end'); goto 9999
end if end if
exit list_build_loop
end if end if
end if end if

@ -245,6 +245,7 @@ subroutine mld_dmlprec_bld(a,desc_a,p,info,amold,vmold)
info = psb_err_internal_error_ info = psb_err_internal_error_
call psb_errpush(info,name,a_err='Deallocate at list end'); goto 9999 call psb_errpush(info,name,a_err='Deallocate at list end'); goto 9999
end if end if
exit list_build_loop
end if end if
end if end if
@ -294,13 +295,13 @@ subroutine mld_dmlprec_bld(a,desc_a,p,info,amold,vmold)
if (i ==1) then if (i ==1) then
! This is a workaround for a bug in gfortran 4.7.2 ! This is a workaround for a bug in gfortran 4.7.2
call doallc(i,p%precv,base_sm,info) call doallc(i,p%precv,base_sm,info)
!!$ allocate(p%precv(i)%sm,source=base_sm,stat=info) ! !$ allocate(p%precv(i)%sm,source=base_sm,stat=info)
else if (i < newsz) then else if (i < newsz) then
call doallc(i,p%precv,med_sm,info) call doallc(i,p%precv,med_sm,info)
!!$ allocate(p%precv(i)%sm,source=med_sm,stat=info) ! !$ allocate(p%precv(i)%sm,source=med_sm,stat=info)
else else
call doallc(i,p%precv,coarse_sm,info) call doallc(i,p%precv,coarse_sm,info)
!!$ allocate(p%precv(i)%sm,source=coarse_sm,stat=info) ! !$ allocate(p%precv(i)%sm,source=coarse_sm,stat=info)
end if end if
end if end if
if (info /= psb_success_) then if (info /= psb_success_) then

@ -245,6 +245,7 @@ subroutine mld_smlprec_bld(a,desc_a,p,info,amold,vmold)
info = psb_err_internal_error_ info = psb_err_internal_error_
call psb_errpush(info,name,a_err='Deallocate at list end'); goto 9999 call psb_errpush(info,name,a_err='Deallocate at list end'); goto 9999
end if end if
exit list_build_loop
end if end if
end if end if

@ -245,6 +245,7 @@ subroutine mld_zmlprec_bld(a,desc_a,p,info,amold,vmold)
info = psb_err_internal_error_ info = psb_err_internal_error_
call psb_errpush(info,name,a_err='Deallocate at list end'); goto 9999 call psb_errpush(info,name,a_err='Deallocate at list end'); goto 9999
end if end if
exit list_build_loop
end if end if
end if end if

Loading…
Cancel
Save