DMLocalToGlobal#

updates global vectors from local vectors

Synopsis#

#include "petscdm.h"          
#include "petscdmlabel.h"     
#include "petscds.h"     
PetscErrorCode DMLocalToGlobal(DM dm, Vec l, InsertMode mode, Vec g)

Neighbor-wise Collective

Input Parameters#

  • dm - the DM object

  • l - the local vector

  • mode - if INSERT_VALUES then no parallel communication is used, if ADD_VALUES then all ghost points from the same base point accumulate into that base point.

  • g - the global vector

Notes#

The communication involved in this update can be overlapped with computation by using DMLocalToGlobalBegin() and DMLocalToGlobalEnd().

In the ADD_VALUES case you normally would zero the receiving vector before beginning this operation.

INSERT_VALUES is not supported for DMDA; in that case simply compute the values directly into a global vector instead of a local one.

Use DMLocalToGlobalHookAdd() to add additional operations that are performed on the data during the update process

See Also#

DM Basics, DM, DMLocalToGlobalBegin(), DMLocalToGlobalEnd(), DMCoarsen(), DMDestroy(), DMView(), DMCreateGlobalVector(), DMCreateInterpolation(), DMGlobalToLocal(), DMGlobalToLocalEnd(), DMGlobalToLocalBegin(), DMLocalToGlobalHookAdd(), DMGlobaToLocallHookAdd()

Level#

beginner

Location#

src/dm/interface/dm.c

Examples#

src/dm/impls/stag/tutorials/ex1.c
src/dm/impls/stag/tutorials/ex2.c
src/dm/impls/stag/tutorials/ex3.c
src/dm/impls/stag/tutorials/ex4.c
src/dm/impls/stag/tutorials/ex6.c
src/dm/tutorials/ex2.c


Edit on GitLab

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