In [1]:
from IPython.display import HTML
HTML(open("00_custom.css", "r").read())
Out[1]:
A rotating machine is characterized by
In [2]:
m = 108000.0
fw = 30.0
pw = 4200.0
Design a suspension system for the machine knowing that it is necessary to reduce the transmitted force to ${1000}\,{}$N and that, to reduce the vibration amplitude during transients, the suspension must have a viscous damping ratio of $7\%$.
In [3]:
p = 1000.0
TR = p/pw
print "The required transmissibility ratio is TR = %5.2f%%."%(100*TR)
z = 0.07
We import a few things we need, we define a function to compute the transmissibility ratio as a function of $\beta$ and $\zeta$.
In [4]:
from math import pi, sqrt
from scipy.optimize import bisect
def tr(b, z):
return sqrt((1+(2*z*b)**2)/((1-b*b)**2+(2*z*b)**2))
To solve our problem, we need to pass to bisect a function that
tr(b,z) equals TR,b only.We fulfill our requirements using the lambda syntax to define on the fly an appropriate anonymous function:
In [5]:
b = bisect(lambda b: tr(b,z)-TR, 1.4, 10.0)
print "The frequency ratio fw/fn is %6.4f"%b
We need $\omega_n$ (and we compute also $\omega_D$ while we are at it) so we preliminarily need the circular frequency of the machine, $\omega_w=2\pi f_w$.
In [6]:
ww = 2*pi*fw
wn = ww/b
wd = wn*sqrt(1.0-z**2)
print """\
The circular frequency of the machine %7.3f rad/s,
The natural frequency of the suspension system %7.3f rad/s,
The damped frequency of the suspension system %7.3f rad/s."""%(
ww, wn, wd)
To complete our solution, we have that $$k = \omega_n^2m$$ and $$c = 2\zeta\omega_nm$$
In [7]:
k = wn**2*m
c = 2*z*wn*m
print """\
The stiffness of the suspension system is %7.3f kN / mm,
The damping of the suspension system is %7.3f kN s/mm."""%(
k/1E6, c/1E6)