Acoustic Horn Design – The Easy Way (Ath4)

1.4" throat, 460 x 240 mm.

KVAR-36-mesh.PNG


KVAR-36-hor.png
KVAR-36-ver.png


KVAR-36-imp.png
 
  • Like
Reactions: 1 user
Have you done or could you do and post response if the above system was circ symmetric, with either the H or V profile? I'm trying to figure out why you post these, whats the difference here to the earlier symmetric waveguides since they all have been quite exceptional in many ways? Is it that the slight asymmetry reduces some artifacts or something or smoother response on the top octave or something?
 
..., it's never a good idea to put spaces in file/directory names.

Its a common problem, and annoying as well.

When I was working, my team had a script we would run which would flag every file name which contained a space. Later we modified the script to either remove the space or replace it with an underscore, depending on how the script was toggled.

Still, we struggled with filename convention / discipline all the time.
 
Axisymmetric/H (for the horizontal profile of the above shape):

View attachment 1048588 View attachment 1048589

Axisymmetric/V:

View attachment 1048590 View attachment 1048591

The throat impedances (blue=H, red=V):
View attachment 1048592

It just allows (very easily) to blend these two together, nothing more, nothing less.
Thanks for these sims! The scripting sure is very powerful, kudos! Just need to figure out how to exploit this, it looks like mixing these two profiles makes mixed result as well, very cool.
 
Not really.

Here's a sample and I believe it could be further improved, I only don't have the patience anymore for the 3D sims...
This originated just as a random illustration that the parameters can be changed freely around the horn. :)
Code:
R-OSSE = {
  R = 120
  r0 = 12.7
  a0 = 5
  a = 36
  k = 1.4 + 8*sin(p)^2
  r = 0.35
  b = 0.12
  m = 0.83
  q = 4.4
}

Mesh.LengthSegments = 36
Mesh.AngularSegments = 48
Mesh.ThroatResolution = 5
Mesh.MouthResolution = 9
Mesh.WallThickness = 8
Mesh.RearResolution = 20

Mesh.SubdomainSlices = 35
Mesh.InterfaceOffset = 25
Mesh.InterfaceDraw = 0

ABEC.MeshFrequency = 1000
ABEC.NumFrequencies = 32
ABEC.Abscissa = 1
ABEC.SimType = 2
ABEC.f1 = 500
ABEC.f2 = 12000

ABEC.Polars:SPL_H = {
  MapAngleRange = 0,90,19
  NormAngle = 0
}

ABEC.Polars:SPL_V = {
  MapAngleRange = 0,90,19
  NormAngle = 0
  Inclination = 90
}

Output.ABECProject = 1
Output.STL = 0

I ran my optimizer on this example just to look at assym. devices.
The domain was limited around the initial design for fair comparison.
1750 iterations, took about 12H over night...
Here is what I got:
View attachment 1048833


The device:
20220428-ROSSE-Assym-Example_Optimized_WG.png


The parameters/
Code:
R-OSSE = {
  R  = 120.5872 ; [mm]
  a  = 34.4836 ; [deg]
  r0 = 12.7 ; [mm]
  a0 = 5 ; [deg]
  k  = 1.6226 + 3.4566*sin(p)^2.1429; []
  r  = 0.32683 ; []
  m  = 0.81285 ; []
  b  = 0.13157 ; []
  q  = 4.011 ; []
         }

It seems that it has smoothed out a few things but the main irregularity 2300Hz for H and 2600Hz for V are not really improved.
What do you think?
 
Last edited:
Last edited:
  • Like
Reactions: 1 user
I ran my optimizer on this example just to look at assym. devices.
The domain was limited around the initial design for fair comparison.
1750 iterations, took about 12H over night...
Here is what I got:
View attachment 1048833


The device:
View attachment 1048825

The parameters/
Code:
R-OSSE = {
  R  = 120.5872 ; [mm]
  a  = 34.4836 ; [deg]
  r0 = 12.7 ; [mm]
  a0 = 5 ; [deg]
  k  = 1.6226 + 3.4566*sin(p)^2.1429; []
  r  = 0.32683 ; []
  m  = 0.81285 ; []
  b  = 0.13157 ; []
  q  = 4.011 ; []
         }

It seems that it has smoothed out a few things but the main irregularity 2300Hz for H and 2600Hz for V are not really improved.
What do you think?
better with the graph:

20220428-ROSSE-Assym-Example_Optimized.png
 
Perhaps I would suggest to solve a selected sample again with a considerably higher mesh resolution, otherwise you never know what's real and what's only a numerical issue. There's a chance it will go away.
Will do.

BTW, I forgot to mention that the latest version has some additional outputs (info: Running..., info: started... and Info: Reading....) that did not occur before.
Is there a way to mute them?
 
What you could also try is to decrease the Mesh.SubdomainSlices by one or two (and perhaps decrease Mesh.InterfaceOffset then, only check that the interface doesn't intersects the WG). This changes the position and shape of the interface, which can have quite a strong effect on the result for a 3D model (which is unfortunate but there's probably no other way).

There's also an option to set Mesh.RearShape = 2. Once I tried to match an axisymmetric model with the same one in 3D and with this setting it was the closest, IIRC.
 
Last edited: