Subject: [FFC-dev] [HG FFC] - Use UFL repr(finite_element) for finite element string in generated code.

From: [email-masked] (FFC)
Date: Sun, 18 Oct 2009 22:22:27 +0200 (CEST)

One or more new changesets pushed to the primary ffc repository.
A short summary of the last three changesets is included below.

changeset:   1687:2eab0c38053b
tag:         tip
user:        "Garth N. Wells <[email-masked]>"
date:        Sun Oct 18 21:22:19 2009 +0100
files:       ffc/compiler/dofmap.py ffc/fem/createelement.py ffc/fem/finiteelement.py ffc/fem/mixedelement.py ffc/fem/quadratureelement.py test/regression/reference/quadrature/Biharmonic.h test/regression/reference/quadrature/Constant.h test/regression/reference/quadrature/Elasticity.h test/regression/reference/quadrature/ElementRestriction.h test/regression/reference/quadrature/EnergyNorm.h test/regression/reference/quadrature/Equation.h test/regression/reference/quadrature/FacetIntegrals.h test/regression/reference/quadrature/FunctionOperators.h test/regression/reference/quadrature/Heat.h test/regression/reference/quadrature/Mass.h test/regression/reference/quadrature/MetaData.h test/regression/reference/quadrature/MixedMixedElement.h test/regression/reference/quadrature/MixedPoisson.h test/regression/reference/quadrature/NavierStokes.h test/regression/reference/quadrature/NeumannProblem.h test/regression/reference/quadrature/Normals.h test/regression/reference/quadrature/Optimization.h test/regression/reference/quadrature/P5tet.h test/regression/reference/quadrature/P5tri.h test/regression/reference/quadrature/Poisson.h test/regression/reference/quadrature/PoissonDG.h test/regression/reference/quadrature/PoissonSystem.h test/regression/reference/quadrature/QuadratureElement.h test/regression/reference/quadrature/ReactionDiffusion.h test/regression/reference/quadrature/StabilisedStokes.h test/regression/reference/quadrature/Stokes.h test/regression/reference/quadrature/SubDomain.h test/regression/reference/quadrature/SubDomains.h test/regression/reference/quadrature/TensorWeightedPoisson.h test/regression/reference/quadrature/VectorLaplaceGradCurl.h test/regression/reference/tensor/Constant.h test/regression/reference/tensor/Elasticity.h test/regression/reference/tensor/ElementRestriction.h test/regression/reference/tensor/EnergyNorm.h test/regression/reference/tensor/Equation.h test/regression/reference/tensor/Heat.h test/regression/reference/tensor/Mass.h test/regression/reference/tensor/MetaData.h test/regression/reference/tensor/MixedMixedElement.h test/regression/reference/tensor/MixedPoisson.h test/regression/reference/tensor/NavierStokes.h test/regression/reference/tensor/NeumannProblem.h test/regression/reference/tensor/Optimization.h test/regression/reference/tensor/P5tet.h test/regression/reference/tensor/P5tri.h test/regression/reference/tensor/Poisson.h test/regression/reference/tensor/PoissonSystem.h test/regression/reference/tensor/ReactionDiffusion.h test/regression/reference/tensor/StabilisedStokes.h test/regression/reference/tensor/Stokes.h test/regression/reference/tensor/SubDomain.h test/regression/reference/tensor/SubDomains.h test/regression/reference/tensor/VectorLaplaceGradCurl.h test/unit/test.py test/unit/testcreateelement.py
description:
- Use UFL repr(finite_element) for finite element string in generated code.

This fixes an issue with sub-elements in PyDOLFIN.

-Some simplification of the FFC FiniteElement constructor interface.

Quite a bit of code in FFC can probably be simplified by making greater use of UFL.

changeset:   1686:646f70b5637e
user:        "Garth N. Wells <[email-masked]>"
date:        Sun Oct 18 16:36:48 2009 +0100
files:       ffc/compiler/dofmap.py ffc/fem/createelement.py ffc/fem/finiteelement.py
description:
Quick fix for generated element signatures.

Will clean up later tonight.

