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