From b1eb9faf21a1e1c3215a0ea164ae05aa0208f768 Mon Sep 17 00:00:00 2001 From: Tom Gustafsson <tom.gustafsson@iki.fi> Date: Fri, 26 Jan 2024 15:03:43 +0200 Subject: [PATCH] optimize the initialization of large tetrahedral tensor mesh --- skfem/mesh/mesh_tet_1.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/skfem/mesh/mesh_tet_1.py b/skfem/mesh/mesh_tet_1.py index 5b855205..a220b845 100644 --- a/skfem/mesh/mesh_tet_1.py +++ b/skfem/mesh/mesh_tet_1.py @@ -381,13 +381,13 @@ def init_tensor(cls: Type, .copy() .flatten()) - T = np.zeros((4, 0)) - T = np.hstack((T, t[[0, 1, 5, 7]])) - T = np.hstack((T, t[[0, 1, 4, 7]])) - T = np.hstack((T, t[[0, 2, 4, 7]])) - T = np.hstack((T, t[[0, 3, 5, 7]])) - T = np.hstack((T, t[[0, 2, 6, 7]])) - T = np.hstack((T, t[[0, 3, 6, 7]])) + T = np.zeros((4, 6 * ne)) + T[:, :ne] = t[[0, 1, 5, 7]] + T[:, ne:(2 * ne)] = t[[0, 1, 4, 7]] + T[:, (2 * ne):(3 * ne)] = t[[0, 2, 4, 7]] + T[:, (3 * ne):(4 * ne)] = t[[0, 3, 5, 7]] + T[:, (4 * ne):(5 * ne)] = t[[0, 2, 6, 7]] + T[:, (5 * ne):] = t[[0, 3, 6, 7]] return cls(p, T.astype(np.int64))