Hello everyone,
so, the last time I solve a problem with multiple trial functions was with fenics 2018 or so, and back then my domain was quite nice, so I am not really sure how to approach this problem in fenicsx.
Consider the following domains:
\Omega_1 := [0,1]
\Omega_2 := [0, \frac{1}{3}] \cup [\frac{2}{3}, 1]
\Omega_3 := \Omega_2 \times [0,1]
Now, I have the following functions:
u_a, u_b: \Omega_1 \rightarrow \mathbb{R}
u_c: \Omega_2 \rightarrow \mathbb{R}
u_d: \Omega_3 \rightarrow \mathbb{R}
The PDEs are (more or less) heat equations, but some of them coupled. For example:
\partial_t u_a = - \nabla \cdot (D_a \nabla u_a + D_b \nabla u_b ) + f
with some diffusion coefficients D and an additional term f. To make things easier we can ignore the time derivative and pretend the equation to be a couple Poisson equation.
Further, u_d is coupled with the other functions via (Neumann) boundary conditions, e.g.
D_d u_d \cdot \nu = c u_c on the boundary \Omega_2 \times \{ 0 \} \subset \partial \Omega_3
with \nu the normal vector and some coefficient c.
Now, to be honest I am a little bit lost how to approach this in fenicsx. I guess that I would need to define three different FunctionSpace
s for each domain, correct? But then? In earlier versions there was something like MixedElement
or MixedFunctionSpace
, but they seem to have been removed. And how would I implement the coupled boundary conditions?
I am thankful for any advice.
Best regards,
welahi