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