ross.Rotor.run_freq_response
Contents
ross.Rotor.run_freq_response#
- Rotor.run_freq_response(speed_range=None, modes=None, free_free=False)#
Frequency response for a mdof system.
This method returns the frequency response for a mdof system given a range of frequencies and the modes that will be used.
- Available plotting methods:
.plot() .plot_magnitude() .plot_phase() .plot_polar_bode()
- Parameters:
- speed_rangearray, optional, pint.Quantity
Array with the desired range of frequencies. Default is 0 to 1.5 x highest damped natural frequency.
- modeslist, optional
Modes that will be used to calculate the frequency response (all modes will be used if a list is not given).
- free_freebool, optional
If True, the method will consider the rotor system as free-free. Default is False.
- Returns:
- resultsross.FrequencyResponseResults
For more information on attributes and methods available see:
ross.FrequencyResponseResults
Examples
>>> import ross as rs >>> rotor = rs.rotor_example() >>> speed =np.linspace(0, 1000, 101) >>> response = rotor.run_freq_response(speed_range=speed)
Return the response amplitude >>> abs(response.freq_resp) # doctest: +ELLIPSIS array([[[0.00000000e+00, 1.00261725e-06, 1.01076952e-06, …
Return the response phase >>> np.angle(response.freq_resp) # doctest: +ELLIPSIS array([[[…
Selecting the desirable modes, if you want a reduced model: >>> response = rotor.run_freq_response(speed_range=speed, modes=[0, 1, 2, 3, 4]) >>> abs(response.freq_resp) # doctest: +ELLIPSIS array([[[0.00000000e+00, 1.00261725e-06, 1.01076952e-06, …
Plotting frequency response function: >>> fig = response.plot(inp=13, out=13)
To plot velocity and acceleration responses, you must change amplitude_units from “[length]/[force]” units to “[speed]/[force]” or “[acceleration]/[force]” respectively
Plotting velocity response >>> fig = response.plot(inp=13, out=13, amplitude_units=”m/s/N”)
Plotting acceleration response >>> fig = response.plot(inp=13, out=13, amplitude_units=”m/s**2/N”)