On Tue, Nov 12, 2013 at 9:59 AM, Jed Brown <[email protected]> wrote:

> Michael Lange <[email protected]> writes:
>
> > Hi Matt,
> >
> > Thanks for the clarification, this does make sense. I have achieved the
> > local DoF ordering I want by only permuting the offsets in the created
> > section. However, I am now trying to extract the according halo exchange
> > information from the associated PetscSF object and, although the local
> > leafs have been renumbered according to my permutation, the roots they
> > are connected to have not been updated. Is there an easy way to update
> > the roots or re-initialise the PetscSF from the reordered section?
>
> You can SFBcast the new root numbers and create a new SF.
>
> Since this is a somewhat common operation that can be optimized by the
> SF implementation, it may make sense to provide PetscSFMoveRoots() or
> some such.
>

I did not read this closely enough. This is not the problem. You have not
changed
the point order, so the PetscSF should have been created correctly.  You
global
and local vectors will have different orders, but the exchange should be
correct.
We need a test for this case so everything can be explicit.

If you need the local and global orders to match, I think the best thing to
do is
create the global section yourself, which should be as easy as creating the
section.

   Matt

-- 
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

Reply via email to