7
$\begingroup$

I'm looking at doing a finite-element simulation of air flow essentially for the purposes of approximating the response to an external audio impulse of a smallish (~10-30 cm scale), stationary 3D-printed structure containing a microphone. I'm mostly interested in the human-audible spectrum of 20-20000 Hz. The purpose is to use this information to guide the structure design to have the desired acoustic properties. I think a good analogous problem of similar complexity would be simulating a human ear starting from a good model, although I'm willing to use a cruder model if that makes the problem feasible.

  1. Googling reveals fairly little about acoustic simulation with FEM. Is something like this even currently computationally feasible? Without supercomputer resources? Or is there another better approach?
  2. I think I basically understand the finite element method, but I don't have practical experience. I'm also relatively new to fluid dynamics. I think a generic Navier-Stokes simulation (minus viscosity, since its effect should be negligible) should be a good and sufficient way to approach this problem. Am I right?
  3. There seems to be lots of software/libraries for FEM, and I suspect I'm missing the big distinguishing features. I've now taken a cursory look at Elmer, which even has some acoustics and vibroacoustics examples, and OpenFOAM. In addition to those there are at least Rheolef, Gerris, Code_Saturne, Code_Aster, SyFi, Feel++, DUNE, FEniCS, ALBERTA, GetDP and FreeFEM available in Debian alone. What should I look for in FEM software?
  4. Is there anything I should read for more information? I've been looking at (computational) aeroacoustics, but it seems to be more geared towards analyzing things like turbulent noise from a jet engine at high speeds.
$\endgroup$
  • $\begingroup$ OpenFOAM is more of a finite volume code than a finite element code. In terms of looking at numerical software that works for you, in the absence of other information, some criteria to look at are: 1) does it do what I need it to do? , 2) is it still maintained? (which will eliminate lots of packages), 3) do I think it will be usable? (which should eliminate more packages), 4) is there a community of people I can ask for support if I get stuck?, 5) how is the documentation and the source code? (because if there is no documentation, you will look at the source). $\endgroup$ – Geoff Oxberry Oct 17 '13 at 7:04
  • $\begingroup$ How many of these problems will you solve? 1? A handful? Is the point of the work the techniques for solving the problem? Or do you just need a solution? If you just need a solution, go find a commercial license for something that'll do what you need. $\endgroup$ – Rhys Ulerich Oct 21 '13 at 21:40
  • $\begingroup$ The point is mostly learning and solving, and the goal is a bit adaptive too and certainly depends on how expensive the solution is. Actually my original wild idea was to automatically generate an object having desired properties and using the solution as a function to minimize, but I do realize this might be very expensive. For example, the problem instance might be something like this: generate a 3D-printable shape that can house, say, 2 or 3 microphones and fits in a box of a given size such that by comparing the outputs of the mics the direction of a sound can be best determined. $\endgroup$ – Sami Liedes Oct 22 '13 at 11:13
2
$\begingroup$

deal.II is another finite element library, see http://www.dealii.org/ . It has tutorial programs for both fluid flow and acoustics. (Disclaimer: I'm one of the authors of this library.)

$\endgroup$
2
$\begingroup$

There are a large number of FDTD solvers targeting acoustic problems. I would start by playing with these, as the boundary conditions you need to impose in acoustics are a bit complicated, and these packages are likely to be better suited to playing with them.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.