PCHPDDMSetScaling#
Sets a diagonal scaling for supplied deflation vectors and, by default, the fine-level PCASM
Synopsis#
#include "petscpc.h"
PetscErrorCode PCHPDDMSetScaling(PC pc, IS is, Vec scaling)
Logically Collective; scaling must be NULL on all processes or on none
Input Parameters#
pc - preconditioner context
is - index set of the local scaling, or
NULLto use the stored onescaling - local diagonal scaling, or
NULLto remove the stored one and restore the default Boolean scaling before setup
Notes#
The is argument is shared with PCHPDDMSetDeflationMat(). Both routines can be called in any
order before PCSetUp(), and the second call can provide NULL for is.
Setting a scaling sets the default PCASMType of the fine-level PCASM to PC_ASM_WEIGHTED. It can be changed with
-pc_hpddm_levels_1_pc_asm_type, or -pc_hpddm_coarse_pc_asm_type with a single level; the scaling then only applies
to the coarse correction, if any.
Currently, this cannot be used when PCHPDDM generates the second level with PCHPDDMSetAuxiliaryMat().
See Also#
KSP: Linear System Solvers, PCHPDDM, PCHPDDMSetDeflationMat(), PCASMWeightedSetScaling(), PCHPDDMSetCoarseCorrectionType()
Level#
advanced
Location#
Examples#
Implementations#
PCHPDDMSetScaling_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