[petsc-dev] Need mechanism to set LocalToGlobal mapping in a DMShell

Jed Brown jedbrown at mcs.anl.gov
Thu Feb 21 13:23:39 CST 2013


On Thu, Feb 21, 2013 at 1:10 PM, Matthew Knepley <knepley at gmail.com> wrote:

> Yes, he needs the local to global scatters. Rich, I think the easiest way
> to do this now may be
> to define your data layout as a PetscSection (these are all local) using
> DMSetDefaultSection(),
> and record who owns which point using a PetscSF with DMSetPointSF().
>
> Using this information, the DM will automatically construct a scatter
> between local and global,
> and the CreateLocal/GlobalVector() functions will also work right. This is
> what its is designed for.
>
> Does this make sense?
>


Rich, this will work fine if you don't mind having PETSc do the
communication. It will be done using PetscSFBcastBegin/End, which should
have similar performance to VecScatterBegin/End. (I should do a performance
test of that.) If you want to use your own internal communication routines,
then we need to add the DMShell functions to get your functions called.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20130221/cb7a3be7/attachment.html>


More information about the petsc-dev mailing list