From 76587445072cc4dbf5e48d5bb2b3fdafc1a8c9ed Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner Date: Wed, 8 Jul 2020 18:39:09 -0500 Subject: [PATCH] A little bit of work towards supporting order 0 --- meshmode/discretization/poly_element.py | 6 +++++- meshmode/mesh/generation.py | 3 +++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/meshmode/discretization/poly_element.py b/meshmode/discretization/poly_element.py index 91fccdf6..d0f3823c 100644 --- a/meshmode/discretization/poly_element.py +++ b/meshmode/discretization/poly_element.py @@ -212,7 +212,11 @@ class PolynomialWarpAndBlendElementGroup(_MassMatrixQuadratureElementGroup): @memoize_method def unit_nodes(self): dim = self.mesh_el_group.dim - result = mp.warp_and_blend_nodes(dim, self.order) + if self.order == 0: + result = mp.warp_and_blend_nodes(dim, 1) + result = np.mean(result, axis=1).reshape(-1, 1) + else: + result = mp.warp_and_blend_nodes(dim, self.order) dim2, nunit_nodes = result.shape assert dim2 == dim diff --git a/meshmode/mesh/generation.py b/meshmode/mesh/generation.py index c4bf2608..c524292c 100644 --- a/meshmode/mesh/generation.py +++ b/meshmode/mesh/generation.py @@ -321,6 +321,9 @@ def make_group_from_vertices(vertices, vertex_indices, order, group_factory = SimplexElementGroup if issubclass(group_factory, SimplexElementGroup): + if order < 1: + raise ValueError("can't represent simplices with mesh order < 1") + el_origins = el_vertices[:, :, 0][:, :, np.newaxis] # ambient_dim, nelements, nspan_vectors spanning_vectors = ( -- GitLab