Example 16 - Look at different models of the disk-shaft interface#

In this example, we use the rotor seen in Example 5.8.3 from [Friswell, 2010] and we make the same comparison looking at 4 different ways of modelling the shaft-disk interface:

Consider a hollow shaft carrying a central disk and mounted on
short, rigid bearings at each end. The shaft is 1.2 m long and it has an outside
diameter of 80 mm and an inside diameter of 30 mm. The central disk has a diameter
of 400 mm and a thickness of 80 mm. The shaft and disk have a modulus
of elasticity of 200GN/m2 and a density of 7,800kg/m3. Poisson’s ratio is 0.27.
This is the same as the rotor used in Example 5.8.1. The rotor, consisting of
the shaft and central disk, spins at 3,000 rev/min. Investigate the effect of the
shaft-disk interface models on the natural frequencies of the machine.
import ross as rs
Q_ = rs.Q_
steel = rs.Material("steel", rho=7800, E=200e9, Poisson=0.27)
L = 0.2
idl = 0.03
odl = 0.08
N = 6
shaft = [rs.ShaftElement(L=L, idl=idl, odl=odl, material=steel) for i in range(N)]
bearings = [
    rs.BearingElement(n=0, kxx=1e20, cxx=0),
    rs.BearingElement(n=len(shaft), kxx=1e20, cxx=0),
]
disks = [
    rs.DiskElement.from_geometry(n=3, material=steel, width=0.08, o_d=0.4, i_d=0.08)
]

rotor1 = rs.Rotor(shaft_elements=shaft, disk_elements=disks, bearing_elements=bearings)
rotor1.plot_rotor()
shaft = [
    rs.ShaftElement(n=0, L=L, idl=idl, odl=odl, material=steel),
    rs.ShaftElement(n=1, L=L, idl=idl, odl=odl, material=steel),
    rs.ShaftElement(n=2, L=0.16, idl=idl, odl=odl, material=steel),
    rs.ShaftElement(n=3, L=0.04, idl=idl, odl=0.16, material=steel),
    rs.ShaftElement(n=4, L=0.04, idl=idl, odl=0.16, material=steel),
    rs.ShaftElement(n=5, L=0.16, idl=idl, odl=odl, material=steel),
    rs.ShaftElement(n=6, L=L, idl=idl, odl=odl, material=steel),
    rs.ShaftElement(n=7, L=L, idl=idl, odl=odl, material=steel),
]
bearings = [
    rs.BearingElement(n=0, kxx=1e20, cxx=0),
    rs.BearingElement(n=len(shaft), kxx=1e20, cxx=0),
]
disks = [
    rs.DiskElement.from_geometry(n=4, material=steel, width=0.08, o_d=0.4, i_d=0.16)
]

rotor2 = rs.Rotor(shaft_elements=shaft, disk_elements=disks, bearing_elements=bearings)
rotor2.plot_rotor()
shaft = [
    rs.ShaftElement(n=0, L=L, idl=idl, odl=odl, material=steel),
    rs.ShaftElement(n=1, L=L, idl=idl, odl=odl, material=steel),
    rs.ShaftElement(n=2, L=0.16, idl=idl, odl=odl, material=steel),
    rs.ShaftElement(n=3, L=0.04, idl=idl, odl=0.16, material=steel),
    rs.ShaftElement(n=4, L=0.04, idl=idl, odl=0.16, material=steel),
    rs.ShaftElement(n=5, L=0.16, idl=idl, odl=odl, material=steel),
    rs.ShaftElement(n=6, L=L, idl=idl, odl=odl, material=steel),
    rs.ShaftElement(n=7, L=L, idl=idl, odl=odl, material=steel),
]
bearings = [
    rs.BearingElement(n=0, kxx=1e20, cxx=0),
    rs.BearingElement(n=len(shaft), kxx=1e20, cxx=0),
]
disks = [
    rs.DiskElement.from_geometry(n=3, material=steel, width=0.02, o_d=0.4, i_d=0.16),
    rs.DiskElement.from_geometry(n=4, material=steel, width=0.04, o_d=0.4, i_d=0.16),
    rs.DiskElement.from_geometry(n=5, material=steel, width=0.02, o_d=0.4, i_d=0.16),
]

rotor3 = rs.Rotor(shaft_elements=shaft, disk_elements=disks, bearing_elements=bearings)
rotor3.plot_rotor()
shaft = [
    rs.ShaftElement(n=0, L=L, idl=idl, odl=odl, material=steel),
    rs.ShaftElement(n=1, L=L, idl=idl, odl=odl, material=steel),
    rs.ShaftElement(n=2, L=0.16, idl=idl, odl=odl, material=steel),
    rs.ShaftElement(n=3, L=0.08, idl=idl, odl=0.4, material=steel),
    rs.ShaftElement(n=4, L=0.16, idl=idl, odl=odl, material=steel),
    rs.ShaftElement(n=5, L=L, idl=idl, odl=odl, material=steel),
    rs.ShaftElement(n=6, L=L, idl=idl, odl=odl, material=steel),
]
bearings = [
    rs.BearingElement(n=0, kxx=1e20, cxx=0),
    rs.BearingElement(n=len(shaft), kxx=1e20, cxx=0),
]

rotor4 = rs.Rotor(shaft_elements=shaft, bearing_elements=bearings)
rotor4.plot_rotor()
for i, rotor in enumerate([rotor1, rotor2, rotor3, rotor4]):
    modal = rotor.run_modal(rs.Q_(3000, "RPM"))
    print(f"Rotor {i + 1}: {Q_(modal.wd, 'rad/s').to('Hz'):.4f}")
Rotor 1: [53.6381 53.7015 261.6727 326.3376 736.6157 737.8977] Hz
Rotor 2: [58.6241 58.6904 278.2302 337.0536 826.5594 827.9640] Hz
Rotor 3: [58.6354 58.7020 276.8475 334.4568 827.8520 829.3194] Hz
Rotor 4: [58.9916 59.0582 279.3234 337.7512 835.2375 836.6597] Hz

References#

Fri10

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