ross.Rotor.run_freq_response

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”)