petsc-3.10.5 2019-03-28
Report Typos and Errors

# DMGetGlobalVector

Gets a MPI PETSc vector that may be used with the DMXXX routines.

### Synopsis

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

Collective on DM

### Input Parameter

dm -the distributed array

### 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

### Keywords

distributed array, create, Global, vector

### 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/examples/tutorials/ex1.c.html
src/dm/impls/plex/examples/tutorials/ex1f90.F90.html
src/dm/examples/tutorials/ex12.c.html
src/dm/examples/tutorials/ex51.c.html
src/dm/examples/tutorials/ex11f90.F90.html
src/snes/examples/tutorials/ex12.c.html
src/snes/examples/tutorials/ex22.c.html
src/snes/examples/tutorials/ex33.c.html
src/snes/examples/tutorials/ex62.c.html
Index of all DM routines
Table of Contents for all manual pages
Index of all manual pages