:orphan: # DMPlexIsInterpolated Find out to what extent the `DMPLEX` is topologically interpolated. ## Synopsis ``` #include "petscdmplex.h" PetscErrorCode DMPlexIsInterpolated(DM dm, DMPlexInterpolatedFlag *interpolated) ``` Not Collective ## Input Parameter - ***dm -*** The `DMPLEX` object ## Output Parameter - ***interpolated -*** Flag whether the `DM` is interpolated ## Notes Unlike `DMPlexIsInterpolatedCollective()`, this is NOT collective so the results can be different on different ranks in special cases. However, `DMPlexInterpolate()` guarantees the result is the same on all. Unlike `DMPlexIsInterpolatedCollective()`, this cannot return `DMPLEX_INTERPOLATED_MIXED`. ## Developer Notes Initially, plex->interpolated = `DMPLEX_INTERPOLATED_INVALID`. If plex->interpolated == `DMPLEX_INTERPOLATED_INVALID`, `DMPlexIsInterpolated_Internal()` is called. It checks the actual topology and sets plex->interpolated on each rank separately to one of `DMPLEX_INTERPOLATED_NONE`, `DMPLEX_INTERPOLATED_PARTIAL` or `DMPLEX_INTERPOLATED_FULL`. If plex->interpolated != `DMPLEX_INTERPOLATED_INVALID`, this function just returns plex->interpolated. `DMPlexInterpolate()` sets plex->interpolated = `DMPLEX_INTERPOLATED_FULL`, and DMPlexUninterpolate() sets plex->interpolated = `DMPLEX_INTERPOLATED_NONE`. ## See Also `DMPLEX`, `DMPlexInterpolate()`, `DMPlexIsInterpolatedCollective()` ## Level intermediate ## Location src/dm/impls/plex/plexinterpolate.c ## Implementations DMPlexIsInterpolated_Internal in src/dm/impls/plex/plexinterpolate.c
--- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/dm/impls/plex/plexinterpolate.c) [Index of all DMPlex routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)