Skip to main content
`Ctrl`+`K`

# DMDAGetAO

Gets the application ordering context for a distributed array.

## Synopsis

    #include "petscdmda.h"
    PetscErrorCode DMDAGetAO(DM da, AO *ao)

Collective

## Input Parameter

- da - the `DMDA`

## Output Parameter

- ao - the application ordering context for `DMDA`

## Notes

In this case, the `AO` maps to the natural grid ordering that would be used for the `DMDA` if only 1 processor were employed (ordering most rapidly in the x-direction, then y, then z). Multiple degrees of freedom are numbered for each node (rather than 1 component for the whole grid, then the next component, etc.)

Do NOT call `AODestroy()` on the `ao` returned by this function.

## See Also

DMDA - Creating vectors for structured grids, `DM`, `DMDA`, `DMDACreate2d()`, `DMDASetAOType()`, `DMDAGetGhostCorners()`, `DMDAGetCorners()`, `DMLocalToGlobal()`, `DMGlobalToLocalBegin()`, `DMGlobalToLocalEnd()`, `DMLocalToLocalBegin()`, `DMLocalToLocalEnd()`, `DMDAGetOwnershipRanges()`, `AO`, `AOPetscToApplication()`, `AOApplicationToPetsc()`

## Level

intermediate

## Location

src/dm/impls/da/daindex.c

## Examples

src/ksp/ksp/tutorials/ex59.c
src/dm/tutorials/ex22.c
src/dm/tutorials/ex6.c

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