From 74c7702a9393068356ef3aa91f55291ebdcd4a85 Mon Sep 17 00:00:00 2001 From: Leo Collins Date: Fri, 30 Jan 2026 15:38:56 +0000 Subject: [PATCH 1/3] fixes --- FIAT/Sminus.py | 2 +- finat/ufl/elementlist.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/FIAT/Sminus.py b/FIAT/Sminus.py index 862199cb..ed59d85e 100644 --- a/FIAT/Sminus.py +++ b/FIAT/Sminus.py @@ -52,7 +52,7 @@ def __init__(self, ref_el, degree, mapping): flat_el = flatten_reference_cube(ref_el) dim = flat_el.get_spatial_dimension() self.fdim = dim - if dim != 2 or dim != 3: + if dim not in (2, 3): raise Exception("Trimmed serendipity elements only valid for dimensions 2 and 3") flat_topology = flat_el.get_topology() diff --git a/finat/ufl/elementlist.py b/finat/ufl/elementlist.py index 4d7ae92d..c547aaeb 100644 --- a/finat/ufl/elementlist.py +++ b/finat/ufl/elementlist.py @@ -93,7 +93,7 @@ def show_elements(): # Elements not in the periodic table # TODO: Implement generic Tear operator for elements instead of this: -register_element("Brezzi-Douglas-Fortin-Marini", "BDFM", 1, HDiv, "contravariant Piola", (1, None), simplices[1:]) +register_element("Brezzi-Douglas-Fortin-Marini", "BDFM", 1, HDiv, "contravariant Piola", (2, None), simplices[1:]) register_element("Crouzeix-Raviart", "CR", 0, L2, "identity", (1, None), simplices[1:]) register_element("Discontinuous Raviart-Thomas", "DRT", 1, L2, "contravariant Piola", (1, None), simplices[1:]) register_element("Kong-Mulder-Veldhuizen", "KMV", 0, H1, "identity", (1, None), simplices[1:]) From 56733927b6737d42e09ba206c906649eef081844 Mon Sep 17 00:00:00 2001 From: Leo Collins Date: Fri, 30 Jan 2026 15:45:44 +0000 Subject: [PATCH 2/3] bdfm order 2 --- finat/ufl/elementlist.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/finat/ufl/elementlist.py b/finat/ufl/elementlist.py index c547aaeb..1bb3e945 100644 --- a/finat/ufl/elementlist.py +++ b/finat/ufl/elementlist.py @@ -93,7 +93,7 @@ def show_elements(): # Elements not in the periodic table # TODO: Implement generic Tear operator for elements instead of this: -register_element("Brezzi-Douglas-Fortin-Marini", "BDFM", 1, HDiv, "contravariant Piola", (2, None), simplices[1:]) +register_element("Brezzi-Douglas-Fortin-Marini", "BDFM", 1, HDiv, "contravariant Piola", (2, 2), simplices[1:]) register_element("Crouzeix-Raviart", "CR", 0, L2, "identity", (1, None), simplices[1:]) register_element("Discontinuous Raviart-Thomas", "DRT", 1, L2, "contravariant Piola", (1, None), simplices[1:]) register_element("Kong-Mulder-Veldhuizen", "KMV", 0, H1, "identity", (1, None), simplices[1:]) From 72fb0b10155b55f1ef73742b63e0de309022de4e Mon Sep 17 00:00:00 2001 From: Leo Collins Date: Fri, 30 Jan 2026 16:35:48 +0000 Subject: [PATCH 3/3] more fixes --- finat/ufl/elementlist.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/finat/ufl/elementlist.py b/finat/ufl/elementlist.py index 1bb3e945..eb93b207 100644 --- a/finat/ufl/elementlist.py +++ b/finat/ufl/elementlist.py @@ -93,7 +93,7 @@ def show_elements(): # Elements not in the periodic table # TODO: Implement generic Tear operator for elements instead of this: -register_element("Brezzi-Douglas-Fortin-Marini", "BDFM", 1, HDiv, "contravariant Piola", (2, 2), simplices[1:]) +register_element("Brezzi-Douglas-Fortin-Marini", "BDFM", 1, HDiv, "contravariant Piola", (2, 2), ("triangle",)) register_element("Crouzeix-Raviart", "CR", 0, L2, "identity", (1, None), simplices[1:]) register_element("Discontinuous Raviart-Thomas", "DRT", 1, L2, "contravariant Piola", (1, None), simplices[1:]) register_element("Kong-Mulder-Veldhuizen", "KMV", 0, H1, "identity", (1, None), simplices[1:]) @@ -106,7 +106,7 @@ def show_elements(): register_element("Nonconforming Arnold-Winther", "AWnc", 2, HDiv, "double contravariant Piola", (2, 2), ("triangle",)) register_element("Conforming Arnold-Winther", "AWc", 2, HDiv, "double contravariant Piola", (3, None), ("triangle",)) -register_element("Hu-Zhang", "HZ", 2, HDiv, "double contravariant Piola", (3, None), ("triangle")) +register_element("Hu-Zhang", "HZ", 2, HDiv, "double contravariant Piola", (3, None), ("triangle",)) # Zany elements register_element("Bernardi-Raugel", "BR", 1, H1, "contravariant Piola", (1, None), simplices[1:]) @@ -148,7 +148,7 @@ def show_elements(): register_element("Real", "R", 0, HInf, "identity", (0, 0), any_cell + ("TensorProductCell",)) register_element("Undefined", "U", 0, L2, "identity", (0, None), any_cell) register_element("Radau", "Rad", 0, L2, "identity", (0, None), ("interval",)) -register_element("HDiv Trace", "HDivT", 0, L2, "identity", (0, None), any_cell) +register_element("HDiv Trace", "HDivT", 0, L2, "identity", (0, None), (None, *simplices[1:], *cubes[1:], "prism", "pyramid")) # Spectral elements. register_element("Gauss-Legendre", "GL", 0, L2, "identity", (0, None), ("interval",))