Skip to main content
`Ctrl`+`K`

# PetscSFCreateRemoteOffsets

Create offsets for point data on remote processes

## Synopsis

    #include "petscsf.h"
    PetscErrorCode PetscSFCreateRemoteOffsets(PetscSF sf, PetscSection rootSection, PetscSection leafSection, PetscInt *remoteOffsets[])

Collective

## Input Parameters

- sf - The `PetscSF`

- rootSection - Data layout of remote points for outgoing data (this is layout for roots)

- leafSection - Data layout of local points for incoming data (this is layout for leaves)

## Output Parameter

- remoteOffsets - Offsets for point data on remote processes (these are offsets from the root section), or `NULL`

## Note

Caller must `PetscFree()` `remoteOffsets` if it was requested

## Fortran Note

Use `PetscSFDestroyRemoteOffsets()` when `remoteOffsets` is no longer needed.

## See Also

PetscSF - an alternative to low-level MPI calls for data communication, `PetscSF`, `PetscSFCreate()`

## Level

developer

## Location

src/vec/is/sf/utils/sfutils.c

## Examples

src/dm/impls/plex/tutorials/ex14f90.F90
src/dm/impls/plex/tutorials/ex14.c

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