DMGetLocalVector#
Gets a PETSc vector that may be used with the DM local routines. This vector has spaces for the ghost values.
Synopsis#
#include "petscdm.h"
PetscErrorCode DMGetLocalVector(DM dm, Vec *g)
Not Collective
Input Parameter#
dm - the dm
Output Parameter#
g - the local vector
Note#
The vector values are NOT initialized and may have garbage in them, so you may need to zero them.
The output parameter, g, is a regular PETSc vector that should be returned with DMRestoreLocalVector() DO NOT call VecDestroy() on it.
This is intended to be used for vectors you need for a short time, like within a single function call. For vectors that you intend to keep around (for example in a C struct) or pass around large parts of your code you should use DMCreateLocalVector().
VecStride*() operations can be useful when using DM with dof > 1
See Also#
DMCreateGlobalVector()
, VecDuplicate()
, VecDuplicateVecs()
,
DMDACreate1d()
, DMDACreate2d()
, DMDACreate3d()
, DMGlobalToLocalBegin()
,
DMGlobalToLocalEnd()
, DMLocalToGlobalBegin()
, DMCreateLocalVector()
, DMRestoreLocalVector()
,
VecStrideMax()
, VecStrideMin()
, VecStrideNorm()
Level#
beginner
Location#
Examples#
src/dm/impls/plex/tutorials/ex6.c.html
src/dm/impls/stag/tutorials/ex1.c.html
src/dm/impls/stag/tutorials/ex2.c.html
src/dm/impls/stag/tutorials/ex3.c.html
src/dm/impls/stag/tutorials/ex4.c.html
src/dm/impls/stag/tutorials/ex6.c.html
src/dm/tutorials/ex14.c.html
src/ksp/ksp/tutorials/ex42.c.html
src/ksp/ksp/tutorials/ex43.c.html
src/ksp/ksp/tutorials/ex49.c.html
src/ksp/ksp/tutorials/ex69.c.html
Index of all DM routines
Table of Contents for all manual pages
Index of all manual pages