Bulk-surface coupling with vector elements

Dear FEniCS community,

I am currently exploring bulk–surface coupling with vector finite elements (H(curl), H(div)) in Fenics/FEniCSx. In the simplest setting this corresponds to a curl–curl problem in the bulk coupled to a surface curl–curl problem on the boundary. From what I can tell, many FEM platforms do not even natively support the simpler case of a coupled Laplace–Beltrami problem, but a tutorial by J. S. Dokken suggested that Fenicsx could be a good fit for multi-dimensional coupling, which gave me hope.

For my problem I need to implement the tangential trace spaces H(curl_Γ) and H(div_Γ) on a curved two-dimensional surface Γ embedded in three dimensions. I would be excited to pursue this if possible and would be glad to share my work as a future contribution to the project, if this interests you.

At the moment, I only have a rough understanding of the internal structure of the multiple Fenics projects that comprise the finite element library. I would greatly appreciate any guidance, pointers, or discussion about this idea, including feasibility, suggested development paths, and any related ongoing work.

Best Julian

Just to clarify, you would like to implement a H-curl space on \Gamma which is the conforming boundary of a 3D domain \Omega? I don’t see any obvious issues with this.
The only thing that comes to mind is to be careful about global orientations, ref this length post:

with code at: Add manifold example with real spaces · Issue #118 · scientificcomputing/scifem · GitHub