typedef const char *PetscSFType; #define PETSCSFBASIC "basic" #define PETSCSFWINDOW "window"
Notes: The two approaches provided are
PETSCSFBASIC which uses MPI 1 message passing to perform the communication and
PETSCSFWINDOW which uses MPI 2 one-sided operations to perform the communication, this may be more efficient,
but may not be available for all MPI distributions. In particular OpenMPI has bugs in its one-sided
operations that prevent its use.