Fuyang's Blog

On the way to achieve minimalism and essentialism

Tag: Acoustics

Transmission Loss Wiki Page Created


Finally, I have created this page for transmission loss on Wikipedia. Please help make it better if you are working with this concept frequently.

Here just to copy and paste some key content from Wiki page just for the convenience of myself 🙂

TL = L_{Wi} - L_{Wo} = 10 \log_{10} \left\vert {S_i p_{i+}^2 \over 2} {2\over S_o p_o^2 }\right\vert = 10 \log_{10} \left\vert {S_i p_{i+}^2 \over S_o p_o^2}\right\vert

Transmission loss (TL) (more specifically in duct acoustics) is defined as the difference between the power incident on a duct acoustic device (muffler) and that transmitted downstream into an anechoic termination. Transmission loss is independent of the source and presumes (or requires) an anechoic termination at the downstream end[1].

Transmission loss does not involve the source impedance and the radiation impedance inasmuch as it represents the difference between incident acoustic energy and that transmitted into an anechoic environment. Being made independent of the terminations, TL finds favor with researchers who are sometimes interested in finding the acoustic transmission behavior of an element or a set of elements in isolation of the terminations. But measurement of the incident wave in a standing wave acoustic field requires uses of impedance tube technology, may be quite laborious, unless one makes use of the two-microphone method with modern instrumentation.[1]

TL = 10 \log_{10}\left( {{1 \over 4} \left\vert { A + B {S \over \rho c} + C { \rho c \over S} + D }\right\vert^2}\right )

Using Iterative Solvers in COMSOL to Solve Large Acoustics Problems

The issue

So the problem finally arrives – when a COMSOL acoustic model gets very large and still we would like to perform analysis up to a relatively high frequency range (for exp. above 2000Hz), a grate number of mesh cells are needed in order to give a good representation of the system. Typically for our case, the mesh number went up to around 400K elements, and my desktop computer with 16G of RAM is simply not enough for the default direct MUMPS solver, as shown below.

Capture1_2 Capture2_2
So if you are new to COMSOL acoustics and encountered the same issue above, here is the “easy” solution: use a FGMRES iterative solver instead of the default direct solver, together setting a geometric multigrid as a preconditioner.

The cureIterative_solver_setup_1

  1. Expand Study, Solver Configurations, Solver 1 and Stationary Solver 1
  2. Right-click Stationary Solver 1 and choose Iterative. (Note the default Direct solver will become disabled afterwards.)
  3. Select the newly generated Iterative 1 solver, in the setting window, General section, select Solver: FGMRES.Iterative_solver_setup_2
  4. Right-click Iterative 1 solver and choose Multigrid. (Note thedefault Incomplete LU node will become disabled afterwards.)Iterative_solver_setup_3

After this, the calculation can be carried out smoothly. Honestly there are lots of new jargon such as GMRES and FGMRES which are new to me as well in the process and it seems a bit confusing. But if you just simply setup up the model as mentioned above, it will probably work for you as well.


However after going through the help documentation perhaps those following tips under are worth paying attention to.

More tips one may need

  • Use GMRES as a smoother only if necessary because GMRES smoothing is very time- and memory-consuming on fine meshes, especially for many smoothing steps. (Or in other words, use FGMRES when you are not sure about what you are doing.)
  • Try to use as many multigrid levels as needed to produce a coarse mesh for which a direct method can solve the problem without using a substantial amount of memory.
  • If the coarse mesh is still too fine for a direct solver, try using an iterative solver with 5–10 iterations as coarse solver.

Above words are copied from COMSOL Help Document. More details are found in the Acoustics Module User’s Guide under the Modeling with the Acoustics Module chapter. Under Fundamentals of Acoustics Modeling section, see Solving Large Acoustics Problems Using Iterative Solvers.

Also, there is a Test Bench Car Interior model in the COMSOL model library you can refer to. But it generally illustrates the same setting suggested above.


In the end, by simply a few clicks here and there, the big mesh issue was easily solved. RAM usage from 8G plus reduced to around 2G and it solves fast as well. Simply amazing!


List of abbreviations

MUMPS  – Multifrontal massively parallel sparse direct solver.
GMRES  – Generalized Minimum RESidual  iterative method.
FGMRES – Flexible Generalized Minimum RESidual iterative method.

And special thanks to the help from COMSOL by Mads J.H. Jensen and Kristian R. Jensen for their support on this topic.