PCModifySubMatrices

Calls an optional user-defined routine within certain preconditioners if one has been set with PCSetModifySubMarices().

Synopsis

int PCModifySubMatrices(PC pc,int nsub,IS *row,IS *col,Mat *submat,void *ctx)
Collective on PC

Input Parameters

pc - the preconditioner context
nsub - the number of local submatrices
row - an array of index sets that contain the global row numbers that comprise each local submatrix
col - an array of index sets that contain the global column numbers that comprise each local submatrix
submat - array of local submatrices
ctx - optional user-defined context for private data for the user-defined routine (may be null)

Output Parameter

submat -array of local submatrices (the entries of which may have been modified)

Notes

The user should NOT generally call this routine, as it willautomatically be called within certain preconditioners ( currentlyblock Jacobi, additive Schwarz, and block Gauss-Seidel) if set.

The basic submatrices are extracted from the preconditioner matrixas usual; the user can then alter these (for example, to set differentboundary conditions for each submatrix) before they are used for thelocal solves.

Keywords

PC, modify, submatrices

See Also

PCSetModifySubMatrices()

Location: src/pc/interface/precon.c
PC Index
Table of Contents