[petsc-dev] getting data out of a PetscFE simulation

Matthew Knepley knepley at gmail.com
Tue Jan 28 21:49:40 CST 2014


On Tue, Jan 28, 2014 at 9:41 PM, Jed Brown <jed at jedbrown.org> wrote:

> Matthew Knepley <knepley at gmail.com> writes:
> > In ex62:
> >
> >   if (user.runType == RUN_FULL) {
> >     PetscViewer viewer;
> >     Vec         uLocal;
> >     const char *name;
> >
> >     ierr = PetscViewerCreate(PETSC_COMM_WORLD, &viewer);CHKERRQ(ierr);
> >     ierr = PetscViewerSetType(viewer, PETSCVIEWERVTK);CHKERRQ(ierr);
> >     ierr = PetscViewerSetFormat(viewer,
> > PETSC_VIEWER_ASCII_VTK);CHKERRQ(ierr);
> >     ierr = PetscViewerFileSetName(viewer, "ex62_sol.vtk");CHKERRQ(ierr);
>
> Please don't do this.  Just set the type to PETSCVIEWERVTK, set the file
> name to some *.vtu; the VTK viewer will infer output format from
> extension and write the VTU XML format with binary-appended data in a
> fairly fast and memory-scalable way.  Then
>
>   VecView(u,viewer);


I think Jed is wrong here. You need to be using local vectors since they
have
BC and constraints in them. Please explain how your VTU format will
magically
put them in.

   Matt


> >     ierr = DMGetLocalVector(dm, &uLocal);CHKERRQ(ierr);
> >     ierr = PetscObjectGetName((PetscObject) u, &name);CHKERRQ(ierr);
> >     ierr = PetscObjectSetName((PetscObject) uLocal, name);CHKERRQ(ierr);
> >     ierr = DMGlobalToLocalBegin(dm, u, INSERT_VALUES,
> uLocal);CHKERRQ(ierr);
> >     ierr = DMGlobalToLocalEnd(dm, u, INSERT_VALUES,
> uLocal);CHKERRQ(ierr);
> >     ierr = VecView(uLocal, viewer);CHKERRQ(ierr);
> >     ierr = DMRestoreLocalVector(dm, &uLocal);CHKERRQ(ierr);
>
> None of the above, then close the file:
>
> >     ierr = PetscViewerDestroy(&viewer);CHKERRQ(ierr);
> >   }
>
>


-- 
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-dev/attachments/20140128/41a591f9/attachment.html>


More information about the petsc-dev mailing list