Skip to content

Conversation

@raphaeltimbo
Copy link
Collaborator

Summary

Improve API documentation for bearing and seal classes by adding comprehensive explanations of the numerical methods and theoretical approaches used.

Changes

  • TiltingPad: Add THD theory, Reynolds/energy equations, Lund perturbation method
  • LabyrinthSeal: Add compressible flow theory, pressure distribution, dynamic coefficients
  • HolePatternSeal: Add bulk flow model, perturbation analysis, force extraction
  • BearingFluidFlow: Deprecate in favor of PlainJournal/CylindricalBearing
  • CylindricalBearing & PlainJournal: Add guidance on when to use each
  • Complete BibTeX reference for Heinrichson et al. 2007

Test plan

  • Documentation builds successfully
  • All pre-commit hooks pass
  • Doctests pass

Add deprecation warning to BearingFluidFlow directing users to
PlainJournal for advanced THD analysis or CylindricalBearing for
simple calculations.

Enhance docstrings for PlainJournal and CylindricalBearing to clearly
explain when each class should be used:

- PlainJournal: Advanced THD model with thermal effects, multi-pad
  configurations, turbulence models, and oil starvation/flooding

- CylindricalBearing: Fast analytical model for preliminary design
  and educational purposes with isothermal assumptions

- BearingFluidFlow: Now deprecated as it overlaps with PlainJournal
  but lacks key features like thermal effects and advanced geometries
Add complete bibliographic information for the tilting-pad thrust
bearing paper including journal name, volume, pages, DOI, and abstract.
This reference is used in the TiltingPad bearing documentation.
Add comprehensive documentation explaining the numerical methods and
theory used in the TiltingPad bearing model:

- Reynolds equation solution using 2D finite difference method
- Energy equation with upwind scheme for temperature field
- Equilibrium calculation using Nelder-Mead optimization
- Lund's perturbation method for dynamic coefficients
- Individual pad analysis with pivot mechanics
- Turbulence modeling for high Reynolds numbers

Update references section to use Sphinx bibliography format for better
integration with the documentation system.

Also fix BearingFluidFlow deprecation version (2.1.0 → 2.0.0).
Add comprehensive documentation explaining the numerical methods and
theory used in the LabyrinthSeal model:

- 1D compressible flow through multiple throttling stages
- Mass flow calculation with choked flow detection
- Pressure distribution using regula falsi method
- Velocity field with swirl and shear stress effects
- Dynamic coefficients from perturbation method
- LU decomposition for linearized system solution

Include clear guidance on seal configurations (rotor, stator, inter),
when to use labyrinth seals, and key features like gas property
calculation with CCP and multiprocessing support.
Add comprehensive documentation explaining the numerical methods and
theory used in the HolePatternSeal model:

- 1D bulk flow model for compressible flow through annular clearance
- Base state calculation with predictor-corrector integration
- Leakage calculation with choke detection and pressure balance
- Perturbation analysis with 4×4 linearized system for each station
- Force coefficients extraction (stiffness, damping, mass matrices)
- Reynolds number-dependent friction factors
- Sutherland's law for temperature-dependent viscosity
- Inlet/exit loss modeling with configurable coefficients

Include description of physical model (hole-pattern geometry with
recirculation zones), when to use this seal type, and key features
like preswirl modeling and multiprocessing support.

Also fix documentation formatting in both HolePatternSeal and
LabyrinthSeal parameter descriptions for gas_composition.
@raphaeltimbo
Copy link
Collaborator Author

Hi @gsabinoo !
Could you please take a look at the added docstrings for the bearing classes if they make sense (Tilting and PlainJournal)?

…ependent bearings

Replace undefined 'get_array[0]' with correct 'reduction[0]' function
in the rotor_system nested function. This error occurred when running
time response analysis with variable speed and bearings that have
frequency-dependent coefficients.

The bug was introduced when the code path for handling bearings with
variable coefficients was implemented but used the wrong variable name.

Fixes test_for_var_speed_2 in test_transient_newmark.py.
@raphaeltimbo raphaeltimbo merged commit 388dfb8 into petrobras:main Oct 9, 2025
9 checks passed
@gsabinoo
Copy link
Collaborator

gsabinoo commented Oct 9, 2025

Hi @raphaeltimbo!

Sure, I’ll take a look at them — I noticed the commits were already merged, but if I find anything that needs adjustment, I’ll open a follow-up PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants