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.
stopcriterion
Salvatore Filippone 8 years ago
parent 84288ff74d
commit 435babf6f1

@ -59,16 +59,20 @@ Adding new smoothers and solvers to MLD2P4
<P> <P>
Developers can add completely new smoother and/or solver classes Developers can add completely new smoother and/or solver classes
derived from the base objects in the library may be used without derived from the base objects in the library may be used without
recompiling the library itself. To do so it is necessary first to recompiling the library itself.
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 <P>
``solver'' object, which is almost always acting only on the local To do so it is necessary first to select the base type to be extended;
part of the distributed matrix. The parallel actions required to in our experience, it is quite likely that the new application needs
connect the various solver objects are most often already provided by only require the definition of a ``solver'' object, which is almost
the Block Jacobi or the Additive Schwarz smoothers. always acting only on the local part of the distributed matrix.
To define a new solver, the developer will then have to define its
components and methods, perhaps taking one of the predefined solvers <P>
as a starting point if possible. 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> <P>
Once the new smoother/solver class has been developed, to use it in 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 smoothers containing solvers), so that it can be eventually caught by
the new solver. 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> <P>
<BR> <BR>

@ -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 2017-05-13 The translation was initiated by Salvatore Filippone on 2017-05-16
<BR><HR> <BR><HR>
</BODY> </BODY>

