# [petsc-users] Red-black block Jacobi in PETSc?

Ben Yee bcyee at umich.edu
Tue Aug 29 18:47:14 CDT 2017

```I'm solving a coupled set of equations, so each "block" corresponds to a
set of unknowns for a particular spatial cell.  The matrix is structured
such that all of the unknowns for a given spatial cell have adjacent global
matrix indices (i.e., they're next to each other in the global solution
vector).  Effectively, I want to do red-black Gauss Seidel, but with
blocks.  Alternatively, it's the same as applying block Jacobi for all the
red cells and then applying block Jacobi for all the black cells.

The color of the block is determined from the geometry of the problem which
is stored in various structures in the code I'm working on, independent of
petsc.  (Physically, I generally have a nice 3d cartesian spatial grid and
the coloring is just a checkerboard in that case.)

The reason I want to do this is for research purposes.  I've implemented my
own interpolation matrices for PCMG, and, in my simpler 1d codes and
convergence analyses, I've found that doing a red-black smoothing
significantly improved convergence for my particular problem (though I'm
aware that this generally leads to poor cache efficiency).

On Aug 29, 2017 7:33 PM, "Barry Smith" <bsmith at mcs.anl.gov> wrote:

Ben,

Please explain more what you mean by "a red-black block Jacobi
smoother". What is your matrix structure? What are the blocks? How do you
decide which ones are which color?  Why do you wish to use some a smoother.

Barry

> On Aug 29, 2017, at 6:19 PM, Ben Yee <bcyee at umich.edu> wrote:
>
> Hi,
>
> For the smoother in PCMG, I want to use a red-black block Jacobi
smoother.  Is this available with the existing PETSc options?  If so, how
do I designate which blocks are red and which are black?
>
> If it is not possible, what would be the best way to implement this?
Would I use KSPRICHARDSON+PCSHELL?
>
> Thanks!
>
> --
> Ben Yee
>
> NERS PhD Candidate, University of Michigan
> B.S. Mech. & Nuclear Eng., U.C. Berkeley
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20170829/1ac65210/attachment.html>
```