diff --git a/VectoCore/VectoCore/Models/Simulation/Data/VectoRunData.cs b/VectoCore/VectoCore/Models/Simulation/Data/VectoRunData.cs index 98ec6532ead64fdc7d63b68f1ed285b632d070be..5d2690b2ec4f94817090e4b409cd04335314a3b0 100644 --- a/VectoCore/VectoCore/Models/Simulation/Data/VectoRunData.cs +++ b/VectoCore/VectoCore/Models/Simulation/Data/VectoRunData.cs @@ -184,9 +184,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; }