Skip to main content
`Ctrl`+`K`

# AO

Abstract PETSc object that manages mapping between different global numberings

## Synopsis

    typedef struct _p_AO *AO;

## Note

An application ordering is usually a mapping between an application-centric numbering (the ordering that is “natural” for the application) and the parallel numbering (\(0\) to \(n_0-1\) on the first MPI process, \(n_0\) to \(n_1 - 1\) on the second MPI process, etc) that PETSc uses.

## See Also

`AOCreateBasic()`, `AOCreateBasicIS()`, `AOPetscToApplication()`, `AOView()`, `AOApplicationToPetsc()`, `AOType`, `AOSetType()`

## Level

intermediate

## Location

include/petscao.h

## Examples

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

## Implementations

_p_AO in src/vec/is/ao/aoimpl.h
AO_Basic in src/vec/is/ao/impls/basic/aobasic.c
AO_Mapping in src/vec/is/ao/impls/mapping/aomapping.c
AO_MemoryScalable in src/vec/is/ao/impls/memscalable/aomemscalable.c

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