Suppose
V = FunctionSpace(mesh, 'N1curl', 1)
W = VectorFunctionSpace(mesh, 'Lagrange', 2)
v = TrialFunction(V)
w = TestFunction(W)
or vice versa (v the test function, w the trial). There are a number of circumstances where one wants to include a term like
v * Pi_h(w) * dx
in the bilinear form, where Pi_h denote the projection into the N1curl space using the tangential integrals along the edges.
In 2d this can be done in FEniCS, by introducing a new test function in the N1curl space and using the dS measure to include edge integral terms. In this way, the MITC plate elements can be implemented, for example (details on request).
However in 3d we don't have a measure to integrate over the edges, which are no longer facets. This leads to two questions:
- Is it possible to add terms that are integrals over element edges
in 3D?
- Is it possible to include a projection in the bilinear form by some
other means?
This is crucial for some work we are doing now and we are willing to dig into the code and make modification or additions, but would need some direction on where to look and how to start. So we would be grateful for any suggestions, pointers to other work, or ideas.
For related questions see here and here.