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#

KSP: Linear System Solvers, PCCreate(), PCSetType(), PCType, PC, PCSHELL, PCKSP, PCCompositeSetType(), PCCompositeSpecialSetAlpha(), PCCompositeAddPCType(), PCCompositeGetPC(), PCSetUseAmat(), PCCompositeAddPC(), PCCompositeGetNumberPC()

Level#

intermediate

Location#

src/ksp/pc/impls/composite/composite.c

Examples#

src/ksp/pc/tutorials/ex4.c
src/ksp/ksp/tutorials/ex71.c
src/ksp/ksp/tutorials/ex60.c


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