@ -6327,7 +6327,7 @@ endstream
endobj endobj
557 0 obj 557 0 obj
<< <<
/Length 5303 /Length 5872
>> >>
stream stream
0 g 0 G 0 g 0 G
@ -6337,7 +6337,7 @@ BT
0 g 0 G 0 g 0 G
[-378(User)-377(Interf)88(a)23(ce)]TJ/F15 10.9091 Tf 401.542 0 Td [(39)]TJ [-378(User)-377(Interf)88(a)23(ce)]TJ/F15 10.9091 Tf 401.542 0 Td [(39)]TJ
0 g 0 G 0 g 0 G
/F17 14.3462 Tf -401.542 -35.866 Td [(7)-1125(Adding)-375(new)-375(smo)-31(others)-375(and)-375(solv)31(ers)-375(to)-375(MLD2P4)]TJ/F15 10.9091 Tf 0 -24.352 Td [(Dev)28(elop)-28(ers)-414(can)-413(add)-414(completely)-413(new)-414(smo)-28(other)-414(an)1(d/or)-414(solv)28(er)-414(classes)-414(deriv)28(ed)-413(from)-414(the)]TJ 0 -13.549 Td [(base)-302(ob)-55(jects)-302(in)-301(the)-302(library)-301(ma)28(y)-302(b)-28(e)-301(used)-302(without)-301(recompiling)-302(th)1(e)-302(library)-301(itself.)-434(T)83(o)-301(do)-302(so)]TJ 0 -13.549 Td [(it)-317(is)-317(necessary)-317(\014rst)-317(to)-317(select)-317(the)-317(base)-317(t)28(yp)-28(e)-317(to)-317(b)-27(e)-317(exte)-1(n)1(ded;)-323(in)-317(our)-317(exp)-27(erience,)-321(it)-317(is)-317(q)1(uite)]TJ 0 -13.549 Td [(lik)28(ely)-396(that)-396(the)-396(new)-397(application)-396(needs)-396(only)-396(require)-396(the)-396(de\014nition)-396(of)-396(a)-396(\134solv)28(er")-397(ob)-55(ject,)]TJ 0 -13.55 Td [(whic)28(h)-417(is)-417(al)1(m)-1(ost)-416(alw)28(a)27(ys)-416(acting)-417(only)-416(on)-417(the)-417(lo)-27(c)-1(al)-416(part)-417(of)-416(the)-417(distributed)-416(matrix.)-695(The)]TJ 0 -13.549 Td [(parallel)-399(actions)-399(required)-399(to)-399(connect)-399(the)-399(v)55(ari)1(ous)-400(solv)28(er)-399(ob)-55(jects)-399(are)-400(most)-399(often)-399(already)]TJ 0 -13.549 Td [(pro)28(vided)-447(b)28(y)-447(the)-447(Blo)-28(c)28(k)-447(Jacobi)-446(or)-447(the)-447(Additiv)28(e)-447(Sc)28(h)28(w)27(arz)-446(smo)-28(others.)-785(T)83(o)-447(de\014ne)-446(a)-447(new)]TJ 0 -13.549 Td [(solv)28(er,)-466(the)-440(dev)28(elop)-28(er)-439(will)-440(then)-439(ha)28(v)27(e)-439(to)-440(de\014ne)-439(its)-440(comp)-28(onen)28(ts)-439(and)-440(metho)-28(ds,)-466(p)-27(erhaps)]TJ 0 -13.549 Td [(taking)-333(one)-334(of)-333(the)-333(prede\014ned)-333(solv)27(ers)-333(as)-333(a)-334(starting)-333(p)-28(oin)28(t)-333(if)-333(p)-28(ossible.)]TJ 16.937 -13.55 Td [(Once)-329(the)-329(new)-329(smo)-28(other/solv)28(er)-329(class)-329(has)-329(b)-27(een)-329(dev)28(e)-1(l)1(op)-28(ed,)-330(to)-329(use)-329(it)-329(in)-329(th)1(e)-329(con)27(text)-329(of)]TJ -16.937 -13.549 Td [(the)-333(m)27(ultil)1(e)-1(v)28(el)-333(preconditioners)-333(it)-334(is)-333(necessary)-333(to:)]TJ /F17 14.3462 Tf -401.542 -35.866 Td [(7)-1125(Adding)-375(new)-375(smo)-31(others)-375(and)-375(solv)31(ers)-375(to)-375(MLD2P4)]TJ/F15 10.9091 Tf 0 -24.352 Td [(Dev)28(elop)-28(ers)-414(can)-413(add)-414(completely)-413(new)-414(smo)-28(other)-414(an)1(d/or)-414(solv)28(er)-414(classes)-414(deriv)28(ed)-413(from)-414(the)]TJ 0 -13.549 Td [(base)-333(ob)-56(jects)-333(in)-334(the)-333(library)-333(ma)28(y)-334(b)-27(e)-334(used)-333(without)-333(recompiling)-334(the)-333(library)-333(itself.)]TJ 16.937 -13.549 Td [(T)83(o)-250(do)-251(so)-251(it)-250(is)-251(necessary)-251(\014rst)-250(to)-251(select)-251(the)-250(base)-251(t)28(yp)-28(e)-251(to)-250(b)-28(e)-251(extended;)-278(in)-251(our)-250(exp)-28(erience,)]TJ -16.937 -13.549 Td [(it)-306(is)-306(quite)-306(lik)28(ely)-306(that)-306(the)-305(new)-306(application)-306(needs)-306(only)-306(require)-306(the)-306(de\014niti)1(on)-306(of)-306(a)-306(\134solv)28(er")]TJ 0 -13.55 Td [(ob)-56(j)1(e)-1(ct,)-333(whic)28(h)-333(is)-334(almost)-333(alw)28(a)27(ys)-333(acting)-333(only)-333(on)-334(the)-333(lo)-28(cal)-333(part)-333(of)-334(the)-333(distributed)-333(matrix.)]TJ 16.937 -13.549 Td [(The)-393(paral)1(le)-1(l)-392(actions)-393(required)-392(to)-393(connect)-392(the)-393(v)56(arious)-393(solv)28(er)-393(ob)-55(jects)-393(are)-392(m)-1(ost)-392(often)]TJ -16.937 -13.549 Td [(already)-348(pro)27(vided)-348(b)28(y)-349(the)-348(Blo)-28(c)28(k)-349(Jacobi)-348(or)-349(the)-348(Additiv)28(e)-349(Sc)28(h)28(w)28(arz)-349(smo)-28(others.)-490(T)84(o)-349(de\014ne)-348(a)]TJ 0 -13.549 Td [(new)-276(solv)28(er,)-287(the)-275(dev)27(elop)-27(er)-276(will)-275(then)-276(ha)28(v)28(e)-276(to)-275(de\014ne)-276(its)-276(comp)-27(onen)27(ts)-275(and)-276(metho)-27(ds,)-287(p)-28(erhaps)]TJ 0 -13.549 Td [(taking)-333(one)-334(of)-333(the)-333(prede\014ned)-333(solv)27(ers)-333(as)-333(a)-334(starting)-333(p)-28(oin)28(t)-333(if)-333(p)-28(ossible.)]TJ 16.937 -13.55 Td [(Once)-329(the)-329(new)-329(smo)-28(other/solv)28(er)-329(class)-329(has)-329(b)-27(een)-329(dev)28(e)-1(l)1(op)-28(ed,)-330(to)-329(use)-329(it)-329(in)-329(th)1(e)-329(con)27(text)-329(of)]TJ -16.937 -13.549 Td [(the)-333(m)27(ultil)1(e)-1(v)28(el)-333(preconditioners)-333(it)-334(is)-333(necessary)-333(to:)]TJ
0 g 0 G 0 g 0 G
/F25 10.9091 Tf 16.364 -22.515 Td [(\017)]TJ /F25 10.9091 Tf 16.364 -22.515 Td [(\017)]TJ
0 g 0 G 0 g 0 G
@ -6352,7 +6352,7 @@ BT
0 g 0 G 0 g 0 G
/F25 10.9091 Tf -83.227 -26.999 Td [(\017)]TJ /F25 10.9091 Tf -83.227 -26.999 Td [(\017)]TJ
0 g 0 G 0 g 0 G
/F15 10.9091 Tf 10.909 0 Td [(Link)-308(in)27(to)-308(the)-309(application)-308(executable)-309(the)-308(co)-28(de)-309(implemen)28(ting)-309(th)1(e)-309(v)55(ar)1(ious)-309(metho)-28(ds.)]TJ -27.273 -22.515 Td [(The)-270(new)-270(solv)28(er)-270(ob)-55(ject)-270(is)-270(then)-269(dynamically)-270(included)-270(in)-269(the)-270(preconditioner)-270(stru)1(c)-1(tu)1(re)-1(,)-282(and)]TJ 0 -13.549 Td [(will)-321(act)-321(as)-321(a)]TJ/F18 10.9091 Tf 60.74 0 Td [(mold)]TJ/F15 10.9091 Tf 27.49 0 Td [(to)-321(whic)28(h)-321(the)-322(p)1(rec)-1(on)1(ditioner)-321(w)-1(i)1(ll)-322(confor)1(m)-1(,)-323(ev)28(en)-321(though)-321(the)-321(MLD2P4)]TJ -88.23 -13.55 Td [(library)-333(has)-334(n)1(ot)-334(b)-28(een)-333(mo)-28(di\014ed)-333(to)-333(accoun)28(t)-334(for)-333(this)-333(new)-334(dev)28(elopmen)28(t.)]TJ 16.937 -13.549 Td [(It)-358(is)-358(p)-28(ossible)-358(to)-357(de\014ne)-358(new)-358(v)55(alues)-358(for)-357(the)-358(k)27(eyw)28(ord)]TJ/F44 10.9091 Tf 244.802 0 Td [(WHAT)]TJ/F15 10.9091 Tf 26.813 0 Td [(in)-358(the)]TJ/F44 10.9091 Tf 32.052 0 Td [(set)]TJ/F15 10.9091 Tf 21.086 0 Td [(routines;)-370(if)-358(the)]TJ -341.69 -13.549 Td [(library)-319(co)-28(de)-319(do)-28(es)-319(not)-319(recognize)-320(a)-319(k)28(eyw)28(ord,)-322(it)-319(passes)-320(it)-319(do)28(wn)-319(the)-319(comp)-28(osition)-319(hierarc)28(h)27(y)]TJ 0 -13.549 Td [(\050lev)28(els)-307(con)28(taining)-307(smo)-28(others)-306(con)27(tain)1(ing)-307(solv)28(ers\051,)-312(so)-307(that)-307(it)-306(c)-1(an)-306(b)-28(e)-307(ev)28(en)28(tually)-307(caugh)28(t)-307(b)28(y)]TJ 0 -13.549 Td [(the)-333(new)-334(solv)28(er.)]TJ/F44 10.9091 Tf 22.914 -37.579 Td [(smoother)-14(class\050mld_x_base_smoother_type\051)]TJ/F15 10.9091 Tf 45.971 -13.55 Td [(The)-333(user-de\014ned)-334(new)-333(smo)-28(other)-333(to)-333(b)-28(e)-334(emplo)28(y)28(ed)-333(in)-334(the)-333(preconditioner.)]TJ/F44 10.9091 Tf -45.971 -13.549 Td [(solver)-1064(class\050mld_x_base_solver_type\051)]TJ/F15 10.9091 Tf 45.971 -13.549 Td [(The)-333(user-de\014ned)-334(new)-333(solv)28(er)-334(to)-333(b)-28(e)-333(emplo)28(y)28(ed)-334(in)-333(the)-333(preconditioner.)]TJ /F15 10.9091 Tf 10.909 0 Td [(Link)-308(in)27(to)-308(the)-309(application)-308(executable)-309(the)-308(co)-28(de)-309(implemen)28(ting)-309(th)1(e)-309(v)55(ar)1(ious)-309(metho)-28(ds.)]TJ -27.273 -22.515 Td [(The)-270(new)-270(solv)28(er)-270(ob)-55(ject)-270(is)-270(then)-269(dynamically)-270(included)-270(in)-269(the)-270(preconditioner)-270(stru)1(c)-1(tu)1(re)-1(,)-282(and)]TJ 0 -13.549 Td [(will)-321(act)-321(as)-321(a)]TJ/F18 10.9091 Tf 60.74 0 Td [(mold)]TJ/F15 10.9091 Tf 27.49 0 Td [(to)-321(whic)28(h)-321(the)-322(p)1(rec)-1(on)1(ditioner)-321(w)-1(i)1(ll)-322(confor)1(m)-1(,)-323(ev)28(en)-321(though)-321(the)-321(MLD2P4)]TJ -88.23 -13.55 Td [(library)-333(has)-334(n)1(ot)-334(b)-28(een)-333(mo)-28(di\014ed)-333(to)-333(accoun)28(t)-334(for)-333(this)-333(new)-334(dev)28(elopmen)28(t.)]TJ 16.937 -13.549 Td [(It)-358(is)-358(p)-28(ossible)-358(to)-357(de\014ne)-358(new)-358(v)55(alues)-358(for)-357(the)-358(k)27(eyw)28(ord)]TJ/F44 10.9091 Tf 244.802 0 Td [(WHAT)]TJ/F15 10.9091 Tf 26.813 0 Td [(in)-358(the)]TJ/F44 10.9091 Tf 32.052 0 Td [(set)]TJ/F15 10.9091 Tf 21.086 0 Td [(routines;)-370(if)-358(the)]TJ -341.69 -13.549 Td [(library)-319(co)-28(de)-319(do)-28(es)-319(not)-319(recognize)-320(a)-319(k)28(eyw)28(ord,)-322(it)-319(passes)-320(it)-319(do)28(wn)-319(the)-319(comp)-28(osition)-319(hierarc)28(h)27(y)]TJ 0 -13.549 Td [(\050lev)28(els)-307(con)28(taining)-307(smo)-28(others)-306(con)27(tain)1(ing)-307(solv)28(ers\051,)-312(so)-307(that)-307(it)-306(c)-1(an)-306(b)-28(e)-307(ev)28(en)28(tually)-307(caugh)28(t)-307(b)28(y)]TJ 0 -13.549 Td [(the)-333(new)-334(solv)28(er.)]TJ 16.937 -13.55 Td [(An)-222(example)-222(is)-223(con)28(tained)-222(in)-222(the)-222(source)-223(co)-28(d)1(e)-223(distribution)-222(under)-222(the)-222(folder)]TJ/F44 10.9091 Tf 336.364 0 Td [(tests/newslv)]TJ/F15 10.9091 Tf 68.726 0 Td [(.)]TJ -422.027 -13.549 Td [(This)-350(example)-350(solv)28(er)-350(is)-350(simply)-350(the)-350(ILU\0500\051)-349(s)-1(olv)28(er)-350(und)1(e)-1(r)-349(a)-350(new)-350(name,)-354(but)-350(it)-350(should)-350(giv)28(e)]TJ 0 -13.549 Td [(an)-333(idea)-334(of)-333(what)-333(needs)-334(to)-333(b)-28(e)-333(done.)]TJ/F44 10.9091 Tf 22.914 -37.579 Td [(smoother)-14(class\050mld_x_base_smoother_type\051)]TJ/F15 10.9091 Tf 45.971 -13.549 Td [(The)-333(user-de\014ned)-334(new)-333(smo)-28(other)-333(to)-333(b)-28(e)-334(emplo)28(y)28(ed)-333(in)-334(the)-333(preconditioner.)]TJ/F44 10.9091 Tf -45.971 -13.549 Td [(solver)-1064(class\050mld_x_base_solver_type\051)]TJ/F15 10.9091 Tf 45.971 -13.55 Td [(The)-333(user-de\014ned)-334(new)-333(solv)28(er)-334(to)-333(b)-28(e)-333(emplo)28(y)28(ed)-334(in)-333(the)-333(preconditioner.)]TJ
0 g 0 G 0 g 0 G
0 g 0 G 0 g 0 G
ET ET
@ -9249,8 +9249,8 @@ endobj
672 0 obj 672 0 obj
<< <<
/Title (MultiLevel Domain Decomposition Parallel Preconditioners Package based on PSBLAS, V. 2.1) /Subject (MultiLevel Domain Decomposition Parallel Preconditioners Package) /Keywords (Parallel Numerical Software, Algebraic Multilevel Preconditioners, Sparse Iterative Solvers, PSBLAS, MPI) /Creator (pdfLaTeX) /Producer ($Id: userguide.tex 2008-04-08 Pasqua D'Ambra, Daniela di Serafino, Salvatore Filippone$) /Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfTeX-1.40.17)/Keywords() /Title (MultiLevel Domain Decomposition Parallel Preconditioners Package based on PSBLAS, V. 2.1) /Subject (MultiLevel Domain Decomposition Parallel Preconditioners Package) /Keywords (Parallel Numerical Software, Algebraic Multilevel Preconditioners, Sparse Iterative Solvers, PSBLAS, MPI) /Creator (pdfLaTeX) /Producer ($Id: userguide.tex 2008-04-08 Pasqua D'Ambra, Daniela di Serafino, Salvatore Filippone$) /Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfTeX-1.40.17)/Keywords()
/CreationDate (D:20170513100533+01'00') /CreationDate (D:20170516131616+01'00')
/ModDate (D:20170513100533+01'00') /ModDate (D:20170516131616+01'00')
/Trapped /False /Trapped /False
/PTEX.Fullbanner (This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016) kpathsea version 6.2.2) /PTEX.Fullbanner (This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016) kpathsea version 6.2.2)
>> >>
@ -10067,7 +10067,7 @@ endobj
/W [1 3 1] /W [1 3 1]
/Root 671 0 R /Root 671 0 R
/Info 672 0 R /Info 672 0 R
/ID [<A352B85D38EE7995AFBD0E8BA2785D3F> <A352B85D38EE7995AFBD0E8BA2785D3F>] /ID [<8A3CA28412DD333F87FA1F1F7E13B1EF> <8A3CA28412DD333F87FA1F1F7E13B1EF>]
/Length 3370 /Length 3370
>> >>
stream stream
@ -10076,10 +10076,10 @@ stream
m96m86m76+m66;m56Nm4 ¨m3!"¨ m2#$¨m1%&¨Wm0'(¨^m/)*m.+,m--.m,/0m+12m*34m)56"m(78&m'9:;?<=m m96m86m76+m66;m56Nm4 ¨m3!"¨ m2#$¨m1%&¨Wm0'(¨^m/)*m.+,m--.m,/0m+12m*34m)56"m(78&m'9:;?<=m
mmmB@ AFCgDmm IGáHKLMNOPQRSTUVWXYZ[\]^_`abc°°°°Jl°°m 5T°°°° ° ° °°°°°°° mmmB@ AFCgDmm IGáHKLMNOPQRSTUVWXYZ[\]^_`abc°°°°Jl°°m 5T°°°° ° ° °°°°°°°
°° Sn°m m(GB@'I<;°°°°°°°°° °!°"°/°%°$°(°#‡š°&m°*°+°,°-°/°1°2°3°4°5°6°<°)ŽÛ°8°.°0°767>=F:°?°@°A°B°C°D°F°G°>°K°=«°I°E°Hm012?°N°LÅ¥°M°P°R°OÔâ°Qm°U°Sä°T°W°Y°Vó¼°X°^°Z °[°a°b°c666666666°`6 °_76 ŒûH)*+6 6666666 k„66mmmmmmmA6666666#6˜6m 6 6!6"m6%6&6'6(6)6,6$À•6*6/606.626-÷ 61,6465666768696E6F6B6376:6<6=6>6?6@6A6M¨0¨M6G6H6I6J6K6D6O6C/6L6_6Q6R6S6T6U6V6W6X6Y6[6P6Z6c¨¨6]6`6\r—6^m¨6a6b!I¨¨¨¨Àg¨¨ °° Sn°m m(GB@'I<;°°°°°°°°° °!°"°/°%°$°(°#‡š°&m°*°+°,°-°/°1°2°3°4°5°6°<°)ŽÛ°8°.°0°767>=F:°?°@°A°B°C°D°F°G°>°K°=«°I°E°Hm012?°N°LÅ¥°M°P°R°OÔâ°Qm°U°Sä°T°W°Y°Vó¼°X°^°Z °[°a°b°c666666666°`6 °_76 ŒûH)*+6 6666666 k„66mmmmmmmA6666666#6˜6m 6 6!6"m6%6&6'6(6)6,6$À•6*6/606.626-÷ 61,6465666768696E6F6B6376:6<6=6>6?6@6A6M¨0¨M6G6H6I6J6K6D6O6C/6L6_6Q6R6S6T6U6V6W6X6Y6[6P6Z6c¨¨6]6`6\r—6^m¨6a6b!I¨¨¨¨Àg¨¨
¨ ¨¨ Ø⨠¨¨¨¨¨¨¨¨¨¨àb¨¨¨¨¨¨ ¨!¨"¨#¨)¨ü‰¨$¨%¨&¨'¨(¨I¨@¨4¨9¨+¨-¨*¨,m¨1¨.& ¨/¨3¨7¨25¨5¨6¨<¨8¨:¨;¨>¨A¨=Œ•¨?¨E¨B°@¨C¨D¨G¨J¨FÃèHm ¨N¨Kâ¨L¨Q¨R¨S¨T¨U¨P¨X¨Oý¨V¨Z¨[¨\¨_¨Y ü¨]¨b¨c¨a¨`Ãm    ¨ ¨¨ Ø⨠¨¨¨¨¨¨¨¨¨¨àb¨¨¨¨¨¨ ¨!¨"¨#¨)¨ü‰¨$¨%¨&¨'¨(¨I¨@¨4¨9¨+¨-¨*¨,m¨1¨.& ¨/¨3¨7¨25¨5¨6¨<¨8¨:¨;¨>¨A¨=Œ•¨?¨E¨B°@¨C¨D¨G¨J¨FÃèHm ¨N¨Kâ¨L¨Q¨R¨S¨T¨U¨P¨X¨Oý¨V¨Z¨[¨\¨_¨Y ü¨]¨b¨c¨a¨`Ŧ   
sT m!x<04>1$ #<04>m!3$­è%-.C4È›589m"JDâŸEKLMNOPQRSTUVWXYZ[ë<\8„]|M^ºþ_Û•`ïa5>b] c@m³|Ckmmm¤9mÁ½mmLjm¥âmm#m$m%m&mDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm[m\m]m^m_m`ma° í, sT m!x<04>1˜] #Ÿ¦!3$°!%-.C4ÊÔ589m"JDäØEKLMNOPQRSTUVWXYZ[íu\]~†^½7_ÝÎ`(a7wb_DcymµµmmUm¦rmÃömÐmm¨mm#m$m%m&mDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm[m\m]m^m_m`ma²Ùïe
endstream endstream
endobj endobj
startxref startxref
585004 585573
%%EOF %%EOF

