PCCreate#

Creates a preconditioner context, PC

Synopsis#

#include "petscksp.h" 
PetscErrorCode PCCreate(MPI_Comm comm, PC *newpc)

Collective

Input Parameter#

  • comm - MPI communicator

Output Parameter#

  • newpc - location to put the preconditioner context

Note#

The default preconditioner for sparse matrices is PCILU or PCICC with 0 fill on one process and block Jacobi (PCBJACOBI) with PCILU or PCICC in parallel. For dense matrices it is always PCNONE.

See Also#

KSP: Linear System Solvers, PC, PCSetUp(), PCApply(), PCDestroy()

Level#

developer

Location#

src/ksp/pc/interface/precon.c

Examples#

src/ksp/pc/tutorials/ex4.c

Implementations#

PCCreate_AMGX() in src/ksp/pc/impls/amgx/amgx.cxx
PCCreate_ASM() in src/ksp/pc/impls/asm/asm.c
PCCreate_BDDC() in src/ksp/pc/impls/bddc/bddc.c
PCCreate_BJacobi() in src/ksp/pc/impls/bjacobi/bjacobi.c
PCCreate_BJKOKKOS() in src/ksp/pc/impls/bjacobi/bjkokkos/bjkokkos.kokkos.cxx
PCCreate_CHOWILUVIENNACL() in src/ksp/pc/impls/chowiluviennacl/chowiluviennacl.cxx
PCCreate_Composite() in src/ksp/pc/impls/composite/composite.c
PCCreate_CP() in src/ksp/pc/impls/cp/cp.c
PCCreate_Deflation() in src/ksp/pc/impls/deflation/deflation.c
PCCreate_Eisenstat() in src/ksp/pc/impls/eisens/eisen.c
PCCreate_Cholesky() in src/ksp/pc/impls/factor/cholesky/cholesky.c
PCCreate_ICC() in src/ksp/pc/impls/factor/icc/icc.c
PCCreate_ILU() in src/ksp/pc/impls/factor/ilu/ilu.c
PCCreate_LU() in src/ksp/pc/impls/factor/lu/lu.c
PCCreate_QR() in src/ksp/pc/impls/factor/qr/qr.c
PCCreate_FieldSplit() in src/ksp/pc/impls/fieldsplit/fieldsplit.c
PCCreate_Galerkin() in src/ksp/pc/impls/galerkin/galerkin.c
PCCreate_GAMG() in src/ksp/pc/impls/gamg/gamg.c
PCCreate_GASM() in src/ksp/pc/impls/gasm/gasm.c
PCCreate_H2OPUS() in src/ksp/pc/impls/h2opus/pch2opus.c
PCCreate_HMG() in src/ksp/pc/impls/hmg/hmg.c
PCCreate_HPDDM() in src/ksp/pc/impls/hpddm/pchpddm.cxx
PCCreate_HYPRE() in src/ksp/pc/impls/hypre/hypre.c
PCCreate_PFMG() in src/ksp/pc/impls/hypre/hypre.c
PCCreate_SysPFMG() in src/ksp/pc/impls/hypre/hypre.c
PCCreate_SMG() in src/ksp/pc/impls/hypre/hypre.c
PCCreate_NN() in src/ksp/pc/impls/is/nn/nn.c
PCCreate_Jacobi() in src/ksp/pc/impls/jacobi/jacobi.c
PCCreate_Kaczmarz() in src/ksp/pc/impls/kaczmarz/kaczmarz.c
PCCreate_KSP() in src/ksp/pc/impls/ksp/pcksp.c
PCCreate_LMVM() in src/ksp/pc/impls/lmvm/lmvmpc.c
PCCreate_LSC() in src/ksp/pc/impls/lsc/lsc.c
PCCreate_Mat() in src/ksp/pc/impls/mat/pcmat.c
PCCreate_MG() in src/ksp/pc/impls/mg/mg.c
PCCreate_ML() in src/ksp/pc/impls/ml/ml.c
PCCreate_MPI() in src/ksp/pc/impls/mpi/pcmpi.c
PCCreate_None() in src/ksp/pc/impls/none/none.c
PCCreate_PARMS() in src/ksp/pc/impls/parms/parms.c
PCCreate_Patch() in src/ksp/pc/impls/patch/pcpatch.c
PCCreate_PBJacobi() in src/ksp/pc/impls/pbjacobi/pbjacobi.c
PCCreate_Redistribute() in src/ksp/pc/impls/redistribute/redistribute.c
PCCreate_Redundant() in src/ksp/pc/impls/redundant/redundant.c
PCCreate_ROWSCALINGVIENNACL() in src/ksp/pc/impls/rowscalingviennacl/rowscalingviennacl.cxx
PCCreate_SAVIENNACL() in src/ksp/pc/impls/saviennacl/saviennacl.cxx
PCCreate_Shell() in src/ksp/pc/impls/shell/shellpc.c
PCCreate_SOR() in src/ksp/pc/impls/sor/sor.c
PCCreate_SPAI() in src/ksp/pc/impls/spai/ispai.c
PCCreate_SVD() in src/ksp/pc/impls/svd/svd.c
PCCreate_Telescope() in src/ksp/pc/impls/telescope/telescope.c
PCCreate_TFS() in src/ksp/pc/impls/tfs/tfs.c
PCCreate_VPBJacobi() in src/ksp/pc/impls/vpbjacobi/vpbjacobi.c
PCCreate_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