<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Aug 21, 2014 at 2:11 PM, Jed Brown <span dir="ltr"><<a href="mailto:jed@jedbrown.org" target="_blank">jed@jedbrown.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="">Mark Adams <<a href="mailto:mfadams@lbl.gov">mfadams@lbl.gov</a>> writes:<br>
<br>
> I have fixed this by setting the KSP op:<br>
><br>
>        call PCFieldSplitGetSubKSP(spc,i,subksp,ierr)<br>
>        call KSPSetOperators(subksp(2),solver%schur,solver%schur,ierr)<br>
<br>
</div>Mark, where is the information getting lost?  If the interface does not<br>
work correctly, we (PETSc) need to fix the interface, not just find a<br>
workaround.  That's why I suggested running in a debugger.<br></blockquote><div><br></div><div>OK, I'll look at it but I need to get the debug build error (other thread) fixed to be able to step through the code.  That error happens before this PC Schur stuff is set.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="HOEnZb"><div class="h5"><br>
> Thanks,<br>
><br>
><br>
><br>
> On Tue, Aug 19, 2014 at 8:17 AM, Jed Brown <<a href="mailto:jed@jedbrown.org">jed@jedbrown.org</a>> wrote:<br>
><br>
>> Mark Adams <<a href="mailto:mfadams@lbl.gov">mfadams@lbl.gov</a>> writes:<br>
>><br>
>> > I am creating an Schur complement matrix explicitly (solver%schur) and<br>
>> > setting it with code like:<br>
>> ><br>
>> > call SNESGetKSP(solver%snes,innerksp,ierr)<br>
>> > call KSPGetPC(innerksp,spc,ierr)<br>
>> > call<br>
>> ><br>
>> PCFieldSplitSetSchurPre(spc,PC_FIELDSPLIT_SCHUR_PRE_USER,solver%schur,ierr)<br>
>> ><br>
>> > I would think that the "inner" solver would not be used but it is getting<br>
>> > used.<br>
>><br>
>> [...]<br>
>><br>
>> > PC Object:(fsa_) 4 MPI processes<br>
>> >   type: fieldsplit<br>
>> >     FieldSplit with Schur preconditioner, factorization FULL<br>
>> >     Preconditioner for the Schur complement formed from A11<br>
>><br>
>> I would set a breakpoint at PCFieldSplitSetSchurPre_FieldSplit and then<br>
>> watch -l jac->schurpre since it appears that your information is being<br>
>> lost somewhere.<br>
>><br>
</div></div></blockquote></div><br></div></div>