1+ import pytest
12from utils import FiniteElement , LagrangeElement , MixedElement
23
3- import pytest
44from ufl import (
5+ Action ,
6+ Adjoint ,
57 Coefficient ,
8+ Constant ,
9+ FacetNormal ,
610 FunctionSpace ,
11+ Interpolate ,
12+ Matrix ,
13+ Measure ,
714 Mesh ,
815 MeshSequence ,
916 SpatialCoordinate ,
10- Measure ,
11- Constant ,
12- TrialFunction ,
1317 TestFunction ,
14- split ,
15- triangle ,
18+ TrialFunction ,
1619 cos ,
17- inner ,
1820 div ,
19- FacetNormal ,
2021 grad ,
21- Action ,
22- Matrix ,
23- Adjoint ,
24- Interpolate
22+ inner ,
23+ split ,
24+ triangle ,
2525)
26-
2726from ufl .domain import extract_unique_domain
2827from ufl .pullback import contravariant_piola , identity_pullback
2928from ufl .sobolevspace import L2 , HDiv
3029
30+
3131def test_extract_unique_domain ():
3232 cell = triangle
3333 elem0 = LagrangeElement (cell , 1 )
@@ -103,57 +103,57 @@ def test_extract_unique_domain_single_mesh():
103103 """Test domain extraction for standard function spaces on a single mesh."""
104104 cell = triangle
105105 mesh = Mesh (LagrangeElement (cell , 1 , (2 ,)), ufl_id = 200 )
106-
106+
107107 # Test scalar elements
108108 P1 = LagrangeElement (cell , 1 )
109109 V_scalar = FunctionSpace (mesh , P1 )
110110 u_scalar = TrialFunction (V_scalar )
111111 f_scalar = Coefficient (V_scalar )
112-
112+
113113 assert extract_unique_domain (u_scalar ) == mesh
114114 assert extract_unique_domain (f_scalar ) == mesh
115-
115+
116116 P1_vec = LagrangeElement (cell , 1 , (2 ,))
117117 V_vector = FunctionSpace (mesh , P1_vec )
118118 u_vector = TrialFunction (V_vector )
119119 f_vector = Coefficient (V_vector )
120-
120+
121121 assert extract_unique_domain (u_vector ) == mesh
122122 assert extract_unique_domain (f_vector ) == mesh
123-
123+
124124 assert extract_unique_domain (u_vector [0 ]) == mesh
125125 assert extract_unique_domain (u_vector [1 ]) == mesh
126126 assert extract_unique_domain (f_vector [0 ]) == mesh
127127 assert extract_unique_domain (f_vector [1 ]) == mesh
128-
128+
129129 P1_tensor = LagrangeElement (cell , 1 , (2 , 2 ))
130130 V_tensor = FunctionSpace (mesh , P1_tensor )
131131 u_tensor = TrialFunction (V_tensor )
132132 f_tensor = Coefficient (V_tensor )
133-
133+
134134 assert extract_unique_domain (u_tensor ) == mesh
135135 assert extract_unique_domain (f_tensor ) == mesh
136136 assert extract_unique_domain (u_tensor [0 , 0 ]) == mesh
137137 assert extract_unique_domain (u_tensor [1 , 1 ]) == mesh
138138 assert extract_unique_domain (f_tensor [0 , 1 ]) == mesh
139-
139+
140140 x , y = SpatialCoordinate (mesh )
141141 expr1 = u_scalar + f_scalar
142142 expr2 = u_vector [0 ] + x
143143 expr3 = inner (u_vector , f_vector )
144-
144+
145145 assert extract_unique_domain (expr1 ) == mesh
146146 assert extract_unique_domain (expr2 ) == mesh
147147 assert extract_unique_domain (expr3 ) == mesh
148-
148+
149149 # Test forms
150150 dx = Measure ("dx" , mesh )
151151 form = inner (u_scalar , f_scalar ) * dx
152152 assert extract_unique_domain (form ) == mesh
153153
154154
155155def test_extract_unique_domain_mixed_scalar_vector_tensor ():
156- """Test domain extraction for mixed function spaces
156+ """Test domain extraction for mixed function spaces
157157 with scalar, vector, and tensor elements."""
158158 cell = triangle
159159 mesh1 = Mesh (LagrangeElement (cell , 1 , (2 ,)), ufl_id = 400 )
@@ -177,16 +177,16 @@ def test_extract_unique_domain_mixed_scalar_vector_tensor():
177177 assert extract_unique_domain (u_i ) == domain [i ]
178178 for i , f_i in enumerate ((f_scalar , f_vector , f_tensor )):
179179 assert extract_unique_domain (f_i ) == domain [i ]
180-
180+
181181 for i in range (2 ):
182182 assert extract_unique_domain (u_vector [i ]) == mesh2
183183 assert extract_unique_domain (f_vector [i ]) == mesh2
184-
184+
185185 for i in range (2 ):
186186 for j in range (2 ):
187187 assert extract_unique_domain (u_tensor [i , j ]) == mesh3
188188 assert extract_unique_domain (f_tensor [i , j ]) == mesh3
189-
189+
190190 x1 , y1 = SpatialCoordinate (mesh1 )
191191 x2 , y2 = SpatialCoordinate (mesh2 )
192192 x3 , y3 = SpatialCoordinate (mesh3 )
@@ -269,7 +269,7 @@ def test_extract_unique_domain_baseform():
269269
270270 V1 = FunctionSpace (mesh1 , scalar_elem )
271271 V2 = FunctionSpace (mesh2 , scalar_elem )
272-
272+
273273 A = Matrix (V1 , V2 )
274274 assert extract_unique_domain (A ) == mesh1
275275
@@ -298,4 +298,4 @@ def test_extract_unique_domain_baseform():
298298 assert extract_unique_domain (formsum ) is mesh2
299299
300300 two_form = interp * v * dx
301- assert extract_unique_domain (two_form ) is mesh2
301+ assert extract_unique_domain (two_form ) is mesh2
0 commit comments