-
Notifications
You must be signed in to change notification settings - Fork 0
Cold Start Model
stefanosts edited this page Aug 6, 2016
·
1 revision
Name | Units | Source / Comments | Parameter |
---|---|---|---|
Delta Speed Cold | RPM | Default Input | delta_speed_cold |
Idle Speed | RPM | Parametric Calculated Input | idle_engine_speed |
Gearbox Speeds In | RPM | Calculated by Gearbox Model | gear_box_speeds_in |
Engine Status | - | On/Off - Calculated by Start/Stop Model | on_engine |
Engine Coolant Temperatures | oC | Calculated by Thermal Model | engine_coolant_temperatures |
Delta Speeds Cold [RPM] / cold_start_speeds_delta
def define_cold_start_speed_model_parametric(idle_engine_speed, delta_speed_cold):
ds, idle = delta_speed_cold, idle_engine_speed[0]
def model(speeds, on_engine, engine_coolant_temperatures):
add_speeds = np.zeros_like(speeds, dtype=float)
b = (engine_coolant_temperatures < 30.0) & on_engine
s = ds * (30.0 - engine_coolant_temperatures[b])
add_speeds[b] = np.where(speeds[b] < s + idle, s, add_speeds[b])
return add_speeds
return model
def calculate_engine_speeds_out_hot(
gear_box_speeds_in, on_engine, idle_engine_speed):
s = gear_box_speeds_in.copy()
s[np.logical_not(on_engine)] = 0
s[on_engine & (s < idle_engine_speed[0])] = idle_engine_speed[0]
return s
def calculate_cold_start_speeds_delta(
cold_start_speed_model, engine_speeds_out_hot, on_engine,
engine_coolant_temperatures):
delta_speeds = cold_start_speed_model(
engine_speeds_out_hot, on_engine, engine_coolant_temperatures)
return delta_speeds