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-0001.html>
