diff --git a/VectoCore/VectoCore/InputData/Reader/ComponentData/TransmissionLossMapReader.cs b/VectoCore/VectoCore/InputData/Reader/ComponentData/TransmissionLossMapReader.cs index 2bf6548ebe01b3bc6cad9559e3205df2bdfb89c6..3da0b1a2c9b3d45a2fa0ed2d314dc29a2b8bd4f5 100644 --- a/VectoCore/VectoCore/InputData/Reader/ComponentData/TransmissionLossMapReader.cs +++ b/VectoCore/VectoCore/InputData/Reader/ComponentData/TransmissionLossMapReader.cs @@ -129,14 +129,16 @@ namespace TUGraz.VectoCore.InputData.Reader.ComponentData VectoMath.LeastSquaresFitting(speedBucket.Value, x => x.InputTorque.Value(), x => x.TorqueLoss.Value(), out k, out d, out r); - var inTq = DeclarationData.LossMapExtrapolationFactor * maxTorque; - if (k > 0) { - entries.Add(new TransmissionLossMap.GearLossMapEntry(speedBucket.Key, inTq, k * inTq + d.SI<NewtonMeter>())); - entries.Add(new TransmissionLossMap.GearLossMapEntry(speedBucket.Key, -inTq, k * inTq + d.SI<NewtonMeter>())); - } else { - var torqueLossLastEntry = speedBucket.Value.OrderBy(x => x.InputSpeed).Last().TorqueLoss; - entries.Add(new TransmissionLossMap.GearLossMapEntry(speedBucket.Key, inTq, torqueLossLastEntry)); - entries.Add(new TransmissionLossMap.GearLossMapEntry(speedBucket.Key, -inTq, torqueLossLastEntry)); + for (var i = 2; i <= DeclarationData.LossMapExtrapolationFactor; i++) { + var inTq = i * maxTorque; + if (k > 0) { + entries.Add(new TransmissionLossMap.GearLossMapEntry(speedBucket.Key, inTq, k * inTq + d.SI<NewtonMeter>())); + entries.Add(new TransmissionLossMap.GearLossMapEntry(speedBucket.Key, -inTq, k * inTq + d.SI<NewtonMeter>())); + } else { + var torqueLossLastEntry = speedBucket.Value.OrderBy(x => x.InputSpeed).Last().TorqueLoss; + entries.Add(new TransmissionLossMap.GearLossMapEntry(speedBucket.Key, inTq, torqueLossLastEntry)); + entries.Add(new TransmissionLossMap.GearLossMapEntry(speedBucket.Key, -inTq, torqueLossLastEntry)); + } } } diff --git a/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs b/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs index 440df83783d485267868cc2e9ae1529cfdae673f..53d2910afbfa77f9dca276a71a70763506d87971 100644 --- a/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs +++ b/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs @@ -77,7 +77,7 @@ namespace TUGraz.VectoCore.Models.Declaration public static readonly StandardBodies StandardBodies = new StandardBodies(); public static readonly Payloads Payloads = new Payloads(); public static readonly PTOTransmission PTOTransmission = new PTOTransmission(); - public const double LossMapExtrapolationFactor = 10; + public const double LossMapExtrapolationFactor = 6; public static readonly ADASCombinations ADASCombinations = new ADASCombinations(); public static readonly ADASBenefits ADASBenefits = new ADASBenefits();