How to create a ds only on the upper surface in fenicsx

You’ll have to create a meshtags object where you tag that surface. Then you create a surface measure with that meshtags object attached:

ds = ufl.Measure('ds', domain=mesh, subdomain_data=surface_meshtags)

In your weak form, you’d use:

lasersource*testfunction*ds(1)

Assuming you’ve tagged that surface with value 1.

See this post from two hours ago :wink:

2 Likes