I have a large legacy code that I am in the process of porting to use PETSc.
my software is a multi-block structured Navier Stokes solver.

I have successfully run a number of our verification problems using the KSP solver to invert my linearized problem, and this works in parallel, with fairly complex multi-block topologies.

However, when I take a certain problem, and change the load balance, (distribution of nodes) for a different set of cores, then I suddenly get the dreaded "Matrix is missing diagonal entry" errors.

It is my understanding from the documentation, and list archives that this means the I have a pre-allocated main diagonal entry that is missing. But I can't find it simply by code review. So, I need to try to glean a little more diagnostic information from the error output.

Note, that I get this error, whether I run 3.0, 3.3 or 3.4, this message simply from the 3.0 package

my matrix is a block aij matrix.

so when I interpret the row index for this message...

this is the local row element, not the global element, correct?
and it is the block row element?

so I can convert eh value 88023 to a given structured subset, and the local i,j,k index for that subset, I don't need to divide that value by the blocksize?

Finally, is there a way for me to query the matrix after it is assembled so that I can see whether or not I have for example, row,column entry 88023,88023?

Thank you for you assistance
Bill McGrory


[8]PETSC ERROR: --------------------- Error Message ------------------------------------
[8]PETSC ERROR: Object is in wrong state!
[8]PETSC ERROR: Matrix is missing diagonal entry in row 88023!
[8]PETSC ERROR: ------------------------------------------------------------------------ [8]PETSC ERROR: Petsc Release Version 3.0.0, Patch 10, Tue Nov 24 16:38:09 CST 2009
[8]PETSC ERROR: See docs/changes/index.html for recent updates.
[8]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
[8]PETSC ERROR: See docs/index.html for manual pages.
[8]PETSC ERROR: ------------------------------------------------------------------------ [8]PETSC ERROR: /usr/Develop/Hocus/mcgrory/GASP52/bin/ubuntu64/gasp on a linux-gnu named node33 by mcgrory Thu Aug 15 15:58:10 2013 [8]PETSC ERROR: Libraries linked from /build/buildd/petsc-3.0.0.dfsg/linux-gnu-c-opt/lib
[8]PETSC ERROR: Configure run at Thu Dec 31 09:53:16 2009
[8]PETSC ERROR: Configure options --with-shared --with-debugging=0 --useThreads 0 --with-fortran-interfaces=1 --with-mpi-dir=/usr/lib/openmpi --with-mpi-shared=1 --with-blas-lib=-lblas-3gf --with-lapack-lib=-llapackgf-3 --with-umfpack=1 --with-umfpack-include=/usr/include/suitesparse --with-umfpack-lib="[/usr/lib/libumfpack.so,/usr/lib/libamd.so]" --with-superlu=1 --with-superlu-include=/usr/include/superlu --with-superlu-lib=/usr/lib/libsuperlu.so --with-spooles=1 --with-spooles-include=/usr/include/spooles --with-spooles-lib=/usr/lib/libspooles.so --with-hypre=1 --with-hypre-dir=/usr --with-scotch=1 --with-scotch-include=/usr/include/scotch --with-scotch-lib=/usr/lib/libscotch.so [8]PETSC ERROR: ------------------------------------------------------------------------ [8]PETSC ERROR: MatILUFactorSymbolic_SeqBAIJ() line 3118 in src/mat/impls/baij/seq/baijfact2.c [8]PETSC ERROR: MatILUFactorSymbolic() line 5314 in src/mat/interface/matrix.c
[8]PETSC ERROR: PCSetUp_ILU() line 293 in src/ksp/pc/impls/factor/ilu/ilu.c
[8]PETSC ERROR: PCSetUp() line 794 in src/ksp/pc/interface/precon.c
[8]PETSC ERROR: KSPSetUp() line 237 in src/ksp/ksp/interface/itfunc.c
[8]PETSC ERROR: PCSetUpOnBlocks_BJacobi_Singleblock() line 753 in src/ksp/pc/impls/bjacobi/bjacobi.c
[8]PETSC ERROR: PCSetUpOnBlocks() line 827 in src/ksp/pc/interface/precon.c
[8]PETSC ERROR: KSPSetUpOnBlocks() line 159 in src/ksp/ksp/interface/itfunc.c
[8]PETSC ERROR: KSPSolve() line 354 in src/ksp/ksp/interface/itfunc.c



Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to