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
