Hi all,
As the title suggests, I was wondering if anyone knows the correct way to enforce conditions on the derivatives at an interface?
Currently I am enforcing
\frac{1}{\mu_1}\frac{1}{r}\frac{d(rA_1)}{dr} = \frac{1}{\mu_0}\frac{1}{r}\frac{d(rA_2)}{dr} \qquad \text{ on } \Gamma_{left \ interior} \\
as
dAdx = (x[0] * A).dx(0) / x[0]
dvdx = (x[0] * v).dx(0) / x[0]
a += inner(1 / mu1 * dAdx('+'), v('+')) * interfaces(left_interface)\
a += inner(1 / mu0 * dAdx('-'), v('+')) * interfaces(left_interface)
and
\frac{1}{\mu_0}\frac{1}{r}\left(\frac{d(rA_2)}{dr} -\frac{d(rA_3)}{dr}\right) = I \qquad \text{ on } \Gamma_{right\ interior}
as
a += inner(1 / mu0 * dAdx('+'), v('+')) * interfaces(right_interface)\
a += inner(1 / mu0 * dAdx('-'), v('+')) * interfaces(right_interface)
L += inner(fem.Constant(domain, ScalarType(I)), v('+')) * interfaces(right_interface)
Is this the right way to do this?
A full description of the problem and a mwe can be found here. Apologies for the cross posting, I thought simplifying the question might make it easier for someone to answer.
Many thanks in advance,
Katie