From 3dde14772825aa64f64a2596371217fe8abdb44c Mon Sep 17 00:00:00 2001 From: Markus Quaritsch <markus.quaritsch@tugraz.at> Date: Fri, 26 Jun 2020 16:01:48 +0200 Subject: [PATCH] more work on hybrid controller --- .../Impl/StopStartCombustionEngine.cs | 29 +++++++++++++++++-- .../Strategies/HybridStrategy.cs | 3 +- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/StopStartCombustionEngine.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/StopStartCombustionEngine.cs index 57be84629f..73daa73282 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/StopStartCombustionEngine.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/StopStartCombustionEngine.cs @@ -44,11 +44,34 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl { { if (!outTorque.IsEqual(0)) { if (dryRun) { - return new ResponseOverload(this) { - Delta = outTorque * outAngularVelocity + return new ResponseDryRun(this) { + DeltaFullLoad = outTorque * ModelData.IdleSpeed, + DeltaDragLoad = outTorque * ModelData.IdleSpeed, + Engine = { + TotalTorqueDemand = outTorque, + PowerRequest = outTorque * outAngularVelocity, + DynamicFullLoadPower = 0.SI<Watt>(), + DragPower = 0.SI<Watt>(), + EngineSpeed = 0.RPMtoRad(), + AuxiliariesPowerDemand = 0.SI<Watt>(), + }, + DeltaEngineSpeed = 0.RPMtoRad(), }; } - throw new VectoSimulationException("Combustion engine cannot supply outtorque when switched off (T_out: {0})", outTorque); + + return new ResponseOverload(this) { + Delta = outTorque * outAngularVelocity, + Engine = { + TotalTorqueDemand = outTorque, + PowerRequest = outTorque * outAngularVelocity, + DynamicFullLoadPower = 0.SI<Watt>(), + DragPower = 0.SI<Watt>(), + EngineSpeed = 0.RPMtoRad(), + AuxiliariesPowerDemand = 0.SI<Watt>(), + }, + }; + + //throw new VectoSimulationException("Combustion engine cannot supply outtorque when switched off (T_out: {0})", outTorque); } CurrentState.EngineOn = false; CurrentState.EngineSpeed = ModelData.IdleSpeed; diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Strategies/HybridStrategy.cs b/VectoCore/VectoCore/Models/SimulationComponent/Strategies/HybridStrategy.cs index 6c81ba20d9..9e1aa9d69f 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Strategies/HybridStrategy.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Strategies/HybridStrategy.cs @@ -174,7 +174,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Strategies CombustionEngineOn = DataBus.EngineInfo.EngineOn, MechanicalAssistPower = ElectricMotorsOff }, - FuelCosts = double.NaN + FuelCosts = double.NaN, + ICEOff = !DataBus.EngineInfo.EngineOn, }); } if (DataBus.DriverInfo.DrivingAction == DrivingAction.Brake && eval.Count == 0) { -- GitLab