PETSc version 3.17.4
Fix/Edit manual page

# PCType

String with the name of a PETSc preconditioner method.

### Synopsis

    typedef const char* PCType;
    #define PCNONE            "none"
    #define PCJACOBI          "jacobi"
    #define PCSOR             "sor"
    #define PCLU              "lu"
    #define PCQR              "qr"
    #define PCSHELL           "shell"
    #define PCBJACOBI         "bjacobi"
    #define PCMG              "mg"
    #define PCEISENSTAT       "eisenstat"
    #define PCILU             "ilu"
    #define PCICC             "icc"
    #define PCASM             "asm"
    #define PCGASM            "gasm"
    #define PCKSP             "ksp"
    #define PCBJKOKKOS        "bjkokkos"
    #define PCCOMPOSITE       "composite"
    #define PCREDUNDANT       "redundant"
    #define PCSPAI            "spai"
    #define PCNN              "nn"
    #define PCCHOLESKY        "cholesky"
    #define PCPBJACOBI        "pbjacobi"
    #define PCVPBJACOBI       "vpbjacobi"
    #define PCMAT             "mat"
    #define PCHYPRE           "hypre"
    #define PCPARMS           "parms"
    #define PCFIELDSPLIT      "fieldsplit"
    #define PCTFS             "tfs"
    #define PCML              "ml"
    #define PCGALERKIN        "galerkin"
    #define PCEXOTIC          "exotic"
    #define PCCP              "cp"
    #define PCBFBT            "bfbt"
    #define PCLSC             "lsc"
    #define PCPYTHON          "python"
    #define PCPFMG            "pfmg"
    #define PCSYSPFMG         "syspfmg"
    #define PCREDISTRIBUTE    "redistribute"
    #define PCSVD             "svd"
    #define PCGAMG            "gamg"
    #define PCCHOWILUVIENNACL "chowiluviennacl"
    #define PCROWSCALINGVIENNACL "rowscalingviennacl"
    #define PCSAVIENNACL      "saviennacl"
    #define PCBDDC            "bddc"
    #define PCKACZMARZ        "kaczmarz"
    #define PCTELESCOPE       "telescope"
    #define PCPATCH           "patch"
    #define PCLMVM            "lmvm"
    #define PCHMG             "hmg"
    #define PCDEFLATION       "deflation"
    #define PCHPDDM           "hpddm"
    #define PCH2OPUS          "h2opus"

### Notes

Click on the links above to see details on a particular solver

PCRegister() is used to register preconditioners that are then accessible via PCSetType()

### See Also

PCSetType(), PC, PCCreate(), PCRegister(), PCSetFromOptions()

### Level

beginner

### Location

src/ksp/pc/../../../include/petscpctypes.h
Index of all PC routines
Table of Contents for all manual pages
Index of all manual pages