#include "petscsf.h" PetscErrorCode PetscSFSetGraph(PetscSF sf,PetscInt nroots,PetscInt nleaves,const PetscInt *ilocal,PetscCopyMode localmode,const PetscSFNode *iremote,PetscCopyMode remotemode)Collective
sf | - star forest | |
nroots | - number of root vertices on the current process (these are possible targets for other process to attach leaves) | |
nleaves | - number of leaf vertices on the current process, each of these references a root on any process | |
ilocal | - locations of leaves in leafdata buffers, pass NULL for contiguous storage | |
localmode | - copy mode for ilocal | |
iremote | - remote locations of root vertices for each leaf on the current process | |
remotemode | - copy mode for iremote |
Notes: In Fortran you must use PETSC_COPY_VALUES for localmode and remotemode
Developers Note: Local indices which are the identity permutation in the range [0,nleaves) are discarded as they encode contiguous storage. In such case, if localmode is PETSC_OWN_POINTER, the memory is deallocated as it is not needed