:orphan:
# DMDAGetOwnershipRanges
Gets the ranges of indices in the x, y and z direction that are owned by each process
## Synopsis
```
#include "petscdmda.h"
PetscErrorCode DMDAGetOwnershipRanges(DM da, const PetscInt *lx[], const PetscInt *ly[], const PetscInt *lz[])
```
Not Collective
## Input Parameter
- ***da -*** the `DMDA` object
## Output Parameters
- ***lx -*** ownership along x direction (optional)
- ***ly -*** ownership along y direction (optional)
- ***lz -*** ownership along z direction (optional)
## Note
These correspond to the optional final arguments passed to `DMDACreate()`, `DMDACreate2d()`, `DMDACreate3d()`
In C you should not free these arrays, nor change the values in them. They will only have valid values while the
`DMDA` they came from still exists (has not been destroyed).
These numbers are NOT multiplied by the number of dof per node.
## Fortran Note
In Fortran one must pass in arrays `lx`, `ly`, and `lz` that are long enough to hold the values; the sixth, seventh and
eighth arguments from `DMDAGetInfo()`
## See Also
`DM`, `DMDA`, `DMDAGetCorners()`, `DMDAGetGhostCorners()`, `DMDACreate()`, `DMDACreate1d()`, `DMDACreate2d()`, `DMDACreate3d()`, `VecGetOwnershipRanges()`
## Level
intermediate
## Location
src/dm/impls/da/da.c
## Examples
src/dm/tutorials/ex22.c
src/dm/tutorials/ex51.c
src/ksp/ksp/tutorials/ex42.c
src/ksp/ksp/tutorials/ex73.c
src/snes/tutorials/ex28.c
src/ts/tutorials/ex10.c
---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/dm/impls/da/da.c)
[Index of all DMDA routines](index.md)
[Table of Contents for all manual pages](/manualpages/index.md)
[Index of all manual pages](/manualpages/singleindex.md)