[petsc-users] Numbering of DMPlexGetCellNumbering

Garnet Vaz garnet.vaz at gmail.com
Thu Mar 7 14:56:47 CST 2013


Hi,

For an small distributed unstructured mesh  with overlap 1
which is *not* interpolated yet, if I do a DMPlexGetCellNumbering()
I obtain an IS as follows:

[0] Number of indices in set 6
[0] 0 -6
[0] 1 0
[0] 2 -8
[0] 3 1
[0] 4 2
[0] 5 3
[1] Number of indices in set 6
[1] 0 4
[1] 1 5
[1] 2 6
[1] 3 -1
[1] 4 7
[1] 5 -4.

Running the same example but by DMPlexInterpolate() and then
DMPlexGetCellNumbering() provides instead the output:

[0] Number of indices in set 6
[0] 0 0
[0] 1 1
[0] 2 2
[0] 3 3
[0] 4 4
[0] 5 5
[1] Number of indices in set 6
[1] 0 6
[1] 1 7
[1] 2 8
[1] 3 9
[1] 4 10
[1] 5 11

The former result I find very useful since it provides the number of
ghost cells on each processor (the negative IS values) and moreover
the negative IS values also indicate the global numbering of the
ghost cells. Eg: On the first processor the cell 0 is a ghost cell with
its global numbering 5.

The behavior of DMPlexGetCellNumbering() after the interpolation does
not bother me but I would like to know in the former case if the output
is the right output i.e, it is not merely a side effect which might get
changed later on.

Thank You.

--
Regards,
Garnet


More information about the petsc-users mailing list