Example 9 - Hydrodinamic Journal Bearings (using Fluid Flow methods)#

In this example, we use the hydrodinamic bearing seen in Example 5.5.1 from [Friswell, 2010].

It is the same bearing of Example 7, only this time we stick to the methods provided by the Fluid Flow subpackage of ROSS. We instantiate a Pressure Matrix object with the data given by the Example 5.5.1 from the book: The oil-film bearing has a diameter of 100 mm, is 30 mm long, and supports a static load of 525 N. The radial clearance is 0.1 mm and the oil film has a viscosity of 0.1 Pa s. When instantiated, a Pressure Matrix must be given either the eccentricity, or load of the bearing, or both. The one not parameter not given is them calculated based on the other one.

from ross.fluid_flow import fluid_flow as flow
from ross.fluid_flow.fluid_flow_geometry import (
    sommerfeld_number,
    modified_sommerfeld_number,
)
from ross.fluid_flow.fluid_flow_graphics import plot_eccentricity, plot_pressure_theta
from ross.fluid_flow.fluid_flow_coefficients import (
    calculate_stiffness_and_damping_coefficients,
)

import numpy as np
# Instantiating a Pressure Matrix
nz = 8
ntheta = 128
length = 0.03
omega = 157.1
p_in = 0.0
p_out = 0.0
radius_rotor = 0.0499
radius_stator = 0.05
load = 525
visc = 0.1
rho = 860.0
my_fluid_flow = flow.FluidFlow(
    nz,
    ntheta,
    length,
    omega,
    p_in,
    p_out,
    radius_rotor,
    radius_stator,
    visc,
    rho,
    load=load,
)
# Getting the eccentricity

my_fluid_flow.eccentricity
2.7489700001412917e-05
# Calculating the modified sommerfeld number and the sommerfeld number

modified_s = modified_sommerfeld_number(
    my_fluid_flow.radius_stator,
    my_fluid_flow.omega,
    my_fluid_flow.viscosity,
    my_fluid_flow.length,
    my_fluid_flow.load,
    my_fluid_flow.radial_clearance,
)

sommerfeld_number(modified_s, my_fluid_flow.radius_stator, my_fluid_flow.length)
3.5718916513907613
# Plotting the eccentricity

plot_eccentricity(my_fluid_flow, scale_factor=0.5)

The graphic above plots two circles: one representing the stator and one representing the rotor, considering the eccentricity. In this case, since the space between the stator and the rotor is very small, it is not seen in the graphic.

# Getting the stiffness and damping matrices

K, C = calculate_stiffness_and_damping_coefficients(my_fluid_flow)
print(f"Kxx, Kxy, Kyx, Kyy = {K}")
print(f"Cxx, Cxy, Cyx, Cyy = {C}")
Kxx, Kxy, Kyx, Kyy = [12422856.369419703, 15788190.798767405, -24261680.596163597, 8887522.982743409]
Cxx, Cxy, Cyx, Cyy = [231999.25725606518, -85019.39610502016, -80906.16221566498, 288773.89189723134]

The stiffness and damping matrices can be calculated analytically using the methods above.

# Calculating pressure matrix

my_fluid_flow.calculate_pressure_matrix_numerical()[int(nz / 2)]
array([     0.        ,   3918.69440318,  10727.25991539,  17581.3791478 ,
        24493.19658909,  31474.86688288,  38538.69499826,  45697.14381969,
        52962.7758879 ,  60348.15792578,  67865.75032557,  75527.78366354,
        83346.12719057,  91332.14671811,  99496.55024216, 107849.21152118,
       116398.98461626, 125153.48468444, 134118.85062916, 143299.47591943,
       152697.70764192, 162313.51767137, 172144.13076078, 182183.62298052,
       192422.48055647, 202847.12637525, 213439.40297609, 224176.0435804 ,
       235028.09705437, 245960.3516091 , 256930.74774512, 267889.78818264,
       278779.98259165, 289535.32755707, 300080.85728252, 310332.28589438,
       320195.77886983, 329567.88529464, 338335.66236647, 346377.05751741,
       353561.55444343, 359751.15615473, 364801.71172066, 368564.65061051,
       370889.10634081, 371624.48396594, 370623.42323791, 367745.15914934,
       362859.21676582, 355849.3711595 , 346617.75729802, 335089.03798982,
       321214.44300149, 304975.53079033, 286387.47572792, 265501.72205303,
       242407.79928296, 217234.16185564, 190147.87625133, 161353.20103501,
       131088.79830783,  99623.8735235 ,  67253.13211346,  34290.7741282 ,
         1063.77002817,      0.        ,      0.        ,      0.        ,
            0.        ,      0.        ,      0.        ,      0.        ,
            0.        ,      0.        ,      0.        ,      0.        ,
            0.        ,      0.        ,      0.        ,      0.        ,
            0.        ,      0.        ,      0.        ,      0.        ,
            0.        ,      0.        ,      0.        ,      0.        ,
            0.        ,      0.        ,      0.        ,      0.        ,
            0.        ,      0.        ,      0.        ,      0.        ,
            0.        ,      0.        ,      0.        ,      0.        ,
            0.        ,      0.        ,      0.        ,      0.        ,
            0.        ,      0.        ,      0.        ,      0.        ,
            0.        ,      0.        ,      0.        ,      0.        ,
            0.        ,      0.        ,      0.        ,      0.        ,
            0.        ,      0.        ,      0.        ,      0.        ,
            0.        ,      0.        ,      0.        ,      0.        ,
            0.        ,      0.        ,      0.        ,      0.        ])
# Plotting pressure along theta in a chosen z

plot_pressure_theta(my_fluid_flow, z=int(nz / 2))

References#

Fri10

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