[petsc-users] Cell numbering in DMPlex

Mark Adams mfadams at lbl.gov
Tue Sep 29 10:58:49 CDT 2020


I believe it is:

  ierr = DMPlexGetHeightStratum(dm, 0, &cStart, &cEnd);CHKERRQ(ierr);
  ierr = DMPlexGetGhostCellStratum(dm, &cEndInterior, NULL);CHKERRQ(ierr);

On Tue, Sep 29, 2020 at 11:34 AM Pierre Seize <Pierre.Seize at onera.fr> wrote:

> Hello!
>
> I have a parallel DMPlex, and I would like to loop on every "real" cell.
> It seems that the indexing is as such:
>
> [cStart (always 0 I think), XXX [ -> actual cell
>
> [XXX, cStartGhost [ -> parallel cells, as I have overlap = 1
>
> [cStartGhost, cEndGhost= cEnd[ -> my finite volume boundaries cells.
>
> I can get cStart and cEnd with DMPlexGetHeightStratum, and cStartGhost
> and cEndGhost with DMPlexGetGhostCellStratum.
>
> What I want is the bound XXX. Right now, I do loop from cStart to cEnd,
> and when I find a cell that gives me DMGetLabelValue(dm, "ghost", c,
> &value) with a positive value I break my loop and take the current cell
> number as the wanted bound. I am not unsatisfied with this but I wonder
> if there is a more straightforward way to get what I want.
>
> Thank you.
>
>
> Pierre
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20200929/b579fc01/attachment.html>


More information about the petsc-users mailing list