@sh.add_function(dsp, outputs=['equivalent_gear_box_heat_capacity'])
def calculate_equivalent_gear_box_heat_capacity(
engine_mass, has_gear_box_thermal_management):
"""
Calculates the equivalent gear box heat capacity [kg*J/K].
:param engine_mass:
Engine mass [kg].
:type engine_mass: str
:param has_gear_box_thermal_management:
Does the gear box have some additional technology to heat up faster?
:type has_gear_box_thermal_management: bool
:return:
Equivalent gear box heat capacity [kg*J/K].
:rtype: float
"""
par = dfl.functions.calculate_engine_heat_capacity.PARAMS
heated_eng_mass = engine_mass * sum(par['heated_mass_percentage'].values())
par = dfl.functions.calculate_equivalent_gear_box_heat_capacity
par = par.PARAMS
heated_gear_box_mass = heated_eng_mass * par['gear_box_mass_engine_ratio']
if has_gear_box_thermal_management:
heated_gear_box_mass *= par['thermal_management_factor']
return par['heat_capacity']['oil'] * heated_gear_box_mass