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 on dm

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#

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#

DMLocalToGlobal(), DMLocalToGlobalEnd(), DMCoarsen(), DMDestroy(), DMView(), DMCreateGlobalVector(), DMCreateInterpolation(), DMGlobalToLocal(), DMGlobalToLocalEnd(), DMGlobalToLocalBegin()

Level#

intermediate

Location#

src/dm/interface/dm.c

Examples#

src/dm/tutorials/ex14.c.html
src/dm/tutorials/ex1.c.html
src/dm/tutorials/ex5.c.html
src/dm/tutorials/ex7.c.html
src/dm/tutorials/ex9.c.html
src/ksp/ksp/tutorials/ex42.c.html
src/ksp/ksp/tutorials/ex43.c.html
src/ksp/ksp/tutorials/ex49.c.html
src/ksp/ksp/tutorials/ex69.c.html
src/ksp/ksp/tutorials/ex70.c.html
src/snes/tutorials/ex15.c.html

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


Edit on GitLab

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