@sh.add_function(
dsp, inputs_kwargs=True, inputs_defaults=True,
outputs=['idle_fuel_consumption_model']
)
def define_idle_fuel_consumption_model(
idle_engine_speed, engine_capacity, engine_stroke,
engine_fuel_lower_heating_value, fmep_model,
idle_fuel_consumption_initial_guess=None):
"""
Defines the idle fuel consumption model.
:param idle_engine_speed:
Engine speed idle median and std [RPM].
:type idle_engine_speed: (float, float)
:param engine_capacity:
Engine capacity [cm3].
:type engine_capacity: float
:param engine_stroke:
Engine stroke [mm].
:type engine_stroke: float
:param engine_fuel_lower_heating_value:
Fuel lower heating value [kJ/kg].
:type engine_fuel_lower_heating_value: float
:param fmep_model:
Engine FMEP model.
:type fmep_model: FMEP
:param idle_fuel_consumption_initial_guess:
Initial guess of fuel consumption at hot idle engine speed [g/s].
:type idle_fuel_consumption_initial_guess: float, optional
:return:
Idle fuel consumption model.
:rtype: IdleFuelConsumptionModel
"""
d = dfl.functions
if idle_fuel_consumption_initial_guess is not None or \
d.ENABLE_ALL_FUNCTIONS or \
d.define_idle_fuel_consumption_model.ENABLE:
model = IdleFuelConsumptionModel(
idle_fuel_consumption_initial_guess).fit(
idle_engine_speed, engine_capacity, engine_stroke,
engine_fuel_lower_heating_value, fmep_model
)
return model
return sh.NONE