[petsc-dev] DMPlex with vertical numbering?
Michael Lange
michael.lange at imperial.ac.uk
Thu Nov 7 11:30:20 CST 2013
Hi,
I am trying to integrate an application code with DMPlex and I'm hitting
the following problem: The application code requires owned and ghost
DoFs to be numbered contiguously, whereas DMPlex numbers them by entity
class, so that the vertex dofs and edge dofs are disjoint. In order to
get around this problem I am trying to re-order the DMPlex object
vertically by using DMPlexPermute() with a custom mapping such that the
closure of cells is numbered contiguously (except for repeated sieve
points). This, however, causes DMPlexCreateSection() to create wrong
sections, because the depth/height strata are not contiguous anymore;
although I can create the appropriate section from the original DMPlex
and permute it with the same mapping to get the correct section. From
this I am now trying to extract the appropriate information for my halo
exchange via the DefaultSF and the LocalToGlobalMap, and what I was
wondering is:
1) Is there an easy way to re-create the appropriate DefaultSF and
LocalToGlobalMap after the permutation, since these are ignored in
DMPlexPermute()?
2) Is it possible to use DMLabelGetStratumIS with the "depth" label
instead of DMPlexGetDepthStratum in DMPlexCreateSection() in order to
make this work with a vertically numbered DMPlex?
Kind regards,
Michael Lange
More information about the petsc-dev
mailing list