Hi,?
I am trying to load a vector that I saved as PetscBinary file.?
On a single processor, I have to put an initial PetscBinaryRead command & put
the subsequent reads in the loop. Then I get the correct answer. I don't
understand why an initial PetscBinaryRead is required. Anyway, with this, the
code works fine on single processor.
However, on multiple processors, the input file and the vector after reading
are not in the same order. I think that somehow I have to pass the information
to each processor as to which part of the binary file to read. Please tell me
how to do this.
Thanks.
Khalid
Here is the code:
PetscViewerBinaryOpen(appctx->comm,"Pxbin_10.out",FILE_MODE_READ,&viewer);
PetscViewerBinaryGetDescriptor(viewer,&fd);
PetscBinaryRead(fd,header,1,PETSC_SCALAR);
?for (k=zs; k<zs+zm; k++) {
??for (j=ys; j<ys+ym; j++) {
??for (i=xs; i<xs+xm; i++) {
PetscBinaryRead(fd,header,1,PETSC_SCALAR);
?? ?u_localptr[k][j][i] = header[0];
??}
??}
??}
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20110829/83123661/attachment.htm>