:orphan:
# PCGASMSetType
Sets the type of restriction and interpolation used for local problems in the `PCGASM` additive Schwarz method.
## Synopsis
```
#include "petscpc.h"
PetscErrorCode PCGASMSetType(PC pc, PCGASMType type)
```
Logically Collective
## Input Parameters
- ***pc -*** the preconditioner context
- ***type -*** variant of `PCGASM`, one of
```none
`PC_GASM_BASIC` - full interpolation and restriction
`PC_GASM_RESTRICT` - full restriction, local MPI rank interpolation
`PC_GASM_INTERPOLATE` - full interpolation, local MPI rank restriction
`PC_GASM_NONE` - local MPI rank restriction and interpolation
```
## Options Database Key
- ***-pc_gasm_type [basic,restrict,interpolate,none] -*** Sets `PCGASM` type
## See Also
`PCGASM`, `PCGASMSetSubdomains()`, `PCGASMGetSubKSP()`,
`PCGASMCreateSubdomains2D()`, `PCASM`, `PCASMSetType()`
## Level
intermediate
## Location
src/ksp/pc/impls/gasm/gasm.c
## Implementations
PCGASMSetType_GASM in src/ksp/pc/impls/gasm/gasm.c
---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/ksp/pc/impls/gasm/gasm.c)
[Index of all PC routines](index.md)
[Table of Contents for all manual pages](/manualpages/index.md)
[Index of all manual pages](/manualpages/singleindex.md)