[petsc-users] DMGetStratumSize smaller than expected

rickcha at googlemail.com rickcha at googlemail.com
Thu Jan 31 05:20:59 CST 2019


Hello,

I have an issue with DMGetStatumSize() and DMGetStratumIS().

My intention is to access all vertices (height = 0) that are part of a named label in my DM.

The problem is that only vertices that are exclusively part of this named label seem to be included. The label  is assigned to a face, let’s call it “A” for simplicities sake. Adjacent faces have their own label (and Dirichlet BC’s prescribed to them if that matters) which I will refer to as (“B”,”C”,”D” and “E”). Vertices that lie on the edge should be part of more than one stratum. I.e. belonging to “A” AND “B”, or “A” AND “B” AND “C” if they lie on a corner where the three faces meet.
However, those shared vertices seem not to be included when calling DMGetStatumSize() and DMGetStratumIS().

For a 5x5x5 hex cube with faces labeled “A”, “B”, […], I would expect DMGetStratumSize(dm,”A”,0,&size) to yield size = 36. But I get 16 instead, missing the 20 “shared” vertices.

Is there a way to change this behaviour? Or do I have to get the face stratum (height = 2) and then refer to the cone of the cone to get what I want?


Thanks,
Max


More information about the petsc-users mailing list