ross.Rotor.run_modal
ross.Rotor.run_modal#
- Rotor.run_modal(speed, num_modes=12, sparse=True)#
Run modal analysis.
Method to calculate eigenvalues and eigvectors for a given rotor system. Tthe natural frequencies and dampings ratios are calculated for a given rotor speed. It means that for each speed input there’s a different set of eigenvalues and eigenvectors, hence, different natural frequencies and damping ratios are returned. This method will return a ModalResults object which stores all data generated and also provides so methods for plotting.
- Available plotting methods:
.plot_mode_2d() .plot_mode_3d()
- Parameters
- speedfloat
Speed at which the eigenvalues and eigenvectors will be calculated.
- num_modesint, optional
The number of eigenvalues and eigenvectors to be calculated using ARPACK. If sparse=True, it determines the number of eigenvalues and eigenvectors to be calculated. It must be smaller than Rotor.ndof - 1. It is not possible to compute all eigenvectors of a matrix with ARPACK. If sparse=False, num_modes does not have any effect over the method. Default is 12.
- sparsebool, optional
If True, ARPACK is used to calculate a desired number (according to num_modes) or eigenvalues and eigenvectors. If False, scipy.linalg.eig() is used to calculate all the eigenvalues and eigenvectors. Default is True.
- Returns
- resultsross.ModalResults
For more information on attributes and methods available see:
ross.ModalResults
Examples
>>> import ross as rs >>> rotor = rs.rotor_example() >>> modal = rotor.run_modal(speed=0, sparse=False) >>> modal.wn[:2] array([91.79655318, 96.28899977]) >>> modal.wd[:2] array([91.79655318, 96.28899977]) >>> # Plotting 3D mode shape >>> mode1 = 0 # First mode >>> fig = modal.plot_mode_3d(mode1) >>> # Plotting 2D mode shape >>> mode2 = 1 # Second mode >>> fig = modal.plot_mode_2d(mode2)