MPIBAIJ and sor
Barry Smith
bsmith at mcs.anl.gov
Tue Oct 27 16:03:46 CDT 2009
As you will already know. Jed corrected me, I was wrong and there
is a relax for BAIJ.
Barry
On Oct 27, 2009, at 4:00 PM, Stephan Kramer wrote:
> 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.
>
> Thanks
> Stephan
>
>> 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 imperial.ac.uk>
> Applied Modelling and Computation Group,
> Department of Earth Science and Engineering,
> Imperial College London
More information about the petsc-users
mailing list