3333 [PytestPyOpenCLArrayContextFactory ,
3434 PytestPytatoPyOpenCLArrayContextFactory ])
3535
36- from grudge import DiscretizationCollection
36+ from grudge import make_discretization_collection
3737
3838import grudge .op as op
3939
4747
4848
4949@pytest .mark .parametrize ("name" , ["interval" , "box2d" , "box3d" ])
50- def test_geometric_factors_regular_refinement (actx_factory , name ):
50+ @pytest .mark .parametrize ("tpe" , [False , True ])
51+ def test_geometric_factors_regular_refinement (actx_factory , name , tpe ):
5152 from grudge .dt_utils import dt_geometric_factors
5253
5354 actx = actx_factory ()
5455
5556 # {{{ cases
5657
58+ from meshmode .mesh import TensorProductElementGroup
59+ group_cls = TensorProductElementGroup if tpe else None
60+
5761 if name == "interval" :
5862 from mesh_data import BoxMeshBuilder
59- builder = BoxMeshBuilder (ambient_dim = 1 )
63+ builder = BoxMeshBuilder (ambient_dim = 1 , group_cls = group_cls )
6064 elif name == "box2d" :
6165 from mesh_data import BoxMeshBuilder
62- builder = BoxMeshBuilder (ambient_dim = 2 )
66+ builder = BoxMeshBuilder (ambient_dim = 2 , group_cls = group_cls )
6367 elif name == "box3d" :
6468 from mesh_data import BoxMeshBuilder
65- builder = BoxMeshBuilder (ambient_dim = 3 )
69+ builder = BoxMeshBuilder (ambient_dim = 3 , group_cls = group_cls )
6670 else :
6771 raise ValueError ("unknown geometry name: %s" % name )
6872
@@ -71,7 +75,7 @@ def test_geometric_factors_regular_refinement(actx_factory, name):
7175 min_factors = []
7276 for resolution in builder .resolutions :
7377 mesh = builder .get_mesh (resolution , builder .mesh_order )
74- dcoll = DiscretizationCollection (actx , mesh , order = builder .order )
78+ dcoll = make_discretization_collection (actx , mesh , order = builder .order )
7579 min_factors .append (
7680 actx .to_numpy (
7781 op .nodal_min (dcoll , "vol" , actx .thaw (dt_geometric_factors (dcoll ))))
@@ -85,7 +89,7 @@ def test_geometric_factors_regular_refinement(actx_factory, name):
8589
8690 # Make sure it works with empty meshes
8791 mesh = builder .get_mesh (0 , builder .mesh_order )
88- dcoll = DiscretizationCollection (actx , mesh , order = builder .order )
92+ dcoll = make_discretization_collection (actx , mesh , order = builder .order )
8993 factors = actx .thaw (dt_geometric_factors (dcoll )) # noqa: F841
9094
9195
@@ -151,19 +155,27 @@ def rhs(x):
151155
152156@pytest .mark .parametrize ("dim" , [1 , 2 ])
153157@pytest .mark .parametrize ("degree" , [2 , 4 ])
154- def test_wave_dt_estimate (actx_factory , dim , degree , visualize = False ):
158+ @pytest .mark .parametrize ("tpe" , [False , True ])
159+ def test_wave_dt_estimate (actx_factory , dim , degree , tpe , visualize = False ):
155160 actx = actx_factory ()
156161
162+ # {{{ cases
163+
164+ from meshmode .mesh import TensorProductElementGroup
165+ group_cls = TensorProductElementGroup if tpe else None
166+
157167 import meshmode .mesh .generation as mgen
158168
159169 a = [0 , 0 , 0 ]
160170 b = [1 , 1 , 1 ]
161171 mesh = mgen .generate_regular_rect_mesh (
162172 a = a [:dim ], b = b [:dim ],
163- nelements_per_axis = (3 ,)* dim )
173+ nelements_per_axis = (3 ,)* dim ,
174+ group_cls = group_cls )
175+
164176 assert mesh .dim == dim
165177
166- dcoll = DiscretizationCollection (actx , mesh , order = degree )
178+ dcoll = make_discretization_collection (actx , mesh , order = degree )
167179
168180 from grudge .models .wave import WeakWaveOperator
169181 wave_op = WeakWaveOperator (dcoll , c = 1 )
0 commit comments