PCCOMPOSITE#

Build a preconditioner by composing together several preconditioners

Options Database Keys#

  • -pc_composite_type (multiplicative|additive|symmetric_multiplicative|special) - Sets composite preconditioner type

  • -pc_use_amat (true|false) - 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/ksp/tutorials/ex60.c
src/ksp/ksp/tutorials/ex71.c
src/ksp/pc/tutorials/ex4.c


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