PETSc version 3.17.4
Fix/Edit manual page

# PetscCommGetComm

get an MPI communicator from a PETSc communicator that can be passed off to another package

### Synopsis

    #include "petscsys.h"
    PetscErrorCode  PetscCommGetComm(MPI_Comm comm_in,MPI_Comm *comm_out)

Collective

### Input Parameter

| comm_in | - Input communicator

### Output Parameters

| comm_out | - Output communicator

### Notes

Use PetscCommRestoreComm() to return the communicator when the external package no longer needs it

Certain MPI implementations have MPI_Comm_free() that do not work, thus one can run out of available MPI communicators causing mysterious crashes in the code after running a long time. This routine allows reusing previously obtained MPI communicators that are no longer needed.

### See Also

PetscObjectGetNewTag(), PetscCommGetNewTag(), PetscCommDestroy(), PetscCommRestoreComm()

### Level

developer

### Location

src/sys/objects/tagm.c
Index of all Sys routines
Table of Contents for all manual pages
Index of all manual pages