Code development platform for open source projects from the European Union institutions

Skip to content
Snippets Groups Projects
Commit 676b47c3 authored by Markus Quaritsch's avatar Markus Quaritsch
Browse files

Torque Converter: when driving off (i.e. vehicle is stopped) search for...

Torque Converter: when driving off (i.e. vehicle is stopped) search for operating point with engine idle speed (if overloaded)
parent a9f8e019
No related branches found
No related tags found
No related merge requests found
......@@ -105,12 +105,16 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
var engineResponse = (ResponseDryRun)
NextComponent.Request(absTime, dt, inTorque, operatingPoint.InAngularVelocity, true);
var dryOperatingPoint = outTorque.IsGreater(0) && DataBus.BrakePower.IsEqual(0)
? GetMaxPowerOperatingPoint(dt, outAngularVelocity, engineResponse,
PreviousState.InTorque * PreviousState.InAngularVelocity)
: GetDragPowerOperatingPoint(dt, outAngularVelocity, engineResponse,
PreviousState.InTorque * PreviousState.InAngularVelocity);
TorqueConverterOperatingPoint dryOperatingPoint;
if (DataBus.VehicleStopped && outTorque.IsGreater(0)) {
dryOperatingPoint = ModelData.FindOperatingPoint(DataBus.EngineIdleSpeed, outAngularVelocity);
} else {
dryOperatingPoint = outTorque.IsGreater(0) && DataBus.BrakePower.IsEqual(0)
? GetMaxPowerOperatingPoint(dt, outAngularVelocity, engineResponse,
PreviousState.InTorque * PreviousState.InAngularVelocity)
: GetDragPowerOperatingPoint(dt, outAngularVelocity, engineResponse,
PreviousState.InTorque * PreviousState.InAngularVelocity);
}
var avgOutSpeed = (PreviousState.OutAngularVelocity + dryOperatingPoint.OutAngularVelocity) / 2.0;
var delta = (outTorque - dryOperatingPoint.OutTorque) * avgOutSpeed;
......@@ -218,7 +222,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
foreach (var x in operatingPointList) {
if ((x.InTorque * x.InAngularVelocity).IsSmallerOrEqual(DataBus.EngineStationaryFullPower(x.InAngularVelocity),
Constants.SimulationSettings.LineSearchTolerance.SI<Watt>()) &&
Constants.SimulationSettings.LineSearchTolerance.SI<Watt>()) &&
(x.InTorque * x.InAngularVelocity).IsGreaterOrEqual(DataBus.EngineDragPower(x.InAngularVelocity),
Constants.SimulationSettings.LineSearchTolerance.SI<Watt>())) {
return x;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment