Example #1
0
def rotor_example1(n_el=48):
    """
    This function instantiate a rotor similar to the example  5.9.1, page 206 (Dynamics of rotating machine, FRISSWELL)
    The following functions test_example1_w_equals0rpm() and test_example1_w_equals4000rpm() are the test functions of
    this example.

    P.S.:Isotropic bearings.

    :param w: speed of rotation.
    :param n_el: number of shaft elements.
    :return: Rotor object.
    """

    shaft_elm = []
    for i in range(n_el):
        shaft_elm.append(
            rs.ShaftElement(L=1.5 / n_el, material=steel, n=i, i_d=0,
                            o_d=0.05))
    disk0 = rs.DiskElement.from_geometry(n=(n_el / 1.5) * 0.5,
                                         material=steel,
                                         width=0.07,
                                         i_d=0.05,
                                         o_d=0.28)
    disk1 = rs.DiskElement.from_geometry(n=(n_el / 1.5),
                                         material=steel,
                                         width=0.07,
                                         i_d=0.05,
                                         o_d=0.35)

    bearing0 = rs.BearingElement(n=0, kxx=1e6, kyy=1e6, cxx=0, cyy=0)
    bearing1 = rs.BearingElement(n=n_el, kxx=1e6, kyy=1e6, cxx=0, cyy=0)

    return rs.Rotor(shaft_elm, [disk0, disk1], [bearing0, bearing1])
Example #2
0
def rotor_example2(n_el=48):
    """
    This function instantiate a overhung rotor similar to the example  5.9.9, page 218 (Dynamics of rotating machine,
    FRISSWELL).
    The following functions test_example2_w_equals0rpm() and test_example2_w_equals4000rpm() are the test functions of
    this example.

    P.S.: Overhung rotor.

    :param n_el: number of shaft elements.
    :return: Rotor object.
    """

    shaft_elm = []
    for i in range(n_el):
        shaft_elm.append(
            rs.ShaftElement(L=1.5 / n_el, material=steel, n=i, i_d=0,
                            o_d=0.05))
    return rs.Rotor(
        shaft_elm,
        [
            rs.DiskElement.from_geometry(
                n=n_el, material=steel, width=0.07, i_d=0.05, o_d=0.35)
        ],
        [
            rs.BearingElement(n=0, kxx=10e6, kyy=10e6, cxx=0, cyy=0),
            rs.BearingElement(
                n=int((n_el / 1.5)), kxx=10e6, kyy=10e6, cxx=0, cyy=0),
        ],
    )
Example #3
0
def rotor_example7(w=0, n_el=48):
    """
    This function instantiate a rotor similar to the example  5.9.10, page 219 (Dynamics of rotating machine, FRISSWELL)
    The following functions test_example7_w_equals0rpm() and test_example7_w_equals4000rpm() are the test functions of
    this example.

    P.S.: Tapered shaft and damped bearings with anisotropic properties.

    :param w: speed of rotation.
    :param n_el: number of shaft elements.
    :return: Rotor object.
    """
    shaft_elm = []
    for i in range(n_el):
        shaft_elm.append(
            rs.ShaftElement(L=1.5 / n_el,
                            material=steel,
                            n=i,
                            i_d=0,
                            o_d=0.025 + 0.015 * (i / n_el)))

    disk0 = rs.DiskElement.from_geometry(n=(n_el / 2),
                                         material=steel,
                                         width=0.07,
                                         i_d=0.05,
                                         o_d=0.28)

    bearing0 = rs.BearingElement(n=0, kxx=1e7, kyy=1e7, cxx=1e3, cyy=1e3)
    bearing1 = rs.BearingElement(n=n_el, kxx=1e7, kyy=1e7, cxx=1e3, cyy=1e3)

    return rs.Rotor(shaft_elm, [disk0], [bearing0, bearing1], w=w)
Example #4
0
def st_rotor_example():
    """Return an instance of random rotors.

    The purpose of this is to make available a simple model
    so that doctest can be written using this.

    Returns
    -------
    An instance of random rotors.

    Examples
    --------
    >>> import ross.stochastic as srs
    >>> rotors = srs.st_rotor_example()
    >>> len(list(iter(rotors)))
    10
    """
    import ross as rs
    from ross.materials import steel

    i_d = 0
    o_d = 0.05
    n = 6
    L = [0.25 for _ in range(n)]

    shaft_elem = [rs.ShaftElement(l, i_d, o_d, material=steel) for l in L]

    disk0 = rs.DiskElement.from_geometry(n=2,
                                         material=steel,
                                         width=0.07,
                                         i_d=0.05,
                                         o_d=0.28)
    disk1 = rs.DiskElement.from_geometry(n=4,
                                         material=steel,
                                         width=0.07,
                                         i_d=0.05,
                                         o_d=0.28)

    s = 10
    kxx = np.random.uniform(1e6, 2e6, s)
    cxx = np.random.uniform(1e3, 2e3, s)
    bearing0 = ST_BearingElement(n=0,
                                 kxx=kxx,
                                 cxx=cxx,
                                 is_random=["kxx", "cxx"])
    bearing1 = ST_BearingElement(n=6,
                                 kxx=kxx,
                                 cxx=cxx,
                                 is_random=["kxx", "cxx"])

    return ST_Rotor(shaft_elem, [disk0, disk1], [bearing0, bearing1])
Example #5
0
# ===========================================
# EIXO
#

L       = [0.3, 0.3, 0.052]   # comprimento
i_d     = 0                   # diâmetro interno
o_d     = 0.0127              # diâmetro externo
N_shaft = 3                   # quantidade de elementos

shaft_elements = [
  rs.ShaftElement(
    n=i,
    L=L[i],
    idl=i_d,
    odl=o_d,
    material=ABNT1020,
    shear_effects=True,
    rotary_inertia=True,
    gyroscopic=True,
    tag=(f"Elemento {i} do eixo")
  )
  for i in range(N_shaft)
]

# ===========================================
# DISCO
#
# Utilizando as propriedades geométricas:

disk_geo = rs.DiskElement.from_geometry(
  n=1,