On Mon, Dec 03, 2007 at 04:36:20PM +0100, Johan Jansson wrote: > Garth N. Wells wrote: > > > > > > Johan Jansson wrote: > >> Anders Logg wrote: > >>> On Mon, Dec 03, 2007 at 01:05:51AM +0100, DOLFIN wrote: > >>> > >>> > >>>> changeset: 3430:4fa0790a4fc34d3abac3079644368813a252ac61 > >>>> parent: 3428:7967082310c3ab03df9d812a6f471dcf988e7b4e > >>>> user: "Johan Jansson <[EMAIL PROTECTED]>" > >>>> date: Sun Dec 02 20:17:50 2007 +0100 > >>>> files: src/kernel/ode/MonoAdaptiveJacobian.cpp > >>>> src/kernel/ode/MonoAdaptiveNewtonSolver.cpp src/kernel/ode/ODE.cpp > >>>> src/kernel/ode/TimeSlabJacobian.cpp > >>>> src/kernel/ode/dolfin/MonoAdaptiveJacobian.h > >>>> src/kernel/ode/dolfin/MonoAdaptiveNewtonSolver.h > >>>> src/kernel/ode/dolfin/ODE.h > >>>> src/kernel/ode/dolfin/TimeSlabJacobian.h > >>>> src/kernel/parameter/dolfin/DefaultParameters.h > >>>> description: > >>>> ODE: > >>>> > >>>> Added support for computing the Jacobian as a sparse matrix (only for > >>>> mono-adaptive dG(0) and cG(1) so far, and only for PETSc). > >>>> > >>> Why PETSc? The ODE solvers are tied to uBlas so the vectors won't be > >>> parallel. > >>> > >>> How and when should this be used? Does it change anything in the > >>> computation that the ODE solver does, or is it just a utility function > >>> for computing the Jacobian that a user can call? > >>> > >> Ideally the ODE solver should support both uBlas and PETSc, I think > >> the plan should be to transition to a general implementation if we > >> start to use it more for PDE. PETSc has a higher priority than uBlas > >> though, since that's what we use for large computations (due to > >> efficiency and robustness), and since it's parallel while uBlas is not. > >> > > > > Why don't you try to implement it through the common interface? We'll > > soon have more linear algebra back-ends (e.g. Trilinos). > > > > Garth > Yes, rewriting the ODE solver with the general linear algebra interface > is on my todo-list. If the ODE interface is used more, then the > incentive to do this will increase more (since otherwise we cannot use > it in parallel for instance).
The main problem here will be how to design the interface so it can be used both when component-access is possible (uBlas) and when it is not or very slow (PETSc). The move to uBlas was to allow component-access. -- Anders _______________________________________________ DOLFIN-dev mailing list [email protected] http://www.fenics.org/mailman/listinfo/dolfin-dev
