> On Jul 31, 2016, at 4:56 PM, Stefano Zampini <[email protected]> > wrote: > > It’s the first time I’m trying to setup field split so maybe I’m missing > something > > I have a MatNest with NULL (1,1) block. I setup the field split using the row > ISs from the MatNest (a note aside: why they cannot be inferred by FieldSplit > if pc->pmat is of type MatNEST?)
Good question, something Jed can fix :-) > Options used are -pc_fieldsplit_type additive and > -pc_fieldsplit_detect_saddle_point Hmm, I don't think -pc_fieldsplit_detect_saddle_point makes sense here because that option determines the two index sets based on zeros on the diagonal in the original matrix while you are providing the two index sets yourself directly. Anyways it is probably being ignored, but don't use it. > > I then get this error, because MatGetSubMatrix_Nest returns a NULL pointer. Yes I suspect this is a bug; I don't know what Jed's intentions is. The fieldsplit is already way to complicated I hate to see added a bunch of if (!mat) stuff to it. For now you could, as you say, pass in the correctly sized empty matrix. Barry > What is the solution? having MatGetSubMatrix_Nest return a zero-valued matrix > of correct size? any command line option I’m not using? Or instead having > Fieldsplit handle the case? > > [0]PETSC ERROR: --------------------- Error Message > -------------------------------------------------------------- > [0]PETSC ERROR: Null argument, when expecting valid pointer > [0]PETSC ERROR: Null Object: Parameter # 1 > [0]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html for > trouble shooting. > [0]PETSC ERROR: Petsc Development GIT revision: v3.7.2-744-gb54d608 GIT > Date: 2016-06-28 18:20:20 +0300 > [0]PETSC ERROR: Unknown Name on a debug named kl-13916.local by szampini Sun > Jul 31 14:47:53 2016 > [0]PETSC ERROR: Configure options --download-chaco --download-ctetgen > --download-exodusii --download-hdf5 --download-hypre --download-metis > --download-mpich --download-mumps --download-netcdf --download-p4est > --download-parmetis --download-ptscotch --download-scalapack > --download-suitesparse --download-triangle --with-valgrind-dir=/usr/local/ > CC=/usr/local/bin/gcc-5 CXX=/usr/local/bin/g++-5 FC=/usr/local/bin/gfortran-5 > PETSC_ARCH=debug > [0]PETSC ERROR: #1 MatSetOptionsPrefix() line 654 in > /Users/szampini/software/petsc/src/mat/interface/matrix.c > [0]PETSC ERROR: #2 PCSetUp_FieldSplit() line 558 in > /Users/szampini/software/petsc/src/ksp/pc/impls/fieldsplit/fieldsplit.c > [0]PETSC ERROR: #3 PCSetUp() line 968 in > /Users/szampini/software/petsc/src/ksp/pc/interface/precon.c >
