← Back to team overview

ffc team mailing list archive

Re: [HG FFC] Remove Form wrapper when compiling an element.

 

Quoting Anders Logg <logg@xxxxxxxxx>:

> On Sat, Mar 14, 2009 at 09:01:05AM +0000, Garth N. Wells wrote:
> >
> >
> > Anders Logg wrote:
> > > On Sat, Mar 14, 2009 at 01:02:37AM +0000, Garth N. Wells wrote:
> > >>
> > >> Anders Logg wrote:
> > >>> On Fri, Mar 13, 2009 at 06:30:33PM +0000, Garth N. Wells wrote:
> > >>>> There seem to have been a number of regressions lately. Compiling
> > >>>> PoissonDG.ufl now gives the error
> > >>>>
> > >>>>    *** 'exterior_facet_integrals'
> > >>> This should be fixed now.
> > >>>
> > >>>> Is this issue also related to uflufcformat.py -> dolfinformat.py?
> > >>> Those to are unrelated.
> > >>>
> > >> There is some relationship between these files and some errors because
> > >> Kristian made fixes in uflufcformat.py which worked, and after some
> > >> commits it seems that dolfinformat.py is being used instead of
> > >> uflufcformat.py
> > >>
> > >> Garth
> > >
> > > I made quite a few changes (simplifications and restructuring) to the
> > > new code generation which broke things, in particular for facet
> > > integrals, but it seems strange that dolfinformat.py should be used.
> > > As far as I can tell it's only being used for compilation of .form
> > > files, not .ufl files.
> > >
> >
> > Kristian made some fixes for .form files in uflufcformat.py
> >
> >    http://www.fenics.org/hg/ffc?cs=fe24d7b3b90a
> >    http://www.fenics.org/hg/ffc?cs=aca7d0ea2e24
> >    http://www.fenics.org/hg/ffc?cs=e2616554bb1f
> >
> > which were then undone at some point. I mimiced the changes in
> > dolfinformat.py which fixed one issue. Should
> >
> >     def _generate_function_space(self, element, classname, element_map):
> >
> > not be in uflufcformat.py? It's confusing that uflufcformat.py has code
> > for writing DOLFIN FunctionSpaces, but other DOLFIN-specific code is in
> >   dolfinformat.py.

The DOLFIN code part in uflufcformat.py is more or less a direct copy of
dolfinformat.py.
It's true that both *.form and *.ufl files used to use the new Format class in
uflufcformat.py, but something broke compilation of *.form files, I don't
remember  exactly what but I think it's because the used elements being stored
in form_data.elements (*.form) and form_data.ffc_elements (*.ufl) and instead
of handling this in the code generator I simply switched back on
dolfinformat.py for *.form files but that obviously did not work out. Sorry for
causing this trouble, I'll look into it tomorrow.

Kristian

> The module dolfinformat.py will be removed once we've done with the
> UFL transition. There will only be one format file which will then be
> named ufcformat.py. The DOLFIN specific stuff will be handled by the
> module dolfin_utils.wrappers (which is part of DOLFIN).
>
> I still haven't gotten so far as to thinking about compilation of
> single elements and function spaces for UFL yet (but Kristian has).
>
> --
> Anders
>




References