PCSetModifySubMatrices#
Sets a user-defined routine for modifying the submatrices that arise within certain subdomain-based preconditioners such as PCASM
Synopsis#
#include "petscksp.h"
PetscErrorCode PCSetModifySubMatrices(PC pc, PCModifySubMatricesFn *func, void *ctx)
Logically Collective
Input Parameters#
pc - the
PC
preconditioner contextfunc - routine for modifying the submatrices, see
PCModifySubMatricesFn
ctx - optional user-defined context (may be
NULL
)
Notes#
The basic submatrices are extracted from the matrix used to construct the preconditioner as usual; the user can then alter these (for example, to set different boundary conditions for each submatrix) before they are used for the local solves.
PCSetModifySubMatrices()
MUST be called before KSPSetUp()
and
KSPSolve()
.
A routine set by PCSetModifySubMatrices()
is currently called within
the block Jacobi (PCBJACOBI
) and additive Schwarz (PCASM
)
preconditioners. All other preconditioners ignore this routine.
See Also#
KSP: Linear System Solvers, PC
, PCModifySubMatricesFn
, PCBJACOBI
, PCASM
, PCModifySubMatrices()
Level#
advanced
Location#
Index of all PC routines
Table of Contents for all manual pages
Index of all manual pages