I’m currently trying to implement a 2D linear elasticity problem involving two adjacent rectangular domains, each with its own mesh, coupled using the Nitsche method.
\displaystyle \sum_{i \in \{1,2\}}\int_{\Omega_i} \sigma_i : \varepsilon(v_i) - \int_{\Gamma} \{\sigma\} [\![ v ]\!] \cdot n - \int_{\Gamma} [\![ u ]\!] \{ C\varepsilon(v)\} \cdot n + \frac{\omega_0}{h_{\Gamma}}\int_{\Gamma} [\![ u ]\!] [\![ v ]\!] = \int_{\Gamma^n} f \cdot v_2
The challenge I’m facing is how to compute and assemble the Nitsche term along the interface.
From what I understand, the MultiMesh functionality that was available in FEniCS does not yet exist in FEniCSx, and I haven’t found a way to handle mesh coupling across separate meshes. I tried several things, like using mesh.submesh(), but I can’t seem to get to the bottom of the problem.
If anyone has experience with this or any suggestions, I’d really appreciate your help!
We are aiming for non-matching meshes, but I thought it would be a good idea to start with matching meshes. So it seems relevant to consider both approaches.