Add optional entity argument to the tabulate method
Thomas Gibson
Branch: mapdes/fiat:entity-argument
Branch: fenics-project/fiat:master
Merged
Merged pull request
Merged in mapdes/fiat/entity-argument (pull request #28)
Merged in mapdes/fiat/entity-argument (pull request #28)
This pull request adds an optional entity argument to the
FiniteElement.tabulate
method. This new argument specifies the sub-entity of the reference cell to tabulate on, for example the cell itself (default) or a particular facet. In general, we expect the coordinates to be in entity-coordinates; i.e. facet coordinates for facet tabulation or cell coordinates for cell tabulation.The entity argument is represented as a pair of the form
(d, i)
, whered
is the dimension of the sub-entity, andi
its corresponding index. For example, the cell has an entity pair (dim, 0). For a reference triangle, there are three facets with entity pairs: (1, 0), (1, 1), and (1, 2).This PR is a first step towards a reliable implementation of the trace element, where facet ids are known and provided by the form compiler. See a draft implementation here. FInAT also relies on this new API.