<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>