Eigenmodes of a Room

The graphical user interface of Elmer
Post Reply
CrocoDuck
Posts: 79
Joined: 12 May 2016, 13:15
Antispam: Yes

Eigenmodes of a Room

Post by CrocoDuck »

Hi there cool people!

I managed to have Elmer running on Mac. My goal is to run acoustic related multiphysics simulations. At the moment I have been just playing with Elmer as I am completely new to it. I already been able to find modes of elastic objects (like rods of metal and similar).

However, I am struggling to find a way to calculate the modes of room filled with Air (room temperature), with rigid boundaries. I have previous experience of COMSOL only (which I cannot use anymore). On COMSOL, the problem is stated and solved as in this document (more stuff).

Some of you have encountered the problem already? How can it be solved?

Seems to me that Helmholtz solver does not support Eigen Analysis. Is that correct?
CrocoDuck
Posts: 79
Joined: 12 May 2016, 13:15
Antispam: Yes

Re: Eigenmodes of a Room

Post by CrocoDuck »

Uhm... feels like there aren't simple ways to solve this. I guess I will have to look into writing my own solver. Pretty weird that Helmholtz equation does not support eigen analysis. It is one of the most interesting things in acoustics... If I manage to get something working I will consider sending a Pull Request...
raback
Site Admin
Posts: 4812
Joined: 22 Aug 2009, 11:57
Antispam: Yes
Location: Espoo, Finland
Contact:

Re: Eigenmodes of a Room

Post by raback »

Hi

Sorry for late answer. Indeed, the Helmholtz solver does not consider eigenmodes. The solvers of Elmer are not complete in the sense that they would have been designed for full coverage. The solvers are usually coded for a purpose and we just haven't had a need for eigenmode solver for the Helmholtz equation.

Now any 2nd order equation in time, such as the StressSolver, can be solved for eigenmodes. There the mass and stiffness matrix are used to compose the eigenvalue problem rather than time-dependent problem. The complex valued Helmholtz solver is funnily more difficult starting point.

The closests starting point for you could be a 2nd order wave equation. There is no such thing officially but you can find a simple wave equation in the WaveEqu test case under WaveEq.F90. That has been used, for example in: https://www.youtube.com/watch?v=KTtreD4IKfc

So if you want to try coding the solver I would start from the WaveEq.F90 and enrich it with the material parameters and BCs of Helmholtz solver. Maybe I would 1st try out the WaveEq that it really gives the eigenmodes when you ask for "Eigen Analysis" as in test case "StressEigen", for example.

-Peter
CrocoDuck
Posts: 79
Joined: 12 May 2016, 13:15
Antispam: Yes

Re: Eigenmodes of a Room

Post by CrocoDuck »

Hi there, sorry for the very late reply. I found the way to solve my problem with frequency sweeps instead of eigenvalues calculation. I will have to look into eigenvalues solvers soon I think, so thank you very much for your kind suggestions. I think you will hear from me at some point, struggling with writing a solver :D .
melBr
Posts: 2
Joined: 12 May 2016, 20:34
Antispam: Yes

Re: Eigenmodes of a Room

Post by melBr »

Hi,

I am currently working on a similar problem.
I am trying to determine the eigenfrequencies of an air filled, two-dimensional channel with two rigid walls and two open ends.
The open ends of the channel are modelled with a pressure wave boundary condition.

I also work with frequency sweeps to determine the eigenmodes.
Until now, however, I only manage to determine some of the system's eigenfrequencies, those in the channel's x-direction.
Furthermore, any eigenmode possessing a wave node coinciding with the origin of the coordinate system is missing.
Does 'Pressure Source' possess a given origin, like e.g. the origin of the coordinate system, that might explain why those eigenmodes are not excited?
Or is 'Pressure Source' not a suitable choice to excite the medium inside the channel?

Best regards,
melBr
raback
Site Admin
Posts: 4812
Joined: 22 Aug 2009, 11:57
Antispam: Yes
Location: Espoo, Finland
Contact:

Re: Eigenmodes of a Room

Post by raback »

Hi

As described in my mail above the WaveEq might be a good starting point. Just minutes ago I modified it sligthly to allow solution of eigenmodes. There is a fresh test case for that in

https://github.com/ElmerCSC/elmerfem/tr ... veEquEigen

So this is simply the wave equation:

c^2 \nabla^2 p - d^2p/dt^2 = 0

and the only material parameter is c, "wave speed".

I hope this helps. The solver could be modified to make it accept same keywords as Helmholtz solver.

-Peter
Post Reply