[petsc-users] MatMatSolve in sequential call

Alexander Grayver agrayver at gfz-potsdam.de
Mon Aug 13 10:06:20 CDT 2012


On 13.08.2012 16:54, Hong Zhang wrote:
> On Mon, Aug 13, 2012 at 8:17 AM, Alexander Grayver 
> <agrayver at gfz-potsdam.de <mailto:agrayver at gfz-potsdam.de>> wrote:
>
>     Hello,
>
>     Trying to call this routine on 1 proc:
>
>     call MatMatSolve(F,B,solutions,ierr);CHKERRQ(ierr)
>
>     I get following crash:
>
>     [0]PETSC ERROR: --------------------- Error Message
>     ------------------------------------
>     [0]PETSC ERROR: Null argument, when expecting valid pointer!
>     [0]PETSC ERROR: Null Object: Parameter # 1!
>
> This indicates matrix F (factored matrix) is not provided.
>
> I tested petsc-3.3/src/mat/examples/tests/ex129.c with MatMatSovle():
> ./ex129 -mat_type aij -dof 2
> which works fine.

Hong,

I get matrix F as:
call PCFactorGetMatrix(pc,F,ierr);CHKERRQ(ierr)

Please note that all checks in MatMatSolve are done before this crash.
So matrix F is provided correctly and it is not zero.

The reason is that iscol and isrow == 0 here:

  PetscErrorCode MatMatSolve_SeqAIJ(Mat A,Mat B,Mat X)
  {
    Mat_SeqAIJ      *a = (Mat_SeqAIJ*)A->data;
    IS              iscol = a->col,isrow = a->row;

...
    ierr = ISGetIndices(isrow,&rout);CHKERRQ(ierr); r = rout; <<<< crash

Again, same code runs fine when nproc > 1

> Hong
>
>     [0]PETSC ERROR:
>     ------------------------------------------------------------------------
>     [0]PETSC ERROR: Petsc Release Version 3.3.0, Patch 2, Fri Jul 13
>     15:42:00 CDT 2012
>     [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: /app on a openmpi-i named glic1 by ag Mon Aug 13
>     15:06:36 2012
>     [0]PETSC ERROR: Libraries linked from
>     /home/lib/petsc-3.3-p2/openmpi-intel-complex-debug-f-ds/lib
>     [0]PETSC ERROR: Configure run at Wed Jul 18 12:14:30 2012
>     [0]PETSC ERROR:
>     ------------------------------------------------------------------------
>     [0]PETSC ERROR: ISGetIndices() line 370 in
>     /home/lib/petsc-3.3-p2/src/vec/is/interface/index.c
>     [0]PETSC ERROR: MatMatSolve_SeqAIJ() line 1109 in
>     /home/lib/petsc-3.3-p2/src/mat/impls/aij/seq/aijfact.c
>     [0]PETSC ERROR: MatMatSolve() line 3122 in
>     /home/lib/petsc-3.3-p2/src/mat/interface/matrix.c
>
>     The same code works fine on nproc > 1.
>
>     Any ideas?
>
>     -- 
>     Regards,
>     Alexander
>
>


-- 
Regards,
Alexander

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20120813/6443da4d/attachment.html>


More information about the petsc-users mailing list