<div>I have the following problem with the prefix choice for the MatSchurComplement KSP introduced in this changeset (<a href="http://petsc.cs.iit.edu/petsc/petsc-dev/rev/0d4ccb990bb8">http://petsc.cs.iit.edu/petsc/petsc-dev/rev/0d4ccb990bb8</a>).</div>

<div>I'm talking about the  "inner" KSP for A00, effecting inv(A00) in the definition S = A11 - A10 inv(A00) A01.  </div><div>We also have the "outer" inv(A00) KSP, which gets prefix "0".  I recently set the "inner" inv(A00) KSP </div>

<div>prefix to "0", simply by inheriting it from the "outer" solver.  Now, it is completely reasonable</div><div>to expect the inner and outer A00 KSPs to have different prefixes so that they can be configured differently.</div>

<div>In fact, there was a recent petsc-users request related to this (<a href="http://lists.mcs.anl.gov/pipermail/petsc-users/2012-June/014005.html">http://lists.mcs.anl.gov/pipermail/petsc-users/2012-June/014005.html</a>).  </div>

<div>However, currently the inner A00 KSP inherits the prefix from the A11 KSP corresponding to the "1" field. With this prefix choice </div><div>I end up configuring inv(A00) and inv(S) identically, which isn't what I want at all. </div>

<div>I'm not sure what the right approach is, but the current one doesn't work for me.  </div><div><br></div><div>Note also that if A00 is treated with a recursive split, there may be numerous options for the A00 KSP.</div>

<div>Do we want to repeat them for the inner and outer KSPs, if we want to configure them identically?</div><div>It's automatic, if the two A00 KSPs share a prefix.  Again, this takes away some flexibility, so maybe it's not the best solution,</div>

<div>but I think retaining a simple option for using identical configurations  is also highly desirable.</div><div><br></div><div>Any ideas on how to handle this?</div><div>Dmitry.</div><div><br><div class="gmail_quote">
On Tue, Jun 26, 2012 at 6:13 AM, Matthew Knepley <span dir="ltr"><<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
It turns out that 'hg rollback' during an 'hg rebase' does not do what I thought it did. I think<div>everything is cleaned up with this push, but if you made FS changes in the past month, please</div><div>


check that it is doing what you want with prefixes, etc.</div>
<div><br></div><div>Now, nested fieldsplits from the command line work, ala</div><div><br></div><div>-ksp_type fgmres</div><div>-pc_type fieldsplit -pc_fieldsplit_type additive</div><div>  -pc_fieldsplit_0_fields 0,1</div>



<div>    -fieldsplit_0_pc_type fieldsplit</div><div>    -fieldsplit_0_pc_fieldsplit_type schur -fieldsplit_0_pc_fieldsplitschur_factorization_type full</div><div>      -fieldsplit_0_fieldsplit_velocity_ksp_type preonly</div>



<div>      -fieldsplit_0_fieldsplit_velocity_pc_type lu</div><div>      -fieldsplit_0_fieldsplit_pressure_ksp_rtol 1e-10</div><div>      -fieldsplit_0_fieldsplit_pressure_pc_type jacobi</div><div></div><div>  -pc_fieldsplit_1_fields 2</div>



<div>    -fieldsplit_temperature_ksp_type preonly</div>    -fieldsplit_temperature_pc_type lu<br clear="all"><div><br></div><div>A split with only one field gets the field name, and otherwise a split number.</div><div><br>



</div><div>    Matt</div><span><font color="#888888"><div><br></div><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>

</div>
</font></span></blockquote></div><br></div>