← Back to team overview

ffc team mailing list archive

Re: Status (again)

 

Garth N. Wells wrote:
Anders Logg wrote:
On Thu, Jan 28, 2010 at 09:14:36PM +0100, Marie Rognes wrote:
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.
This sounds good. I think I understand (somewhat) what (2) is supposed
to do, but not (1).

And as Garth suggests, I think a better name is FacetElement. Does a
FacetElement know that it can only be integrated over facets, not the
interior, or can it?


It's possible that it could be integrated over the interior, but
probably not very sensible.

I think that FacetElement is a bit misleading, since what it does is
just take the dofs of a cell that live on the facets. With FacetElement
I think of an element of topological dim 2 embedded in 3D.


Agree.

Besides, the concept is more general than just for facets. The idea is simply
to take the span of a subset of the basis functions, right. Maybe calling
it a restriction is misleading in the first place...

--
Marie



Garth


--
Anders


------------------------------------------------------------------------

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






References