ross.Rotor.run_clearance_analysis
Contents
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
speedvs.frequencybelow)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
frequencycontains 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 torun_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