PetscSFNode#
specifier of owner and index
Synopsis#
typedef struct {
  PetscInt rank;  /* Rank of owner */
  PetscInt index; /* Index of node on rank */
} PetscSFNode;
Sample Usage#
    PetscSFNode    *remote;
    PetscCall(PetscMalloc1(nleaves,&remote));
    for (i=0; i<size; i++) {
      remote[i].rank = i;
      remote[i].index = rank;
    }
Sample Fortran Usage#
    type(PetscSFNode) remote(6)
    remote(1)%rank  = modulo(rank+size-1,size)
    remote(1)%index = 1 * stride
Notes#
Use  MPIU_SF_NODE when performing MPI operations on arrays of PetscSFNode
Generally the values of rank should be in \([ 0,size)\)  and the value of index greater than or equal to 0, but there are some situations that violate this.
See Also#
Level#
beginner
Location#
Examples#
src/vec/is/sf/tutorials/ex3.c
src/ts/tutorials/ex11_sa.c
src/vec/is/sf/tutorials/ex2.c
src/vec/is/sf/tutorials/ex1.c
src/dm/tutorials/swarm_ex3.c
Index of all PetscSF routines
Table of Contents for all manual pages
Index of all manual pages