Skip to main content
`Ctrl`+`K`

# KSPHPDDMType

Type of Krylov method used by `KSPHPDDM`

## Synopsis

    typedef enum {
      KSP_HPDDM_TYPE_GMRES   = 0,
      KSP_HPDDM_TYPE_BGMRES  = 1,
      KSP_HPDDM_TYPE_CG      = 2,
      KSP_HPDDM_TYPE_BCG     = 3,
      KSP_HPDDM_TYPE_GCRODR  = 4,
      KSP_HPDDM_TYPE_BGCRODR = 5,
      KSP_HPDDM_TYPE_BFBCG   = 6,
      KSP_HPDDM_TYPE_PREONLY = 7
    } KSPHPDDMType;

## Values

- `KSP_HPDDM_TYPE_GMRES` (default) - Generalized Minimal Residual method

- `KSP_HPDDM_TYPE_BGMRES` - block GMRES

- `KSP_HPDDM_TYPE_CG` - Conjugate Gradient

- `KSP_HPDDM_TYPE_BCG` - block CG

- `KSP_HPDDM_TYPE_GCRODR` - Generalized Conjugate Residual method with inner Orthogonalization and Deflated Restarting

- `KSP_HPDDM_TYPE_BGCRODR` - block GCRODR

- `KSP_HPDDM_TYPE_BFBCG` - breakdown-free BCG

- `KSP_HPDDM_TYPE_PREONLY` - apply the preconditioner only

## See Also

KSP: Linear System Solvers, `KSPHPDDM`, `KSPHPDDMSetType()`

## Level

intermediate

## Location

include/petscksp.h

## Examples

src/ksp/ksp/tutorials/ex76.c

## Examples

src/ksp/ksp/tutorials/ex78.c

## Examples

src/ksp/ksp/tutorials/ex76.c
src/ksp/ksp/tutorials/ex78.c

## Examples

src/ksp/ksp/tutorials/ex76.c

## Examples

src/ksp/ksp/tutorials/ex76.c

## Examples

src/ksp/ksp/tutorials/ex76.c
src/ksp/ksp/tutorials/ex78.c

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