Thank you for your information, Matt. I'm using both nested matrix and nested vector. Is the nested vector good to use ?
Khai. On Mon, Aug 11, 2014 at 4:16 PM, Matthew Knepley <[email protected]> wrote: > On Mon, Aug 11, 2014 at 3:53 PM, Khai Hong Pham <[email protected]> > wrote: > >> Matt, >> >> I've the following error as I tried to get the sub block matrix. I check >> the isrow and iscol that are passed to MatGetSubMatrix and they look ok >> to me. The line 110 of ISStrideGetInfo() calls >> to PetscValidHeaderSpecific. >> > > You have something corrupt in the MatNest. Quit using MatNest. This is > just an optimization that should > only be turned on by -mat_type nest. It is not a top level interface. This > causes so many problems that we > should remove it from the documentation. > > Thanks, > > Matt > > >> >> [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 Release Version 3.5.1, Jul, 24, 2014 >> [0]PETSC ERROR: [1]PETSC ERROR: ./PFFEM2DSolver on a arch-linux2-c-debug >> named khp by khp Mon Aug 11 15:26:47 2014 >> Null argument, when expecting valid pointer >> [0]PETSC ERROR: Configure options --with-cc=gcc --with-cxx=g++ >> --with-fc=gfortran --download-fblaslapack --download-mpich --download-hdf5 >> --download-metis --download-parmetis >> [1]PETSC ERROR: Null Object: Parameter # 1 >> [1]PETSC ERROR: [0]PETSC ERROR: #1 ISStrideGetInfo() line 110 in >> /home/khp/bin/petsc-3.5.1/src/vec/is/is/impls/stride/stride.c >> See http://www.mcs.anl.gov/petsc/documentation/faq.html for trouble >> shooting. >> [1]PETSC ERROR: Petsc Release Version 3.5.1, Jul, 24, 2014 >> [1]PETSC ERROR: ./PFFEM2DSolver on a arch-linux2-c-debug named khp by khp >> Mon Aug 11 15:26:47 2014 >> [1]PETSC ERROR: Configure options --with-cc=gcc --with-cxx=g++ >> --with-fc=gfortran --download-fblaslapack --download-mpich --download-hdf5 >> --download-metis --download-parmetis >> [1]PETSC ERROR: #1 ISStrideGetInfo() line 110 in >> /home/khp/bin/petsc-3.5.1/src/vec/is/is/impls/stride/stride.c >> [0]PETSC ERROR: #2 MatNestFindSubMat() line 357 in >> /home/khp/bin/petsc-3.5.1/src/mat/impls/nest/matnest.c >> [0]PETSC ERROR: #3 MatGetLocalSubMatrix_Nest() line 411 in >> /home/khp/bin/petsc-3.5.1/src/mat/impls/nest/matnest.c >> [0]PETSC ERROR: #4 MatGetLocalSubMatrix() line 9224 in >> /home/khp/bin/petsc-3.5.1/src/mat/interface/matrix.c >> [1]PETSC ERROR: #2 MatNestFindSubMat() line 357 in >> /home/khp/bin/petsc-3.5.1/src/mat/impls/nest/matnest.c >> [0]PETSC ERROR: #5 jacobian_comp() line 49 in src/assembly.cpp >> [1]PETSC ERROR: #3 MatGetLocalSubMatrix_Nest() line 411 in >> /home/khp/bin/petsc-3.5.1/src/mat/impls/nest/matnest.c >> [0]PETSC ERROR: [1]PETSC ERROR: #6 TaoComputeJacobian() line 153 in >> /home/khp/bin/petsc-3.5.1/src/tao/interface/taosolver_hj.c >> #4 MatGetLocalSubMatrix() line 9224 in >> /home/khp/bin/petsc-3.5.1/src/mat/interface/matrix.c >> [0]PETSC ERROR: [1]PETSC ERROR: #7 Tao_SSLS_FunctionGradient() line 63 in >> /home/khp/bin/petsc-3.5.1/src/tao/complementarity/impls/ssls/ssls.c >> #5 jacobian_comp() line 49 in src/assembly.cpp >> [0]PETSC ERROR: #8 TaoLineSearchComputeObjectiveAndGradient() line 941 in >> /home/khp/bin/petsc-3.5.1/src/tao/linesearch/interface/taolinesearch.c >> [1]PETSC ERROR: #6 TaoComputeJacobian() line 153 in >> /home/khp/bin/petsc-3.5.1/src/tao/interface/taosolver_hj.c >> [0]PETSC ERROR: #9 TaoSolve_SSILS() line 65 in >> /home/khp/bin/petsc-3.5.1/src/tao/complementarity/impls/ssls/ssils.c >> [1]PETSC ERROR: #7 Tao_SSLS_FunctionGradient() line 63 in >> /home/khp/bin/petsc-3.5.1/src/tao/complementarity/impls/ssls/ssls.c >> [0]PETSC ERROR: #10 TaoSolve() line 188 in >> /home/khp/bin/petsc-3.5.1/src/tao/interface/taosolver.c >> [1]PETSC ERROR: #8 TaoLineSearchComputeObjectiveAndGradient() line 941 in >> /home/khp/bin/petsc-3.5.1/src/tao/linesearch/interface/taolinesearch.c >> [0]PETSC ERROR: #11 main() line 286 in src/main.cpp >> [1]PETSC ERROR: #9 TaoSolve_SSILS() line 65 in >> /home/khp/bin/petsc-3.5.1/src/tao/complementarity/impls/ssls/ssils.c >> [0]PETSC ERROR: ----------------End of Error Message -------send entire >> error message to [email protected] >> [1]PETSC ERROR: #10 TaoSolve() line 188 in >> /home/khp/bin/petsc-3.5.1/src/tao/interface/taosolver.c >> [1]PETSC ERROR: #11 main() line 286 in src/main.cpp >> [1]PETSC ERROR: ----------------End of Error Message -------send entire >> error message to [email protected] >> >> >> >> On Mon, Aug 11, 2014 at 12:34 PM, Matthew Knepley <[email protected]> >> wrote: >> >>> On Mon, Aug 11, 2014 at 12:05 PM, Khai Hong Pham <[email protected]> >>> wrote: >>> >>>> Hello Petsc-Users, >>>> >>>> In the MatGetSubMatrix, if the matrix mat is a nested matrix, for >>>> example [ A00 A01 | A10 A11], and I'd like to get submat A10. Then the >>>> isrow and iscol will be the index of the subblock matrix which is (1,0) or >>>> it must be the index of all rows, columns of the submat in the mat (like in >>>> MatGetSubMatrix). Please help me to clarify this. >>>> >>> >>> It is the later (the list of rows/cols) >>> >>> Thsnks, >>> >>> Matt >>> >>> >>>> Thanks >>>> >>>> Khai >>>> >>> >>> >>> >>> -- >>> What most experimenters take for granted before they begin their >>> experiments is infinitely more interesting than any results to which their >>> experiments lead. >>> -- Norbert Wiener >>> >> >> > > > -- > What most experimenters take for granted before they begin their > experiments is infinitely more interesting than any results to which their > experiments lead. > -- Norbert Wiener >
