I suddenly remembered that I had data sampled from a Comsol simulation I run during my Master Course in Acoustics. So I decided to run the same simulation on Elmer and have a look at how the two solutions compare.
It is a simple model of a rectangular room (4 m X 5 m X 3 m) with a single window. An acoustic plane wave of given SPL is entering the window and the walls have a given normalized admittance a. The simulation was run on Comsol for values of frequency of 55 Hz, 100 Hz and 300 Hz. The solver to use is the Helmholtz Solver.
On Comsol I set the normal acceleration of the window boundary in accordance with the wave amplitude and frequency. On Elmer I used equation (9.7), where the normal velocity was chosen as the velocity relative to the acceleration as used in Comsol. I feel like this should be OK. I am not sure about the boundary conditions on the walls. I can calculate the specific acoustic impedance of the walls using the normalized admittance:
z = (rho * c) / a [rho = air density, c = phase speed of sound in air, at room temperature]
Which has units of metric Rayls: [kg s^-1 m^-2]. In Comsol I could use this value directly. On ElmerGUI I put this value in the "Real Part of the Impedance" in the Boundary Condition window. Here my first question:
- Is the "Real Part of the Impedance" in that window relative to the specific acoustic impedance of the walls? I suspect it could actually be instead the quantity Z in equation 9.6...
I found that I can find agreement within a couple of dB when the frequency is 55 Hz and 100 Hz. However, the meshing needs to be finer in Elmer. I still have to find a mesh fine enough to give satisfying similar results at 300 Hz, but seems to be getting there the finer the mesh. Still, differences are pretty big also with a mesh as twice as fine (maximum size 0.075 m VS 0.15 m). This is made harder by the fact that the problem hardly converges on the meshes I try. I found that running the solver in parallel helps convergence. This spans few questions:
- Imaging that I set up the Elmer model exactly as the Comsol model, is the need for higher meshing on Elmer expected?
- Do you have any rule of thumb or documentation to point me at in order to figure out how to make good meshing and help convergence? It seems to get harder the finer the mesh...
- I reckon that Comsol Pressure Wave solutions appeared to have small imaginary part, while Elmer ones seem to have it higher... Should I be afraid? I guess not, but it would be interesting for me to see if you have something to say about this.
- About the parallel solver, I clearly see that it changes convergence. Also, the solution has slight differences with respect the not parallel run. I imagined that it is unwise to slice the volume into parts that are too small to guarantee accurate solution of the governing equation... Do you have some suggestion to operate proper "slicing"? At the moment, I am using the ElmerGUI defaults, which seemed very appropriate to me after reading this.