**petsc-3.8.3 2017-12-09**

# PetscSFGetMultiSF

gets the inner SF implemeting gathers and scatters
### Synopsis

#include "petscsf.h"
PetscErrorCode PetscSFGetMultiSF(PetscSF sf,PetscSF *multi)

Collective

### Input Argument

**sf ** -star forest that may contain roots with 0 or with more than 1 vertex

### Output Arguments

**multi ** -star forest with split roots, such that each root has degree exactly 1

### Notes

In most cases, users should use PetscSFGatherBegin() and PetscSFScatterBegin() instead of manipulating multi
directly. Since multi satisfies the stronger condition that each entry in the global space has exactly one incoming
edge, it is a candidate for future optimization that might involve its removal.

### See Also

PetscSFSetGraph(), PetscSFGatherBegin(), PetscSFScatterBegin()

**Level:**developer

Location:src/vec/is/sf/interface/sf.c

Index of all PetscSF routines

Table of Contents for all manual pages

Index of all manual pages

### Examples

src/vec/is/sf/examples/tutorials/ex1.c.html