Recent changes to FIAT (firedrakeproject/fiat#237) appear to have modified the behavior of ufl_element().family() for tensor product elements. Previously, calling:
ufl_elem.family()
on a tensor product element would return:
"TensorProductElement"
This allowed downstream code to detect extruded mesh function spaces via a simple string comparison.
After the update, family() now returns the underlying base element family (e.g. "Discontinuous Lagrange") instead of "TensorProductElement". As a result, code that relies on family() to distinguish tensor product elements no longer works as expected.
Recent changes to FIAT (firedrakeproject/fiat#237) appear to have modified the behavior of
ufl_element().family()for tensor product elements. Previously, calling:ufl_elem.family()on a tensor product element would return:
"TensorProductElement"This allowed downstream code to detect extruded mesh function spaces via a simple string comparison.
After the update,
family()now returns the underlying base element family (e.g."Discontinuous Lagrange") instead of"TensorProductElement". As a result, code that relies onfamily()to distinguish tensor product elements no longer works as expected.