# DMPlexCreatePointNumbering#

Create a global numbering for all points.

## Synopsis#

```
#include "petscdmplex.h"
PetscErrorCode DMPlexCreatePointNumbering(DM dm, IS *globalPointNumbers)
```

Collective

## Input Parameter#

The**dm -**`DMPLEX`

object

## Output Parameter#

Global numbers for all points on this process**globalPointNumbers -**

## Notes#

The point numbering `IS`

is parallel, with local portion indexed by local points (see `DMGetLocalSection()`

). The global
points are taken as stratified, with each MPI rank owning a contiguous subset of each stratum. In the IS, owned points
will have their non-negative value while points owned by different ranks will be involuted -(idx+1). As an example,
consider a parallel mesh in which the first two elements and first two vertices are owned by rank 0.

The partitioned mesh is

```
(2)--0--(3)--1--(4) (1)--0--(2)
```

and its global numbering is

```
(3)--0--(4)--1--(5)--2--(6)
```

Then the global numbering is provided as

```
[0] Number of indices in set 5
[0] 0 0
[0] 1 1
[0] 2 3
[0] 3 4
[0] 4 -6
[1] Number of indices in set 3
[1] 0 2
[1] 1 5
[1] 2 6
```

## See Also#

DMPlex: Unstructured Grids, `DM`

, `DMPLEX`

, `DMPlexGetCellNumbering()`

## Level#

developer

## Location#

## Examples#

Index of all DMPlex routines

Table of Contents for all manual pages

Index of all manual pages