Mesh

Hi, everyone! I want to add a square obstacle in the channel. Now, the following code is obviously wrong,

from netgen.geom2d import SplineGeometry
geo = SplineGeometry()
geo.AddRectangle( (0, 0), (40, 10), bcs = (“wall”, “outlet”, “wall”, “inlet”))
geo.AddRectangle((5, 0), (6, 1))
mesh = Mesh( geo.GenerateMesh(maxh=0.6))

Many thanks!
Yongbin Han

Hi Yongbin,

you have to use the leftdomain, rightdomain flag to label your boundaries, e.g.

from ngsolve import *
from netgen.geom2d import SplineGeometry
geo = SplineGeometry()
geo.AddRectangle( (0, 0), (40, 10), bcs = ("wall", "outlet", "wall", "inlet"), leftdomain=1, rightdomain=0)
geo.AddRectangle((5, 0.2), (6, 1), leftdomain=0, rightdomain=1)
mesh = Mesh( geo.GenerateMesh(maxh=0.6))

Secondly, in your code the rectangles have a shared edge, which is not allowed. I refer to this post a solution by adding your geometry edge by edge.

Best
Michael

Hi,mneunteufel, I have now finished this code with your help.
Thank you very much!

Yongbin Han