This web page contains solved examples from statics, dynamics, linear and nonlinear vibrations, and acoustics. All examples are solved using the Python programming language.
FVSDOF-SYS Example 5 - Air-Condition Chiller supported on 4 air springs
An air-conditioning chiller unit weighing 10000N is to be supported by four air springs. The required air springs must have the natural frequency of vibration of the unit in 5 to 10 rad/s range.
The entire weight of air conditioning chiller is 10000 N.
$$ F = 10000 [N]$$
This weight should be supported by four spring which means that one air-spring have to accept weight of 2500 N. So the mass that have to be supported by on air spring is equal to:
$$ F_1 = \frac{F}{4} = 2500 [N]$$
$$ m = \frac{2500}{9.81} = 254.842 [kg]$$
Since the natural angular frequency should be in 5 to 10 rad/s we have chosen that the natural angular frequency will be equal to 7.5 rad/s.
From the expression for the natural angular frequency the spring constant of the air spring can be calculated:
$$ \omega_n = \sqrt{\frac{k_{eq}}{m}}$$
$$ k_{eq} = m \omega_n^2 = 254.842*(7.5)^2 = 14334.86 [kg/m]$$
The stiffness constant of the one spring is equal to:
$$k = \frac{k_{eq}}{4} = 3583.7155 [kg/m]$$
Solution in Python
To solve this example in Python we do not need any library at all. However, we will include the matplotlib library to visualize the change of spring stiffness versus the angular natural frequency in 5 to 10 rad/s range.
import matplotlib.pyplot as plt
First we need to define the variables that were given in the Example 5 description.
F = 1000 omega_n = 7.5 g = 9.81 omega_list = [i/100 for i in range(500,1000,1)]
The omeg_list was created to store angluar natural frequency values in 5 to 10 rad/s range. The omega_list list will be used later to calculate the air spring stffnes. Now we have to calculate the \(F_1\) - the weight each air spring has to accept.
F1 = F/4 print(f'F1 = {F1}')
Then we have to calculate the mass \(m\).
m = F1/g print(f'm = {m}')
Finally we can calculate the equivalent spring stiffness and the stiffness of the individual air-spring.
k_eq = m * omega_n**2 print(f'k_eq = {k_eq}') k = k_eq/4 print(f'k = {k}')
After executing the previous code the following output is obtained.
F1 = 2500.0 m = 254.841997961264 k_eq = 14334.862385321101 k = 3583.7155963302753
To graphically show the change of the spring stiffness k versus the angular natural frequency we have to create the k_list which which will be filled the stiffness values.
k_list = []
Now the list will be filled using one for loop.
for i in range(len(omega_list)): k_list.append((m*omega_list[i]**2)/4)
Finally we can create a plot using matplotlib library.
plt.rcParams["font.family"] = "Times New Roman" SMALL_SIZE = 20 MEDIUM_SIZE = 24 BIGGER_SIZE = 28 plt.rc('font', size=SMALL_SIZE) # controls default text sizes plt.rc('axes', titlesize=SMALL_SIZE) # fontsize of the axes title plt.rc('axes', labelsize=MEDIUM_SIZE) # fontsize of the x and y labels plt.rc('xtick', labelsize=SMALL_SIZE) # fontsize of the tick labels plt.rc('ytick', labelsize=SMALL_SIZE) # fontsize of the tick labels plt.rc('legend', fontsize=SMALL_SIZE) # legend fontsize plt.rc('figure', titlesize=BIGGER_SIZE) # fontsize of the figure title plt.figure(figsize=(12,8)) plt.plot(omega_list, k_list) plt.xlabel("$\omega_n$ $[\\frac{rad}{s}]$") plt.ylabel('$k [\\frac{kg}{m}]$') plt.grid(True) plt.ylim(1000,7000) plt.show()