Skip to main content
`Ctrl`+`K`

# DMGetCoordinates

Gets a global vector with the coordinates associated with the `DM`.

## Synopsis

    #include "petscdm.h"
    PetscErrorCode DMGetCoordinates(DM dm, Vec *c)

Collective

## Input Parameter

- dm - the `DM`

## Output Parameter

- c - global coordinate vector

## Notes

This is a borrowed reference, so the user should NOT destroy this vector. When the `DM` is destroyed `c` will no longer be valid.

Each process has only the locally-owned portion of the global coordinates (does NOT have the 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`, `DMSetCoordinates()`, `DMGetCoordinatesLocal()`, `DMGetCoordinateDM()`, `DMDASetUniformCoordinates()`

## Level

intermediate

## Location

src/dm/interface/dmcoordinates.c

## Examples

src/ksp/ksp/tutorials/ex69.c
src/dm/tutorials/ex3.c
src/ksp/ksp/tutorials/ex49.c
src/dm/impls/stag/tutorials/ex3.c
src/dm/tutorials/ex25.c
src/ksp/ksp/tutorials/ex71.c
src/dm/tutorials/swarm_ex1.c
src/dm/tutorials/ex4.c
src/dm/tutorials/swarm_ex3.c
src/snes/tutorials/ex22.c

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