dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #02943
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).
>
> > 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);
I also like the first version.
There is also another difference between the preconditioners. For
PETSc, you have the option to specify the preconditioner by an enum
variable:
PETScKrylovSolver petsc_solver(PETScPreconditioner::ilu);
but for uBlas, you need to create an instance of
uBlasILUPreconditioner.
Could we unify this in some way?
> 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 :)
Can you log in? You should be able to log in with user name
garth@xxxxxxxxxx. Then just press "Enter a bug report", choose DOLFIN
and write something. We'll work out a policy of how to write the bug
reports/tasks as we go along, but for now it's not so important how
we write the reports.
> >> 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.
It looks difficult to me since I can't find any version numbers in my
uBlas installation. Maybe we can wait until Scons and solve it then?
/Anders
References