Disambiguation of element sub_elements()

Issue #48 new
Martin Sandve Alnæs created an issue

The concept of sub elements is not well defined across all the current element types.

We need to investigate how sub_elements is used in existing code, and eventually redesign a bit in ufl.

Summary of different behaviours:

  • In MixedElement and subclasses each subelement corresponds to different value components.
  • In EnrichedElement sub_elements returns [] even though it contains multiple "children".
  • In RestrictedElement it delegates to return the sub elements of its single child, skipping its own child element.
  • In TensorProductElement it returns sub elements that correspond to factors, not components.

It seems likely that some places in ffc use this function incorrectly.

Comments (2)

  1. Dominic Kempf

    I just recently tripped over TensorProductElements usage of sub_elements and I totally agree that some disambiguition is necessary here. IMO, sub_elements should always refer to value components and different names should be introduced for different usages.

  2. Log in to comment