← Back to team overview

dolfin team mailing list archive

Re: Evaluating dolfin for use

 

On Fri, 22 Oct 2004 Anders Logg wrote:

> However, we are definitely moving in the direction of using some
> existing linear algebra package, either if someone is willing to
> maintain a linear algebra package as a FEniCS project, or if we just
> create a wrapper in DOLFIN for some existing package. Two things need
> to happen for this to become a reality:
>
> 1. We find a linear algebra package that we like. (Should be actively
> maintained and at least close to becoming a standard.)

Well, I would recommend at least looking at uBLAS,

http://www.boost.org/libs/numeric/ublas/doc/index.htm,

although it does not have the distributed/parallel aspects of PETSc
or POOMA.

One nice thing about ublas is that it can use different storage
implementations for its vectors and matrices.

> 2. Someone has the time to do the job.
>
> The second point is the most critical right now.

:-)

> Just create a subclass of the Matrix
> class and overload the operators that you need.

I am very wary of any matrix library that depends on a virtual interface.

>> iii) Have you considered expression templates or a domain specific
>>       language (eg see boost.spirit's domain specific language for
>>       parser generation)?
>
> Yes we have. I had some plans to do this with the linear algebra
> (making expressions like x = B*y + z possible), but I'm waiting until
> we come to a decision on a strategy for the linear algebra.

uBLAS has this today (as does blitz++, POOMA, MTL).

> One area where we're taking the approach of developing a domain
> specific language is for the evaluation of variational forms. I'm
> currently working on a new project called the FEniCS Form Compiler
> (FFC), which is about creating a language for variational forms and
> generating code (C or C++) for the evaluation of the forms. This will
> be integrated with DOLFIN (in fact, I will add a test example later
> today) and make the assembly in DOLFIN extremely fast, just as fast as
> if you do all the precomputations and optimizations by hand.

Excellent!  It should be possible to achieve a domain specific language
without leaving the c++ world.  Operator overloading can achieve much in  
terms
of arriving at a language that can be implemented as valid c++ syntax.
Look forward to seeing your test example.


Hugo


		
__________________________________
Do you Yahoo!?
Yahoo! Mail Address AutoComplete - You start. We finish.
http://promotions.yahoo.com/new_mail 



Follow ups