From 2905f32d343aaf9f9c07ca8c7589f80a25642f18 Mon Sep 17 00:00:00 2001 From: Markus Quaritsch <markus.quaritsch@tugraz.at> Date: Fri, 23 Apr 2021 13:48:48 +0200 Subject: [PATCH] add out speed and out torque to gearbox response --- VectoCommon/VectoCommon/Models/IResponse.cs | 4 ++++ .../Models/SimulationComponent/Impl/ATGearbox.cs | 15 ++++++++++++++- .../Models/SimulationComponent/Impl/Gearbox.cs | 11 +++++++++-- .../SimulationComponent/Impl/HybridController.cs | 2 ++ 4 files changed, 29 insertions(+), 3 deletions(-) diff --git a/VectoCommon/VectoCommon/Models/IResponse.cs b/VectoCommon/VectoCommon/Models/IResponse.cs index 4dfac835d5..f85876b82b 100644 --- a/VectoCommon/VectoCommon/Models/IResponse.cs +++ b/VectoCommon/VectoCommon/Models/IResponse.cs @@ -99,6 +99,10 @@ namespace TUGraz.VectoCommon.Models public NewtonMeter InputTorque { get; set; } public GearshiftPosition Gear { get; set; } + + public PerSecond OutputSpeed { get; set; } + + public NewtonMeter OutputTorque { get; set; } } public class TorqueConverterResponse : AbstractPowertrainComponentResponse diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/ATGearbox.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/ATGearbox.cs index 2f012c0b67..674a8bcdea 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/ATGearbox.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/ATGearbox.cs @@ -384,6 +384,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl response.Gearbox.InputSpeed = inAngularVelocity; response.Gearbox.InputTorque = inTorque; + response.Gearbox.OutputSpeed = outAngularVelocity; + response.Gearbox.OutputTorque = outTorque; return response; } @@ -398,7 +400,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl } retVal.Gearbox.InputSpeed = inAngularVelocity; retVal.Gearbox.InputTorque = inTorque; - + retVal.Gearbox.OutputSpeed = outAngularVelocity; + retVal.Gearbox.OutputTorque = outTorque; return retVal; } @@ -437,6 +440,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl PowerRequest = outTorque * avgAngularVelocity, InputTorque = inTorque, // in case ICE is off (hybrid vehicle) the AT gearbox is disengaged - we need some 'reference point' for searching the operating point - use input torque InputSpeed = inAngularVelocity, + OutputTorque = outTorque, + OutputSpeed = outAngularVelocity, }, DeltaDragLoad = outTorque * avgAngularVelocity, DeltaFullLoad = outTorque * avgAngularVelocity, @@ -452,6 +457,9 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl PowerRequest = outTorque * avgAngularVelocity, InputTorque = inTorque, InputSpeed = inAngularVelocity, + OutputTorque = outTorque, + OutputSpeed = outAngularVelocity, + }, Engine = { TotalTorqueDemand = 0.SI<NewtonMeter>(), //outTorque, @@ -475,6 +483,9 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl PowerRequest = outTorque * avgAngularVelocity, InputTorque = inTorque, InputSpeed = inAngularVelocity, + OutputTorque = outTorque, + OutputSpeed = outAngularVelocity, + }, Engine = { TotalTorqueDemand = 0.SI<NewtonMeter>(), //outTorque, @@ -523,6 +534,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl var retVal = NextComponent.Request(absTime, dt, 0.SI<NewtonMeter>(), inAngularVelocity, false); retVal.Gearbox.InputSpeed = inAngularVelocity; retVal.Gearbox.InputTorque = inTorque; + retVal.Gearbox.OutputTorque = outTorque; + retVal.Gearbox.OutputSpeed = outAngularVelocity; return retVal; } diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/Gearbox.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/Gearbox.cs index c7f0c4577b..4e80989f75 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/Gearbox.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/Gearbox.cs @@ -185,6 +185,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl PowerRequest = outTorque * outAngularVelocity, InputSpeed = inAngularVelocity, InputTorque = inTorque, + OutputTorque = outTorque, + OutputSpeed = outAngularVelocity, }, DeltaFullLoad = response.Engine.PowerRequest - fullLoad }; @@ -336,7 +338,9 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl PowerRequest = delta, Gear = new GearshiftPosition(0), InputSpeed = inAngularVelocity, - InputTorque = inTorque + InputTorque = inTorque, + OutputTorque = outTorque, + OutputSpeed = outAngularVelocity, }, DeltaDragLoad = delta, DeltaFullLoad = delta, @@ -415,13 +419,16 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl dryRunResponse.Gearbox.Gear = Gear; dryRunResponse.Gearbox.InputSpeed = inAngularVelocity; dryRunResponse.Gearbox.InputTorque = inTorque; - + dryRunResponse.Gearbox.OutputTorque = outTorque; + dryRunResponse.Gearbox.OutputSpeed = outAngularVelocity; return dryRunResponse; } var response = NextComponent.Request(absTime, dt, inTorque, inAngularVelocity, false); response.Gearbox.InputSpeed = inAngularVelocity; response.Gearbox.InputTorque = inTorque; + response.Gearbox.OutputTorque = outTorque; + response.Gearbox.OutputSpeed = outAngularVelocity; var shiftAllowed = !inAngularVelocity.IsEqual(0) && !DataBus.VehicleInfo.VehicleSpeed.IsEqual(0); diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/HybridController.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/HybridController.cs index c0a1276eaa..8e33042a79 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/HybridController.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/HybridController.cs @@ -148,6 +148,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl Gearbox = { InputTorque = ovl.GearboxResponse?.InputTorque, InputSpeed = ovl.GearboxResponse?.InputSpeed, + OutputTorque = ovl.GearboxResponse?.OutputTorque, + OutputSpeed = ovl.GearboxResponse?.OutputSpeed, PowerRequest = ovl.GearboxResponse?.PowerRequest, Gear = ovl.GearboxResponse?.Gear } -- GitLab