From c4bc1aaea89f2471bd977a3fe5893438308427bc Mon Sep 17 00:00:00 2001 From: Jaewook Lee Date: Wed, 4 Oct 2023 15:48:27 +0200 Subject: [PATCH] unpacking intersection is very slow --- gustaf/io/mixd.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/gustaf/io/mixd.py b/gustaf/io/mixd.py index a7fd5feee..1728dc1bc 100644 --- a/gustaf/io/mixd.py +++ b/gustaf/io/mixd.py @@ -220,10 +220,14 @@ def export( # we modify interface only if there're 2 intersections. if n_inter == 2: - first_inter, second_inter = intersection - dual_id = first_inter if first_inter != i else second_inter + # intersection is always sorted. + # we don't want dual to point to itself + dual_id = 0 if i != intersection[0] else 1 + # get element number and apply fortran's offset, 1 - sub_interface[i] = -int(dual_id // n_subelem_per_elem + 1) + sub_interface[i] = -int( + intersection[dual_id] // n_subelem_per_elem + 1 + ) continue # intersection should be at most 2. Otherwise, it either means