<div dir="ltr"><div dir="ltr">On Fri, Mar 19, 2021 at 11:52 AM Lawrence Mitchell <<a href="mailto:wence@gmx.li">wence@gmx.li</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">> On 19 Mar 2021, at 15:20, Jed Brown <<a href="mailto:jed@jedbrown.org" target="_blank">jed@jedbrown.org</a>> wrote:<br>
> <br>
>> I guess the only issue is now one needs to always remember to traverse cells in the reordered_cells order (although if you call DMPlexPermute that is automatic?).<br>
> <br>
> Can DMPlexPermute handle a non-stratified permutation?<br>
<br>
I think the answer here is still no (as per your previous statement). The way we work around this in Firedrake is as I described above. Effectively we always traverse the cells in order specified by the RCM reordering. For traversal of facets and other entities we then build a traversal order once by traversing the cells and greedily ordering the facets/edges/etc...<br>
<br>
I think you could get this behaviour from dmplexpermute if one wrote it so that it permutes the cells with RCM and then compatibly permutes lower-dimensional entities. This would maintain stratification, but I think keep good cache locality for all entity traversals. But I do not understand the details of what dmplexpermute is doing at the moment.<br></blockquote><div><br></div><div>I thought Plex already did that. Maybe I am wrong, it was a long time ago.</div><div><br></div><div>   Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Cheers,<br>
<br>
Lawrence</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>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><br></div><div><a href="http://www.cse.buffalo.edu/~knepley/" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br></div></div></div></div></div></div></div></div>