:orphan: # PCMGalerkinType Determines if the coarse grid operators are computed via the Galerkin process ## Synopsis ``` typedef enum { PC_MG_GALERKIN_BOTH, PC_MG_GALERKIN_PMAT, PC_MG_GALERKIN_MAT, PC_MG_GALERKIN_NONE, PC_MG_GALERKIN_EXTERNAL } PCMGGalerkinType; ``` ## Values - ***`PC_MG_GALERKIN_PMAT` -*** computes the pmat (matrix from which the preconditioner is built) via the Galerkin process from the finest grid - ***`PC_MG_GALERKIN_MAT` -*** computes the mat (matrix used to apply the operator) via the Galerkin process from the finest grid - ***`PC_MG_GALERKIN_BOTH` -*** computes both the mat and pmat via the Galerkin process (if pmat == mat the construction is only done once - ***`PC_MG_GALERKIN_NONE` -*** neither operator is computed via the Galerkin process, the user must provide the operator ## Note Users should never set `PC_MG_GALERKIN_EXTERNAL`, it is used by `PCHYPRE` and `PCML` ## See Also [](sec_pc), `PCMG`, `PC`, `PCMGSetCycleType()` ## Level beginner ## Location include/petscpctypes.h ## Examples src/ksp/ksp/tutorials/ex35.cxx
src/ksp/ksp/tutorials/ex36.cxx
src/ksp/ksp/tutorials/ex42.c
src/ksp/ksp/tutorials/ex70.c
--- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/include/petscpctypes.h) [Index of all PC routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)