<div class="gmail_quote">On Fri, Aug 17, 2012 at 9:23 AM, Alexander Grayver <span dir="ltr"><<a href="mailto:agrayver@gfz-potsdam.de" target="_blank">agrayver@gfz-potsdam.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">Right. <br>
Could you please explain what do you mean by fragile? <br></div></blockquote><div><br></div><div>Fragile means unreliable. The math is not right for Krylov methods in general. You are relying on side-effects of particular methods and preconditioner side combinations. Fragile is the opposite of "robust". For a "robust" method, you should start with a compatible discretization and/or choose a preconditioner that is stable on the quasi-null space and/or filter in a way that is consistent with the Krylov method (e.g. as described using FGMRES).</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div bgcolor="#FFFFFF" text="#000000"><div class="im">
<blockquote type="cite">
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"> <br>
Looks a bit tricky. The number of fgmres iterations then
defines number of the cycles correction will be applied,
doesn't it?</div>
</blockquote>
<div><br>
</div>
<div>Yes.</div>
</div>
</blockquote>
<br></div>
If I do this command line only setup:<div class="im"><br>
-pc_type composite -pc_composite_type multiplicative
-pc_composite_pcs ksp,shell<br>
<br></div>
How does petsc know what ShellPCApply routine to take? I guess I
have to specify this in the code anyway?</div></blockquote></div><br><div>Yeah, to select your preconditioner in this way, you should name it preconditioner something meaningful and use PCRegisterDynamic() just like the native implementations.</div>