PCHPDDMSetDeflationMat#

Sets the deflation space used to assemble a coarser operator.

Synopsis#

#include "petscpc.h" 
PetscErrorCode PCHPDDMSetDeflationMat(PC pc, IS is, Mat U)

Logically Collective; U must be NULL on all processes or on none

Input Parameters#

  • pc - preconditioner context

  • is - index set of the local deflation matrix, or NULL to use the stored one

  • U - deflation sequential matrix stored as a MATSEQDENSE, or NULL to remove the stored one

Notes#

The is argument is shared with PCHPDDMSetScaling(). Both routines can be called in any order, or only one of them. If is is not NULL, it replaces the stored one, and a stored scaling is kept and must have the same size. If is is NULL, the stored one, which must exist, is used. When U is NULL, is must be NULL too, and the stored one is discarded unless a scaling still uses it; remove the deflation space before PCSetUp(), or call PCReset(), which discards the deflation space, the scaling, and their index set.

See Also#

KSP: Linear System Solvers, PCHPDDM, PCHPDDMSetScaling(), PCDeflationSetSpace(), PCMGSetRestriction()

Level#

advanced

Location#

src/ksp/pc/impls/hpddm/pchpddm.cxx

Examples#

src/ksp/pc/tests/ex16.c

Implementations#

PCHPDDMSetDeflationMat_HPDDM() in src/ksp/pc/impls/hpddm/pchpddm.cxx


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