Subject: Re: [fenics-dev] Re: New version of FFC

From: Anders Logg <[email-masked]>
Date: Thu, 18 Nov 2004 09:52:24 -0600

Sorry Rob, you'll get this email twice. I pressed the wrong button.

> >- Perhaps we need to create a run-time C-library to speed it up? It's
> >not critical right now, but if we want to have JIT compilation of
> >forms I think we need it.
> >
> Yes -- I'm working on it as part of my collaboration with Kevin.

Good to know.

> >- Can FIAT be responsible of knowing the local-to-global mapping? The
> >name of the finite element is input to the compiler, and I think the
> >output should contain all data necessary to do the assembly, including
> >the local-to-global mapping. That means FFC needs to ask FIAT about
> >the mapping and generate code that contains the mapping in one form or
> >another. (DOLFIN would use this information to build the
> >local-to-global mapping.)
> >
> 
> Yes, it already is (sort of) -- look in dualbasis.py -- it gives which 
> local nodes correspond to the vertices, edges, faces, etc.  You have to 
> couple that with an ordering from the mesh.

ok, I'll take a look.

> The problem comes if you try to do Hermite elements -- you need to know 
> that some of the nodes at vertices are derivatives and others are 
> point-values.  It matters.

I know. But do you agree that FIAT should provide this information?
I don't mean that FIAT should provide the local-to-global mapping all
by itself (in particular since FIAT knows nothing about the mesh), but
I mean that FIAT should provide information that makes it as easy as
possible to compute the local-to-global mapping. To make it concrete:
Given a FIAT finite element, I want FFC to be able to generate a
function that takes as input an element and a local dof and outputs a
global dof.

> >- I have also created a simple wrapper class FiniteElement which makes
> >it possible to pick the type of element by giving a string (the name
> >of the element). I found it convenient to access FIAT this way.
> >Maybe this (or something similar) could also go into FIAT?
> >
> 
> Not sure why it's so important, but would be trivial to do.

Not important, but convenient. At least for me. If it is only
convenient for FFC, then this should stay in FFC.

> >- My last point is perhaps the most important one and that is to put
> >FIAT on fenics.org. A tar.gz tarball is ok if you don't want to put it
> >in CVS (I know you don't).
> >
> 
> So, I've heard back from ACM -- they will own copyright to the old 
> version that I'm publishing, and we are free to license substantial 
> rewrites however we want (LGPL, probably).

Makes me very happy. Can the current version of FIAT (the one I use
with FFC) be considered a substantial enough rewrite to allow you to
put up a LPGL version of FIAT on fenics.org now? A couple of people
wanting to try out FFC have asked me about FIAT.

Maybe you could just create a tarball and put it on fenics.org? Or I
could do it, whatever you prefer.

/Anders