Is it possible to use test and trial functions from two different function spaces (defined over two different meshes) in a single weak form? Under what conditions can I do this (eg., each term in the form has functions belonging to only one of the spaces)?
Essentially, I need this to model heat transfer in a block with a channel passing through it - the block is solid and the channel has water flowing through it. The solid domain and fluid domain are two different meshes. Basically I need to implement two equations like
$$ \int_L \mathbf{u}.\nabla T_l \,\tilde{T_l} + \alpha_l\int_L \nabla T_l. \nabla \tilde{T_l} + \frac{\alpha_l}{k_l} \int_{\Gamma_w} h(T_l - T_s) \tilde{T_l} = 0 $$
$$ \alpha_s\int_S \nabla T_s. \nabla \tilde{T_s} + \frac{\alpha_s}{k_s} \int_{\Gamma_w} h(T_s - T_l) \tilde{T_s} - \alpha_s \int_{\Gamma_1} Q \tilde{T_s} = 0 $$ where $T_l$ and $T_s$ are liquid and solid temperatures respectively, $\mathbf{u}$ is the liquid velocity (for which I'm solving a Stokes equation seperately), $L$ and $S$ are liquid and solid domains respectively, $\Gamma_w$ is the wall between the solid and liquid domains and $\Gamma_1$ is a surface of the solid domain where some heat $Q$ is supplied. The water inlet temperature is fixed (a Dirichlet BC).
To have a steady state solution, I need to add these equations to get one. Can anyone tell me how I can go about implementing this in Fenics?