Skip to main content
`Ctrl`+`K`

# PCGASM

Use the (restricted) additive Schwarz method, each block is (approximately) solved with its own `KSP` object on a subset of MPI processes

## Options Database Keys

- -pc_gasm_total_subdomains n - Sets total number of local subdomains to be distributed among the MPI processes

- -pc_gasm_view_subdomains - activates the printing of subdomain indices in `PCView()`, -ksp_view or -snes_view

- -pc_gasm_print_subdomains - activates the printing of subdomain indices in `PCSetUp()`

- -pc_gasm_overlap ovl - Sets overlap by which to (automatically) extend local subdomains

- -pc_gasm_type (basic|restrict|interpolate|none) - Sets `PCGASMType`

## Notes

To set options on the solvers for each block append `-sub_` to all the `KSP`, and `PC` options database keys. For example, `-sub_pc_type ilu -sub_pc_factor_levels 1 -sub_ksp_type preonly`

To set the options on the solvers separate for each block call `PCGASMGetSubKSP()` and set the options directly on the resulting `KSP` object (you can access its `PC` with `KSPGetPC()`)

See [DW87] and [SBjorstadG96] for details on additive Schwarz algorithms

## References

[DW87]

Maksymilian Dryja and Olof Widlund. An additive variant of the Schwarz alternating method for the case of many subregions. Ultracomputer Research Laboratory, Univ., Courant Inst. of Mathematical …, 1987.

[SBjorstadG96]

Barry F. Smith, Petter Bjørstad, and William D. Gropp. Domain Decomposition: Parallel Multilevel Methods for Elliptic Partial Differential Equations. Cambridge University Press, 1996. URL: http://www.mcs.anl.gov/~bsmith/ddbook.html.

## See Also

KSP: Linear System Solvers, `PCCreate()`, `PCSetType()`, `PCType`, `PC`, `PCASM`, `PCGASMType`, `PCGASMSetType()`, `PCBJACOBI`, `PCGASMGetSubKSP()`, `PCGASMSetSubdomains()`, `PCSetModifySubMatrices()`, `PCGASMSetOverlap()`, `PCASMSetType()`

## Level

beginner

## Location

src/ksp/pc/impls/gasm/gasm.c

## Examples

src/ksp/ksp/tutorials/ex76.c
src/ksp/ksp/tutorials/ex79.c
src/ksp/ksp/tutorials/ex64.c
src/ksp/ksp/tutorials/ex62.c

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