MPIBAIJ and sor

Stephan Kramer s.kramer at
Tue Oct 27 16:00:36 CDT 2009

Barry Smith wrote:
>     Stephan,
>     There is no MatRelax_ for BAIJ matrices and it is only written for  
> SBAIJ (symmetric storage) for block size 1.

Ah ok

>     Most people end up using ILU(0) or ICC(0) for relaxing with block  
> matrices. It converges much better (generally) and takes the same  
> amount of time. The only drawback is that it requires another copy of  
> the matrix (uses more memory) for the "factored" version. Most people  
> are time constrained instead of memory constrained so this is not an  
> issue.

Will give ILU a try then. I'm using this to solve an implicit dg momentum
equation in an ocean model: so basically advection and diffusion terms
  (tensor form) and some coupling between the momentum components due
  to coriolis. In serial I found a significant improvement in
convergence using the block structure (corresponding to dg
elements). We have used both SOR and ILU before for our momentum
  equation, their performance usually didn't differ
much (depending on problem type), sor overall gave a more robust
performance which is why it's our default now. Not sure what the best
choice is in terms of parallel scalability to be honest. Memory usage is a
big concern, dg gives a lot of degrees of freedom (most people just use it
explicitly in fact), so we have a huge matrix.

>     It would not be terribly difficult to add relaxation for BAIJ; it  
> has to be done one block size at a time. What block size do you need,  
> are you interested in writing it?

Typically 3 (triangles in 2 dimensions) or 4 (tets in 3D).  Wouldn't
mind having a look at implementing, will do some experiments with ILU first though.


>     Barry
> On Oct 27, 2009, at 3:28 PM, Stephan Kramer wrote:
>> Hi all,
>> I'm slightly confused by the fact that if I use my BAIJ matrix in  
>> parallel and select the sor preconditioner. it complains about mat- 
>>> ops->relax and mat->ops->pbrelax not being defined. Also I can't  
>> find a MatRelax_MPIBAIJ in src/mat/impls/baij/mpi/mpibaij.c as I  
>> would have expected. Is there no sor type relaxation for parallel  
>> block matrices at all?
>> Cheers
>> Stephan

Stephan Kramer  <s.kramer at>
Applied Modelling and Computation Group,
Department of Earth Science and Engineering,
Imperial College London

More information about the petsc-users mailing list