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
