next up previous contents
Next: Error Handling Up: userhtml Previous: Subroutine descr   Contents


Adding smoothers and solvers to MLD2P4

Da ampliare e completare - SALVATORE.

Completely new smoother and/or solver classes 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 p%set(solver,info) call; the new solver object is then dynamically included in the preconditioner structure.


If the user has developed a new type of smoother and/or solver by extending one of the base MLD2P4 types, and has declared a variable of the new type in the main program, it is possible to pass the new smoother/solver variable to the setup routine as follows:

call p%set(smoother,info [,ilev, ilmax,pos])
call p%set(solver,info [,ilev, ilmax,pos])
In this way, the variable will act as a mold to which the preconditioner will conform, even though the MLD2P4 library is not modified, and thus has no direct knowledge about the new type.


smoother class(mld_x_base_smoother_type)
  The user-defined new smoother to be employed in the preconditioner.
solver class(mld_x_base_solver_type)
  The user-defined new solver to be employed in the preconditioner.


next up previous contents
Next: Error Handling Up: userhtml Previous: Subroutine descr   Contents