petsc-master 2019-12-03
Report Typos and Errors

PetscSFGetGraph

Get the graph specifying a parallel star forest

Synopsis

#include "petscsf.h" 
PetscErrorCode PetscSFGetGraph(PetscSF sf,PetscInt *nroots,PetscInt *nleaves,const PetscInt **ilocal,const PetscSFNode **iremote)
Not Collective

Input Arguments

sf -star forest

Output Arguments

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
iremote - remote locations of root vertices for each leaf on the current process

Notes

We are not currently requiring that the graph is set, thus returning nroots=-1 if it has not been set yet

When called from Fortran, the returned iremote array is a copy and must deallocated after use. Consequently, if you want to update the graph, you must call PetscSFSetGraph after modifying the iremote array.

See Also

PetscSFCreate(), PetscSFView(), PetscSFSetGraph()

Level

intermediate

Location

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

Examples

src/vec/is/sf/examples/tutorials/ex1.c.html
src/vec/is/sf/examples/tutorials/ex1f.F90.html
src/ts/examples/tutorials/ex11.c.html

Implementations

PetscSFGetGraph_Allgatherv in src/vec/is/sf/impls/basic/allgatherv/sfallgatherv.c
PetscSFGetGraph_Alltoall in src/vec/is/sf/impls/basic/alltoall/sfalltoall.c

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