If we're making the fin frames with a router/2-axis mill, we need to know what angle of chamfer cutter to use.
This is just the trig to make sure that the angle of the leading edge is $\leq$ the mach angle.
In [1]:
import math as m
import matplotlib.pyplot as plt
%matplotlib inline
import numpy as np
The left triangle is the upper half of a streamwise cross section of the leading edge. ($\mu$ is the mach angle)
The diagram in the middle shows the leading edge, as it would be shown in the planform.
The triangle on the right shows a cross section perpendicular to the leading edge of the fin.
define a function to go from the designed mach number to the required included angle of the cutter
In [2]:
def thetaI(M=2, thick=1/8):
# thick = 1/8
# M = 2
thetaMu = m.asin(1/M)
deltaY = thick/(2*m.tan(thetaMu))
thetaS = m.atan(9/6.42)
deltaE = deltaY*m.sin(m.pi/2-thetaS)
thetaE = m.atan(thick/(2*deltaE))
thetaI = m.pi-2*thetaE
return thetaI
In [3]:
print(thetaI()*360/2/m.pi)
Ideally, the included angle of the cutter should be thetaI or less.
Any more and we get an oblique shock at the leading edge.
In [4]:
Ms= np.linspace(start=1.1, stop=3, num=1e3)
thetas= [thetaI(M)*360/2/m.pi for M in Ms]
plt.plot(Ms, thetas)
plt.grid()
The plot above shows the relationship between mach number and the minimum required included angle of the cutter.
For a cutter with an included angle of 120 degrees, check that a 1/4" diameter is okay:
In [5]:
thick= 1/8
thetaI= 120/360*m.pi*2
thetaE= m.pi/2-thetaI/2
# tan(thetaE)=thick/2/deltaE
deltaE= thick/2/m.tan(thetaE)
print(thick)
print(thetaI*360/2/m.pi)
print(thetaE*360/2/m.pi)
print(deltaE)
print(deltaE*2)