Skip to main content
`Ctrl`+`K`

# DMGetCoordinatesLocalTuple

Gets a local vector with the coordinates of specified points and the section describing its layout.

## Synopsis

    #include "petscdm.h"
    PetscErrorCode DMGetCoordinatesLocalTuple(DM dm, IS p, PetscSection *pCoordSection, Vec *pCoord)

Not Collective

## Input Parameters

- dm - the `DM`

- p - the `IS` of points whose coordinates will be returned

## Output Parameters

- pCoordSection - the `PetscSection` describing the layout of pCoord, i.e. each point corresponds to one point in `p`, and DOFs correspond to coordinates

- pCoord - the `Vec` with coordinates of points in `p`

## Notes

`DMGetCoordinatesLocalSetUp()` must be called first. This function employs `DMGetCoordinatesLocalNoncollective()` so it is not collective.

This creates a new vector, so the user SHOULD destroy this vector

Each process has the local and ghost coordinates

For `DMDA`, in two and three dimensions coordinates are interlaced (x_0,y_0,x_1,y_1,…) and (x_0,y_0,z_0,x_1,y_1,z_1…)

## See Also

`DM`, `DMDA`, `DMSetCoordinatesLocal()`, `DMGetCoordinatesLocal()`, `DMGetCoordinatesLocalNoncollective()`, `DMGetCoordinatesLocalSetUp()`, `DMGetCoordinates()`, `DMSetCoordinates()`, `DMGetCoordinateDM()`

## Level

advanced

## Location

src/dm/interface/dmcoordinates.c

Index of all DM routines
Table of Contents for all manual pages
Index of all manual pages