<div dir="ltr">On Tue, Nov 12, 2013 at 9:59 AM, Jed Brown <span dir="ltr"><<a href="mailto:jedbrown@mcs.anl.gov" target="_blank">jedbrown@mcs.anl.gov</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">Michael Lange <<a href="mailto:michael.lange@imperial.ac.uk">michael.lange@imperial.ac.uk</a>> writes:<br>
<br>
> Hi Matt,<br>
><br>
> Thanks for the clarification, this does make sense. I have achieved the<br>
> local DoF ordering I want by only permuting the offsets in the created<br>
> section. However, I am now trying to extract the according halo exchange<br>
> information from the associated PetscSF object and, although the local<br>
> leafs have been renumbered according to my permutation, the roots they<br>
> are connected to have not been updated. Is there an easy way to update<br>
> the roots or re-initialise the PetscSF from the reordered section?<br>
<br>
</div>You can SFBcast the new root numbers and create a new SF.<br>
<br>
Since this is a somewhat common operation that can be optimized by the<br>
SF implementation, it may make sense to provide PetscSFMoveRoots() or<br>
some such.<br>
</blockquote></div><br>I already do this in DMPlexPermute(). We can abstract the code out.</div><div class="gmail_extra"><br></div><div class="gmail_extra"> Matt<br clear="all"><div><br></div>-- <br>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
-- Norbert Wiener
</div></div>