Skip to main content
`Ctrl`+`K`

# PCExoticSetType

Sets the type of coarse grid interpolation to use

## Synopsis

    #include "petscdmda.h"
    #include "petscksp.h"
    PetscErrorCode PCExoticSetType(PC pc, PCExoticType type)

Logically Collective

## Input Parameters

- pc - the preconditioner context

- type - either `PC_EXOTIC_FACE` or `PC_EXOTIC_WIREBASKET` (defaults to face)

## Options Database Keys

- -pc_exotic_type (face|wirebasket) - use a coarse grid point for each face, or edge and vertex

## Notes

The face based interpolation has 1 degree of freedom per face and ignores the edge and vertex values completely in the coarse problem. For any seven point stencil the interpolation of a constant on all faces into the interior is that constant.

The wirebasket interpolation has 1 degree of freedom per vertex, per edge and per face. A constant on the subdomain boundary is interpolated as that constant in the interior of the domain.

The coarse grid matrix is obtained via the Galerkin computation \(A_c = R A R^T\), hence if \(A\) is nonsingular \(A_c\) is also nonsingular.

Both interpolations are suitable for only scalar problems.

## See Also

KSP: Linear System Solvers, `PCEXOTIC`, `PCExoticType()`

## Level

intermediate

## Location

src/ksp/pc/impls/wb/wb.c

## Implementations

PCExoticSetType_Exotic() in src/ksp/pc/impls/wb/wb.c

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