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
objectl - the local vector
mode - if
INSERT_VALUES
then no parallel communication is used, ifADD_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#
Examples#
src/dm/impls/stag/tutorials/ex3.c
src/dm/impls/stag/tutorials/ex2.c
src/dm/impls/stag/tutorials/ex1.c
src/dm/tutorials/ex2.c
src/dm/impls/stag/tutorials/ex4.c
src/snes/tutorials/ex11.c
src/snes/tutorials/ex16.c
src/dm/impls/stag/tutorials/ex6.c
Index of all DM routines
Table of Contents for all manual pages
Index of all manual pages