#include "petscsf.h" PetscErrorCode PetscSFCompose(PetscSF sfA,PetscSF sfB,PetscSF *sfBA)
|sfA||- The first PetscSF|
|sfB||- The second PetscSF|
|sfBA||- The composite SF|
sfA's leaf space and sfB's root space might be partially overlapped. The composition builds a graph with sfA's roots and sfB's leaves only when there is a path between them. Unconnected nodes (roots or leaves) are not in sfBA. Doing a Bcast on the new SF is equivalent to doing a Bcast on sfA, then a Bcast on sfB, on connected nodes.