[Dune] Applying an ISTL InverseOperator to multiple right-hand sides
Bård Skaflestad
Bard.Skaflestad at sintef.no
Tue May 4 11:18:49 CEST 2010
Hi Markus,
On Tue, 2010-05-04 at 10:45 +0200, Markus Blatt wrote:
> Hi,
>
> On Mon, May 03, 2010 at 05:52:58PM +0200, Bård Skaflestad wrote:
> >
> > > Hi Bård!
> > >
> > > Assembling the matrix once and then solving for all rhs at once (e.g.
> > > with a BCRSMatrix<ScaledIdMatrix>) may(!) still be faster, because you
> > > get a better cache usage.
> >
> > Hi Oliver,
> >
> > The ScaledIdentityMatrix is indeed a possible solution. I'll
> > investigate its performance characteristics in my case.
>
> While AMG compiles if SuperLU is deactivated, not using a direct solver
> on the coarse level might present a problem concerning convergence.
Indeed. When I started to use Dune I initially tried using the AMG
preconditioner without a direct solver on the coarse level. Let's just
say that the overall convergence in some cases was...underwhelming ;-)
Adding SuperLU to the mix was a real performance booster.
> Therefore one should consider the time to adapt SuperLU to the matrix
> type.
I'll leave that endeavour in your capable hands, but I just wanted to
ask if there is a specific reason you don't support, e.g., UMFPACK as a
coarse-level solver. I consider "no time" a valid reason, by the way.
Cheers,
Bård
More information about the Dune
mailing list