Python script for generating exponential throat adaptor

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
I have a JBL 2446 which I want to mount on an Auto-Tech 200T horn. The JBL has an exit diameter of 49 mm and the horn has an entry diameter of 50.8 mm. The cutoff frequency of the driver is 182 Hz.

In order to make a proper CAD drawing I have made a python script for FreeCAD. You can download and modify the code for any entry radius, exit radius and cutoff frequency.

This is what the generated adapter looks like in FreeCAD:

An externally hosted image should be here but it was not working when we last tested it.


The FreeCAD file, and the IGES file.

The licence agreement is that you have to post here if you use any of these files :)

Mårten
 
Now the script (and the cad files) is improved to use different entry and exit cutoff frequencies.

The algorithm is very simple. First a exponential curve is generated for adapter entry cutoff frequency. Points are generated for every 0.1 mm. This gives a start length of the apdapter. Then a cutoff step is calculated by dividing the difference between exit and entry cutoff frequencies by the number of points. A new curve is created using a new cutoff frequency for each step, using the calculated cutoff step. This procedure is continued until there is no improvement or we reach an exit cutoff frequency 0.1 Hz from the exit target frequency.
 
I have added printout of entry and exit angles. Each iteration is printed. For my 200T adapter the console printout is:

Code:
fcM=182.0, xM=10.8, v0=4.66769832783, vM=4.83792915027
step=0.165137614679, len=109
fcM=198.844036697, xM=10.3, v0=4.66769832783, vM=5.28728579834
step=0.173076923077, len=104
fcM=199.653846154, xM=10.3, v0=4.66769832783, vM=5.30929489981
step=0.173076923077, len=104
fcM=199.653846154, xM=10.3, v0=4.66769832783, vM=5.30929489981

  • fcM is cutoff frequency at exit
  • xM is length
  • v0 is entry angle
  • vM is exit angle
  • step is the cutoff step to use for iteration
  • len is the number of vectors in the throat curve
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.