PCFieldSplitSchurPreType#
Determines how to precondition a Schur complement arising with the PCType of PCFIELDSPLIT
Synopsis#
Values#
PC_FIELDSPLIT_SCHUR_PRE_SELF- the preconditioner for the Schur complement is generated from the symbolic representation of the Schur complement matrix. The only preconditioners that currently work with this symbolic representation matrix object arePCLSCandPCHPDDMPC_FIELDSPLIT_SCHUR_PRE_SELFP- the preconditioning for the Schur complement is generated from an explicitly-assembled approximation \(Sp = A11 - A10 diag(A00)^{-1} A01\). This is only a good preconditioner when \(diag(A00)\) is a good preconditioner for \(A00\). Optionally, \(A00\) can be lumped before extracting the diagonal using the additional option-fieldsplit_1_mat_schur_complement_ainv_type lumpPC_FIELDSPLIT_SCHUR_PRE_A11- the preconditioner for the Schur complement is generated from \(A11\), not the Schur complement matrixPC_FIELDSPLIT_SCHUR_PRE_USER- the preconditioner for the Schur complement is generated from the user provided matrix (pre argument to this function).PC_FIELDSPLIT_SCHUR_PRE_FULL- the preconditioner for the Schur complement is generated from the exact Schur complement matrix representation computed internally byPCFIELDSPLIT(this is expensive) useful mostly as a test that the Schur complement approach can work for your problem
See Also#
Preconditioners, PCFIELDSPLIT, PCFieldSplitSetSchurPre(), PC
Level#
intermediate
Location#
Examples#
Examples#
src/snes/tutorials/ex70.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