← Back to team overview

ffc team mailing list archive

Re: Status (again)

 

Kristian Oelgaard wrote:


2010/1/27 Medhi Nikbakht <m.nikbakht@xxxxxxxxxx>:
On Wed, 2010-01-27 at 15:50 +0100, Marie Rognes wrote:

FFC compilation fails for

    ElementRestriction.ufl

The error message says that "ElementRestriction" is not supported by
FIAT.
How will the restricted elements be implemented? Wouldn't it be better
to support them inside FFC?

There are two types of restrictions supported in UFL (and the old FFC).
1) Restriction onto Measure (like 'dc'), which is what you want.
2) Restriction onto Cell, as for instance restricting a Lagrange element defined on a 'triangle' to its facets.

The third restriction that we might want in the future is restriction onto subdomains possible in UFL but not in FFC.

To implement 1) I think it is enough to just attach the Measure as a member to the fiat_element and the simply look for it in appropriate places when generating the code. That means handle it in FFC.fiatinterface, could that work?

To implement 2) I modified the return value of entity_dofs() and tabulate() accordingly. To do it this way again we will need to make changes in FIAT_NEW.FiniteElement and FFC.MixedElement. I'm not sure it is a good idea to make FIAT_NEW.PolynomialSet aware of restrictions, but I don't know enough about the FIAT internals to back up this claim.



How about adding a class RestrictedElement that contains an element and (based on the restriction) a list of relevant basis function indices, and overrides the methods as FiniteElement/MixedElement?

No need to make FIAT aware of this.

--
Marie


I'm not really sure how to handle the restriction onto subdomains, but it should most likely be implemented in FFC.

Kristian

Mehdi

    QuadratureElement.ufl
    TensorWeightedPoisson.ufl

Running test programs fails for

    P5tet.bin    (Segmentation faults after evaluate_basis(0, ...)

Differences in output

    evaluate_basis*

    FacetIntegrals.out      (missing value in generated code (many))
    SubDomain.out            (missing value in generated code
(tabulate_tensor))


Others:

tabulate_entity_dofs (errors thrown are all wrong. Marie will fix)


--
Marie


_______________________________________________
Mailing list: https://launchpad.net/~ffc
Post to     : ffc@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~ffc
More help   : https://help.launchpad.net/ListHelp


_______________________________________________
Mailing list: https://launchpad.net/~ffc
Post to     : ffc@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~ffc
More help   : https://help.launchpad.net/ListHelp






Follow ups

References