ross.Rotor.run_misalignment

ross.Rotor.run_misalignment#

Rotor.run_misalignment(node, unbalance_magnitude, unbalance_phase, speed, t, coupling='flex', **kwargs)#

Run analysis for the rotor system with misalignment given an unbalance force.

Misalignment object is instantiated and system’s time response is simulated. There are two types of coupling: flexible (flex) and rigid, each with distinct parameters. These parameters are passed to the respective method through **kwargs.

Parameters:
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.

couplingstr

Coupling type. The avaible types are: “flex” and “rigid”. Default is “flex”.

**kwargsdictionary
If coupling = “flex”, **kwargs receives:
nfloat

Number of shaft element where the misalignment is ocurring.

mis_type: string

Name of the chosen misalignment type. The avaible types are: “parallel”, “angular” and “combined”.

mis_distance_xfloat, pint.Quantity

Parallel misalignment distance between driving rotor and driven rotor along X direction.

mis_distance_yfloat, pint.Quantity

Parallel misalignment distance between driving rotor and driven rotor along Y direction.

mis_anglefloat, pint.Quantity

Angular misalignment angle.

radial_stiffnessfloat, pint.Quantity

Radial stiffness of flexible coupling.

bending_stiffnessfloat, pint.Quantity

Bending stiffness of flexible coupling. Provide if mis_type is “angular” or “combined”.

input_torquefloat, pint.Quantity

Driving torque. Default is 0.

load_torquefloat, pint.Quantity

Driven torque. Default is 0.

If coupling = “rigid”, **kwargs receives:
nfloat

Number of shaft element where the misalignment is ocurring.

mis_distancefloat, pint.Quantity

Parallel misalignment distance between driving rotor and driven rotor.

input_torquefloat, pint.Quantity

Driving torque. Default is 0.

load_torquefloat, pint.Quantity

Driven torque. Default is 0.

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. num_modes). 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.probe import Probe
>>> from ross.units import Q_
>>> rotor = rotor_example_with_damping()
>>> n1 = rotor.disk_elements[0].n
>>> n2 = rotor.disk_elements[1].n
>>> results = rotor.run_misalignment(
...    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),
...    coupling="rigid",
...    n=0,
...    mis_distance=2e-4,
...    input_torque=0,
...    load_torque=0,
...    num_modes=12,  # Pseudo-modal method
... )
Running pseudo-modal method, number of modes = 12
>>> 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",
... )