← Back to team overview

dolfin team mailing list archive

Re: Cleanup of linear algebra

 

On Tue, Aug 08, 2006 at 02:14:36PM +0200, Garth N. Wells wrote:
> 
> 
> Anders Logg wrote:
> > On Tue, Aug 08, 2006 at 10:06:43AM +0200, Garth N. Wells wrote:
> >>
> >> Anders Logg wrote:
> >>> On Tue, Aug 08, 2006 at 09:30:52AM +0200, Johan Hoffman wrote:
> >>>
> >>>> I would be happy to help out, for example with renaming or updating the
> >>>> manual.
> >>> I think Garth is done with the renaming. We just need to agree on
> >>> DenseVector I think. After that, I'll take a look at it again and
> >>> update the class diagram.
> >>>
> >> Just need to sort out uBlasLinearSolver. This is related to how 
> >> preconditioners should handled and the fact that uBlasSparseMatrix is 
> >> derived from uBlasKrylovMatrix (leads to an issue with uBlasLUSolver).
> > 
> > Maybe there should not be a solve for a uBlasKrylovMatrix in
> > uBlasLinearSolver since uBlasKrylovSolver only works with one specific
> > linear solver, namely the uBlasKrylovSolver.
> > 
> > So uBlasLinearSolver should only have an interface for dense and
> > sparse uBlas matrices and all functions should be pure virtual.
> > 
> > Same thing for PETScLinearSolver: only PETScMatrix.
> >
> 
> This would make things nice and super simple as long as it doesn't cause 
> any problems when using virtual matrices (I don't use them, so I'm not 
> in a good position to comment on this). I guess though that when using 
> virtual matrices, you should declare a KrylovSolver and not a 
> LinearSolver, so it should be OK.

Should be ok. I think in general, we should avoid creating interfaces
with functions that are not pure virtual. It leads to a lot of
trouble.

> There is however some functionality 
> for doing LU solves with a PETScKrylovMatrix in PETScLUSolver.

The functionality (copyToDense) etc in PETScLUSolver should be removed
and placed somewhere else. It might be good to be able to convert a
PETScKrylovMatrix to a PETScMatrix, at least for debugging. It's not
used any more in the ODE solvers.

> I'll make the change and see how it goes.

Great.

/Anders


References