ross.Rotor.run_rubbing

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",
... )