petsc-3.7.1 2016-05-15
Report Typos and Errors

# PCModifySubMatrices

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

### Synopsis

    #include "petscksp.h"
    PetscErrorCode  PCModifySubMatrices(PC pc,PetscInt nsub,const IS row[],const IS col[],Mat submat[],void *ctx)

Collective on PC Many br

### Input Parameters

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

### Output Parameter

submat -array of local submatrices (the entries of which may Many brhave been modified) Many br

### Notes

The user should NOT generally call this routine, as it will Many brautomatically be called within certain preconditioners (currently Many brblock Jacobi, additive Schwarz) if set. Many br

The basic submatrices are extracted from the preconditioner matrix Many bras usual; the user can then alter these (for example, to set different Many brboundary conditions for each submatrix) before they are used for the Many brlocal solves. Many br

Many br

### Keywords

PC, modify, submatrices

### See Also

PCSetModifySubMatrices()

Level:developer
Location:src/ksp/pc/interface/precon.c
Index of all PC routines
Table of Contents for all manual pages
Index of all manual pages