Skip to main content
`Ctrl`+`K`

# ISLocalToGlobalMappingGetBlockMultiLeavesSF

Get the star-forest to communicate multi-leaf block data

## Synopsis

    #include "petscis.h"
    PetscErrorCode ISLocalToGlobalMappingGetBlockMultiLeavesSF(ISLocalToGlobalMapping mapping, PetscSF *mlsf)

Collective the first time it is called

## Input Parameter

- mapping - the mapping from local to global indexing

## Output Parameter

- mlsf - the `PetscSF`

## Notes

The returned star forest is suitable to exchange local information with other processes sharing the same global block index. For example, suppose a mapping with two processes has been created with

        rank 0 global block indices: [0, 1, 2]
        rank 1 global block indices: [2, 3, 4]

and we want to share the local information

        rank 0 data: [-1, -2, -3]
        rank 1 data: [1, 2, 3]

then, the broadcasting action of `mlsf` will allow to collect

        rank 0 mlleafdata: [-1, -2, -3, 3]
        rank 1 mlleafdata: [-3, 3, 1, 2]

Use `ISLocalToGlobalMappingGetBlockNodeInfo()` to index into the multi-leaf data.

## See Also

Low-level Vector Communication, `ISLocalToGlobalMappingGetBlockNodeInfo()`, `PetscSF`

## Level

advanced

## Location

src/vec/is/utils/isltog.c

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