From bd16b570be822b624f76f197105ba21879272bb8 Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner <inform@tiker.net> Date: Tue, 27 Sep 2016 19:44:12 -0500 Subject: [PATCH] Fix gmsh triangle node ordering (only order 5 was wrong--but I replaced them all) --- meshpy/gmsh_reader.py | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/meshpy/gmsh_reader.py b/meshpy/gmsh_reader.py index 846ba37..0c5020f 100644 --- a/meshpy/gmsh_reader.py +++ b/meshpy/gmsh_reader.py @@ -241,14 +241,27 @@ class GmshTriangularElement(GmshSimplexElementBase): @memoize_method def gmsh_node_tuples(self): - result = [] - for tup in generate_triangle_vertex_tuples(self.order): - result.append(tup) - for tup in generate_triangle_edge_tuples(self.order): - result.append(tup) - for tup in generate_triangle_volume_tuples(self.order): - result.append(tup) - return result + return { + 1: [ + (0, 0), (1, 0), (0, 1), + ], + 2: [ + (0, 0), (2, 0), (0, 2), (1, 0), (1, 1), (0, 1), + ], + 3: [ + (0, 0), (3, 0), (0, 3), (1, 0), (2, 0), (2, 1), (1, 2), (0, 2), + (0, 1), (1, 1), + ], + 4: [ + (0, 0), (4, 0), (0, 4), (1, 0), (2, 0), (3, 0), (3, 1), (2, 2), + (1, 3), (0, 3), (0, 2), (0, 1), (1, 1), (2, 1), (1, 2), + ], + 5: [ + (0, 0), (5, 0), (0, 5), (1, 0), (2, 0), (3, 0), (4, 0), (4, 1), + (3, 2), (2, 3), (1, 4), (0, 4), (0, 3), (0, 2), (0, 1), (1, 1), + (3, 1), (1, 3), (2, 1), (2, 2), (1, 2), + ], + }[self.order] class GmshTetrahedralElement(GmshSimplexElementBase): -- GitLab