Open cmaurini opened 1 month ago
I am suprised that the following: j.interpolate(fem.Expression(ufl.jump(u), V_j.element.interpolation_points()))
doesn’t throw a compilation error, as the jump
operator is not defined at the general interpolation points of any element.
As far as I can recall, there is no specific code path in Expression that would be able to take in two cells (to define a jump). There should be some possibilities to extend this in a similar fashion as what I did with: https://github.com/FEniCS/dolfinx/pull/3062
Yes I was surprised too to see that line compiling.
Should it throw an error? What bother me and the reason why I posted is that it gives a wrong result without throwing any error/warning.
I think it should. Doing interpolation with jump operators are a bit strange in general, as interpolation is usually done from the point of view of one cell.
I am not sure what one would call that operator, and what it should do on exterior facets.
Summarize the issue
I try to interpolate the jump of a DG function on a CR space and I get unexpected results, see the MWE below.
I use the fact the CR function has dofs on facet mid-points, corresponding to integration points on dS with integration degree 1 to obtain the correct reference result.
Am I doing something wrong or there is a bug in the interpolation function?
How to reproduce the bug
See the script below. I use version 0.8.0.
Minimal Example (Python)
Output (Python)
Version
0.8.0
DOLFINx git commit
No response
Installation
No response
Additional information
No response