# PCPFMG
the hypre PFMG multigrid solver 
## Options Database Keys

- ***-pc_pfmg_its <its> -*** number of iterations of PFMG to use as preconditioner
- ***-pc_pfmg_num_pre_relax <steps> -*** number of smoothing steps before coarse grid solve
- ***-pc_pfmg_num_post_relax <steps> -*** number of smoothing steps after coarse grid solve
- ***-pc_pfmg_tol <tol> -*** tolerance of PFMG
- ***-pc_pfmg_relax_type -*** relaxation type for the up and down cycles, one of Jacobi,Weighted-Jacobi,symmetric-Red/Black-Gauss-Seidel,Red/Black-Gauss-Seidel
- ***-pc_pfmg_rap_type -*** type of coarse matrix generation, one of Galerkin,non-Galerkin
- ***-pc_pfmg_skip_relax -*** skip relaxation on certain grids for isotropic problems. This can greatly improve efficiency by eliminating unnecessary relaxations
when the underlying problem is isotropic, one of 0,1





## Notes
This is for CELL-centered descretizations

See `PCSYSPFMG` for a version suitable for systems of PDEs, and `PCSMG`

See `PCHYPRE` for hypre's BoomerAMG algebraic multigrid solver

This must be used with the `MATHYPRESTRUCT` matrix type.

This provides only some of the functionality of PFMG, it supports only one block per process defined by a PETSc `DMDA`.


## See Also
 `PCMG`, `MATHYPRESTRUCT`, `PCHYPRE`, `PCGAMG`, `PCSYSPFMG`, `PCSMG`

## Level
advanced

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/ksp/pc/impls/hypre/hypre.c.html#PCPFMG">src/ksp/pc/impls/hypre/hypre.c</A>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/ksp/pc/impls/hypre/hypre.c)


[Index of all PC routines](index.md)  
[Table of Contents for all manual pages](/docs/manualpages/index.md)  
[Index of all manual pages](/docs/manualpages/singleindex.md)  
