PetscSubcomm — PETSc 3.25.4 documentation

Skip to main content
`Ctrl`+`K`

# PetscSubcomm

A decomposition of an MPI communicator into subcommunicators

## Synopsis

    typedef struct _n_PetscSubcomm *PetscSubcomm;

## Sample Usage

           PetscSubcommCreate()
           PetscSubcommSetNumber()
           PetscSubcommSetType(PETSC_SUBCOMM_INTERLACED);
           ccomm = PetscSubcommChild()
           PetscSubcommDestroy()

## Note

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

## Developer Note

This is used in objects such as `PCREDUNDANT` to manage the subcommunicators on which the redundant computations are performed.

## See Also

`PetscSubcommCreate()`, `PetscSubcommSetNumber()`, `PetscSubcommSetType()`, `PetscSubcommView()`, `PetscSubcommSetFromOptions()`, `PetscSubcommType`

## Level

advanced

## Location

include/petscsystypes.h

## Examples

src/ksp/ksp/tutorials/ex73.c

Index of all Sys routines
Table of Contents for all manual pages
Index of all manual pages