1: #if !defined(_PETSCSFTYPES_H) 2: #define _PETSCSFTYPES_H 4: /*S 5: PetscSF - PETSc object for setting up and managing the communication of certain entries of arrays and Vecs between MPI processes. 7: Level: intermediate 9: Concepts: star forest 11: PetscSF uses the concept of star forests to indicate and determine the communication patterns concisely and efficiently. 12: A star http://en.wikipedia.org/wiki/Star_(graph_theory) forest is simply a collection of trees of height 1. The leave nodes represent 13: "ghost locations" for the root nodes. 15: .seealso: PetscSFCreate(), VecScatter, VecScatterCreate() 16: S*/ 17: typedef struct _p_PetscSF* PetscSF; 19: /*S 20: PetscSFNode - specifier of owner and index 22: Level: beginner 24: Concepts: indexing, stride, distribution 26: .seealso: PetscSFSetGraph() 27: S*/ 28: typedef struct { 29: PetscInt rank; /* Rank of owner */ 30: PetscInt index; /* Index of node on rank */ 31: } PetscSFNode; 33: #endif