Skip to content

Commit 3d1b6bd

Browse files
committed
fix small bug subm
1 parent 4a0378f commit 3d1b6bd

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

firedrake/mesh.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1505,26 +1505,31 @@ def submesh_map_child_parent(self, source_integral_type, source_subset_points, c
15051505
else:
15061506
_, target_indices_int, source_indices_int = np.intersect1d(subpoints[target.interior_facets.facets], source_subset_points, return_indices=True)
15071507
_, target_indices_ext, source_indices_ext = np.intersect1d(subpoints[target.exterior_facets.facets], source_subset_points, return_indices=True)
1508+
#print(self.comm.rank, "source_subset_points", source_subset_points, flush=True)
1509+
#print(self.comm.rank, "subpoints[target.exterior_facets.facets]", subpoints[target.exterior_facets.facets], flush=True)
15081510
n_int = len(source_indices_int)
15091511
n_ext = len(source_indices_ext)
15101512
n_int_max = self._comm.allreduce(n_int, op=MPI.MAX)
15111513
n_ext_max = self._comm.allreduce(n_ext, op=MPI.MAX)
15121514
if n_int_max > 0:
15131515
assert n_ext_max == 0
1514-
assert n_int == len(source_subset_points)
1516+
assert n_int <= len(source_subset_points)
15151517
target_integral_type = "interior_facet"
15161518
elif n_ext_max > 0:
15171519
assert n_int_max == 0
1518-
assert n_ext == len(source_subset_points)
1520+
assert n_ext <= len(source_subset_points)
15191521
target_integral_type = "exterior_facet"
15201522
else:
15211523
raise RuntimeError("Can not find a map from source to target.")
15221524
if not child_parent_map:
1523-
target_subset_points = np.empty_like(source_subset_points)
15241525
if target_integral_type == "interior_facet":
1525-
target_subset_points[source_indices_int] = target.interior_facets.facets[target_indices_int]
1526+
#target_subset_points = np.empty_like(source_subset_points, shape=(n_int, ))
1527+
#target_subset_points[source_indices_int] = target.interior_facets.facets[target_indices_int]
1528+
target_subset_points = target.interior_facets.facets[target_indices_int]
15261529
elif target_integral_type == "exterior_facet":
1527-
target_subset_points[source_indices_ext] = target.exterior_facets.facets[target_indices_ext]
1530+
#target_subset_points = np.empty_like(source_subset_points, shape=(n_ext, ))
1531+
#target_subset_points[source_indices_ext] = target.exterior_facets.facets[target_indices_ext]
1532+
target_subset_points = target.exterior_facets.facets[target_indices_ext]
15281533
else:
15291534
raise NotImplementedError(f"Not implemented for (source_dim, target_dim, source_integral_type) == ({source_dim}, {target_dim}, {source_integral_type})")
15301535
if child_parent_map:

0 commit comments

Comments
 (0)