DMDAGetOwnershipRanges#
Gets the number of indices in the x, y and z direction that are owned by each process in that direction
Synopsis#
#include "petscdmda.h"
PetscErrorCode DMDAGetOwnershipRanges(DM da, PeOp const PetscInt *lx[], PeOp const PetscInt *ly[], PeOp const PetscInt *lz[])
Not Collective
Input Parameter#
da - the
DMDA
object
Output Parameters#
lx - ownership along x direction (optional), its length is
m
the number of processes in the x-directionly - ownership along y direction (optional), its length is
n
the number of processes in the y-directionlz - ownership along z direction (optional), its length is
p
the number of processes in the z-direction
Notes#
These correspond to the optional final arguments passed to DMDACreate()
, DMDACreate2d()
, DMDACreate3d()
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.
The meaning of these is different than that returned by VecGetOwnerShipRanges()
Fortran Notes#
Pass PETSC_NULL_INT_POINTER
for any array not needed.
Use DMDARestoreOwershipRange()
to return the arrays when no longer needed
See Also#
DMDA - Creating vectors for structured grids, DM
, DMDA
, DMDAGetCorners()
, DMDAGetGhostCorners()
, DMDACreate()
, DMDACreate1d()
, DMDACreate2d()
, DMDACreate3d()
, VecGetOwnershipRanges()
Level#
intermediate
Location#
Examples#
src/ts/tutorials/ex10.c
src/ksp/ksp/tutorials/ex42.c
src/dm/tutorials/ex22.c
src/snes/tutorials/ex28.c
src/ksp/ksp/tutorials/ex73.c
src/dm/tutorials/ex51.c
Index of all DMDA routines
Table of Contents for all manual pages
Index of all manual pages