# Frequency domain harmonic vibroacoustics

**URL:** <https://precice.discourse.group/t/frequency-domain-harmonic-vibroacoustics/1574>\
**Category:** Is preCICE for me?\
**Tags:** fenics\
**Created:** [September 14, 2023, 9:10am UTC](https://precice.discourse.group/t/frequency-domain-harmonic-vibroacoustics/1574 "2023-09-14T09:10:10Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![bayswiss](https://yyz2.discourse-cdn.com/free1/user_avatar/precice.discourse.group/bayswiss/32/1895_2.png) [@bayswiss](https://precice.discourse.group/u/bayswiss)\
**Post date:** [September 14, 2023, 9:10am UTC](https://precice.discourse.group/t/frequency-domain-harmonic-vibroacoustics/1574/1 "2023-09-14T09:10:10Z")

</div>

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}. I am using FEniCSx for both domains.

 ![Screenshot from 2023-09-06 11-31-51](https://global.discourse-cdn.com/free1/uploads/precice/original/2X/8/80cd3ff6419ac39a585703a1c015a87fb24e31f8.png)

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 any experience in this topic.

Then my first question is: **is preCICE for me?** I see that almost everyone is solving time dependent problems here, but I am not (for now).  
What happens in partitioned approach near “subsystem” **eigenfrequencies** , where the matrices become singular? Is there always a way to make the soultion converge?

I need to decide if I need to put my effort to build the monolithic matrix with non conforming meshes or building a partitioned algorithm. That’s why I need your advice!

I suppose that I would solve something like this:

 ![Screenshot from 2023-09-06 12-01-39](https://global.discourse-cdn.com/free1/uploads/precice/original/2X/f/f55470148d34eeec6abb03b3d13be8b1119ba740.png)

1. Solve the acoustic domain for p with natural boundary condition (rigid walls) and get p
2. Use p for the Neuman BC on the structure (after interpolating it in the structure’s FunctionSpace) and get \mathbf{u}
3. Use \mathbf{u} for the Neuman BC on the acoustic domain (after interpolating it on the acoustic FunctionSpace) and get p
4. Iterate 2 and 3 until convergence.

Is this approach correct? I am sorry if the approach is wrong but, as I said, I’ve never studied partitioned approaches.  
Can I implement something like this? Is it worth it? I need the results to be comparable to the one I would obtain with the monolithic approach.

Every advice that you give me would be precious, thank you very much.

---

<div class="post-metadata">

**Author:** ![IshaanDesai](https://yyz2.discourse-cdn.com/free1/user_avatar/precice.discourse.group/ishaandesai/32/1048_2.png) [@IshaanDesai](https://precice.discourse.group/u/IshaanDesai)\
**Post date:** [September 20, 2023, 10:35am UTC](https://precice.discourse.group/t/frequency-domain-harmonic-vibroacoustics/1574/2 "2023-09-20T10:35:49Z")

</div>

Hello @bayswiss

Thank you for describing your problem in such detail. My first impression is that, yes, partitioned coupling with preCICE would be something worth pursuing in your case. Let me try to answer your questions:

- preCICE handles non-matching meshes well. We provide several [data mapping methods](https://precice.org/configuration-mapping.html) which you can try out.
- It is true that most of our user base solves time dependent problems, but there have been users who have solved steady state or time independent problems too. This can be done, and we can discuss this further.

> What happens in partitioned approach near “subsystem” **eigenfrequencies** , where the matrices become singular? Is there always a way to make the soultion converge?

This is hard to answer without trying things out. In preCICE, you can use [acceleration techniques](https://precice.org/configuration-acceleration.html) to ensure convergence of an implicitly coupled problem. This mainly relies on robust Quasi-Newton algorithms. How would this look for your time independent case is something that would warrant a wider discussion. One possible strategy would be in doing fake time steps until you get convergence.

- To couple a solver to preCICE, you would typically need to write some interfacing code. We call this an _adapter_. For FEniCSx, we already have an adapter: [GitHub - precice/fenicsx-adapter: Experimental preCICE-adapter for the open source computing platform FEniCSx](https://github.com/precice/fenicsx-adapter). It is somewhat limited in functionality, but it could work for your case. We would be happy to work with you in developing functionality in this adapter so that you are able to solve your case.

Overall I believe preCICE is definitely worth exploring for your case. Please let us know if we can answer any more questions.

---

<div class="post-metadata">

**Author:** ![bayswiss](https://yyz2.discourse-cdn.com/free1/user_avatar/precice.discourse.group/bayswiss/32/1895_2.png) [@bayswiss](https://precice.discourse.group/u/bayswiss)\
**Post date:** [September 20, 2023, 11:06am UTC](https://precice.discourse.group/t/frequency-domain-harmonic-vibroacoustics/1574/3 "2023-09-20T11:06:53Z")

</div>

Thank you very much for the detailed answer.  
I will definitely give it a try and I will give you updates on the outcome!

> [@IshaanDesai](#):
>
> Please let us know if we can answer any more questions.

About this, I think that I am going to ask question in the future for sure 😁

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/free1/uploads/precice/original/1X/67d2a5fa6f80e597e2267ff17fa8c1673cd11caa.svg) [@system](https://precice.discourse.group/u/system)\
**Post date:** [September 23, 2023, 11:07am UTC](https://precice.discourse.group/t/frequency-domain-harmonic-vibroacoustics/1574/4 "2023-09-23T11:07:17Z")

</div>

Closed on September 23, 2023, 11:07am UTC

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.
