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
DMobjectl - the local vector
mode - if
INSERT_VALUESthen no parallel communication is used, ifADD_VALUESthen 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/ksp/ksp/tutorials/ex70.c
src/ksp/ksp/tutorials/ex42.c
src/dm/tutorials/ex5.c
src/ksp/ksp/tutorials/ex49.c
src/ksp/ksp/tutorials/ex43.c
src/ksp/ksp/tutorials/ex69.c
src/dm/tutorials/ex1.c
src/dm/tutorials/ex7.c
src/dm/tutorials/ex14.c
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