Room modes in non-rectangular rooms

I recently programmed a method for easily doing basic 2D finite element analysis of acoustics. I did this for a different kind of project, but thought it would be cool to try it out as a method of analyzing how sound behaves in L-shaped rooms. I used the following dimensions in the software (the room consists of the L-shape in the picture):

Room dimensions

Obviously we're simplifying things a lot, as we're leaving the height of the room out of the calculations. Still, the calculations will give us a lot of information of how sound behaves from the perspective of the most interesting dimensions of the room.

Let's try feeding in a plane wave from the top of the room, just to see what happens. Try moving the slider around a bit to see how the sound field forms in the room. Please note that it can take a while for the content to load.

Some central things to note:

When the plane wave reaches the convex corner, the corner will radiate sounds in all directions (also to the right).

A sound field quickly forms in both the top-down and the left-right direction

The red dot represents a microphone in the room, in case you're wondering. Let's see what the microphone gives us:

The signal arriving at the microphone in the room

We can clearly see when the first diffracted sound arrives at the microphone. Two reflections arrive shortly afterwards, in close succession. After that, the sound field quickly becomes complicated.

Let's check out the frequency response as measured by the microphone:

Frequency response as measured by the microphone

We can clearly see at least a few room modes. Let's try examining the modes more thoroughly.

Additional: The plane wave

The plane wave consists of a gaussian pulse. We can't feed too sharp of a pulse into the room, as that would lead to errors in the calculations. By increasing the width of the pulse, we can get a pulse which the calculations will be able to handle.

Additional: How is the response of the room calculated

I cheated a bit. The calculation model I used doesn't account for damping, which in practice means that the room would continue reverberating indefinitely. I calculated the response for 0.5 seconds and approximated damping simply by multiplying the non-fading response with a decaying curve. Which isn't something that really should be done.

The gaussian pulse has the following frequency content (magnitude):

Using this, I calculated the response up to 200 Hz by deconvolving the pulse from the response. Deconvolution, in this case, means that I took into account the varying frequency content of the excitaiton. This can be done by dividing the frequency content of the response by the frequency content of the excitation.

Room modes

I've written quite a bit about room modes recently, but not from the perspective of irregular rooms. Let's see what they look like in this case! Below are the 6 lowest room modes. Many of them are far from obvious, as can be seen. They bear very little resemblance to the lowest room modes in a rectangular room.

Room mode at 32 Hz

Room mode at 49 Hz

Room mode at 76 Hz

Room mode at 80 Hz

Room mode at 86 Hz

Room mode at 91 Hz

Conclusions

If the geometry of the room differs even slightly from a rectangular layout, and one wishes to calculate an approximation of the room modes of the space, there really doesn't seem to be that many options available. Numerical modeling using the finite element method, as used in this post, is a method which works nicely.

6 thoughts on “Room modes in non-rectangular rooms”

I hope some of these ideas become commonplace in 3d design packages in the near future. There is currently a real lack of acoustic simulation tools and acoustic visualisation/auralisation integrated into the design process.
(the closest i've come to anything useful is The Pachyderm Acoustic plugin for Rhinoceros 3D. Odeon looks useful too -but still requires the design model to be remodelled for the simulation, also it's too $$ for an Architecture student )

I'm curious to know how you matched the room modes in the images to their respective frequencies.

Also would your method work for more complex room shapes, and do the calculations take a long time? How about 3D? Could one expect reasonable desktop calculation times?

Clearly a lot more needs to be taken into account to accurately/predictably model real spaces, but do you think it's feasible?

Thanks to you for posting a comment. Thanks for the interesting comments / questions, I see the length my answer reflects my appreciation 🙂

A colleague demonstrated some of the acoustic possibilities of Rhino combined with plugins. I was intrigued by some of the ideas that seem to be possible with Rhino, especially if you're prepared to do some programming yourself. I haven't tried the Pachyderm Acoustic plugin, thanks for bringing it to my attention! I should try Rhino, I don't have it myself (yet). Have you used it extensively? Does it take diffraction into account in any way, do you know? Tell me more about how you've utilized Rhino!

When BIM will become more commonplace, and all details of each and every project is fed to a model, one would imagine that acoustic modeling would become easier (and cheaper) too, right? I'm not thinking only from the perspective of room acoustics (which would utilize surface information from the model), but also from the perspective of sounds traveling in the structures, or through the facade. Or from machinery, HVAC and otherwise.

Well, the frequencies here are obtained mathematically. They don't need to be matched separately, but are mapped to each room mode as a consequence of how the calculations are done. If you're interested in the math: the room modes you see correspond to the eigenvectors of the mathematical problem, while the frequencies are obtained from the respective eigenvalues.

The method would work for very complex room shapes, which is what makes it so nice. If you're interested in simply obtaining the lowest modes, the calculations shouldn't take that long either (especially as you don't need a very detailed model). Do you perhaps think such a tool would be useful (obtaining just the modes)? It could be interesting to make as a web application.

For more detailed analysis in 3D (i.e. high frequencies and detailed analysis about how the sound propagates), the same kinds of methods can be used. I know some people who are working on a much more elaborate tool, which also solves the wave equation (which is what I'm doing there, basically). I do believe that the method they are working on is able to handle very complex models, in 3D, with a lot of detail. Check out a video of it here: https://www.youtube.com/watch?v=e0Ux352gzho (note, the video's from 2011).

Then there are geometrical acoustics, like the one in my blog post about reflections in JavaScript. I think all major acoustical calculation solutions at the moment use these types of calculations. This is something I'm working more on.

I think that modeling spaces can give much more information about the acoustics of a space you're designing than any other method could. For one, you can never really measure a space until it's done. Even when you measure the space, you can only really understand the details of what's happening there if you compare the results with the layout of the space (for example using a model).

I think accurate modeling is definitely feasible, and already possible. By accurate, I'm thinking of a modeling detail which is detailed enough. Completely accurate simulations are generally impossible, no matter what you're simulating. Still, simulations are used in almost every industry out there.

I really really liked the article. I have a small acoustics company in Berlin with my partner. He's a construction expert and I am in charge of the acoustic modelling, measuring, design of the acoustic elements, etc...
I have been looking for an accesible FEM tool for ages and thanks to you guys, I just found out about Pachyderm for Rhino 🙂
You're awesome! Keep up the good work!

Thanks for posting the article. It is good stuff. Room modes are fascinating.

Also, thank you very much for the praise about Pachyderm for Rhino. I have been playing with some new 3d Finite Volume Method techniques in there which will do similar operations to your FEM studies above. You can have a look at the latest here: