petsc-3.14.6 2021-03-30
Report Typos and Errors

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/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
src/ksp/ksp/tutorials/ex70.c.html

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