DMGetGlobalVector#

Gets a PETSc vector that may be used with the DM global routines.

Synopsis#

#include "petscdm.h" 
PetscErrorCode DMGetGlobalVector(DM dm, Vec *g)

Collective

Input Parameter#

  • dm - the DM

Output Parameter#

  • g - the global 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 DMRestoreGlobalVector() 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 DMCreateGlobalVector().

VecStride*() operations can be useful when using DM with dof > 1

See Also#

DM, DMCreateGlobalVector(), VecDuplicate(), VecDuplicateVecs(), DMDACreate1d(), DMDACreate2d(), DMDACreate3d(), DMGlobalToLocalBegin(), DMGlobalToLocalEnd(), DMLocalToGlobalBegin(), DMCreateLocalVector(), DMRestoreLocalVector() VecStrideMax(), VecStrideMin(), VecStrideNorm(), DMClearGlobalVectors(), DMGetNamedGlobalVector(), DMGetNamedLocalVector()

Level#

beginner

Location#

src/dm/interface/dmget.c

Examples#

src/dm/tutorials/ex51.c
src/dm/impls/stag/tutorials/ex2.c
src/dm/tutorials/ex12.c
src/dm/impls/stag/tutorials/ex1.c
src/dm/impls/stag/tutorials/ex4.c
src/dm/impls/stag/tutorials/ex3.c
src/dm/impls/plex/tutorials/ex1f90.F90
src/dm/impls/plex/tutorials/ex7.c
src/dm/tutorials/ex11f90.F90
src/dm/tutorials/ex14.c


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