changeset:   1685:54c50f3f4ef6
user:        Anders Logg <[email-masked]>
date:        Fri Oct 09 14:48:54 2009 +0200
files:       test/unit/test.py
description:
Revert fix, buildbot check implemented.

----------------------------------------------------------------------
For more details, visit http://www.fenics.org/hg/ffc

---

From: "Garth N. Wells" <[email-masked]>
Date: Sun, 18 Oct 2009 21:29:31 +0100

I updated the FFC benchmarks for the change in the signature, but the 
buildbots a failing with lots of

    /// Return the number of exterior facet integrals
    virtual unsigned int num_exterior_facet_integrals() const
    {
      return 0;
    }
-
+
    /// Return the number of interior facet integrals
    virtual unsigned int num_interior_facet_integrals() const
    {
      return 0;
    }

Any ideas what's going on?

Garth

FFC wrote:
> files:       ffc/compiler/dofmap.py ffc/fem/createelement.py ffc/fem/finiteelement.py ffc/fem/mixedelement.py ffc/fem/quadratureelement.py test/regression/reference/quadrature/Biharmonic.h test/regression/reference/quadrature/Constant.h test/regression/reference/quadrature/Elasticity.h test/regression/reference/quadrature/ElementRestriction.h test/regression/reference/quadrature/EnergyNorm.h test/regression/reference/quadrature/Equation.h test/regression/reference/quadrature/FacetIntegrals.h test/regression/reference/quadrature/FunctionOperators.h test/regression/reference/quadrature/Heat.h test/regression/reference/quadrature/Mass.h test/regression/reference/quadrature/MetaData.h test/regression/reference/quadrature/MixedMixedElement.h test/regression/reference/quadrature/MixedPoisson.h test/regression/reference/quadrature/NavierStokes.h test/regression/reference/quadrature/NeumannProblem.h test/regression/reference/quadrature/Normals.h test/regression/reference/quadrature
/Optimization.h test/regression/reference/quadrature/P5tet.h test/regression/reference/quadrature/P5tri.h test/regression/reference/quadrature/Poisson.h test/regression/reference/quadrature/PoissonDG.h test/regression/reference/quadrature/PoissonSystem.h test/regression/reference/quadrature/QuadratureElement.h test/regression/reference/quadrature/ReactionDiffusion.h test/regression/reference/quadrature/StabilisedStokes.h test/regression/reference/quadrature/Stokes.h test/regression/reference/quadrature/SubDomain.h test/regression/reference/quadrature/SubDomains.h test/regression/reference/quadrature/TensorWeightedPoisson.h test/regression/reference/quadrature/VectorLaplaceGradCurl.h test/regression/reference/tensor/Constant.h test/regression/reference/tensor/Elasticity.h test/regression/reference/tensor/ElementRestriction.h test/regression/reference/tensor/EnergyNorm.h test/regression/reference/tensor/Equation.h test/regression/reference/tensor/Heat.h test/regression/referenc
e/tensor/Mass.h test/regression/reference/tensor/MetaData.h test/regression/reference/tensor/MixedMixedElement.h test/regression/reference/tensor/MixedPoisson.h test/regression/reference/tensor/NavierStokes.h test/regression/reference/tensor/NeumannProblem.h test/regression/reference/tensor/Optimization.h test/regression/reference/tensor/P5tet.h test/regression/reference/tensor/P5tri.h test/regression/reference/tensor/Poisson.h test/regression/reference/tensor/PoissonSystem.h test/regression/reference/tensor/ReactionDiffusion.h test/regression/reference/tensor/StabilisedStokes.h test/regression/reference/tensor/Stokes.h test/regression/reference/tensor/SubDomain.h test/regression/reference/tensor/SubDomains.h test/regression/reference/tensor/VectorLaplaceGradCurl.h test/unit/test.py test/unit/testcreateelement.py
> _______________________________________________
> FFC-dev mailing list
> [email-masked]
> http://www.fenics.org/mailman/listinfo/ffc-dev

---

From: Anders Logg <[email-masked]>
Date: Sun, 18 Oct 2009 23:08:32 +0200

