Skip to main content
`Ctrl`+`K`

# DMDAGetGhostCorners

Returns the global (`i`,`j`,`k`) indices of the lower left corner and size of the local region, including ghost points.

## Synopsis

    #include "petscdmda.h"
    PetscErrorCode DMDAGetGhostCorners(DM da, PeOp PetscInt *x, PeOp PetscInt *y, PeOp PetscInt *z, PeOp PetscInt *m, PeOp PetscInt *n, PeOp PetscInt *p)

Not Collective

## Input Parameter

- da - the `DMDA`

## Output Parameters

- x - the corner index for the first dimension

- y - the corner index for the second dimension (only used in 2D and 3D problems)

- z - the corner index for the third dimension (only used in 3D problems)

- m - the width in the first dimension

- n - the width in the second dimension (only used in 2D and 3D problems)

- p - the width in the third dimension (only used in 3D problems)

## Notes

Any of `y`, `z`, `n`, and `p` can be passed in as `NULL` if not needed.

The corner information is independent of the number of degrees of freedom per node set with the `DMDACreateXX()` routine. Thus the `x`, `y`, and `z` can be thought of as the lower left coordinates of the patch of values on process on a logical grid and `m`, `n`, and `p` as the extent of the patch. Where grid point has (potentially) several degrees of freedom.

## See Also

DMDA - Creating vectors for structured grids, `DM`, `DMDA`, `DMDAGetCorners()`, `DMDACreate1d()`, `DMDACreate2d()`, `DMDACreate3d()`, `DMDAGetOwnershipRanges()`, `DMStagGetGhostCorners()`, `DMSTAG`

## Level

beginner

## Location

src/dm/impls/da/daghost.c

## Examples

src/ksp/ksp/tutorials/ex49.c
src/ksp/ksp/tutorials/ex43.c
src/tao/bound/tutorials/jbearing2.c
src/ksp/ksp/tutorials/ex14f.F90
src/ksp/ksp/tutorials/ex42.c
src/snes/tutorials/ex5f90t.F90
src/snes/tutorials/ex48.c
src/tao/bound/tutorials/plate2.c
src/ksp/ksp/tutorials/ex70.c
src/snes/tutorials/ex5f90.F90

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