Acoustic Horn Design – The Easy Way (Ath4)

- Does this resemble what you have?

STL file attached.
 

Attachments

  • ap0.png
    ap0.png
    261.8 KB · Views: 306
  • ap0-gmsh.PNG
    ap0-gmsh.PNG
    61 KB · Views: 319
  • augerpro0.zip
    augerpro0.zip
    30.1 KB · Views: 75
Last edited:
OK, go ahead 🙂

Source.Contours = {
zoff -0.5
point p1 3.5 0 2.5
point p2 0 13.05 0.5
point p3 -1 14.05 0.5
point p4 0 15.05 1.0

cpoint c1 -22.58 0
cpoint c2 0 14.05

arc p1 c1 p2 1.00
arc p2 c2 p3 0.75
arc p3 c2 p4 0.25
line p4 WG0 0
}
 

Attachments

  • lip.PNG
    lip.PNG
    86.1 KB · Views: 293
In the meantime I ran the analysis - is this it? 🙂

- Ouch, same mistake again, I forgot to switch the velocity to axial - so this is wrong... OK, once again.
 

Attachments

  • ap0-hor-pol.png
    ap0-hor-pol.png
    16.6 KB · Views: 283
  • ap0-hor-pmap.png
    ap0-hor-pmap.png
    26.1 KB · Views: 123
  • ap0-ver-pol.png
    ap0-ver-pol.png
    16.8 KB · Views: 124
  • ap0-ver-pmap.png
    ap0-ver-pmap.png
    25.8 KB · Views: 124
Simulations for the axial dome motion - it's not much better 🙂

Raw horizontal polars (constant acceleration):

attachment.php


Vertical:

attachment.php


Attached also the normalized responses to 0 deg.
I'm really interested to see the measured data - how much are we off with this.
 

Attachments

  • ap1-horizontal.png
    ap1-horizontal.png
    16.3 KB · Views: 509
  • ap1-horizontal-raw.png
    ap1-horizontal-raw.png
    14.4 KB · Views: 1,158
  • ap1-vertical.png
    ap1-vertical.png
    17.2 KB · Views: 506
  • ap1-vertical-raw.png
    ap1-vertical-raw.png
    14.9 KB · Views: 724
You can set any step you need. This is for 0 - 60 / 10 for the raw polars ("SPL_H/V" charts). Polar maps are per 5 deg by default.

ABEC.SimType = 1 ; infinite baffle
ABEC.f1 = 1000 ; [Hz]
ABEC.f2 = 20000 ; [Hz]
ABEC.NumFrequencies = 20
ABEC.MeshFrequency = 1000 ; [Hz]
ABEC.Abscissa = 2 ; linear

ABEC.Polars.Dist = 1.5 ; mic distance - adjust this to your value [m]
ABEC.Polars.Step = 10 ; angular step [deg]
ABEC.Polars.Points = 7 ; # of polars
ABEC.Polars.Horizontal = 1
ABEC.Polars.Vertical = 1
ABEC.Polars.Diagonal = 0
ABEC.Polars.DiagonalInclination = 0.0
ABEC.Polars.PMapNorm = 10 ; polar map normalizing angle [deg]

attachment.php


I think the match is pretty good. There may still be differences due to the different radiating conditions. I work on finite baffles - that will be even closer.
BTW, this was calculated for 20 points only. Solved in 10 minutes.
 

Attachments

  • ap1-horiz.png
    ap1-horiz.png
    17.3 KB · Views: 690
  • ap1-vert.png
    ap1-vert.png
    17.6 KB · Views: 94
Looking more closely on your geometry, it seems that the vertical profile arc touches the baffle at slightly higher angle. When I checked my radiuses they were 74.6 and 25.5 mm, horizontally and vertically.

Maybe this will be a bit closer to what you have:

CircArc.TermAngle = 0.8 + 7*sin(p)^2

Now the radiuses are 73.9 and 30.5 mm. Updated STL attached.
 

Attachments

  • STL_ap1.zip
    STL_ap1.zip
    30 KB · Views: 99
  • ap1u-horiz.png
    ap1u-horiz.png
    17.2 KB · Views: 124
  • ap1u-vert.png
    ap1u-vert.png
    16.8 KB · Views: 123
Last edited:
Looking more closely on your geometry, it seems that the vertical profile arc touches the baffle at slightly higher angle. When I checked my radiuses they were 74.6 and 25.5 mm, horizontally and vertically.

Maybe this will be a bit closer to what you have:

CircArc.TermAngle = 0.8 + 7*sin(p)^2

Now the radiuses are 73.9 and 30.5 mm. Updated STL attached.

I'm not quite following, are the wall profile radiuses not 73.66 and 30.48 mm as I specified? Looking at the .cfg I see they are not even there, so some function with certain assumptions (tangent at baffle for example) must be calculating a best fit when given mouth size, throat size, depth, etc? Is there a way to direct code the radius?
 
If you think about it, it's not that easy - what's the radius on the diagonals and everywhere between? If you wanted to set the radii directly you would have to know this. I chose a different approach - you define the throat, the mouth outline (whatever that is) and the angle at which the arc should meet the baffle (=CircArc.TermAngle). The radii around the waveguide are simply calculated from that.