I suspect you have an old version of UFC installed. The buildbots use
the latest hg version in which my emacs has probably removed a
trailing whitespace a while ago.

Try updating UFC, then regenerate the references.

--
Anders

---

From: Anders Logg <[email-masked]>
Date: Sun, 18 Oct 2009 23:14:20 +0200

On Sun, Oct 18, 2009 at 10:22:27PM +0200, FFC wrote:
> files:       ffc/compiler/dofmap.py ffc/fem/createelement.py ffc/fem/finiteelement.py ffc/fem/mixedelement.py ffc/fem/quadratureelement.py test/regression/reference/quadrature/Biharmonic.h test/regression/reference/quadrature/Constant.h test/regression/reference/quadrature/Elasticity.h test/regression/reference/quadrature/ElementRestriction.h test/regression/reference/quadrature/EnergyNorm.h test/regression/reference/quadrature/Equation.h test/regression/reference/quadrature/FacetIntegrals.h test/regression/reference/quadrature/FunctionOperators.h test/regression/reference/quadrature/Heat.h test/regression/reference/quadrature/Mass.h test/regression/reference/quadrature/MetaData.h test/regression/reference/quadrature/MixedMixedElement.h test/regression/reference/quadrature/MixedPoisson.h test/regression/reference/quadrature/NavierStokes.h test/regression/reference/quadrature/NeumannProblem.h test/regression/reference/quadrature/Normals.h test/regression/reference/quadrature/Optimization.h test/regression/ref
> erence/quadrature/P5tet.h test/regression/reference/quadrature/P5tri.h test/regression/reference/quadrature/Poisson.h test/regression/reference/quadrature/PoissonDG.h test/regression/reference/quadrature/PoissonSystem.h test/regression/reference/quadrature/QuadratureElement.h test/regression/reference/quadrature/ReactionDiffusion.h test/regression/reference/quadrature/StabilisedStokes.h test/regression/reference/quadrature/Stokes.h test/regression/reference/quadrature/SubDomain.h test/regression/reference/quadrature/SubDomains.h test/regression/reference/quadrature/TensorWeightedPoisson.h test/regression/reference/quadrature/VectorLaplaceGradCurl.h test/regression/reference/tensor/Constant.h test/regression/reference/tensor/Elasticity.h test/regression/reference/tensor/ElementRestriction.h test/regression/reference/tensor/EnergyNorm.h test/regression/reference/tensor/Equation.h test/regression/reference/tensor/Heat.h test/regression/reference/tensor/Mass.h test/regression/reference/tensor/MetaData.h test/reg
> ression/reference/tensor/MixedMixedElement.h test/regression/reference/tensor/MixedPoisson.h test/regression/reference/tensor/NavierStokes.h test/regression/reference/tensor/NeumannProblem.h test/regression/reference/tensor/Optimization.h test/regression/reference/tensor/P5tet.h test/regression/reference/tensor/P5tri.h test/regression/reference/tensor/Poisson.h test/regression/reference/tensor/PoissonSystem.h test/regression/reference/tensor/ReactionDiffusion.h test/regression/reference/tensor/StabilisedStokes.h test/regression/reference/tensor/Stokes.h test/regression/reference/tensor/SubDomain.h test/regression/reference/tensor/SubDomains.h test/regression/reference/tensor/VectorLaplaceGradCurl.h test/unit/test.py test/unit/testcreateelement.py
> description:

I hope we can remove it entirely by moving some stuff into FIAT if
needed. There's really no need for using a wrapper for FIAT elements
in FFC now that the user is not exposed to that interface anyway (the
user sees UFL).

I've added a comment about it here:

https://blueprints.launchpad.net/ffc/+spec/new-fiat-interface

--
Anders

---

From: "Garth N. Wells" <[email-masked]>
Date: Sun, 18 Oct 2009 22:16:09 +0100

> Try updating UFC, then regenerate the references.

Thanks - did the trick. I had versions of the ufc tools in both 
'site-packages' (old) and 'dist-packages'.

Garth