[petsc-users] Recursive field split with MatNest

Colin McAuliffe cjm2176 at columbia.edu
Mon Jan 12 00:03:09 CST 2015


Dear all, I have a four field problem with dof structure stored in a DM
shell. The matrix is a MatNest. This works fine except for when I try to
group fields. For example the following commands

-ksp_type gmres
   -pc_type fieldsplit
   -pc_fieldsplit_type multiplicative
      -pc_fieldsplit_0_fields 0,1
          -fieldsplit_0_ksp_type preonly
          -fieldsplit_0_pc_type lu
       -pc_fieldsplit_1_fields 2,3
          -fieldsplit_1_ksp_type preonly
          -fieldsplit_1_pc_type ilu

results in the following error

[0]PETSC ERROR: --------------------- Error Message
--------------------------------------------------------------
[0]PETSC ERROR: Arguments are incompatible
[0]PETSC ERROR: Could not find index set
[0]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html for
trouble shooting.
[0]PETSC ERROR: Petsc Release Version 3.5.2, Sep, 08, 2014
[0]PETSC ERROR:
/Users/Christina/Desktop/COLIN/Work/feapver83/ver83/parfeap/feap on a
gnu-dbg named new-host.home by christina Mon Jan 12 00:36:52 2015
[0]PETSC ERROR: Configure options --with-debugging=1
--with-shared-libraries=0 --with-mpi-dir=/usr/local
--with-parmetis-dir=/usr/local --with-metis-dir=/usr/local
--with-hypre-dir=/usr/local --download-suitesparse
--with-external-packages-dir=/usr/local
[0]PETSC ERROR: #1 MatNestFindIS() line 310 in
/Users/Christina/Desktop/COLIN/Work/petsc-3.5.2/src/mat/impls/nest/matnest.c
[0]PETSC ERROR: #2 MatNestFindSubMat() line 371 in
/Users/Christina/Desktop/COLIN/Work/petsc-3.5.2/src/mat/impls/nest/matnest.c
[0]PETSC ERROR: #3 MatGetSubMatrix_Nest() line 387 in
/Users/Christina/Desktop/COLIN/Work/petsc-3.5.2/src/mat/impls/nest/matnest.c
[0]PETSC ERROR: #4 MatGetSubMatrix() line 7345 in
/Users/Christina/Desktop/COLIN/Work/petsc-3.5.2/src/mat/interface/matrix.c
[0]PETSC ERROR: #5 PCSetUp_FieldSplit() line 559 in
/Users/Christina/Desktop/COLIN/Work/petsc-3.5.2/src/ksp/pc/impls/fieldsplit/fieldsplit.c
[0]PETSC ERROR: #6 PCSetUp() line 902 in
/Users/Christina/Desktop/COLIN/Work/petsc-3.5.2/src/ksp/pc/interface/precon.c
[0]PETSC ERROR: #7 KSPSetUp() line 305 in
/Users/Christina/Desktop/COLIN/Work/petsc-3.5.2/src/ksp/ksp/interface/itfunc.c
[0]PETSC ERROR: #8 KSPSolve() line 417 in
/Users/Christina/Desktop/COLIN/Work/petsc-3.5.2/src/ksp/ksp/interface/itfunc.c

My guess is that petsc is expecting a MatNest corresponding to the outer
field groupings instead of individual submatrices. Is it possible to
resolve this, preferably from the command line?

I should also mention that grouping and recursive field split works fine
with the same DM shell and a MATAIJ, however a significant amount of time
is spent copying the submatrices and I'd prefer to avoid that.

Thanks and all the best,
Colin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20150112/7b143563/attachment.html>


More information about the petsc-users mailing list