Re: Re: about MatGetRow/MatRestoreRow

jiaxun hou jiaxun_hou at yahoo.com.cn
Wed Nov 14 07:00:15 CST 2007


Thanks a lot!

Matthew Knepley <knepley at gmail.com> 写道: On Nov 14, 2007 4:12 AM, jiaxun hou  wrote:
> Dear all,
>
> Does anyone have examples of using MatGetRow/MatRestoreRow?
> I failed in using them.
>
> My code is:
>
> PetscInt ncols_A;
> const PetscInt** cols_A_point;
> const PetscScalar **vals_A_point;

This is not proper C usage since you never allocate space for the
pointers. You want

const PetscInt *cols;
const PetscScalar *vals;

> for (i=0;i
>  ierr = MatGetRow(A,i,&ncols_A,cols_A_point,vals_A_point);CHKERRQ(ierr);

MatGetRow(A,i,&ncols,&cols,&vals);

and so on.

   Matt

>  //do something
>  ierr = MatRestoreRow(A,i,&ncols_A,cols_A_point,vals_A_point);CHKERRQ(ierr);
> }
>
> and it gets errors as below:
>
> Petsc Release Version 2.3.1, Patch 10, Thu Mar 9 22:48:00 CST 2006
> BK revision: balay at asterix.mcs.anrank 0 in job 61 lab_43825 caused
> collective abort of all ranks
>  exit status of rank 0: killed by signal 9
> [cli_0]: aborting job:
> application called MPI_Abort(MPI_COMM_WORLD, 64) - process 0
> l.gov|ChangeSet|20060310044535|22333
> See docs/changes/index.html for recent updates.
> See docs/faq.html for hints about
>  trouble shooting.
> See docs/index.html for manual pages.
> ------------------------------------------------------------------------
> ./mytest1 on a linux-gnu named lab by root Wed Nov 14 17:57:00 2007
> Libraries linked from
> /home/software/petsc-2.3.1-p10/lib/linux-gnu-cxx-complex-debug
> Configure run at Thu Jun 15 13:08:29 2006
> Configure options --with-cc=gcc --with-fc=gfortran
> --download-f-blas-lapack=1 --with-mpi-dir=/home/software/mpich2
> --with-scalar-type=complex --with-shared=0
> ------------------------------------------------------------------------
> [0]PETSC ERROR: PetscObjectDestroy() line 88 in src/sys/objects/destroy.c
> [0]PETSC ERROR: Corrupt argument: see
> http://www.mcs.anl.gov/petsc/petsc-as/documentation/troubleshooting.html#Corrupt!
> [0]PETSC ERROR: Invalid type of object: Parameter # 1!
> [0]PETSC ERROR: PetscObjectRegisterDestroyAll() line 228 in
> src/sys/objects/destroy.c
> [0]PETSC ERROR: PetscFinalize() line 599 in
>  src/sys/objects/pinit.c
> [0]PETSC ERROR: main() line 329 in /home/myprogram/mypro/mytest1.c
> make: [runmytest1] Error 137 (ignored)
>
> Can anyone tell me where is wrong? THX
>
>
>
>  ________________________________
> 雅虎邮箱,终生伙伴!



-- 
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



       
---------------------------------
雅虎邮箱,终生伙伴! 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20071114/52e76aac/attachment.htm>


More information about the petsc-users mailing list