typedef struct _n_PetscSubcomm* PetscSubcomm;Notes: After a call to PetscSubcommSetType(), PetscSubcommSetTypeGeneral(), or PetscSubcommSetFromOptions() one may call
PetscSubcommChild() returns the associated subcommunicator on this process
PetscSubcommContiguousParent() returns a parent communitor but with all child of the same subcommunicator having contiguous rank
PETSC_SUBCOMM_GENERAL - similar to MPI_Comm_split() each process sets the new communicator (color) they will belong to and the order within that communicator
PETSC_SUBCOMM_CONTIGUOUS - each new communicator contains a set of process with contiguous ranks in the original MPI communicator
PETSC_SUBCOMM_INTERLACED - each new communictor contains a set of processes equally far apart in rank from the others in that new communicator
Examaple: Consider a communicator with six processes split into 3 subcommunicators.
PETSC_SUBCOMM_CONTIGUOUS - the first communicator contains rank 0,1 the second rank 2,3 and the third rank 4,5 in the original ordering of the original communicator
PETSC_SUBCOMM_INTERLACED - the first communicator contains rank 0,3, the second 1,4 and the third 2,5
Developer Notes: This is used in objects such as PCREDUNDANT() to manage the subcommunicators on which the redundant computations are performed.
Index of all Sys routines
Table of Contents for all manual pages
Index of all manual pages