ross.Rotor.run_rubbing
Contents
ross.Rotor.run_rubbing#
- Rotor.run_rubbing(n, distance, contact_stiffness, contact_damping, friction_coeff, node, unbalance_magnitude, unbalance_phase, speed, t, torque=False, **kwargs)#
Run analysis for the rotor system with rubbing given an unbalance force.
Rubbing object is instantiated and system’s time response is simulated.
- Parameters:
- nint
Number of shaft element where rubbing is ocurring.
- distancefloat, pint.Quantity
Distance between the housing and shaft surface.
- contact_stiffnessfloat, pint.Quantity
Contact stiffness.
- contact_dampingfloat, pint.Quantity
Contact damping.
- friction_coefffloat
Friction coefficient.
- nodelist, int
Node where the unbalance is applied.
- unbalance_magnitudelist, float, pint.Quantity
Unbalance magnitude (kg.m).
- unbalance_phaselist, float, pint.Quantity
Unbalance phase (rad).
- speedfloat or array_like, pint.Quantity
Rotor speed.
- Farray
Force array (needs to have the same number of rows as time array). Each column corresponds to a dof and each row to a time.
- tarray
Time array.
- torquebool, optional
If True a torque is considered by rubbing. Default is False.
- **kwargsoptional
Additional keyword arguments can be passed to define the parameters of the Newmark method if it is used (e.g. gamma, beta, tol, …). See ross.utils.newmark for more details. Other keyword arguments can also be passed to be used in numerical integration (e.g. model_reduction). See Rotor.integrate_system for more details.
- Returns:
- resultsross.TimeResponseResults
For more information on attributes and methods available see:
ross.TimeResponseResults
Examples
>>> import ross as rs >>> from ross.units import Q_ >>> from ross.probe import Probe >>> rotor = rotor_example_with_damping() >>> n1 = rotor.disk_elements[0].n >>> n2 = rotor.disk_elements[1].n >>> results = rotor.run_rubbing( ... n=12, ... distance=7.95e-5, ... contact_stiffness=1.1e6, ... contact_damping=40, ... friction_coeff=0.3, ... torque=False, ... node=[n1, n2], ... unbalance_magnitude=[5e-4, 0], ... unbalance_phase=[-np.pi / 2, 0], ... speed=Q_(1200, "RPM"), ... t=np.arange(0, 0.5, 0.0001), ... model_reduction={"num_modes": 12}, # Pseudo-modal method ... ) Running with model reduction: pseudomodal >>> probe1 = Probe(14, 0) >>> probe2 = Probe(22, 0) >>> fig1 = results.plot_1d([probe1, probe2]) >>> fig2 = results.plot_dfft( ... [probe1, probe2], ... frequency_range=Q_((0, 200), "Hz"), ... yaxis_type="log", ... )