ISPairToList#
Convert an IS pair encoding an integer map to a list of IS.
Synopsis#
#include "petscis.h"
PetscErrorCode ISPairToList(IS xis, IS yis, PetscInt *listlen, IS **islist)
Collective
Input Parameters#
xis - domain
ISyis - range
IS, the maximum value must be less thanPETSC_MPI_INT_MAX
Output Parameters#
listlen - length of
islistislist - list of
ISs breaking up indices by color
Notes#
Each IS in islist contains the preimage for each index on yis.
The IS in islist are constructed on the subcommunicators of the input IS
pair. Each subcommunicator corresponds to the preimage of some index j – this subcomm
contains exactly the MPI processes that assign some indices i to j. This is essentially the inverse
of ISListToPair().
xis and yis must be of the same length and have congruent communicators.
The resulting IS have subcommunicators in a “deadlock-free” order (see ISListToPair()).
See Also#
IS, ISListToPair()
Level#
developer
Location#
Index of all IS routines
Table of Contents for all manual pages
Index of all manual pages