Hi Emilio4d46,
BoundaryFromVolumeCF(u) does not give you the normal derivative of u. It is used for discontinuous functions to evaluate them at boundaries. Thus, your integrand always cancels out to 0.
With
Code:
n = specialcf.normal(2)
us_n = BoundaryFromVolumeCF(Grad(u_s)*n)
ecomp = exp(-1j*omega_0*(cos(r)*x + sin(r)*y))
ecomp_n = CoefficientFunction((ecomp.Diff(x),ecomp.Diff(y)))*n
I get non-zero values for your code. However, you have to be careful with normal derivatives at boundaries. By replacing BoundaryFromVolumeCF(Grad(u_s)*n) with Grad(u_s)*n I get different results, as the normal derivative has a jump over the boundary. So I'm not sure if the above code does 100% what you would like to have.
Best,
Michael