@ -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 <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 < A HREF = "node11.html#sec:background" > 4< / A > .
refer to Section < 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 specifi es a new smoother, and wh ishes to use a new solver
the user set s 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 >