Acoustic Horn Design – The Easy Way (Ath4)

Is it possible to apply a crossover from within ABEC? This way you could have both woofer and waveguide contribute to a combined wavefront and inspect in the observation fields frontally the lateral extension of the vertical lobes to 'see' what is going on.
 

Indeed but information on why they abandoned the obvious way to develop an open source BEM toolkit is absent. When they coupled with a FEM toolkit they didn't do it with the deal.ii FEM toolkit which seems to be part of the C++ code but with fenics an alternative FEM toolkit. Note the poster wants to contribute but the bempp author wants/expects to perform the task. Nothing seems to have happened in the years since unless something is in the yet to be completed rust version which it may. I don't know the objectives of the authors but I wouldn't rule out a 4th rewrite in another fashionable computer language. Still we shouldn't complain too much given others sorted out the funding and made it openly available. Just a shame they opted not to go forward with developing an open BEM toolkit (which is a lot of work) but instead opted to go backwards (in terms of functionality) with "teaching code" implementations in different computer languages.
 
The only thing that will require some care is assuring that the printed parts are perfectly sealed. I thought about immersing the printed plug into a thinner epoxy for a while, or perhaps using a sponge brush. It just needs to be sealed, otherwise strange things can happen.
 
Last edited:
It printed fine. I've sprayed it with epoxy primer - perfect for the job. Looks cool.
 

Attachments

  • image_2025-04-11_154129564.png
    image_2025-04-11_154129564.png
    5.4 MB · Views: 130
So the only 2" exit drivers I have here are the Renkus-Heinz SSD3301 (39mm exit of phase plug and 34mm deep) and JBL2482 (with Radian aluminium diaphragms (39mm at phase plug and 68mm deep)). Both of these perhaps would be better with an extension right to the plug? Are there any true 2"-at-exit-from-phase-plug drivers?
 
Both of these perhaps would be better with an extension right to the plug?
That's what I would have thought.

Are there any true 2"-at-exit-from-phase-plug drivers?
I know of Celestion Axi2050. Maybe some of the older JBLs, I don't know.
If there's an exit flare inside the driver, all bets are off, as the shaping plug really expects a flat wavefront. It's possible to design a (bit different) plug for a spherical input wavefront, but still, all bets are off 🙂
 
Sorry, I was confusing it with the 735 (no longer available) which does have a 26.5mm exit. the 745neo is more or less 35mm.
I made a 70mm conical adapter 26-35.5 for the 735 which works very well. (this was before the G2 days). What would be optimal for the 745 do you think?
 
Is it possible to apply a crossover from within ABEC? This way you could have both woofer and waveguide contribute to a combined wavefront and inspect in the observation fields frontally the lateral extension of the vertical lobes to 'see' what is going on.

IIRC, everything that you can do in the old 2D version of Akabak can also be done in Abec. You might want to read the manual to confirm, but if I'm correct:

YES, you can absolutely do the entire thing in ABEC. 3D sim, crossover, polars, impedance, the whole nine yards.

Most of us are exporting the results OUT of ABEC and IN to VituixCad because VituixCad has a GUI that's really great.
 
I've discovered something interesting regarding the choice of solver with bempp. All the examples I've seen make use of the GMRES solver, so I figured it was likely the best option. Two others are offered, however: GC and LU. GC is another iterative algorithm, while LU is a direct algorithm. Out of curiosity, I tried the LU solver and found that in this case, it's actually significantly faster at high frequencies and seems to be far more robust as well. In fact, I haven't seen any spurious solutions even though I'm just using a basic null field formulation (i.e. no NUC scheme).

Here's some data using the LU solver:
directivity.png directivity_contour_h.png directivity_contour_v.png
I used one mesh for 50-5kHz and a higher resolution mesh for 5kHz-15kHz, then spiced the results together. Bempp doesn't support symmetry, but it still only used about 3GiB of memory for the 5kHz-15kHz sim (mesh was ~14k elements).

For comparison, here's what I get using the GMRES solver (same mesh and frequencies as 50-5kHz above):
directivity.png directivity_contour_h.png directivity_contour_v.png
 
  • Like
Reactions: andy19191
I've discovered something interesting regarding the choice of solver with bempp. All the examples I've seen make use of the GMRES solver, so I figured it was likely the best option. Two others are offered, however: GC and LU. GC is another iterative algorithm, while LU is a direct algorithm. Out of curiosity, I tried the LU solver and found that in this case, it's actually significantly faster at high frequencies and seems to be far more robust as well. In fact, I haven't seen any spurious solutions even though I'm just using a basic null field formulation (i.e. no NUC scheme).

How well converged were the solutions with spurious modes? If converged into round-off they are likely to give the same solution as the direct method. Not for certain though depending on the source of the spurious modes. What you may find is that the iterative method won't converge into round-off. The Helmholtz equation is difficult to solve iteratively and relies on appropriate pre-conditioners to work well. Don't know what choice your solver package offers in terms of pre-conditioning but it may be a fruitful line of investigation.

I don't know the body shape in your example but not all spurious modes are necessarily removed by, for example, adding points within the body and solving an overdetermined system, blending differentiated forms of the governing equations and the like (not sure what the current version of bempp offers). Some follow from the choice of discretisation for the pressure and velocity and which modes can or cannot be "seen" (apologies for an engineer's terminology). Bempp-cl is very limited in this respect compared to other toolkits and the dropped bempp-cpp but I think you can set 1st order on the pressure and 0th order on the velocity which may perform differently to 0th order on both with respect to some spurious modes which are not internal resonances of the body.

Whatever, you are illustrating nicely how a FEM/BEM toolkit can be used to research how best to go about solving one's problem of interest. The current version of bempp-cl is rather limited in what one can look at though. Hopefully the bempp-rust version when and if it arrives will be an improvement.

Good stuff (at least for some of us).
 
  • Like
Reactions: bmc0