<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">Thanks, exactly what I've searched for.<br>
      <br>
      Thomas<br>
      <br>
      Am 24.10.2012 22:19, schrieb Jed Brown:<br>
    </div>
    <blockquote
cite="mid:CAM9tzS=yym9DtFukMupksU9VvjY1tHrFEiOckxp7GszKgDoiAw@mail.gmail.com"
      type="cite">You are looking for PCFieldSplitGetSubKSP().
      <div><br>
      </div>
      <div>Matt's comment was about distinguishing between the KSP
        living inside of S = D - C A^{-1} B and the one used directly by
        PCFIeldSplit when solving with A.<br>
        <br>
        <div class="gmail_quote">On Wed, Oct 24, 2012 at 3:04 PM, Thomas
          Witkowski <span dir="ltr"><<a moz-do-not-send="true"
              href="mailto:thomas.witkowski@tu-dresden.de"
              target="_blank">thomas.witkowski@tu-dresden.de</a>></span>
          wrote:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div text="#000000" bgcolor="#FFFFFF">
              <div>Am 24.10.2012 21:33, schrieb Matthew Knepley:<br>
              </div>
              <div class="im">
                <blockquote type="cite">On Wed, Oct 24, 2012 at 3:23 PM,
                  Thomas Witkowski <span dir="ltr"><<a
                      moz-do-not-send="true"
                      href="mailto:thomas.witkowski@tu-dresden.de"
                      target="_blank">thomas.witkowski@tu-dresden.de</a>></span>
                  wrote:<br>
                  <div class="gmail_quote">
                    <blockquote class="gmail_quote" style="margin:0 0 0
                      .8ex;border-left:1px #ccc solid;padding-left:1ex">
                      I want to play around with some special type of a
                      Schur complement preconditioner. It perfectly fits
                      into PETSc's fieldsplit preconditioner (schur -
                      full factorization). But for the inner solvers, I
                      would like to create some MatShells. So I need to
                      access both KSP objects, for the upper block
                      (KSP(A_00)) and for the Schur complement (KSP(S)).
                      How can I get these objects in my source code?<br>
                    </blockquote>
                    <div><br>
                    </div>
                    <div>First you have to make them different. This
                      happens when you give options for</div>
                    <div><br>
                    </div>
                    <div>  -fieldsplit_1_upper_*</div>
                    <div>  -fieldsplit_1_inner_*</div>
                    <div><br>
                    </div>
                    <div>This is how I customize the solvers to get
                      things like SIMPLE. Once they are created, you</div>
                    <div>can get them by pulling apart the FS. The upper
                      is fs->kspupper, and the inner is the KSP</div>
                    <div>from the MATSCHUR from fs->schur.</div>
                  </div>
                </blockquote>
              </div>
              I don't understand your solution. Maybe I should put some
              lines of code to emphasize my question. The relevant part
              looks as follows:<br>
              <br>
              PCSetType(pc, PCFIELDSPLIT);<br>
              PCFieldSplitSetSchurFactType(pc,
              PC_FIELDSPLIT_SCHUR_FACT_FULL);<br>
              ...<br>
              PCFieldSplitSetIS(pc, "velocity", is0);<br>
              PCFieldSplitSetIS(pc, "pressure", is1);<br>
              ...<br>
              KSP velocity;<br>
              KSP schur;<br>
              ....<br>
              <br>
              Okay, I don't solve any Stokes/Navier Stokes equation, but
              to make the names somehow convenient I choose here the
              names velocity and pressure for the two system blocks. My
              question is now, how to figure out the two inner solver
              objects from the field split preconditioner. <br>
              <br>
              Matt, if your answer is still appropriate to my question,
              can you make it clear on the above piece of code? Thank
              you very much.<span class="HOEnZb"><font color="#888888"><br>
                  <br>
                  Thomas</font></span>
              <div class="im"><br>
                <br>
                <blockquote type="cite">
                  <div class="gmail_quote">
                    <div><br>
                    </div>
                    <div>   Matt</div>
                    <div> </div>
                    <blockquote class="gmail_quote" style="margin:0 0 0
                      .8ex;border-left:1px #ccc solid;padding-left:1ex">
                      Best regards,<br>
                      <br>
                      Thomas<br>
                    </blockquote>
                  </div>
                  <br>
                  <br clear="all">
                  <div><br>
                  </div>
                  -- <br>
                  What most experimenters take for granted before they
                  begin their experiments is infinitely more interesting
                  than any results to which their experiments lead.<br>
                  -- Norbert Wiener<br>
                </blockquote>
                <br>
              </div>
            </div>
          </blockquote>
        </div>
        <br>
      </div>
    </blockquote>
    <br>
  </body>
</html>