← Back to team overview

dolfin team mailing list archive

Re: Cleanup of linear algebra

 



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. There is however some functionality for doing LU solves with a PETScKrylovMatrix in PETScLUSolver.

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

Garth



/Anders




Follow ups

References