DMShellSetLocalToGlobal — PETSc 3.25.0 documentation

Skip to main content
`Ctrl`+`K`

# DMShellSetLocalToGlobal

Sets the routines used to perform a local to global scatter

## Synopsis

    #include "petscdmshell.h"
    PetscErrorCode DMShellSetLocalToGlobal(DM dm, PetscErrorCode (*begin)(DM dm, Vec local, InsertMode mode, Vec global), PetscErrorCode (*end)(DM dm, Vec local, InsertMode mode, Vec global))

Logically Collective

## Input Parameters

- dm - the `DMSHELL`

- begin - the routine that begins the local to global scatter

- end - the routine that ends the local to global scatter

## Calling sequence of `begin`

- dm - the `DM`

- local - the local `Vec` to be communicated

- mode - insert mode of the resulting vector

- global - the global `Vec` to receive the result

## Calling sequence of `end`

- dm - the `DM`

- local - the local `Vec` to be communicated

- mode - insert mode of the resulting vector

- global - the global `Vec` to receive the result

## Note

If these functions are not provided but `DMShellSetLocalToGlobalVecScatter()` is called then `DMLocalToGlobalBeginDefaultShell()`/`DMLocalToGlobalEndDefaultShell()` are used to perform the transfers

## See Also

`DM`, `DMSHELL`, `DMShellSetGlobalToLocal()`, `InsertMode`, `VecScatter`, `DMLocalToGlobal()`, `DMGlobalToLocal()`

## Level

advanced

## Location

src/dm/impls/shell/dmshell.c

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