mirror of
https://github.com/sfilippone/amg4psblas.git
synced 2026-10-07 07:04:59 +00:00
mld2p4-2:
docs/html/node24.html docs/html/node28.html docs/mld2p4-2.1-guide.pdf docs/src/userinterface.tex Fixes for extending smoothers and solvers.
This commit is contained in:
+20
-10
@@ -59,16 +59,20 @@ Adding new smoothers and solvers to MLD2P4
|
||||
<P>
|
||||
Developers can add completely new smoother and/or solver classes
|
||||
derived from the base objects in the library may be used without
|
||||
recompiling the library itself. To do so it is necessary first to
|
||||
select the base type to be extended; in our experience, it is quite
|
||||
likely that the new application needs only require the definition of a
|
||||
``solver'' object, which is almost always acting only on the local
|
||||
part of the distributed matrix. The parallel actions required to
|
||||
connect the various solver objects are most often already provided by
|
||||
the Block Jacobi or the Additive Schwarz smoothers.
|
||||
To define a new solver, the developer will then have to define its
|
||||
components and methods, perhaps taking one of the predefined solvers
|
||||
as a starting point if possible.
|
||||
recompiling the library itself.
|
||||
|
||||
<P>
|
||||
To do so it is necessary first to select the base type to be extended;
|
||||
in our experience, it is quite likely that the new application needs
|
||||
only require the definition of a ``solver'' object, which is almost
|
||||
always acting only on the local part of the distributed matrix.
|
||||
|
||||
<P>
|
||||
The parallel actions required to connect the various solver objects
|
||||
are most often already provided by the Block Jacobi or the Additive
|
||||
Schwarz smoothers. To define a new solver, the developer will then
|
||||
have to define its components and methods, perhaps taking one of the
|
||||
predefined solvers as a starting point if possible.
|
||||
|
||||
<P>
|
||||
Once the new smoother/solver class has been developed, to use it in
|
||||
@@ -101,6 +105,12 @@ it passes it down the composition hierarchy (levels containing
|
||||
smoothers containing solvers), so that it can be eventually caught by
|
||||
the new solver.
|
||||
|
||||
<P>
|
||||
An example is contained in the source code distribution under the
|
||||
folder <code>tests/newslv</code>. This example solver is simply the ILU(0)
|
||||
solver under a new name, but it should give an idea of what needs to
|
||||
be done.
|
||||
|
||||
<P>
|
||||
|
||||
<BR>
|
||||
|
||||
Reference in New Issue
Block a user