[petsc-users] Problem: matrix is missing diagonal entry
Thomas Witkowski
Thomas.Witkowski at tu-dresden.de
Thu Dec 8 08:11:35 CST 2011
Okay, if the entry number is the local one, than I can check this
again. In this case, I think that I know where the problem is: By the
way, the error message is as follows:
[15]PETSC ERROR: Object is in wrong state!
[15]PETSC ERROR: Matrix is missing diagonal entry 1129!
[15]PETSC ERROR:
------------------------------------------------------------------------
[15]PETSC ERROR: Petsc Release Version 3.2.0, Patch 5, Sat Oct 29
13:45:54 CDT 2011
[15]PETSC ERROR: See docs/changes/index.html for recent updates.
[15]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
[15]PETSC ERROR: See docs/index.html for manual pages.
[15]PETSC ERROR:
------------------------------------------------------------------------
[15]PETSC ERROR: ./ch2 on a arch-linu named p1q024 by witkowsk Thu Dec
8 13:39:46 2011
[15]PETSC ERROR: Libraries linked from
/fastfs/witkowsk/petsc/install/petsc-3.2-p5-dbg/lib
[15]PETSC ERROR: Configure run at Fri Dec 2 14:45:50 2011
[15]PETSC ERROR: Configure options
--prefix=/fastfs/witkowsk/petsc/install/petsc-3.2-p5-dbg
--download-blacs --download-parmetis --download-scalapack
--download-umfpac\
k --with-blas-lapack-dir=/work/licsoft/libraries/mkl/9.1.023/lib/em64t
--with-c++-support --download-mumps --download-superlu
--with-clanguage=cxx
[15]PETSC ERROR:
------------------------------------------------------------------------
[15]PETSC ERROR: MatILUFactorSymbolic_SeqAIJ_ilu0() line 1636 in
src/mat/impls/aij/seq/aijfact.c
[15]PETSC ERROR: MatILUFactorSymbolic_SeqAIJ() line 1740 in
src/mat/impls/aij/seq/aijfact.c
[15]PETSC ERROR: MatILUFactorSymbolic() line 6092 in
src/mat/interface/matrix.c
[15]PETSC ERROR: PCSetUp_ILU() line 216 in src/ksp/pc/impls/factor/ilu/ilu.c
[15]PETSC ERROR: PCSetUp() line 819 in src/ksp/pc/interface/precon.c
[15]PETSC ERROR: KSPSetUp() line 260 in src/ksp/ksp/interface/itfunc.c
[15]PETSC ERROR: PCSetUpOnBlocks_BJacobi_Multiblock() line 973 in
src/ksp/pc/impls/bjacobi/bjacobi.c
[15]PETSC ERROR: PCSetUpOnBlocks() line 852 in src/ksp/pc/interface/precon.c
[15]PETSC ERROR: KSPSetUpOnBlocks() line 154 in src/ksp/ksp/interface/itfunc.c
Zitat von Barry Smith <bsmith at mcs.anl.gov>:
>
> Thomas,
>
> As always including the ENTIRE error message makes determining
> the issue much easier. It tells us what functions are being called
> at this point and the line numbers. Without we would only be
> speculating.
>
> In this case the error message is printed on process of rank 15
> at location 1129 ON THAT PROCESS so the you need to determine the
> global row of location 1129 on the 15th process. That row is
> missing the diagonal.
>
> Barry
>
> The reason I know it is the not the global row 1129 but the 1129th
> row on process 15 is because the I know the check for diagonal
> entries is done in the factorization that is taking place on each
> process (each factorization is running at the same time on different
> processes). This would be clear with the entire error message.
>
>
> On Dec 8, 2011, at 7:49 AM, Thomas Witkowski wrote:
>
>> I've some strange problem: I create a mpiaij matrix, fill it with
>> some values and want to make use of it in kspsolve. But I get the
>> error
>>
>> [15]PETSC ERROR: Object is in wrong state!
>> [15]PETSC ERROR: Matrix is missing diagonal entry 1129!
>>
>> I've checked the following things:
>> - There is a MatSetValues call that contains the entry 1129/1129
>> with some value
>> - MatView shows that there exists the value 1129/1129
>> - MatAssemblyBegin/End is called correctly
>> - valgrind says: 0 errors
>> - ddt also cannot find anything unusual
>>
>> I use petsc 3.2-p5, its compiled in debug mode. What could I check
>> to solve this problem? Any hints?
>>
>> Thomas
>
>
More information about the petsc-users
mailing list