La multirredes PETSc (como preacondicionador) es bastante madura y se puede usar con cualquiera de los solucionadores KSP (método iterativo de Krylov) en PETSc escribiendo:
-pc_type mg
Sin embargo, esto requiere que tenga alguna forma de generar sus niveles gruesos, como tener cuadrículas estructuradas definidas por objetos PETSc DA, que se volverán gruesos automáticamente.
O, si desea usar multirredes algebraicas del paquete HYPRE, puede usar
-pc_type hypre
O del paquete ML con
-pc_type ml
Estos se descargan durante el proceso de configuración agregando
--download-hypre=1 --download-ml=1
a su línea de comando ./configure.
La parte que se deprecia (por ahora) es el marco DMMG, que está siendo reemplazado por el solucionador FAS SNES (no lineal) y un mejor soporte para manejar discretizaciones multinivel mientras usamos MG o FAS mientras hablamos. El otro reemplazo (para problemas lineales) es
-pc_type gamg -pc_gamg_type sa
Este es un código más nuevo, nativo en PETSc, multirrid algebraico de agregación suavizada altamente escalable.