Hello everyone,
I want to perform a vibroacoustic simulation. Below I describe the general setup, where an acoustic cavity \Omega_a interfaces a structural domain \Omega_s through one or multiple interfaces \partial \Omega_{int}.
The weak forms for such domains should be the following:
\text{Acoustic domain, time harmonic linear acoustics:}\\ \\ \int_{\Omega_a}\nabla p \cdot \nabla v d \Omega_a - \int_{\Omega_a}k_a^2p v d \Omega_a = \int_{\Omega_a} j\omega\rho_a q v d \Omega_a + \int_{\partial\Omega_{int}} \rho_a \omega^2 \left(\mathbf{u \cdot n_a}\right) v d\partial\Omega_{int}
\text{Structural domain, time harmonic linear elastodynamics:}\\ \\ \int_{\Omega_s} \sigma(\mathbf{u}) : \epsilon (\mathbf{w}) d\Omega_s - \int_{\Omega_s} \rho_s\omega^2 \mathbf{u\cdot w} d\Omega_s = \int_{\partial\Omega_{int}} -p\mathbf{n_s \cdot w} d\partial\Omega_{int}
*Note: I am using volumetric sources as acoustic input, so the structure is moving as a result of the fluid-structure interaction. There is no external force or load on the structure.
The equation are coupled through the Neumann BCs (-p\mathbf{n_s} is just the traction vector on the interface due to the acoustic pressure on it, while \frac{\partial p}{\partial n_a} = \rho_a \omega^2 u_n = \rho_a \omega^2 \mathbf{u \cdot n_a} is derived from the euler equation)
Usually this problem is solved with a monolithic approach, solving one algebraic system and getting both p and \mathbf{u} simultaneously.
The problem is that I need the interface to have non matching meshes, so I thought about solving it in with a partitioned approach, but I have not much experience in this.
I thought about something like this:
- Solve the acoustic domain for p with natural boundary condition (rigid walls) and get p
- Use p for the Neuman BC on the structure (after interpolating it in the structure’s FunctionSpace) and get \mathbf{u}
- Use \mathbf{u} for the Neuman BC on the acoustic domain (after interpolating it on the acoustic FunctionSpace) and get p
- Iterate 2 and 3 until convergence.
Is this approach correct?
Can you give me some advice on what could be the best approach if this one is not correct?
As always, thank you very much.