Neumann BC for plane wave problem

Hi All,

I’m currently looking at a simple curl-curl problem for travelling plane waves, with HCurl basis functions. See attached notebook for a simple example.
My understanding is that I can approach this problem by either setting Dirichlet boundary conditions or by setting Neumann boundary conditions and get very similar solutions.

When I apply Dirichlet boundary conditions, the solution is what I expect, i.e. a plane wave, but when I use Neumann boundary conditions, the solution I get is 0 everywhere. What am I doing wrong here?

Secondly, how is the v.Trace() method defined for HCurl? Does it perform \mathbf{n}\times\mathbf{v} or does it do something else, e.g. \mathbf{n}\times \mathbf{n}\times \mathbf{v} and how is it then stored in terms of the dimensions?

Regards,
James

example.ipynb (6.4 KB)