@ -860,16 +860,18 @@ as follows:
Developers can add completely new smoother and/or solver classes Developers can add completely new smoother and/or solver classes
derived from the base objects in the library may be used without derived from the base objects in the library may be used without
recompiling the library itself. To do so it is necessary first to recompiling the library itself.
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 To do so it is necessary first to select the base type to be extended;
``solver'' object, which is almost always acting only on the local in our experience, it is quite likely that the new application needs
part of the distributed matrix. The parallel actions required to only require the definition of a ``solver'' object, which is almost
connect the various solver objects are most often already provided by always acting only on the local part of the distributed matrix.
the Block Jacobi or the Additive Schwarz smoothers.
To define a new solver, the developer will then have to define its The parallel actions required to connect the various solver objects
components and methods, perhaps taking one of the predefined solvers are most often already provided by the Block Jacobi or the Additive
as a starting point if possible. 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.
Once the new smoother/solver class has been developed, to use it in Once the new smoother/solver class has been developed, to use it in
@ -896,6 +898,11 @@ it passes it down the composition hierarchy (levels containing
smoothers containing solvers), so that it can be eventually caught by smoothers containing solvers), so that it can be eventually caught by
the new solver. the new solver.
An example is contained in the source code distribution under the
folder \verb|tests/newslv|. 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.
\ \\ \ \\
\begin{tabular}{p{1.2cm}p{12cm}} \begin{tabular}{p{1.2cm}p{12cm}}

Loading…
Cancel
Save