Example 3 - Isotropic Bearings, asymmetrical rotor.#

In this example, we use the rotor seen in Example 5.9.1 from [Friswell, 2010]. A 1.5-m-long shaft, with a diameter of \(0.05 m\). The disks are keyed to the shaft at \(0.5\) and \(1 m\) from one end. The left disk is \(0.07 m\) thick with a diameter of \(0.28 m\); the right disk is \(0.07 m\) thick with a diameter of \(0.35 m\). For the shaft, \(E = 211 GN/m^2\) and \(G = 81.2 GN/m^2\). There is no internal shaft damping. For both the shaft and the disks, \(\rho = 7,810 kg/m^3\). The shaft is supported by identical bearings at its ends.

These bearings are isotropic and have a stiffness of \(1 MN/m\) in both the x and y directions. The bearings contribute no additional stiffness to the rotational degrees of freedom and there is no damping or cross-coupling in the bearings.

import ross as rs
import numpy as np
# Classic Instantiation of the rotor
shaft_elements = []
bearing_seal_elements = []
disk_elements = []
steel = rs.Material.load_material("Steel")
for i in range(6):
    shaft_elements.append(rs.ShaftElement(L=0.25, material=steel, n=i, idl=0, odl=0.05))

disk_elements.append(
    rs.DiskElement.from_geometry(n=2, material=steel, width=0.07, i_d=0.05, o_d=0.28)
)

disk_elements.append(
    rs.DiskElement.from_geometry(n=4, material=steel, width=0.07, i_d=0.05, o_d=0.35)
)
bearing_seal_elements.append(rs.BearingElement(n=0, kxx=1e6, kyy=1e6, cxx=0, cyy=0))
bearing_seal_elements.append(rs.BearingElement(n=6, kxx=1e6, kyy=1e6, cxx=0, cyy=0))

rotor591c = rs.Rotor(
    shaft_elements=shaft_elements,
    bearing_elements=bearing_seal_elements,
    disk_elements=disk_elements,
)

rotor591c.plot_rotor()
# From_section class method instantiation.
bearing_seal_elements = []
disk_elements = []
shaft_length_data = 3 * [0.5]
i_d = 3 * [0]
o_d = 3 * [0.05]

disk_elements.append(
    rs.DiskElement.from_geometry(n=1, material=steel, width=0.07, i_d=0.05, o_d=0.28)
)

disk_elements.append(
    rs.DiskElement.from_geometry(n=2, material=steel, width=0.07, i_d=0.05, o_d=0.35)
)
bearing_seal_elements.append(rs.BearingElement(n=0, kxx=1e6, kyy=1e6, cxx=0, cyy=0))
bearing_seal_elements.append(rs.BearingElement(n=3, kxx=1e6, kyy=1e6, cxx=0, cyy=0))

rotor591fs = rs.Rotor.from_section(
    brg_seal_data=bearing_seal_elements,
    disk_data=disk_elements,
    leng_data=shaft_length_data,
    idl_data=i_d,
    odl_data=o_d,
    material_data=steel,
)
rotor591fs.plot_rotor()
# Obtaining results (wn is in rad/s)
fig = rotor591c.run_campbell(np.linspace(0, 4000 * np.pi / 30, 50)).plot()
fig.show()

print("Normal Instantiation =", rotor591c.run_modal(speed=2000 * np.pi / 30).wn)
print("\n")
print("From Section Instantiation =", rotor591fs.run_modal(speed=2000 * np.pi / 30).wn)
Normal Instantiation = [ 86.04146288  87.24209546 263.2823758  284.80108656 657.49926136
 774.3990787 ]


From Section Instantiation = [ 86.0425824   87.24327466 263.33602929 284.87335345 658.94283489
 777.25976861]
# Obtaining modal results for w=4000RPM (wn is in rad/s)
speed = 4000 * np.pi / 30
modal591c = rotor591c.run_modal(speed)

print("Normal Instantiation =", modal591c.wn)
Normal Instantiation = [ 85.389467    87.7958637  251.78460413 294.71333087 600.17936195
 827.07536193]

References#

Fri10

Michael I Friswell. Dynamics of rotating machines. Cambridge University Press, 2010.