<div dir="ltr">I believe it is:<div><br></div><div>  ierr = DMPlexGetHeightStratum(dm, 0, &cStart, &cEnd);CHKERRQ(ierr);<br>  ierr = DMPlexGetGhostCellStratum(dm, &cEndInterior, NULL);CHKERRQ(ierr);<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Sep 29, 2020 at 11:34 AM Pierre Seize <<a href="mailto:Pierre.Seize@onera.fr">Pierre.Seize@onera.fr</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hello!<br>
<br>
I have a parallel DMPlex, and I would like to loop on every "real" cell. <br>
It seems that the indexing is as such:<br>
<br>
[cStart (always 0 I think), XXX [ -> actual cell<br>
<br>
[XXX, cStartGhost [ -> parallel cells, as I have overlap = 1<br>
<br>
[cStartGhost, cEndGhost= cEnd[ -> my finite volume boundaries cells.<br>
<br>
I can get cStart and cEnd with DMPlexGetHeightStratum, and cStartGhost <br>
and cEndGhost with DMPlexGetGhostCellStratum.<br>
<br>
What I want is the bound XXX. Right now, I do loop from cStart to cEnd, <br>
and when I find a cell that gives me DMGetLabelValue(dm, "ghost", c, <br>
&value) with a positive value I break my loop and take the current cell <br>
number as the wanted bound. I am not unsatisfied with this but I wonder <br>
if there is a more straightforward way to get what I want.<br>
<br>
Thank you.<br>
<br>
<br>
Pierre<br>
<br>
</blockquote></div>