petsc-3.10.5 2019-03-28
Report Typos and Errors

# PCCOMPOSITE

Build a preconditioner by composing together several preconditioners

### Options Database Keys

| -pc_composite_type <type: one of multiplicative, additive, symmetric_multiplicative, special> | - Sets composite preconditioner type
| -pc_use_amat | - activates PCSetUseAmat()
| -pc_composite_pcs | - <pc0,pc1,...> list of PCs to compose

### Notes

To use a Krylov method inside the composite preconditioner, set the PCType of one or more inner PCs to be PCKSP. Using a Krylov method inside another Krylov method can be dangerous (you get divergence or the incorrect answer) unless you use KSPFGMRES as the outer Krylov method To use a different operator to construct one of the inner preconditioners first call PCCompositeGetPC(), then call PCSetOperators() on that PC.

### See Also

PCCreate(), PCSetType(), PCType (for list of available types), PC,
PCSHELL, PCKSP, PCCompositeSetType(), PCCompositeSpecialSetAlpha(), PCCompositeAddPC(), PCCompositeGetPC(), PCSetUseAmat()

### Level

intermediate

### Location

src/ksp/pc/impls/composite/composite.c
Index of all PC routines
Table of Contents for all manual pages
Index of all manual pages