Subject: Re: [UFL-dev] [FEniCS-dev] Call for ideas in the design of UFL

From: Anders Logg <[email-masked]>
Date: Tue, 6 Nov 2007 22:47:05 +0100

On Mon, Nov 05, 2007 at 08:42:17PM +0100, Martin Sandve Alnæs wrote:
> We've had plans for some time to define a Unified Form Language, which
> is to be the input language for both FFC and SyFi.
> 
> Those who want to participate in the design should join the mailing
> list [email-masked]:
> http://www.fenics.org/wiki/Contact
> 
> We will begin by defining everything we need to include on this page:
> http://www.fenics.org/wiki/UFL
> 
> 
> Some initial thoughts:
> 
> What I think we can quickly agree on is that it should:
> - be a fenics project
> - be a pure Python module

I think we should try to create something which is not Python
specific (if possible). So UFC can be a language specification and
then we provide a reference implementation in Python.

Maybe someone will want to implement it also in C++.

/Anders

> - be very close to the current FFC form language
> - not depend on ffc, syfi, fiat, ginac, ...
> 
> There are some features missing from FFC that we need to add, and
> there might be some small adjustments. Some of the features we need
> may not be handled by all form compiler configurations (f.ex.
> quadrature code can easily handle exp(f), but not the tensor
> representation of FFC or symbolic integration of SyFi).
> 
> Major features I myself need that is missing from the FFC form language:
> - basic functions like exp, ln, pow, sin, cos, ... (this is trivial)
> - differentiation w.r.t. user-defined variables
> - automatic computation of the Jacobi for a nonlinear form
> 
> I've written a prototype with the basics which you can get by:
>   hg clone http://www.fenics.org/hg/dev/ufl
> but remember this is just a prototype.
> 
> (We _may_ consider building the implementation on top of SymPy, which
> will ease the implementation, give access to some more powerful
> symbolic tools, at the cost of a dependency and less control over the
> exact appearance.)
>