# 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 src/dm/interface/dmget.c ## 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
--- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/dm/interface/dmget.c) [Index of all DM routines](index.md) [Table of Contents for all manual pages](/docs/manualpages/index.md) [Index of all manual pages](/docs/manualpages/singleindex.md)