DMLocalToGlobalBegin#
begins updating global vectors from local vectors
Synopsis#
#include "petscdm.h"
#include "petscdmlabel.h"
#include "petscds.h"
PetscErrorCode DMLocalToGlobalBegin(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#
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 DMLocalToGlobalEnd()
to complete the communication process.
DMLocalToGlobal()
is a short form of DMLocalToGlobalBegin()
and DMLocalToGlobalEnd()
DMLocalToGlobalHookAdd()
may be used to provide additional operations that are performed during the update process.
See Also#
DM Basics, DM
, DMLocalToGlobal()
, DMLocalToGlobalEnd()
, DMCoarsen()
, DMDestroy()
, DMView()
, DMCreateGlobalVector()
, DMCreateInterpolation()
, DMGlobalToLocal()
, DMGlobalToLocalEnd()
, DMGlobalToLocalBegin()
Level#
intermediate
Location#
Examples#
src/dm/tutorials/ex9.c
src/snes/tutorials/ex5.c
src/dm/tutorials/ex7.c
src/dm/tutorials/ex14.c
src/tao/complementarity/tutorials/blackscholes.c
src/dm/tutorials/ex5.c
src/snes/tutorials/ex19.c
src/dm/tutorials/ex1.c
src/tao/bound/tutorials/plate2.c
src/tao/bound/tutorials/plate2f.F90
Implementations#
DMLocalToGlobalBegin_Composite() in src/dm/impls/composite/pack.c
DMLocalToGlobalBegin_DA() in src/dm/impls/da/dagtol.c
DMLocalToGlobalBegin_Moab() in src/dm/impls/moab/dmmbvec.cxx
DMLocalToGlobalBegin_Network() in src/dm/impls/network/network.c
DMLocalToGlobalBegin_Redundant() in src/dm/impls/redundant/dmredundant.c
DMLocalToGlobalBegin_Stag() in src/dm/impls/stag/stag.c
Index of all DM routines
Table of Contents for all manual pages
Index of all manual pages