petsc-3.12.5 2020-03-29
Report Typos and Errors

KSPSetPCSide

Sets the preconditioning side.

Synopsis

#include "petscksp.h" 
PetscErrorCode  KSPSetPCSide(KSP ksp,PCSide side)
Logically Collective on ksp

Input Parameter

ksp -iterative context obtained from KSPCreate()

Output Parameter

side -the preconditioning side, where side is one of
      PC_LEFT - left preconditioning (default)
      PC_RIGHT - right preconditioning
      PC_SYMMETRIC - symmetric preconditioning

Options Database Keys

-ksp_pc_side <right,left,symmetric> - Notes: Left preconditioning is used by default for most Krylov methods except KSPFGMRES which only supports right preconditioning.

For methods changing the side of the preconditioner changes the norm type that is used, see KSPSetNormType().

Symmetric preconditioning is currently available only for the KSPQCG method. Note, however, that symmetric preconditioning can be emulated by using either right or left preconditioning and a pre or post processing step.

Setting the PC side often affects the default norm type. See KSPSetNormType() for details.

See Also

KSPGetPCSide(), KSPSetNormType(), KSPGetNormType(), KSP

Level

intermediate

Location

src/ksp/ksp/interface/itfunc.c
Index of all KSP routines
Table of Contents for all manual pages
Index of all manual pages