← Back to team overview

dolfin team mailing list archive

Re: [HG DOLFIN] merge

 



Anders Logg wrote:
On Fri, Dec 07, 2007 at 01:52:36PM +0100, DOLFIN wrote:
One or more new changesets pushed to the primary dolfin repository.
A short summary of the last three changesets is included below.

changeset:   3463:8951cec821a5d4f6d6f9c983cbcb836fb2c5a1b8
tag:         tip
parent:      3462:b8f73cb2e5a998999fb9a5ac714ebec11890f7a8
parent:      3452:44e94b868ca473f050bf02d606179e0161299d12
user:        "Ola Skavhaug <skavhaug@xxxxxxxxx>"
date:        Fri Dec 07 12:21:11 2007 +0100

A short summary:

1. A new base class GenericSparsityPattern has been added.

2. A new base class LinearAlgebraFactory has been added.

3. Implementations of the factory interface has been added for all
backends (PETSc and uBLAS).

This makes it possible to use different representations of the
sparsity pattern for different backends (Trilinos has its own) but
reuse the same interface.

Also, the factories can be used to propagate the choice of backend to
places where we need to create new matrices or vectors. For example,
in DiscreteFunction we do

  x = new Vector(n);

which ties the implementation of DiscreteFunction to the default
DOLFIN backend. Instead, one can now call the factory() function on
any linear algebra object (like a vector or matrix) and get a
singleton factory that knows how to create matrices and vectors that
use the same backend as the object the factory was taken from.

Altogether, this means that we can now add a backend for Trilinos
(Epetra) and users of DOLFIN can use their own backend (by
implementing wrappers that follow the interfaces GenericMatrix,
GenericVector and GenericSparsityPattern) and use those with DOLFIN.


Nice. Can we expect the merge with PyCC to accelerate now that this issue has been worked out?

Garth




Follow ups

References