Fluid-flow theory#

The FluidFlow code is responsible for providing Ross with simulations of thin thickness fluid in hydrodynamic bearings. It returns relevant information for the stability analysis of rotating machines, such as pressure field, fluid forces and dynamic coefficients. In this section, the main theoretical foundations of the modeling described in the code are synthesized and some examples are provided.

import ross
from ross.fluid_flow.fluid_flow import fluid_flow_example2
import plotly.graph_objects as go
import plotly.io as pio

pio.renderers.default = "notebook"

my_fluid_flow = fluid_flow_example2()


Fluid flow occurs in the annular space between the shaft and the bearing, both of \( L \) length. These structures are called rotor and stator, respectively. The stator is fixed with radius \(R_{o}\) and the rotor, with radius \(R_{i} \), is a rigid body with rotation speed \(\omega\), as shown in the figure below.


Due to the rotation of the rotor, a pressure field is set in the lubricating oil film, developing fluid forces that act on the rotor surface. For a constant speed of rotation, these forces displace the rotor to a location inside the stator called the equilibrium position. In this position, the stator and rotor are eccentric, with a distance between centers \(e\) and an attitude angle \(\beta\), formed between the axis connecting both centers and the vertical axis.

Based on the eccentricity and attitude angle, the cosine law can be used to describe the position of the rotor surface \(R_{\theta}\) with respect to the center of the stator:

\[ R_{\theta} = \sqrt{R_i ^2 - e^2 \sin^2{\alpha}} + e \cos{\alpha},\]

where $\alpha =\begin{cases} \dfrac{3\pi}{2} - \theta + \beta \text{,} &\mbox{se } \dfrac{\pi}{2} + \beta \leq \theta < \dfrac{3\pi}{2} + \beta \ \

  • \left(\dfrac{3\pi}{2} - \theta + \beta\right) \text{,} & \mbox{se } \dfrac{3\pi}{2} + \beta \leq \theta < \dfrac{5\pi}{2} + \beta \end{cases}$.

from ross.fluid_flow.fluid_flow_graphics import plot_eccentricity

fig = plot_eccentricity(my_fluid_flow, z=int(my_fluid_flow.nz / 2), scale_factor=0.5)