VecGetOwnershipRange#
Returns the range of indices owned by this process. The vector is laid out with the first n1
elements on the first processor, next n2
elements on the second, etc. For certain parallel layouts this range may not be well defined.
Synopsis#
#include "petscvec.h"
PetscErrorCode VecGetOwnershipRange(Vec x, PetscInt *low, PetscInt *high)
Not Collective
Input Parameter#
x - the vector
Output Parameters#
low - the first local element, pass in
NULL
if not interestedhigh - one more than the last local element, pass in
NULL
if not interested
Notes#
If the Vec
was obtained from a DM
with DMCreateGlobalVector()
, then the range values are determined by the specific DM
.
If the Vec
was created directly the range values are determined by the local size passed to VecSetSizes()
or VecCreateMPI()
.
If PETSC_DECIDE
was passed as the local size, then the vector uses default values for the range using PetscSplitOwnership()
.
The high argument is one more than the last element stored locally.
For certain DM
, such as DMDA
, it is better to use DM
specific routines, such as DMDAGetGhostCorners()
, to determine
the local values in the vector.
See Also#
Vectors and Parallel Data, Vec
, MatGetOwnershipRange()
, MatGetOwnershipRanges()
, VecGetOwnershipRanges()
, PetscSplitOwnership()
,
VecSetSizes()
, VecCreateMPI()
, PetscLayout
, DMDAGetGhostCorners()
, DM
Level#
beginner
Location#
Examples#
src/vec/vec/tutorials/ex5.c
src/ts/tutorials/ex2.c
src/dm/tutorials/ex6.c
src/vec/vec/tutorials/ex14f.F90
src/dm/tutorials/ex22.c
src/vec/vec/utils/tagger/tutorials/ex1.c
src/ts/tutorials/ex4.c
src/vec/vec/tutorials/ex3f.F90
src/ts/tutorials/ex21.c
src/ts/tutorials/ex74.c
Index of all Vec routines
Table of Contents for all manual pages
Index of all manual pages