@sh.add_function(
dsp, inputs=['motor_p4_front_powers', 'motor_p4_front_efficiency'],
outputs=['motor_p4_front_electric_powers']
)
@sh.add_function(
dsp, inputs=['motor_p4_rear_powers', 'motor_p4_rear_efficiency'],
outputs=['motor_p4_rear_electric_powers']
)
def calculate_motor_p4_electric_powers(motor_p4_powers, motor_p4_efficiency):
"""
Calculates motor P4 electric power [kW].
:param motor_p4_powers:
Power at motor P4 [kW].
:type motor_p4_powers: numpy.array | float
:param motor_p4_efficiency:
Motor P4 efficiency [-].
:type motor_p4_efficiency: float
:return:
Electric power of motor P4 [kW].
:rtype: numpy.array | float
"""
p = motor_p4_powers
return p * np.where(p >= 0, 1 / motor_p4_efficiency, motor_p4_efficiency)