ross.Rotor.run_crack

ross.Rotor.run_crack#

Rotor.run_crack(n, depth_ratio, node, unbalance_magnitude, unbalance_phase, speed, t, crack_model='Mayes', cross_divisions=None, **kwargs)#

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

Crack object is instantiated and system’s time response is simulated.

Parameters:
nfloat

Element number where the crack is located.

depth_ratiofloat

Crack depth ratio related to the diameter of the crack container element. A depth value of 0.1 is equal to 10%, 0.2 equal to 20%, and so on.

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.

crack_modelstring, optional

String containing type of crack model chosed. The available types are: “Mayes”, “Gasch”, “Flex Open” and “Flex Breathing”. Default is “Mayes”.

cross_divisions: float, optional

Number of square divisions into which the cross-section of the cracked element will be divided in the analysis conducted for the Flex Breathing model.

**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.probe import Probe
>>> from ross.units import Q_
>>> rotor = rs.rotor_example_with_damping()
>>> n1 = rotor.disk_elements[0].n
>>> n2 = rotor.disk_elements[1].n
>>> results = rotor.run_crack(
...    n=18,
...    depth_ratio=0.2,
...    node=[n1, n2],
...    unbalance_magnitude=[5e-4, 0],
...    unbalance_phase=[-np.pi / 2, 0],
...    crack_model="Mayes",
...    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",
... )