ross.Rotor.run_clearance_analysis

ross.Rotor.run_clearance_analysis#

Rotor.run_clearance_analysis(speed, node, unbalance_magnitude, unbalance_phase, frequency=None, modes=None)#

Perform clearance analysis using unbalance response.

This method evaluates the vibration amplitude at bearing locations and compares it with the available radial clearance. The unbalance excitation is the same as in run_unbalance_response() (node, magnitude, phase, frequency range, and optional mode subset).

The procedure involves:
  • Unbalance response calculation at the requested frequencies

  • Extraction of vibration amplitudes at bearings at the speed of interest (see speed vs. frequency below)

  • Comparison with clearance limits (100% and 75%) after API 617 amplitude scaling

Parameters:
speedfloat, pint.Quantity

Operating speed used for API 617 limits and for picking the frequency row when frequency contains more than one value. Must be a scalar (or an array with a single value), in rad/s.

nodelist, int

Node(s) where the unbalance is applied (same as run_unbalance_response()).

unbalance_magnitudelist, float, pint.Quantity

Unbalance magnitude in kg·m (same as run_unbalance_response()).

unbalance_phaselist, float, pint.Quantity

Unbalance phase in rad (same as run_unbalance_response()).

frequencylist, ndarray, pint.Quantity, optional

Frequency points for the unbalance response in rad/s. If omitted, defaults to [speed] so the response is evaluated at the operating speed only.

modeslist, optional

Modes passed to run_unbalance_response() (and then to run_forced_response()). Use this to control which modes enter the frequency response calculation.

Returns:
resultsross.ClearanceResults
Results object containing:
  • speed_rpm : float

  • bearing_nodes : list

  • magnitudesndarray

    Peak-to-peak vibration amplitude (microns)

  • clearancendarray

    Radial clearance (microns)

  • clearance_75ndarray

    75% of radial clearance (microns)

Examples

>>> import ross as rs
>>> import numpy as np
>>> rotor = rs.rotor_example()
>>> speed = 600.0
>>> result = rotor.run_clearance_analysis(
...     speed=speed,
...     node=3,
...     unbalance_magnitude=0.05,
...     unbalance_phase=0.0,
...     frequency=np.array([speed]),
... )
>>> len(result["bearing_nodes"]) == 2
True