PCCompositeType#

Determines how two or more preconditioner are composed with the PCType of PCCOMPOSITE

Synopsis#

Values#

  • PC_COMPOSITE_ADDITIVE - results from application of all preconditioners are added together

  • PC_COMPOSITE_MULTIPLICATIVE - preconditioners are applied sequentially to the residual freshly computed after the previous preconditioner application

  • PC_COMPOSITE_SYMMETRIC_MULTIPLICATIVE - preconditioners are applied sequentially to the residual freshly computed from first preconditioner to last and then back (Use only for symmetric matrices and preconditioners)

  • PC_COMPOSITE_SPECIAL - This is very special for a matrix of the form \( \alpha I + R + S\) where the first preconditioner is built from \(\alpha I + S\) and second from \(\alpha I + R\)

  • PC_COMPOSITE_SCHUR - composes the Schur complement of the matrix from two blocks, see PCFIELDSPLIT

  • PC_COMPOSITE_GKB - the generalized Golub-Kahan bidiagonalization preconditioner, see PCFIELDSPLIT

See Also#

Preconditioners, PCCOMPOSITE, PCFIELDSPLIT, PC, PCCompositeSetType(), SNESCompositeType, PCCompositeSpecialSetAlpha()

Level#

beginner

Location#

include/petscpctypes.h

Examples#

src/ksp/ksp/tutorials/ex71.c

Examples#

src/ksp/ksp/tutorials/ex60.c

Examples#

src/ksp/pc/tutorials/ex4.c

Examples#

src/ksp/ksp/tutorials/ex87.c
src/dm/impls/stag/tutorials/ex4.c


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