Get the graph specifying a parallel star forest
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 (if returned value is NULL, it means leaves are in contiguous storage)
iremote - remote locations of root vertices for each leaf on the current process
We are not currently requiring that the graph is set, thus returning nroots=-1 if it has not been set yet
The returned ilocal/iremote might contain values in different order than the input ones in
see its manpage for details.
The returned iremote array is a copy and must be deallocated after use. Consequently, if you
want to update the graph, you must call
PetscSFSetGraph() after modifying the iremote array.
To check for a NULL ilocal use
if (loc(ilocal) == loc(PETSC_NULL_INTEGER)) then