dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #02924
Re: Cleanup of linear algebra
On Mon, Aug 07, 2006 at 03:00:58PM +0200, Garth N. Wells wrote:
>
>
> Anders Logg wrote:
> > I have made a class diagram for the linear algebra classes, which can
> > be found either in doc/manual/{dia,eps}/class-diagram-la.{dia,eps} or
> > at
> >
> > http://home.simula.no/~logg/tmp/class-diagram.eps
> >
>
> Something wrong with this link.
Should be
http://home.simula.no/~logg/tmp/class-diagram-la.eps
> >>From this diagram, it is clear there are some inconsistencies. Here
> > are some suggestions:
> >
> > 1. Rename PETScSparseMatrix --> PETScMatrix since there is only one
> > PETSc matrix.
> >
> > 2. Rename DenseVector --> uBlasVector. DenseVector can be a typedef.
> >
> > 3. Break up LinearSolver in two classes: PETScLinearSolver and
> > uBlasLinearSolver and make both pure virtual interfaces.
> >
> > 4. Rename PETScLU --> PETScLUSolver to make it consistent.
> >
> > 5. Rename VirtualMatrix --> PETScKrylovMatrix to make it consistent
> > with uBlasKrylovMatrix.
> >
> > 6. Rename Preconditioner --> PETScPreconditioner to make it consistent
> > with uBlasPreconditioner.
> >
> > 7. Typedefs for common default types should include the following:
> >
> > Matrix
> > Vector
> >
> > DenseMatrix
> > DenseVector (something that works with DenseMatrix)
> >
> > SparseMatrix
> > SparseVector (something that works with SparseVector)
> >
> > LinearSolver
> > KrylovSolver
> > GMRES
> > LU
> >
> > VirtualMatrix (something that works with KrylovSolver)
> > Preconditioner (something that works with KrylovSolver)
> >
>
> All looks good. Can add
>
> Rename EigenvalueSolver --> PETScEigenvalueSolver.
Agreed.
> > Here's a little list of things I think we should fix before releasing 0.6.2:
> >
> > - Fix the above cleanups
> >
> > - Make sure the linear algebra works nicely in PyDOLFIN
> >
> > - Update the class diagram
> >
> > - Complete the linear algebra chapter in the manual
> >
> > - Add a linear algebra benchmark in src/bench
> >
> > - Add a linear algebra test in src/test
> >
> > - Add a linear algebra demo in src/demo
> >
>
> We should also get everything compiling working with the --disable-petsc
> flag (some demos don't compile at the moment) and remove PETSc-specific
> operations if they're not necessary.
Agreed.
Is it possible to divide the labor among us (Hoffman, Jansson, Logg,
Wells) and fix this quickly?
/Anders
> Garth
>
> > It would be great if we could all help out so everyone agrees on and
> > knows the design of the linear algebra library. We would then have a
> > well functioning and stable linear algebra library that would require
> > little maintenance so we can focus on other things (like porting to
> > the new mesh library).
> >
> > /Anders
> > _______________________________________________
> > DOLFIN-dev mailing list
> > DOLFIN-dev@xxxxxxxxxx
> > http://www.fenics.org/mailman/listinfo/dolfin-dev
>
>
> _______________________________________________
> DOLFIN-dev mailing list
> DOLFIN-dev@xxxxxxxxxx
> http://www.fenics.org/mailman/listinfo/dolfin-dev
Follow ups
References