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 context

  • func - 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#

src/ksp/pc/interface/precon.c


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