← Back to team overview

dolfin team mailing list archive

Re: Cleanup of linear algebra

 

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.

/Anders


> > It would be great if we could all look over the design and agree on it
> > so we can finalize it and finish the manual.
> > 
> > In particular, we should look closely on GenericMatrix and
> > GenericVector. Are we completely happy with the current interface?
> > Should we remove something? Or add something? There are some functions
> > like zero(), ident() and nzmax() that we need for assembly but that
> > seem to be very special.
> > 
> > Another thing is the design of preconditioners which is not the same
> > for uBlas and PETSc. Can we fix this?
> > 
> 
> I'll have a crack at this today. I prefer the way it's done for 
> PETScKrylovSolver in which the preconditioner is set when declaring a 
> Krylov solver,
> 
>     PETScKrylovSolver petsc_solver(PETScPreconditioner pc);
>     petsc_solver.solve(A, x ,b);	
> 
> rather than
> 
>     UblasKrylovSolver ublas_solver;
>     ublas_solver.solve(A, x ,b, pc);	
> 
> The second case can be problematic for functions which may use either a 
> direct or Krylov solver.
> 
> > We should also try to make better use of the bugzilla system for
> > assigning tasks. Let's throw everything in there. There are currently
> > 4 open bugs that we need to take care of but there are plenty more
> > we need to fix before the next release.
> > 
> 
> Would be nice if I knew how to use it :)
> 
> >> Although, I seem to have some problems compiling the current dolfin hg
> >> version. Anyone who recognize this? Is there a bug, or do I have some
> >> problem with my linking?
> > 
> > You seem to have an old version of ublas. Try upgrading to the latest
> > version.
> > 
> 
> It would be nice to test for the Boost version, but it's a horrible task 
> with autoconf. We should update the dependencies file.
> 
> Garth
> 
> > /Anders
> > 
> _______________________________________________
> DOLFIN-dev mailing list
> DOLFIN-dev@xxxxxxxxxx
> http://www.fenics.org/mailman/listinfo/dolfin-dev


Follow ups

References