[petsc-users] Preconditioners with block matrix

Barry Smith bsmith at petsc.dev
Mon Mar 2 13:53:55 CST 2026



> On Mar 2, 2026, at 8:13 AM, Praveen C <cpraveen at gmail.com> wrote:
> 
> Hello
> 
> I am using PETSc with deal.II. My matrix is defined as PETScWrappers::BlockSparseMatrix which uses MATNEST.
> 
> Is it possible to use PCILU (in serial) or PCHYPRE with such a matrix ?

  Hypre has its own matrix format which we map to using MatConvert(mat, MATHYPRE) so it depends on whether the converter is general enough to convert from Nest. Likely the converter needs to be written (it would be straight  to write such a convert.

  Similarly PCILU is likely hardwired for AIJ and BAIJ so would need a converter.

  In general MatNest is used to capture some nested structure of the matrix. This nested structure is taken advantage of in assembling (building) the matrix and then later in preconditioning the matrix. Hypre and ILU in general do not/cannot take advantage of that structure so are not likely to be the best solvers in general when using MatNest.

  That said, we should provide converters so that you can trivially do what you request.

  Barry

> 
> thanks
> praveen



More information about the petsc-users mailing list