From: Tim K. <tim...@ce...> - 2010-09-17 14:36:01
|
I'm currently testing my application with the new subset stuff, and I'm observing some PETSc behaviour that I find strange. At some place in petsc_linear_solver.C, I do: ierr = KSPSolve (_ksp, subrhs, subsolution); CHKERRABORT(libMesh::COMM_WORLD,ierr); What now happens is that the first line produces some this message: [0]PETSC ERROR: --------------------- Error Message ------------------------------------ [0]PETSC ERROR: Nonconforming object sizes! [0]PETSC ERROR: Mat mat,Vec x: global dim 3022 2858! [0]PETSC ERROR: ------------------------------------------------------------------------ [0]PETSC ERROR: Petsc Release Version 3.1.0, Patch 4, Fri Jul 30 14:42:02 CDT 2010 [0]PETSC ERROR: See docs/changes/index.html for recent updates. [0]PETSC ERROR: See docs/faq.html for hints about trouble shooting. [0]PETSC ERROR: See docs/index.html for manual pages. [0]PETSC ERROR: ------------------------------------------------------------------------ [0]PETSC ERROR: 1 on a linux-gnu named tkroeger-pc by tim Fri Sep 17 16:02:10 2010 [0]PETSC ERROR: Libraries linked from /home/tim/archives/packages/petsc-3.1-p4/linux-gnu/lib [0]PETSC ERROR: Configure run at Thu Sep 16 10:33:53 2010 [0]PETSC ERROR: Configure options --with-cc=mpicc --with-cxx=mpicxx --with-mpi-lib=/home/tim/archives/packages/mpich2-1.1.1p1/lib/libmpich.so --with-mpi-include=/home/tim/archives/packages/mpich2-1.1.1p1/src/include/ --with-shared=1 --download-superlu_dist --download-parmetis --with-pic [0]PETSC ERROR: ------------------------------------------------------------------------ [0]PETSC ERROR: MatSolve() line 2807 in src/mat/interface/matrix.c [0]PETSC ERROR: PCApply_LU() line 189 in src/ksp/pc/impls/factor/lu/lu.c [0]PETSC ERROR: PCApply() line 357 in src/ksp/pc/interface/precon.c Well, this is okay since I might have done some mistake that makes vector and matrix not match each other. The point is, however, that the value of ierr after this is still 0, so that the CHKERRABORT() macro does not do anything and the program just continues. This made it very hard for me to locate the point in the code where this error is generated. I used a debugger to trace through the program and find this point. Can you (Jed) comment on how it can happen that KSPSolve() prints this error message but nicely returns 0? Thank you in advance, Tim -- Dr. Tim Kroeger CeVis -- Center of Complex Systems and Visualization University of Bremen tim...@ce... Universitaetsallee 29 tim...@me... D-28359 Bremen Phone +49-421-218-7710 Germany Fax +49-421-218-4236 |