[petsc-users] Vec I/O using different parallel layout
Mohamad M. Nasr-Azadani
mmnasr at gmail.com
Mon Oct 10 19:41:54 CDT 2011
Thanks Barry,
I am still not 100% sure if I can do this.
Say I have save the global vector obtained by a DA (3D) that is shared
amongst 16 processors.
Can I load that data into a vector obtained from a DA (3D, same size
obviously) that is shared on 1 processor?
Thanks,
Best,
Mohamad
On Mon, Oct 10, 2011 at 5:36 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
>
> On Oct 10, 2011, at 7:31 PM, Mohamad M. Nasr-Azadani wrote:
>
> > Hi
> > I was wondering if it would be possible if I write a global vector
> (associated with a certain 3D distributed array) to file
> > via:
> >
> > ierr = PetscViewerBinaryOpen(PCW1, filename, FILE_MODE_WRITE,
> &writer);
> > ierr = VecView(vec_data, writer);
> > ierr = PetscViewerDestroy(writer);
> >
> > And then load the data into a global vector which is not created using
> the same parallel layout?
> > A simple example for this case would be to write the runtime data
> (parallel vector) to file and then just load the saved vector to do some
> simple SERIAL post processing.
>
> YES.
>
> The vector is saved to the file in the "natural ordering" that is
> starting with the logically 0,0,0 coordinate then increasing through the x
> axis, then the y axis then the z axis. To load back in in parallel you need
> to pass to VecLoad() a vector obtained with the appropriate
> DMCreateGlobalVector().
>
>
> Barry
>
> >
> > Thanks in advance,
> > Best
> > Mohamad
> >
> >
> >
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20111010/b66f813c/attachment.htm>
More information about the petsc-users
mailing list