0001-irreducibleint.patch 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. From f55e3339bb478f50e12645547bb1b6495e7f3e77 Mon Sep 17 00:00:00 2001
  2. From: edgar < no @ mail com >
  3. Date: Wed, 27 Sep 2023 23:07:51 +0200
  4. Subject: [RFC PATCH] irreducibleint
  5. ---
  6. python/basix/ufl_wrapper.py | 17 ++++-------------
  7. 1 file changed, 4 insertions(+), 13 deletions(-)
  8. diff --git a/python/basix/ufl_wrapper.py b/python/basix/ufl_wrapper.py
  9. index 860f7355..28701f0b 100644
  10. --- a/python/basix/ufl_wrapper.py
  11. +++ b/python/basix/ufl_wrapper.py
  12. @@ -14,8 +14,6 @@ import typing as _typing
  13. import functools as _functools
  14. # TODO: remove gdim arguments once UFL handles cells better
  15. -# TODO: remove IrreducibleInt once UFL handles element degrees better
  16. -from ufl.algorithms.estimate_degrees import IrreducibleInt as _IrreducibleInt
  17. _nda_f64 = _numpy_typing.NDArray[_numpy.float64]
  18. @@ -53,7 +51,7 @@ class _BasixElementBase(_FiniteElementBase):
  19. """
  20. def __init__(self, repr: str, name: str, cellname: str, value_shape: _typing.Tuple[int, ...],
  21. - degree: _typing.Union[int, _IrreducibleInt] = -1, mapname: _typing.Optional[str] = None,
  22. + degree: int = -1, mapname: _typing.Optional[str] = None,
  23. gdim: _typing.Optional[int] = None):
  24. """Initialise the element."""
  25. super().__init__(name, _ufl.cell.Cell(cellname, gdim), degree, None, value_shape, value_shape)
  26. @@ -327,16 +325,9 @@ class BasixElement(_BasixElementBase):
  27. repr = (f"Basix element ({element.family.name}, {element.cell_type.name}, {element.degree}, "
  28. f"{element.lagrange_variant.name}, {element.dpc_variant.name}, {element.discontinuous})")
  29. - if element.cell_type.name in ["interval", "triangle", "tetrahedron"]:
  30. - super().__init__(
  31. - repr, element.family.name, element.cell_type.name, tuple(element.value_shape), element.degree,
  32. - _map_type_to_string(element.map_type), gdim=gdim)
  33. - else:
  34. - # TODO: remove IrreducibleInt once UFL handles element degrees better
  35. - super().__init__(
  36. - repr, element.family.name, element.cell_type.name, tuple(element.value_shape),
  37. - _IrreducibleInt(element.degree), _map_type_to_string(element.map_type), gdim=gdim)
  38. -
  39. + super().__init__(
  40. + repr, element.family.name, element.cell_type.name, tuple(element.value_shape), element.degree,
  41. + _map_type_to_string(element.map_type), gdim=gdim)
  42. self.element = element
  43. @property
  44. --
  45. 2.42.0