Mark Adams <mfad...@lbl.gov> 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. > Thanks, > > > > On Tue, Aug 19, 2014 at 8:17 AM, Jed Brown <j...@jedbrown.org> wrote: > >> Mark Adams <mfad...@lbl.gov> 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. >>
pgpUTWbsyFKU0.pgp
Description: PGP signature