def base_rotor_example(): """Internal routine that create an example of a rotor, to be used in the associated crack problems as a prerequisite. This function returns an instance of a 6 DoF rotor, with a number of components attached. As this is not the focus of the example here, but only a requisite, see the example in "rotor assembly" for additional information on the rotor object. Returns ------- rotor : ross.Rotor Object An instance of a flexible 6 DoF rotor object. Examples -------- >>> rotor = base_rotor_example() >>> rotor.Ip 0.015118294226367068 """ steel2 = ross.Material(name="Steel", rho=7850, E=2.17e11, G_s=81.2e9) # Rotor with 6 DoFs, with internal damping, with 10 shaft elements, 2 disks and 2 bearings. i_d = 0 o_d = 0.019 n = 33 # fmt: off L = np.array( [0 , 25, 64, 104, 124, 143, 175, 207, 239, 271, 303, 335, 345, 355, 380, 408, 436, 466, 496, 526, 556, 586, 614, 647, 657, 667, 702, 737, 772, 807, 842, 862, 881, 914] )/ 1000 # fmt: on L = [L[i] - L[i - 1] for i in range(1, len(L))] shaft_elem = [ ross.ShaftElement6DoF( material=steel2, L=l, idl=i_d, odl=o_d, idr=i_d, odr=o_d, alpha=8.0501, beta=1.0e-5, rotary_inertia=True, shear_effects=True, ) for l in L ] Id = 0.003844540885417 Ip = 0.007513248437500 disk0 = ross.DiskElement6DoF(n=12, m=2.6375, Id=Id, Ip=Ip) disk1 = ross.DiskElement6DoF(n=24, m=2.6375, Id=Id, Ip=Ip) kxx1 = 4.40e5 kyy1 = 4.6114e5 kzz = 0 cxx1 = 27.4 cyy1 = 2.505 czz = 0 kxx2 = 9.50e5 kyy2 = 1.09e8 cxx2 = 50.4 cyy2 = 100.4553 bearing0 = ross.BearingElement6DoF( n=4, kxx=kxx1, kyy=kyy1, cxx=cxx1, cyy=cyy1, kzz=kzz, czz=czz ) bearing1 = ross.BearingElement6DoF( n=31, kxx=kxx2, kyy=kyy2, cxx=cxx2, cyy=cyy2, kzz=kzz, czz=czz ) rotor = ross.Rotor(shaft_elem, [disk0, disk1], [bearing0, bearing1]) return rotor
kxx1 = 4.40e5 kyy1 = 4.6114e5 kzz = 0 cxx1 = 27.4 cyy1 = 2.505 czz = 0 kxx2 = 9.50e5 kyy2 = 1.09e8 cxx2 = 50.4 cyy2 = 100.4553 bearing0 = rs.BearingElement6DoF(n=4, kxx=kxx1, kyy=kyy1, cxx=cxx1, cyy=cyy1, kzz=kzz, czz=czz) bearing1 = rs.BearingElement6DoF(n=31, kxx=kxx2, kyy=kyy2, cxx=cxx2, cyy=cyy2, kzz=kzz, czz=czz) rotor = rs.Rotor(shaft_elem, [disk0, disk1], [bearing0, bearing1]) @pytest.fixture