Skip to content

Commit 466980e

Browse files
committed
more descripting info
1 parent 0548672 commit 466980e

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

gmsh/test_convert.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -308,10 +308,11 @@ def fix_surface_conflicts(dimension, surfaces, pname_map, name_priority):
308308
intersection = all_vertexes.intersection(nset)
309309
if intersection:
310310
for lid, lvertexes in priority_vertexes.items():
311-
if lvertexes.intersection(nset):
311+
tmp = lvertexes.intersection(nset)
312+
if tmp:
312313
hpname = pname_map[lid][1]
313314
#errors += "overlapping elements between priority_name %s and boundary of higher priority %s\n" % (n, hpname)
314-
errors += 'WARNING: boundaries "%s" and "%s" are touching\n' % (n, hpname)
315+
errors += 'WARNING: boundaries "%s" and "%s" are touching at %d nodes\n' % (n, hpname, len(tmp))
315316
priority_vertexes[nid] = nset
316317
all_vertexes |= nset
317318
if errors:
@@ -325,22 +326,29 @@ def fix_surface_conflicts(dimension, surfaces, pname_map, name_priority):
325326
new_surfaces.extend(elements)
326327
continue
327328

329+
other_boundaries = set([])
328330
removed = 0
329331
kept = 0
330332
local_new_elements = []
331333
local_vertexes = set([])
334+
332335
for surface in elements:
333336
nset = set(surface[sl])
334337
if nset.intersection(all_vertexes):
335338
removed += 1
339+
for lid, lvertexes in priority_vertexes.items():
340+
tmp = lvertexes.intersection(nset)
341+
if tmp:
342+
other_boundaries.add('"%s"' % pname_map[lid][1])
336343
else:
337344
kept += 1
338345
local_new_elements.append(surface)
339346
local_vertexes |= nset
340347
new_surfaces.extend(local_new_elements)
341348
all_vertexes |= local_vertexes
349+
priority_vertexes[phys_id] = local_vertexes
342350
if removed > 0:
343-
print('INFO: removed %d/%d elements from generated surface "%s" for overlap with other boundary' % (removed, removed+kept, pname_map[phys_id][1]))
351+
print('INFO: removed %d/%d elements from generated surface "%s" for overlap with %s' % (removed, removed+kept, pname_map[phys_id][1], ", ".join(other_boundaries)))
344352
if kept == 0:
345353
print('INFO: generated surface "%s" removed for 0 elements' % pname_map[phys_id][1])
346354
removed_surfaces.add(phys_id)

0 commit comments

Comments
 (0)