@ -59,17 +59,23 @@ Subroutine mld_precset
< P >
< DIV ALIGN = "CENTER" >
< 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 > p%set(smoother,info [,ilev])< / code >
< BR > < code > mld_precset(p,solver,info)< / code >
< BR >
< BR > < code > p%set(solver,info [,ilev])< / code >
< / DIV >
< P >
This routine sets the parameters defining the preconditioner. More
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
designed to allow extensions of the library by passing new smoothers
and solvers to be employed in the preconditioner.
contained in < code > val< / code > . The routine may also be invoked as a method
of the preconditioner object; in this case it is also possible to
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 >
< 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
refer to Section < A HREF = "node11.html#sec:background" > 4< / A > .
The smoother and solver objects are arranged in a hierarchical manner;
when specifying a new smoother object, its parameters including the
contained solver are set to default values, and when a new solver
when specifying a smoother object, its parameters including the
contained solver are set to default values, and when a solver
object is specified its defaults are also set, overriding in both
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
which is not the default one, the call to set the solver must come
the user set s a new smoother, and wishes to use a solver
different from the default one, the call to set the solver must come
< 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 >
< BR > < P > < / P >