PCSetUp#

Prepares for the use of a preconditioner. Performs all the one-time operations needed before the preconditioner can be used with PCApply()

Synopsis#

#include "petscksp.h" 
PetscErrorCode PCSetUp(PC pc)

Collective

Input Parameter#

  • pc - the PC preconditioner context

Notes#

For example, for PCLU this will compute the factorization.

This is called automatically by KSPSetUp() or PCApply() so rarely needs to be called directly.

For nested preconditioners, such as PCFIELDSPLIT or PCBJACOBI this may not finish the construction of the preconditioner on the inner levels, the routine PCSetUpOnBlocks() may compute more of the preconditioner in those situations.

See Also#

KSP: Linear System Solvers, PC, PCCreate(), PCApply(), PCDestroy(), KSPSetUp(), PCSetUpOnBlocks()

Level#

developer

Location#

src/ksp/pc/interface/precon.c

Examples#

src/ksp/pc/tutorials/ex4.c
src/ksp/ksp/tutorials/bench_kspsolve.c
src/snes/tutorials/ex70.c
src/ksp/ksp/tutorials/ex76.c
src/ksp/ksp/tutorials/ex87.c

Implementations#

PCSetUp_AMGX() in src/ksp/pc/impls/amgx/amgx.cxx
PCSetUp_ASM() in src/ksp/pc/impls/asm/asm.c
PCSetUp_BDDC() in src/ksp/pc/impls/bddc/bddc.c
PCSetUp_BDDCIPC() in src/ksp/pc/impls/bddc/bddc.c
PCSetUp_BJacobi() in src/ksp/pc/impls/bjacobi/bjacobi.c
PCSetUp_BJKOKKOS() in src/ksp/pc/impls/bjacobi/bjkokkos/bjkokkos.kokkos.cxx
PCSetUp_CHOWILUVIENNACL() in src/ksp/pc/impls/chowiluviennacl/chowiluviennacl.cxx
PCSetUp_Composite() in src/ksp/pc/impls/composite/composite.c
PCSetUp_CP() in src/ksp/pc/impls/cp/cp.c
PCSetUp_Deflation() in src/ksp/pc/impls/deflation/deflation.c
PCSetUp_Eisenstat() in src/ksp/pc/impls/eisens/eisen.c
PCSetUp_Cholesky() in src/ksp/pc/impls/factor/cholesky/cholesky.c
PCSetUp_ICC() in src/ksp/pc/impls/factor/icc/icc.c
PCSetUp_ILU() in src/ksp/pc/impls/factor/ilu/ilu.c
PCSetUp_LU() in src/ksp/pc/impls/factor/lu/lu.c
PCSetUp_QR() in src/ksp/pc/impls/factor/qr/qr.c
PCSetUp_FieldSplit() in src/ksp/pc/impls/fieldsplit/fieldsplit.c
PCSetUp_Galerkin() in src/ksp/pc/impls/galerkin/galerkin.c
PCSetUp_GAMG() in src/ksp/pc/impls/gamg/gamg.c
PCSetUp_GASM() in src/ksp/pc/impls/gasm/gasm.c
PCSetUp_H2OPUS() in src/ksp/pc/impls/h2opus/pch2opus.c
PCSetUp_HMG() in src/ksp/pc/impls/hmg/hmg.c
PCSetUp_KSP() in src/ksp/pc/impls/hpddm/pchpddm.cxx
PCSetUp_HPDDMShell() in src/ksp/pc/impls/hpddm/pchpddm.cxx
PCSetUp_HPDDM() in src/ksp/pc/impls/hpddm/pchpddm.cxx
PCSetUp_HYPRE() in src/ksp/pc/impls/hypre/hypre.c
PCSetUp_PFMG() in src/ksp/pc/impls/hypre/hypre.c
PCSetUp_SysPFMG() in src/ksp/pc/impls/hypre/hypre.c
PCSetUp_SMG() in src/ksp/pc/impls/hypre/hypre.c
PCSetUp_NN() in src/ksp/pc/impls/is/nn/nn.c
PCSetUp_Jacobi() in src/ksp/pc/impls/jacobi/jacobi.c
PCSetUp_KSP() in src/ksp/pc/impls/ksp/pcksp.c
PCSetUp_LMVM() in src/ksp/pc/impls/lmvm/lmvmpc.c
PCSetUp_LSC() in src/ksp/pc/impls/lsc/lsc.c
PCSetUp_Mat() in src/ksp/pc/impls/mat/pcmat.c
PCSetUp_MG() in src/ksp/pc/impls/mg/mg.c
PCSetUp_ML() in src/ksp/pc/impls/ml/ml.c
PCSetUp_Seq() in src/ksp/pc/impls/mpi/pcmpi.c
PCSetUp_MPI() in src/ksp/pc/impls/mpi/pcmpi.c
PCSetUp_PARMS() in src/ksp/pc/impls/parms/parms.c
PCSetUp_PATCH() in src/ksp/pc/impls/patch/pcpatch.c
PCSetUp_PBJacobi() in src/ksp/pc/impls/pbjacobi/pbjacobi.c
PCSetUp_Redistribute() in src/ksp/pc/impls/redistribute/redistribute.c
PCSetUp_Redundant() in src/ksp/pc/impls/redundant/redundant.c
PCSetUp_ROWSCALINGVIENNACL() in src/ksp/pc/impls/rowscalingviennacl/rowscalingviennacl.cxx
PCSetUp_SAVIENNACL() in src/ksp/pc/impls/saviennacl/saviennacl.cxx
PCSetUp_Shell() in src/ksp/pc/impls/shell/shellpc.c
PCSetUp_SPAI() in src/ksp/pc/impls/spai/ispai.c
PCSetUp_SVD() in src/ksp/pc/impls/svd/svd.c
PCSetUp_Telescope() in src/ksp/pc/impls/telescope/telescope.c
PCSetUp_TFS() in src/ksp/pc/impls/tfs/tfs.c
PCSetUp_VPBJacobi() in src/ksp/pc/impls/vpbjacobi/vpbjacobi.c
PCSetUp_Exotic() in src/ksp/pc/impls/wb/wb.c


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