From 455959f8124941708c7d9b2c0bed0f2a80d759c2 Mon Sep 17 00:00:00 2001
From: Alexandru Fikl <alexfikl@gmail.com>
Date: Sun, 28 Jun 2020 22:26:07 -0500
Subject: [PATCH] fix renaming merge issues

---
 meshmode/discretization/visualization.py | 13 ++++++++-----
 test/test_meshmode.py                    | 18 +++++++++---------
 2 files changed, 17 insertions(+), 14 deletions(-)

diff --git a/meshmode/discretization/visualization.py b/meshmode/discretization/visualization.py
index 84056635..032b3418 100644
--- a/meshmode/discretization/visualization.py
+++ b/meshmode/discretization/visualization.py
@@ -77,7 +77,7 @@ def resample_to_numpy(conn, vec):
             and vec.dtype.char == "O"
             and not isinstance(vec, DOFArray)):
         from pytools.obj_array import obj_array_vectorize
-        return obj_array_vectorize(resample_to_numpy, vec)
+        return obj_array_vectorize(lambda x: resample_to_numpy(conn, x), vec)
 
     from numbers import Number
     if isinstance(vec, Number):
@@ -168,9 +168,9 @@ class VTKVisualizer(object):
         if isinstance(grp.mesh_el_group, SimplexElementGroup):
             node_tuples = list(gnitstam(grp.order, grp.dim))
 
-            from modepy.tools import submesh
+            from modepy.tools import simplex_submesh
             el_connectivity = np.array(
-                    submesh(node_tuples),
+                    simplex_submesh(node_tuples),
                     dtype=np.intp)
 
             vtk_cell_type = self.simplex_cell_types[grp.dim]
@@ -296,7 +296,10 @@ class VTKVisualizer(object):
         if abs(self.element_shrink_factor - 1.0) > 1.0e-14:
             node_nr_base = 0
             for vgrp in self.vis_discr.groups:
-                nodes_view = nodes[:, node_nr_base:node_nr_base + vgrp.ndofs]
+                nodes_view = (
+                        nodes[:, node_nr_base:node_nr_base + vgrp.ndofs]
+                        .reshape(nodes.shape[0], vgrp.nelements, vgrp.nunit_dofs))
+
                 el_centers = np.mean(nodes_view, axis=-1)
                 nodes_view[:] = (
                         (self.element_shrink_factor * nodes_view)
@@ -410,7 +413,7 @@ class VTKLagrangeVisualizer(VTKVisualizer):
                     grp.nunit_dofs,
                     grp.nelements * grp.nunit_dofs + 1,
                     grp.nunit_dofs)
-                for grp_offset, grp in enumerate(grp_offsets, self.vis_discr.groups)
+                for grp_offset, grp in zip(grp_offsets, self.vis_discr.groups)
                 ])
 
         from pyvisfile.vtk import DataArray
diff --git a/test/test_meshmode.py b/test/test_meshmode.py
index daadc29d..9b1ec987 100644
--- a/test/test_meshmode.py
+++ b/test/test_meshmode.py
@@ -654,11 +654,11 @@ def test_merge_and_map(ctx_factory, visualize=False):
         from meshmode.discretization import Discretization
         cl_ctx = ctx_factory()
         queue = cl.CommandQueue(cl_ctx)
-
-        discr = Discretization(cl_ctx, mesh3, discr_grp_factory)
+        actx = PyOpenCLArrayContext(queue)
+        discr = Discretization(actx, mesh3, discr_grp_factory)
 
         from meshmode.discretization.visualization import make_visualizer
-        vis = make_visualizer(queue, discr, 3, element_shrink_factor=0.8)
+        vis = make_visualizer(actx, discr, 3, element_shrink_factor=0.8)
         vis.write_vtk_file("merge_and_map.vtu", [])
 
 # }}}
@@ -943,12 +943,13 @@ def test_box_mesh(ctx_factory, visualize=False):
                 PolynomialWarpAndBlendGroupFactory
         cl_ctx = ctx_factory()
         queue = cl.CommandQueue(cl_ctx)
+        actx = PyOpenCLArrayContext(queue)
 
-        discr = Discretization(cl_ctx, mesh,
-                PolynomialWarpAndBlendGroupFactory(1))
+        discr = Discretization(actx, mesh,
+                PolynomialWarpAndBlendGroupFactory(7))
 
         from meshmode.discretization.visualization import make_visualizer
-        vis = make_visualizer(queue, discr, 1)
+        vis = make_visualizer(actx, discr, 7)
         vis.write_vtk_file("box_mesh.vtu", [])
 
 # }}}
@@ -1401,9 +1402,8 @@ def test_mesh_multiple_groups(ctx_factory, ambient_dim, visualize=False):
 
     if visualize:
         group_id = discr.empty(actx, dtype=np.int)
-        for igrp, grp in enumerate(discr.groups):
-            group_id_view = grp.view(group_id)
-            group_id_view.fill(igrp)
+        for igrp, vec in enumerate(group_id):
+            vec.fill(igrp)
 
         from meshmode.discretization.visualization import make_visualizer
         vis = make_visualizer(actx, discr, vis_order=order)
-- 
GitLab