From 8165c14734dd6ff60064d6b0814b3de8fe1f6be6 Mon Sep 17 00:00:00 2001 From: Alexandru Fikl Date: Mon, 3 Jan 2022 09:32:06 -0600 Subject: [PATCH 1/2] use space_for_shape instead of _modepy_space constructor --- meshmode/discretization/visualization.py | 4 +++- meshmode/mesh/refinement/tessellate.py | 13 ++++++++----- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/meshmode/discretization/visualization.py b/meshmode/discretization/visualization.py index e41e997be..7421b241d 100644 --- a/meshmode/discretization/visualization.py +++ b/meshmode/discretization/visualization.py @@ -301,7 +301,9 @@ def connectivity_for_element_group(self, grp): if isinstance(grp.mesh_el_group, _ModepyElementGroup): shape = grp.mesh_el_group._modepy_shape - space = type(grp.mesh_el_group._modepy_space)(grp.dim, grp.order) + space = mp.space_for_shape(shape, grp.order) + assert type(space) == type(grp.mesh_el_group._modepy_space) # noqa: E721 + node_tuples = mp.node_tuples_for_space(space) el_connectivity = np.array( diff --git a/meshmode/mesh/refinement/tessellate.py b/meshmode/mesh/refinement/tessellate.py index 5dbfb2545..d59cbb52e 100644 --- a/meshmode/mesh/refinement/tessellate.py +++ b/meshmode/mesh/refinement/tessellate.py @@ -184,7 +184,8 @@ def _get_ref_midpoints(shape, ref_vertices): # {{{ modepy.shape tessellation and resampling @get_group_midpoints.register(_ModepyElementGroup) -def _(meg: _ModepyElementGroup, el_tess_info, elements): +def _get_group_midpoints_modepy( + meg: _ModepyElementGroup, el_tess_info, elements): shape = meg._modepy_shape space = meg._modepy_space @@ -204,7 +205,8 @@ def _(meg: _ModepyElementGroup, el_tess_info, elements): @get_group_tessellated_nodes.register(_ModepyElementGroup) -def _(meg: _ModepyElementGroup, el_tess_info, elements): +def _get_group_tessellated_nodes_modepy( + meg: _ModepyElementGroup, el_tess_info, elements): shape = meg._modepy_shape space = meg._modepy_space @@ -233,15 +235,16 @@ def _(meg: _ModepyElementGroup, el_tess_info, elements): @get_group_tessellation_info.register(_ModepyElementGroup) -def _(meg: _ModepyElementGroup): +def _get_group_tessellation_info_modepy(meg: _ModepyElementGroup): shape = meg._modepy_shape - space = type(meg._modepy_space)(meg.dim, 2) + space = mp.space_for_shape(shape, 2) + assert type(space) == type(meg._modepy_space) # noqa: E721 ref_vertices = mp.node_tuples_for_space(space) ref_vertices_to_index = {rv: i for i, rv in enumerate(ref_vertices)} from pytools import add_tuples - space = type(meg._modepy_space)(meg.dim, 1) + space = mp.space_for_shape(shape, 1) orig_vertices = tuple([ add_tuples(vt, vt) for vt in mp.node_tuples_for_space(space) ]) From 2c5310c7e4df201efd99387a5592b1074674560d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20Kl=C3=B6ckner?= Date: Wed, 12 Jan 2022 18:33:18 -0600 Subject: [PATCH 2/2] Add a space type assert to order-1 space in tesselation, too --- meshmode/mesh/refinement/tessellate.py | 1 + 1 file changed, 1 insertion(+) diff --git a/meshmode/mesh/refinement/tessellate.py b/meshmode/mesh/refinement/tessellate.py index d59cbb52e..a5a180e1d 100644 --- a/meshmode/mesh/refinement/tessellate.py +++ b/meshmode/mesh/refinement/tessellate.py @@ -245,6 +245,7 @@ def _get_group_tessellation_info_modepy(meg: _ModepyElementGroup): from pytools import add_tuples space = mp.space_for_shape(shape, 1) + assert type(space) == type(meg._modepy_space) # noqa: E721 orig_vertices = tuple([ add_tuples(vt, vt) for vt in mp.node_tuples_for_space(space) ])