@sh.add_function(dsp, outputs=['engine_speeds_out'])
def calculate_engine_speeds_out(
planetary_speeds_in, final_drive_speeds_in, planetary_ratio):
"""
Calculates the engine speed [RPM].
:param planetary_speeds_in:
Planetary speed vector [RPM].
:type planetary_speeds_in: numpy.array
:param final_drive_speeds_in:
Final drive speed in [RPM].
:type final_drive_speeds_in: numpy.array
:param planetary_ratio:
Fundamental planetary speed ratio [-].
:type planetary_ratio: float
:return:
Engine speed vector [RPM].
:rtype: numpy.array
"""
if planetary_ratio == -1:
return sh.NONE
r = planetary_ratio
return (planetary_speeds_in + final_drive_speeds_in * r) / (1 + r)