# Normal Jump of HCurl on internal interfaces

Hello everybody,

for a problem at hand I need to evaluate the normal term \nu \cdot E for E \in H^{curl}.
More specifically, it is known that solutions of the Maxwell’s equations have tangential continuity on interfaces between different materials, as well as normal continuity if the jump in material parameter is also taken into consideration, i. e.

n_1^2 \nu \cdot E_1 = n_2^2 \nu \cdot E_2.

I need to evaluate a term of the form

\int_\Gamma \lbrack n_1^{-2} - n_2^{-2} \rbrack (n^2 \nu \cdot E) (n^2 \nu \cdot P) ds

where P has equal properties as E.

Therefore my question is either

1. How to compute the above expression on a given internal interface.

or alternatively

1. How to determine which is the master element to a given surface/interface and therefore which part of a gridfunction gfu is used when Integrate( nu * gfu *ds(“interface”), mesh) is evaluated?

I guess “.Other()” is not the way to go for an HCurl gridfunction.

Thanks for any support.

Greetings
Philipp

evaluating the gf on the boundary will only give you the natural (tangential) trace. You need to use BoundaryFromVolumeCF for that. It goes back to the adjacent volume element and evaluates there.
You can steer which adjacent volume element is taken by using a mesh.MaterialCF( {"domain_to_eval" : gfu})
so something like

E1 = BoundaryFromVolumeCF(mesh.MaterialCF( { "domain1" : n1**(-2) * E}))
E2 = BoundaryFromVolumeCF(mesh.MaterialCF( { "domain2" : n2**(-2) * E}))

Integrate((E1-E2) * n, mesh.Boundaries("interface"))


should do the trick

Hello Christopher,