Matthew Knepley <[email protected]> writes:

>> PetscSectionSetUp currently calculates offsets by walking the points in
>> order. I'd like to be able to walk them in a different ordering, perhaps
>> specified via an IS permutation, which could be computed using
>> MATORDERINGRCM or directly via BFS of a closure (saves building a Mat).
>>
>
> You can do this using
>
>
> https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/PetscSection/PetscSectionSetPermutation.html
>
> This is what Lawrence is doing. He permutes the points so that interior
> points come first, then points that are not
> shared but touch shared points, then shared points.

Cool, this sounds easy enough now. What user interface would you like to use to 
have DMPlex apply an ordering when constructing a section after DMAddField()?  

DMPlexSetDofOrderingType(DM, MatOrderingType)

To be set before DMSetUp with "natural" as default and "rcm" (or a new "bfs") 
taking a fast path that just walks the closure instead of building a matrix?

Reply via email to