We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 3b10ddf commit 2497adeCopy full SHA for 2497ade
test/finat/test_ufl_elements.py
@@ -0,0 +1,21 @@
1
+import ufl
2
+import finat.ufl
3
+
4
5
+def test_extract_subelement_component():
6
+ cell = ufl.triangle
7
+ domain = ufl.Mesh(finat.ufl.VectorElement(finat.ufl.FiniteElement("Lagrange", cell, 1)))
8
9
+ V = finat.ufl.VectorElement(finat.ufl.FiniteElement("Lagrange", cell, 2))
10
+ Q = finat.ufl.FiniteElement("Lagrange", cell, 1)
11
+ Z = V * Q
12
13
+ space = ufl.FunctionSpace(domain, Z)
14
+ test = ufl.TestFunction(space)
15
16
+ for i in range(3):
17
+ expr = test[i]
18
+ _, multiindex = expr.ufl_operands
19
+ subindex, _ = Z.extract_subelement_component(domain, multiindex)
20
+ sub_elem = Z.sub_elements[subindex]
21
+ assert sub_elem is (Q if i == 2 else V)
0 commit comments