[petsc-users] Write binary to matrix

Dave May dave.mayhem23 at gmail.com
Thu Sep 22 05:53:40 CDT 2016


On Thursday, 22 September 2016, Florian Lindner <mailinglists at xgm.de
<javascript:_e(%7B%7D,'cvml','mailinglists at xgm.de');>> wrote:

> Hello,
>
> I want to write a MATSBAIJ to a file in binary, so that I can load it
> later using MatLoad.
>
> However, I keep getting the error:
>
> [5]PETSC ERROR: No support for this operation for this object type!
> [5]PETSC ERROR: Cannot get subcomm viewer for binary files or sockets
> unless SubViewer contains the rank 0 process
> [6]PETSC ERROR: PetscViewerGetSubViewer_Binary() line 46 in
> /data/scratch/lindnefn/software/petsc/src/sys/classes/
> viewer/impls/binary/binv.c
>
> The rank 0 is included, as you can see below, I use PETSC_COMM_WORLD and
> the matrix is also created like that.
>
> The code looks like:
>
> PetscErrorCode ierr = 0;
> PetscViewer viewer;
> PetscViewerBinaryOpen(PETSC_COMM_WORLD, filename.c_str(),
> FILE_MODE_WRITE, &viewer); CHKERRV(ierr);
> MatView(matrix, viewer); CHKERRV(ierr);
> PetscViewerDestroy(&viewer);


The code snippet looks weird.

The error could be related to your usage of the error checking macros, Eg
the fact you set ierr to zero rather than assigning it to the return value
of your petsc function calls.

You should  do
ierr = petscfunc();CHQERRQ(ierr);

And why do you use CHQERRV and not CHKERRQ?

Thanks
  Dave



>
> Thanks,
> Florian
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20160922/e14f64d4/attachment.html>


More information about the petsc-users mailing list