On Fri, Mar 19, 2021 at 11:52 AM Lawrence Mitchell <[email protected]> wrote:
> > On 19 Mar 2021, at 15:20, Jed Brown <[email protected]> wrote: > > > >> 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?). > > > > Can DMPlexPermute handle a non-stratified permutation? > > 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... > > 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. > I thought Plex already did that. Maybe I am wrong, it was a long time ago. Matt > Cheers, > > Lawrence -- 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 https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>
