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.bearings import fluid_flow as flow
from ross.bearings.fluid_flow_geometry import (
sommerfeld_number,
modified_sommerfeld_number,
)
from ross.bearings.fluid_flow_graphics import plot_eccentricity, plot_pressure_theta
from ross.bearings.fluid_flow_coefficients import (
calculate_stiffness_and_damping_coefficients,
)
import numpy as np
import plotly.graph_objects as go
# Make sure the default renderer is set to 'notebook' for inline plots in Jupyter
import plotly.io as pio
pio.renderers.default = "notebook"
# 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
np.float64(2.742737057163379e-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 = [np.float64(12433017.311201533), np.float64(15833968.962631065), np.float64(-24294143.810199738), np.float64(8886483.751464844)]
Cxx, Cxy, Cyx, Cyy = [np.float64(230271.29204562472), np.float64(-84267.04739993415), np.float64(-80185.19699315727), np.float64(289013.77967615426)]
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. , 3914.92216535, 10717.38189317, 17565.25040613,
24470.60243946, 31445.52258381, 38502.24208294, 45653.15027726,
52910.73089526, 60287.47155389, 67795.74789694, 75447.70378101,
83255.11827541, 91229.26267162, 99380.74587972, 107719.34149315,
116253.79705581, 124991.61866082, 133938.83349602, 143099.72277355,
152476.51921933, 162069.08109094, 171874.52011455, 181886.80350112,
192096.31577503, 202489.38529435, 213047.77405779, 223748.14860402,
234561.51311032, 245452.63504848, 256379.46391818, 267292.55025035,
278134.49293234, 288839.42900566, 299332.5936569 , 309529.96249123,
319338.03390616, 328653.76955053, 337364.72703591, 345349.44423266,
352478.08224246, 358613.41758307, 363612.17179799, 367326.72095321,
369607.23531659, 370304.2183571 , 369271.45552848, 366369.35027701,
361468.58992815, 354454.07396191, 345228.99098957, 333718.95150738,
319875.9756755 , 303682.21217751, 285153.203271 , 264340.4958789 ,
241333.41475096, 216259.91132748, 189286.23051658, 160615.46275732,
130484.84435644, 99161.84230851, 66939.21105684, 34129.03544104,
1056.00728804, 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#
Michael I Friswell. Dynamics of rotating machines. Cambridge University Press, 2010.