Skip to main content
`Ctrl`+`K`

# DMShellSetGlobalToLocal

Sets the routines used to perform a global to local scatter

## Synopsis

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

Logically Collective

## Input Parameters

- dm - the `DMSHELL`

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

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

## Calling sequence of `begin`

- dm - the `DM`

- global - the global `Vec` to be communicated

- mode - insert mode of the resulting vector

- local - the local `Vec` to receive the result

## Calling sequence of `end`

- dm - the `DM`

- global - the global `Vec` to be communicated

- mode - insert mode of the resulting vector

- local - the local `Vec` to receive the result

## Note

If these functions are not provided but `DMShellSetGlobalToLocalVecScatter()` is called then `DMGlobalToLocalBeginDefaultShell()`/`DMGlobalToLocalEndDefaultShell()` are used to perform the transfers

## See Also

`DM`, `DMSHELL`, `DMShellSetLocalToGlobal()`, `DMGlobalToLocalBeginDefaultShell()`, `DMGlobalToLocalEndDefaultShell()`

## 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