diff --git a/VectoCore/VectoCore/Models/Simulation/Data/VectoRunData.cs b/VectoCore/VectoCore/Models/Simulation/Data/VectoRunData.cs index 3f52ba0265c125f4e4b62fa41712c0a5aa82dee4..d19fb96c979f8af1fc8e5c0acef4db2e3ba1d07d 100644 --- a/VectoCore/VectoCore/Models/Simulation/Data/VectoRunData.cs +++ b/VectoCore/VectoCore/Models/Simulation/Data/VectoRunData.cs @@ -183,9 +183,10 @@ namespace TUGraz.VectoCore.Models.Simulation.Data } foreach (var gear in gearboxData.Gears) { + var maxEngineSpeed = VectoMath.Min(engineData.FullLoadCurves[gear.Key].RatedSpeed, gear.Value.MaxSpeed); for (var angularVelocity = engineData.IdleSpeed; - angularVelocity < engineData.FullLoadCurves[gear.Key].RatedSpeed; - angularVelocity += 2.0 / 3.0 * (engineData.FullLoadCurves[gear.Key].RatedSpeed - engineData.IdleSpeed) / 10.0) { + angularVelocity < maxEngineSpeed; + angularVelocity += 2.0 / 3.0 * (maxEngineSpeed - engineData.IdleSpeed) / 10.0) { if (!gear.Value.HasLockedGear) { continue; }