On Thu, Aug 21, 2014 at 2:11 PM, Jed Brown <[email protected]> wrote:
> Mark Adams <[email protected]> writes: > > > I have fixed this by setting the KSP op: > > > > call PCFieldSplitGetSubKSP(spc,i,subksp,ierr) > > call KSPSetOperators(subksp(2),solver%schur,solver%schur,ierr) > > Mark, where is the information getting lost? If the interface does not > work correctly, we (PETSc) need to fix the interface, not just find a > workaround. That's why I suggested running in a debugger. > 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. > > > Thanks, > > > > > > > > On Tue, Aug 19, 2014 at 8:17 AM, Jed Brown <[email protected]> wrote: > > > >> Mark Adams <[email protected]> writes: > >> > >> > I am creating an Schur complement matrix explicitly (solver%schur) and > >> > setting it with code like: > >> > > >> > call SNESGetKSP(solver%snes,innerksp,ierr) > >> > call KSPGetPC(innerksp,spc,ierr) > >> > call > >> > > >> > PCFieldSplitSetSchurPre(spc,PC_FIELDSPLIT_SCHUR_PRE_USER,solver%schur,ierr) > >> > > >> > I would think that the "inner" solver would not be used but it is > getting > >> > used. > >> > >> [...] > >> > >> > PC Object:(fsa_) 4 MPI processes > >> > type: fieldsplit > >> > FieldSplit with Schur preconditioner, factorization FULL > >> > Preconditioner for the Schur complement formed from A11 > >> > >> I would set a breakpoint at PCFieldSplitSetSchurPre_FieldSplit and then > >> watch -l jac->schurpre since it appears that your information is being > >> lost somewhere. > >> >
