-
Notifications
You must be signed in to change notification settings - Fork 0
Clutch Model Torque Converter Model
stefanosts edited this page Aug 6, 2016
·
1 revision
Both models are "disabled" on Parametric CO2MPAS, and they return zeros as output.
Name | Units | Source / Comments | Parameter |
---|
- Delta Speeds Clutch / Torque Converter [RPM] / clutch_tc_speeds_delta
- Powers Clutch / Torque Converter [kW] / clutch_tc_powers
def define_clutch_prediction_model_parametric():
def no_clutch(X):
return np.zeros(X.shape[0])
return no_clutch, (0, 0)
def predict_clutch_speeds_delta(clutch_model, clutch_phases, accelerations):
delta = np.zeros_like(accelerations, dtype=float)
X = np.array([accelerations[clutch_phases]]).T
delta[clutch_phases] = clutch_model(X)
return delta
def define_torque_converter_model_parametric():
def no_torque_converter(X):
return np.zeros(X.shape[0])
return no_torque_converter
def predict_torque_converter_speeds_delta(
torque_converter_model, accelerations, velocities, gear_box_speeds_in,
gears):
X = np.array([accelerations, velocities, gear_box_speeds_in, gears]).T
return torque_converter_model(X)
def calculate_clutch_TC_powers(
clutch_tc_speeds_delta, k_factor_curve, gear_box_speeds_in,
gear_box_powers_in, engine_speeds_out):
is_not_eng2gb = gear_box_speeds_in >= engine_speeds_out
speed_out = np.where(is_not_eng2gb, engine_speeds_out, gear_box_speeds_in)
speed_in = np.where(is_not_eng2gb, gear_box_speeds_in, engine_speeds_out)
ratios = np.ones_like(gear_box_powers_in, dtype=float)
b = (speed_in > 0) & (clutch_tc_speeds_delta != 0)
ratios[b] = speed_out[b] / speed_in[b]
eff = k_factor_curve(ratios) * ratios
eff[is_not_eng2gb] = np.nan_to_num(1 / eff[is_not_eng2gb])
powers = gear_box_powers_in.copy()
b = eff > 0
powers[b] = gear_box_powers_in[b] / eff[b]
return powers