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

Reply via email to