ross.Rotor.run_crack
Contents
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", ... )