OCC Missing Part of Boundary

Hi Everyone,

I’ve found that naming a split boundary using occ does not get the whole of the relevant boundary. See my MWE below. Naming the boundary before the split gives the expected behaviour, so it’s not critical.


from netgen.occ import *
from ngsolve import *
from ngsolve.webgui import Draw

base = Rectangle(1, 1).Face()
crack = MoveTo(0, 0.5)
crack = crack.Rectangle(0.3, 0.1).Face()

# Hiermit wir der obere linke rand von base nicht merh erkant
base -= crack  
base.edges.Min(X).name = 'left'

crack.faces.maxh = 0.03
geo = OCCGeometry(Glue([base, crack]), dim=2)
ngmesh = geo.GenerateMesh(grading=0.2)
mesh = Mesh(ngmesh)

V = H1(mesh, order=1)
gfu = GridFunction(V)
gfu.Set(1, definedon=mesh.Boundaries('left'))
Draw(gfu, mesh)

Min/Max only return one edge. you can use something like .edges[X<minx+1e-6] to find all left edges

best Christopher

Hi Christopher,

Thank you for the clarification!

Best, Henry