diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/ATGearbox.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/ATGearbox.cs index 51da402b0e0f46d8dcd748eeca99abd4a4d551b3..3e16a27a67feeefd488efdd5ab67f304c7b8089c 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/ATGearbox.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/ATGearbox.cs @@ -299,7 +299,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl if (_powershiftLossEnergy != null) { var remainingShiftLossLime = ModelData.PowershiftShiftTime - (absTime - LastShift); if (remainingShiftLossLime.IsGreater(0)) { - aliquotEnergyLoss = _powershiftLossEnergy * VectoMath.Min(1.0, dt / remainingShiftLossLime); + aliquotEnergyLoss = _powershiftLossEnergy * VectoMath.Min(1.0, VectoMath.Min(dt, remainingShiftLossLime) / ModelData.PowershiftShiftTime); var avgEngineSpeed = (DataBus.EngineSpeed + outAngularVelocity * effectiveRatio) / 2; powershiftLoss = aliquotEnergyLoss / dt / avgEngineSpeed; inTorque += powershiftLoss; @@ -317,7 +317,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl CurrentState.Gear = Gear; CurrentState.TransmissionTorqueLoss = inTorque * effectiveRatio - outTorque; CurrentState.PowershiftLoss = powershiftLoss; - CurrentState.PowershiftLossEnergy = _powershiftLossEnergy ?? 0.SI<WattSecond>() - aliquotEnergyLoss; + CurrentState.PowershiftLossEnergy = _powershiftLossEnergy; TorqueConverter.Locked(CurrentState.InTorque, CurrentState.InAngularVelocity, CurrentState.InTorque, CurrentState.InAngularVelocity); }