diff --git a/VECTO/Input Files/Vehicle.vb b/VECTO/Input Files/Vehicle.vb index 4ea96dbdb0873358aad1cbc02b18be53b3e7a259..828418783bb501462edf2dfba21c73a66149b64f 100644 --- a/VECTO/Input Files/Vehicle.vb +++ b/VECTO/Input Files/Vehicle.vb @@ -114,7 +114,7 @@ Public Class Vehicle Dim segment As Segment = DeclarationData.TruckSegments.Lookup(vehicle.VehicleCategory, vehicle.AxleConfiguration, vehicle.GrossVehicleMassRating, vehicle.CurbMassChassis, false) vehicleData = doa.CreateVehicleData(vehicle, segment.Missions.First(), - segment.Missions.First().Loadings.First().Value) + segment.Missions.First().Loadings.First()) airdragData = doa.CreateAirdragData(vehicle, segment.Missions.First(), segment) retarderData = doa.CreateRetarderData(vehicle) angledriveData = doa.CreateAngledriveData(vehicle) diff --git a/VECTOAux/VectoAuxiliariesTests/IntegrationTests/AuxDemandTest.vb b/VECTOAux/VectoAuxiliariesTests/IntegrationTests/AuxDemandTest.vb index f52e846fe2b96e6a53186854db9559c8a307cea3..b8a37b0a801f4bfc3cb9f1da7e3f0509e508828b 100644 --- a/VECTOAux/VectoAuxiliariesTests/IntegrationTests/AuxDemandTest.vb +++ b/VECTOAux/VectoAuxiliariesTests/IntegrationTests/AuxDemandTest.vb @@ -88,7 +88,7 @@ Namespace IntegrationTests aux.Signals.EngineIdleSpeed = 560.RPMtoRad() Dim auxCfg = BusAuxiliaryInputData.ReadBusAuxiliaries(auxFilePath, Utils.GetDefaultVehicleData(12000.SI(Of Kilogram)())) - CType(auxCfg, AuxiliaryConfig).FuelMap = fuelMap + 'CType(auxCfg, AuxiliaryConfig).FuelMap = fuelMap CType(aux, BusAuxiliaries).Initialise(auxCfg) ', Path.GetDirectoryName(Path.GetFullPath(auxFilePath)) + "\") diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/M0_5_SmartAlternatorSetEfficiencyTests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/M0_5_SmartAlternatorSetEfficiencyTests.vb index df963a5d79ffd6967ec99019d62e6e2c3e21f817..76cec0b28d175c7fc4d70ff7c542615675360067 100644 --- a/VECTOAux/VectoAuxiliariesTests/UnitTests/M0_5_SmartAlternatorSetEfficiencyTests.vb +++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/M0_5_SmartAlternatorSetEfficiencyTests.vb @@ -55,13 +55,14 @@ Namespace UnitTests Dim ssm As ISSMTOOL = GetSSM() - + + signals.EngineSpeed = 2000.RPMtoRad() Dim auxConfig = Utils.GetAuxTestConfig() 'Dim hvacMap As New HVACMap("testFiles\TestHvacMap.csv") 'hvacMap.Initialise() CType(auxConfig.ElectricalUserInputsConfig, ElectricsUserInputsConfig).PowerNetVoltage = 26.3.SI (Of Volt) - Dim m0 As New M00Impl(auxConfig.ElectricalUserInputsConfig, auxConfig.Signals, ssm.ElectricalWAdjusted) + Dim m0 As New M00Impl(auxConfig.ElectricalUserInputsConfig, signals, ssm.ElectricalWAdjusted) 'Results Cards Dim readings = New List(Of SmartResult) @@ -73,7 +74,7 @@ Namespace UnitTests CType(auxConfig.ElectricalUserInputsConfig, ElectricsUserInputsConfig).ResultCardOverrun = New ResultCard(readings) - target = New M0_5Impl(m0, auxConfig.ElectricalUserInputsConfig, auxConfig.Signals) + target = New M0_5Impl(m0, auxConfig.ElectricalUserInputsConfig, signals) End Sub <Test()> diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/M1_AverageHVACLoadDemandTests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/M1_AverageHVACLoadDemandTests.vb index 6bcd5217edaa0d7f9bfe3c70a759ef8cbb4a9361..242b1cfa23b98281e55b03a4a7677e7a3de805b6 100644 --- a/VECTOAux/VectoAuxiliariesTests/UnitTests/M1_AverageHVACLoadDemandTests.vb +++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/M1_AverageHVACLoadDemandTests.vb @@ -46,7 +46,7 @@ Namespace UnitTests dim auxConfig = Utils.GetAuxTestConfig() dim vehicle = auxConfig.VehicleData - CType(vehicle, VehicleData).Height = 0.SI (of Meter) + 'CType(vehicle, VehicleData).Height = 0.SI (of Meter) Dim ssmInput = SSMInputData.ReadFile(_SSMMAP, vehicle, Nothing) ssm = New SSMTOOL(ssmInput) diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/M7Tests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/M7Tests.vb index 16409a251571824107383c498e61a8a6831f8ba0..ac80a57ae6296d75cfed873d47adde2a823f6e82 100644 --- a/VECTOAux/VectoAuxiliariesTests/UnitTests/M7Tests.vb +++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/M7Tests.vb @@ -1,4 +1,5 @@  +Imports Moq Imports NUnit.Framework Imports TUGraz.VectoCommon.BusAuxiliaries Imports TUGraz.VectoCommon.Utils @@ -6,6 +7,7 @@ Imports TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules Imports TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl Imports TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces Imports TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules +Imports TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics Namespace UnitTests <TestFixture()> @@ -13,17 +15,34 @@ Namespace UnitTests Private M5 As M5_Mock Private M6 As M6_Mock Private Signals As ISignals + Private M0 As Mock(Of IM0_NonSmart_AlternatorsSetEfficiency) + Private M1 As Mock(Of IM1_AverageHVACLoadDemand) + Private M2 As Mock(Of IM2_AverageElectricalLoadDemand) + Private Bat As Mock(Of ISimpleBattery) - Public Sub New() + Public Sub New() - M5 = New M5_Mock(100, 110, 120) + M0 = New Mock(Of IM0_NonSmart_AlternatorsSetEfficiency) + M0.Setup(Function(x) x.AlternatorsEfficiency).Returns(0.7) + + M1 = New Mock(Of IM1_AverageHVACLoadDemand) + M1.Setup(Function(x) x.AveragePowerDemandAtAlternatorFromHVACElectrics).Returns(500.SI(Of Watt)) + + M2 = New Mock(Of IM2_AverageElectricalLoadDemand) + M2.Setup(Function(x) x.AveragePowerDemandAtAlternatorFromElectrics).Returns(500.SI(Of Watt)) + + bat = New Mock(of ISimpleBattery) + bat.Setup(Function(x) x.SOC).Returns(0.9) + bat.Setup(Function(x) x.Capacity).Returns(400.SI(Unit.SI.Watt.Hour).Cast(Of WattSecond)) + + M5 = New M5_Mock(100, 110, 120) M6 = New M6_Mock(100, 0, false, 110, 120, false, 130, 140, True) Signals = New Signals() End Sub <TestCase()> Public Sub CreateNew_M7InstanceTest() - Dim target As IM7 = New M07Impl(M5, M6, Signals) + Dim target As IM7 = New M07Impl(M0.Object, M1.Object, M2.Object, M5, M6, bat.Object, 0.92, Signals) Assert.IsNotNull(target) End Sub @@ -84,7 +103,7 @@ Namespace UnitTests 'Create Instance of M7 from - Dim target As IM7 = New M07Impl(M5, M6, Signals) + Dim target As IM7 = New M07Impl(M0.Object, M1.Object, M2.Object, M5, M6, bat.Object, 0.92, Signals) Dim OP1act As Double = target.SmartElectricalAndPneumaticAuxAltPowerGenAtCrank().Value() Dim OP2act As Double = target.SmartElectricalAndPneumaticAuxAirCompPowerGenAtCrank().Value() diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/Utils.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/Utils.vb index bab160cba7f161a3b9345f1445647e87ee5b2649..81138ff24ec4b76415feb071c92bda331bd5d78b 100644 --- a/VECTOAux/VectoAuxiliariesTests/UnitTests/Utils.vb +++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/Utils.vb @@ -47,14 +47,15 @@ Public Class Utils Public Shared Function GetDefaultVehicleData(optional vehicleWeight As Kilogram = Nothing) as VehicleData Return New VehicleData With { - .CurbMass = If(vehicleWeight, 0.si (of Kilogram)), - .Length = 10.655.SI (Of Meter)(), - .Width = 2.55.SI (Of Meter)(), - .Height = 2.275.SI (of Meter)(), - .FloorType = FloorType.HighFloor, - .PassengerCount = 47, - .DoubleDecker = False + .CurbMass = If(vehicleWeight, 0.si (of Kilogram)) } + '.Length = 10.655.SI (Of Meter)(), + '.Width = 2.55.SI (Of Meter)(), + '.Height = 2.275.SI (of Meter)(), + '.FloorType = FloorType.HighFloor, + '.PassengerCount = 47, + '.DoubleDecker = False + '} End Function public shared Function CreatePneumaticAuxConfig(retarder As boolean) As IPneumaticsConsumersDemand @@ -83,9 +84,6 @@ Public Class Utils public Shared Function GetAuxTestConfig(Optional retarder As boolean = true) as AuxiliaryConfig - Dim signals = New Signals() - signals.EngineSpeed = 2000.RPMtoRad() - dim vehicleData = GetDefaultVehicleData() Dim heatingFuel As FuelData.Entry = New FuelData.Entry(FuelType.DieselCI, Nothing, Nothing, 1, 11.8.SI(Unit.SI.Kilo.Watt.Hour.Per.kilo.Gramm).Cast _ @@ -153,7 +151,6 @@ Public Class Utils Constants.BusAuxiliaries.SteadyStateModel.MaxPossibleBenefitFromTechnologyList }, .VehicleData = vehicleData, - .Signals = signals, .Actuations = New Actuations() With { .Braking = 153, .ParkBrakeAndDoors = 24, diff --git a/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs b/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs index 1b5de170060083a81aa9450105f7fa5e08510226..b8d34601bbefcd3d1ccbc5eac1b76932bc08ebc1 100644 --- a/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs +++ b/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs @@ -41,7 +41,6 @@ using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Models.Declaration; - namespace TUGraz.VectoCommon.InputData { public interface IDeclarationJobInputData @@ -53,13 +52,12 @@ namespace TUGraz.VectoCommon.InputData string JobName { get; } string ShiftStrategy { get; } - } public interface IComponentInputData { DataSource DataSource { get; } - + bool SavedInDeclarationMode { get; } string Manufacturer { get; } @@ -191,8 +189,7 @@ namespace TUGraz.VectoCommon.InputData } public interface IVehicleComponentsDeclaration - { - + { IAirdragDeclarationInputData AirdragInputData { get; } IGearboxDeclarationInputData GearboxInputData { get; } @@ -214,7 +211,6 @@ namespace TUGraz.VectoCommon.InputData IAxlesDeclarationInputData AxleWheels { get; } IBusAuxiliariesDeclarationData BusAuxiliaries { get; } - } public interface IAxlesDeclarationInputData @@ -245,7 +241,7 @@ namespace TUGraz.VectoCommon.InputData { None, Option_1_2, - Option_1_2_3 + Option_1_2_3 } public static class PredictiveCruiseControlTypeHelper @@ -259,6 +255,7 @@ namespace TUGraz.VectoCommon.InputData if (PredictiveCruiseControlType.None.ToString().Equals(value, StringComparison.InvariantCultureIgnoreCase)) { return PredictiveCruiseControlType.None; } + return (Prefix + value.Replace(SeparatorXML, SeparatorEnum)).ParseEnum<PredictiveCruiseControlType>(); } @@ -528,7 +525,7 @@ namespace TUGraz.VectoCommon.InputData /// cf. VECTO Input Parameters.xlsx /// </summary> CubicMeter Displacement { get; } - + Watt RatedPowerDeclared { get; } PerSecond RatedSpeedDeclared { get; } @@ -537,8 +534,7 @@ namespace TUGraz.VectoCommon.InputData IList<IEngineModeDeclarationInputData> EngineModes { get; } - WHRType WHRType{ get; } - + WHRType WHRType { get; } } public interface IEngineModeDeclarationInputData @@ -561,13 +557,12 @@ namespace TUGraz.VectoCommon.InputData IWHRData WasteHeatRecoveryDataElectrical { get; } IWHRData WasteHeatRecoveryDataMechanical { get; } - } public interface IWHRData { double UrbanCorrectionFactor { get; } - + double RuralCorrectionFactor { get; } double MotorwayCorrectionFactor { get; } @@ -579,12 +574,10 @@ namespace TUGraz.VectoCommon.InputData double EngineeringCorrectionFactor { get; } TableData GeneratedPower { get; } - } public interface IEngineFuelDelcarationInputData { - FuelType FuelType { get; } /// <summary> @@ -619,7 +612,6 @@ namespace TUGraz.VectoCommon.InputData /// engine speed in rpm, torque in NM, fuel consumption in g/h /// </summary> TableData FuelConsumptionMap { get; } - } @@ -699,7 +691,7 @@ namespace TUGraz.VectoCommon.InputData public interface IElectricSupplyDeclarationData { IList<IAlternatorDeclarationInputData> Alternators { get; } - + bool SmartElectrics { get; } Watt MaxAlternatorPower { get; } @@ -718,7 +710,6 @@ namespace TUGraz.VectoCommon.InputData bool HeadlightsLED { get; } bool BrakelightsLED { get; } - } public interface IAlternatorDeclarationInputData @@ -728,7 +719,7 @@ namespace TUGraz.VectoCommon.InputData double Ratio { get; } } - + public interface IPneumaticSupplyDeclarationData { string Clutch { get; } @@ -770,7 +761,7 @@ namespace TUGraz.VectoCommon.InputData bool SeparateAirDistributionDucts { get; } } - + public interface IResultsInputData { string Status { get; } @@ -792,12 +783,12 @@ namespace TUGraz.VectoCommon.InputData public interface ISimulationParameter { - Kilogram TotalVehicleMass { get; } - Kilogram Payload { get; } + Kilogram TotalVehicleMass { get; } + Kilogram Payload { get; } int PassengerCount { get; } string FuelMode { get; } } - + public interface IApplicationInformation { diff --git a/VectoCommon/VectoCommon/InputData/IInputDataProvider.cs b/VectoCommon/VectoCommon/InputData/IInputDataProvider.cs index 464ce79f20d9cb30e0849263395e94cb1ae1c574..5bb6a4f25ee94419c4e0dceb21b49a7fbaaa9ebe 100644 --- a/VectoCommon/VectoCommon/InputData/IInputDataProvider.cs +++ b/VectoCommon/VectoCommon/InputData/IInputDataProvider.cs @@ -66,4 +66,12 @@ namespace TUGraz.VectoCommon.InputData DigestData ManufacturerHash { get; } } + + public interface ISingleBusInputDataProvider : IDeclarationInputDataProvider + { + IVehicleDeclarationInputData PrimaryVehicle { get; } + + IVehicleDeclarationInputData CompletedVehicle { get; } + } + } diff --git a/VectoCore/VectoCore/Configuration/Constants.cs b/VectoCore/VectoCore/Configuration/Constants.cs index bbe90aab1c56798a616730e8168d31f54f1e6794..beddc5d4fd6e509cc9d60b8ce2a77d0b5195123c 100644 --- a/VectoCore/VectoCore/Configuration/Constants.cs +++ b/VectoCore/VectoCore/Configuration/Constants.cs @@ -196,6 +196,7 @@ namespace TUGraz.VectoCore.Configuration public static readonly Meter InternalHeightDoubleDecker = 1.8.SI<Meter>(); public static readonly Meter HeightLuggageCompartment = 0.5.SI<Meter>(); + public static readonly SIBase<Meter> EntranceHeight = 0.27.SI<Meter>(); public static class Auxiliaries { diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputData.cs index 7a6f4467fe902268d7d7258ef6805f03cc36c0b6..6c7a1613fae88476fd688171da9e7f7819eaf6fd 100644 --- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputData.cs @@ -967,7 +967,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON } - public class JSONInputDataSingleBusV6 : JSONFile, ISingleBusInputDataProvider + public class JSONInputDataSingleBusV6 : JSONFile, ISingleBusInputDataProvider, IDeclarationJobInputData { private readonly IXMLInputDataReader _xmlInputReader; @@ -981,7 +981,9 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON var completedInputData = Path.Combine(BasePath, Body.GetEx<string>("CompletedVehicle")); PrimaryVehicle = CreateReader(primaryInputData); - CompletedVehidle = CreateReader(completedInputData); + CompletedVehicle = CreateReader(completedInputData); + + JobName = CompletedVehicle.VIN; } private IVehicleDeclarationInputData CreateReader(string vehicleFileName) @@ -997,7 +999,22 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON #region Implementation of ISingleBusInputDataProvider public IVehicleDeclarationInputData PrimaryVehicle { get; } - public IVehicleDeclarationInputData CompletedVehidle { get; } + public IVehicleDeclarationInputData CompletedVehicle { get; } + + #endregion + + #region Implementation of IDeclarationInputDataProvider + + public IDeclarationJobInputData JobInputData { get { return this; } } + public XElement XMLHash { get { return new XElement(XMLNames.DI_Signature); } } + + #endregion + + #region Implementation of IDeclarationJobInputData + + public IVehicleDeclarationInputData Vehicle { get { return PrimaryVehicle; } } + public string JobName { get; } + public string ShiftStrategy { get { return ""; } } #endregion } diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputDataFactory.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputDataFactory.cs index 297d74d4b48a6fbbf5a7b931d6d3912b9118d74a..1edf824646ef8656592ed330da1f84c266ad95c2 100644 --- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputDataFactory.cs +++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputDataFactory.cs @@ -93,6 +93,8 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON return new JSONInputDataV4(json, filename, tolerateMissing); case 5: return new JSONInputDataV5(json, filename, tolerateMissing); + case 6: + return new JSONInputDataSingleBusV6(json, filename, tolerateMissing); default: throw new VectoException("Job-File: Unsupported FileVersion. Got: {0} ", version); } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationBusAuxiliariesDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationBusAuxiliariesDataProvider.cs index 60bb2950a32ab8f6c5eb2b4d4e11287fbf1f4ffd..bdfcef2353c978a6d9854d94d6b95d38c0429a7b 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationBusAuxiliariesDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationBusAuxiliariesDataProvider.cs @@ -253,7 +253,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider public override IPneumaticSupplyDeclarationData PneumaticSupply { get { return null; } } - public override IPneumaticConsumersDeclarationData PneumaticConsumers { get { return null; } } + //public override IPneumaticConsumersDeclarationData PneumaticConsumers { get { return null; } } public override BusHVACSystemConfiguration SystemConfiguration { diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs index 0f032381a2df296ce2a16d6cf0cb2fd702cc97ec..2d7ff65ec4add115173dd5acd14a52567c21a7cd 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs @@ -90,6 +90,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider if (ExemptedVehicle) { return null; } + return _ptoNode ?? (_ptoNode = GetNode(XMLNames.Vehicle_PTO) as XmlElement); } } @@ -271,17 +272,55 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider } } - public virtual string RegisteredClass { get { return string.Empty; } } - public virtual int NuberOfPassengersUpperDeck { get { return 0; } } - public virtual int NumberOfPassengersLowerDeck { get { return 0; } } - public virtual VehicleCode VehicleCode { get { return VehicleCode.NOT_APPLICABLE; } } - public virtual FloorType FloorType { get { return FloorType.Unknown; } } - public virtual bool Articulated { get { return false; } } - - public virtual Meter Height { get { return null; } } - public virtual Meter Length { get { return null; } } - public virtual Meter Width { get { return null; } } - public virtual Meter EntranceHeight { get { return null; } } + public virtual string RegisteredClass + { + get { return string.Empty; } + } + + public virtual int NuberOfPassengersUpperDeck + { + get { return 0; } + } + + public virtual int NumberOfPassengersLowerDeck + { + get { return 0; } + } + + public virtual VehicleCode VehicleCode + { + get { return VehicleCode.NOT_APPLICABLE; } + } + + public virtual FloorType FloorType + { + get { return FloorType.Unknown; } + } + + public virtual bool Articulated + { + get { return false; } + } + + public virtual Meter Height + { + get { return null; } + } + + public virtual Meter Length + { + get { return null; } + } + + public virtual Meter Width + { + get { return null; } + } + + public virtual Meter EntranceHeight + { + get { return null; } + } public virtual IVehicleComponentsDeclaration Components { @@ -391,8 +430,15 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider get { return PredictiveCruiseControlType.None; } } - public bool? ATEcoRollReleaseLockupClutch { get { return null; } } - public XmlNode XMLSource { get { return null; } } + public bool? ATEcoRollReleaseLockupClutch + { + get { return null; } + } + + public XmlNode XMLSource + { + get { return null; } + } #endregion } @@ -419,7 +465,6 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider #region Overrides of XMLDeclarationVehicleDataProviderV10 - #endregion public override VehicleCategory VehicleCategory @@ -602,9 +647,15 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider #region Overrides of AbstractCommonComponentType - public override string Manufacturer { get { return GetString(XMLNames.ManufacturerPrimaryVehicle); } } + public override string Manufacturer + { + get { return GetString(XMLNames.ManufacturerPrimaryVehicle); } + } - public override string ManufacturerAddress { get { return GetString(XMLNames.ManufacturerAddressPrimaryVehicle); } } + public override string ManufacturerAddress + { + get { return GetString(XMLNames.ManufacturerAddressPrimaryVehicle); } + } #endregion @@ -616,18 +667,35 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider get { return ADASReader.ADASInputData; } } - public override XmlElement PTONode { get { return null; } } - - public override IPTOTransmissionInputData PTOTransmissionInputData { get { return null; } } + public override XmlElement PTONode + { + get { return null; } + } - public override VehicleCategory VehicleCategory { get { return VehicleCategory.HeavyBusPrimaryVehicle; } } + public override IPTOTransmissionInputData PTOTransmissionInputData + { + get { return null; } + } - public override Kilogram CurbMassChassis { get { return null; } } + public override VehicleCategory VehicleCategory + { + get { return VehicleCategory.HeavyBusPrimaryVehicle; } + } - public override Kilogram GrossVehicleMassRating { get { return GetDouble(XMLNames.Vehicle_TPMLM).SI<Kilogram>(); } } + public override Kilogram CurbMassChassis + { + get { return null; } + } - public override Meter EntranceHeight { get { return null; } } + public override Kilogram GrossVehicleMassRating + { + get { return GetDouble(XMLNames.Vehicle_TPMLM).SI<Kilogram>(); } + } + public override Meter EntranceHeight + { + get { return null; } + } #endregion @@ -652,21 +720,37 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); - public XMLDeclarationMediumLorryVehicleDataProviderV26(IXMLDeclarationJobInputData jobData, XmlNode xmlNode, string sourceFile) : base(jobData, xmlNode, sourceFile) { } + public XMLDeclarationMediumLorryVehicleDataProviderV26( + IXMLDeclarationJobInputData jobData, XmlNode xmlNode, string sourceFile) : base(jobData, xmlNode, sourceFile) { } #region Overrides of XMLDeclarationVehicleDataProviderV10 - public override bool SleeperCab { get { return false; } } + public override bool SleeperCab + { + get { return false; } + } - public override bool VocationalVehicle { get { return false; } } + public override bool VocationalVehicle + { + get { return false; } + } - public override IPTOTransmissionInputData PTOTransmissionInputData { get { return null; } } + public override IPTOTransmissionInputData PTOTransmissionInputData + { + get { return null; } + } - public override XmlElement PTONode { get { return null; } } + public override XmlElement PTONode + { + get { return null; } + } #region Overrides of XMLDeclarationVehicleDataProviderV10 - public override Kilogram GrossVehicleMassRating { get { return GetDouble(XMLNames.Vehicle_TPMLM).SI<Kilogram>(); } } + public override Kilogram GrossVehicleMassRating + { + get { return GetDouble(XMLNames.Vehicle_TPMLM).SI<Kilogram>(); } + } #endregion @@ -683,6 +767,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider #endregion } + public class XMLDeclarationCompletedBusDataProviderV26 : XMLDeclarationVehicleDataProviderV20 { public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V26; @@ -701,34 +786,45 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider #region Overrides of AbstractCommonComponentType - public override string Manufacturer { get { return GetString(XMLNames.ManufacturerCompletedVehicle); } } + public override string Manufacturer + { + get { return GetString(XMLNames.ManufacturerCompletedVehicle); } + } - public override string ManufacturerAddress { get { return GetString(XMLNames.ManufacturerAddressCompletedVehicle); } } + public override string ManufacturerAddress + { + get { return GetString(XMLNames.ManufacturerAddressCompletedVehicle); } + } #endregion #region Overrides of XMLDeclarationVehicleDataProviderV10 - public override string RegisteredClass { get { return GetString(XMLNames.Vehicle_RegisteredClass); } } + public override string RegisteredClass + { + get { return GetString(XMLNames.Vehicle_RegisteredClass); } + } - public override VehicleCode VehicleCode { get { return GetString(XMLNames.Vehicle_VehicleCode).ParseEnum<VehicleCode>(); } } + public override VehicleCode VehicleCode + { + get { return GetString(XMLNames.Vehicle_VehicleCode).ParseEnum<VehicleCode>(); } + } //TechnicalPermissibleMaximumLadenMass - public override Kilogram GrossVehicleMassRating { get { return GetDouble(XMLNames.TPMLM).SI<Kilogram>(); } } + public override Kilogram GrossVehicleMassRating + { + get { return GetDouble(XMLNames.TPMLM).SI<Kilogram>(); } + } public override TankSystem? TankSystem { - get - { - return GetString(XMLNames.Vehicle_NgTankSystem).ParseEnum<TankSystem>(); - } + get { return GetString(XMLNames.Vehicle_NgTankSystem).ParseEnum<TankSystem>(); } } public override int NumberOfPassengersLowerDeck { - get - { + get { var node = GetNode(XMLNames.Bus_LowerDeck); return XmlConvert.ToInt32(node.InnerText); } @@ -736,34 +832,51 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider public override int NuberOfPassengersUpperDeck { - get - { + get { var node = GetNode(XMLNames.Bus_UpperDeck); return XmlConvert.ToInt32(node.InnerText); } } //HeightIntegratedBody - public override Meter Height { get { return GetDouble(XMLNames.Bus_HeighIntegratedBody).SI<Meter>(); }} + public override Meter Height + { + get { return GetDouble(XMLNames.Bus_HeighIntegratedBody).SI<Meter>(); } + } //VehicleLength - public override Meter Length { get { return GetDouble(XMLNames.Bus_VehicleLength).SI<Meter>(); } } + public override Meter Length + { + get { return GetDouble(XMLNames.Bus_VehicleLength).SI<Meter>(); } + } //VehicleWidth - public override Meter Width { get { return GetDouble(XMLNames.Bus_VehicleWidth).SI<Meter>(); } } + public override Meter Width + { + get { return GetDouble(XMLNames.Bus_VehicleWidth).SI<Meter>(); } + } public override XmlElement PTONode { get { return null; } } - + #endregion - public bool LowEntry { get { return GetBool(XMLNames.Bus_LowEntry); } } + public override FloorType FloorType + { + get { return GetBool(XMLNames.Bus_LowEntry) ? FloorType.LowFloor : FloorType.HighFloor; } + } - public override Meter EntranceHeight { get { return GetDouble(XMLNames.Bus_EntranceHeight).SI<Meter>(); } } + public override Meter EntranceHeight + { + get { return GetDouble(XMLNames.Bus_EntranceHeight).SI<Meter>(); } + } - public virtual string DoorDriveTechnology { get { return GetString(XMLNames.BusAux_PneumaticSystem_DoorDriveTechnology); } } + public virtual string DoorDriveTechnology + { + get { return GetString(XMLNames.BusAux_PneumaticSystem_DoorDriveTechnology); } + } #region Overrides of AbstractXMLResource @@ -783,21 +896,21 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider public class XMLDeclarationPrimaryVehicleBusDataProviderV01 : AbstractCommonComponentType, IXMLDeclarationVehicleData { - public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_PRIMARY_BUS_VEHICLE_URI_V01; + public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_PRIMARY_BUS_VEHICLE_URI_V01; - public const string XSD_TYPE = "VehiclePIFType"; + public const string XSD_TYPE = "VehiclePIFType"; - public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); protected IXMLPrimaryVehicleBusJobInputData BusJobData; private XmlElement _adasNode; private IAdvancedDriverAssistantSystemDeclarationInputData _adas; private XmlElement _componentNode; private IVehicleComponentsDeclaration _components; - - public XMLDeclarationPrimaryVehicleBusDataProviderV01(IXMLPrimaryVehicleBusJobInputData busJobData, XmlNode xmlNode, string sourceFile) + public XMLDeclarationPrimaryVehicleBusDataProviderV01( + IXMLPrimaryVehicleBusJobInputData busJobData, XmlNode xmlNode, string sourceFile) : base(xmlNode, sourceFile) { BusJobData = busJobData; @@ -817,14 +930,17 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider #endregion - + #region IXMLDeclarationVehicleData interface - public string VIN { get { return GetString(XMLNames.Vehicle_VIN); } } - + public string VIN + { + get { return GetString(XMLNames.Vehicle_VIN); } + } + public VehicleCategory VehicleCategory { - get { return VehicleCategoryHelper.Parse(GetString(XMLNames.Vehicle_VehicleCategory)); } + get { return VehicleCategoryHelper.Parse(GetString(XMLNames.Vehicle_VehicleCategory)); } } public AxleConfiguration AxleConfiguration @@ -835,13 +951,13 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider //TechnicalPermissibleMaximumLadenMass public Kilogram GrossVehicleMassRating { - get { return GetDouble(XMLNames.TPMLM).SI<Kilogram>(); } + get { return GetDouble(XMLNames.TPMLM).SI<Kilogram>(); } } //IdlingSpeed public PerSecond EngineIdleSpeed { - get { return GetDouble(XMLNames.Engine_IdlingSpeed).SI<PerSecond>(); } + get { return GetDouble(XMLNames.Engine_IdlingSpeed).SI<PerSecond>(); } } public RetarderType RetarderType @@ -853,7 +969,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider { get { return GetDouble(XMLNames.Vehicle_RetarderRatio); } } - + public AngledriveType AngledriveType { get { return GetString(XMLNames.Vehicle_AngledriveType).ParseEnum<AngledriveType>(); } @@ -866,17 +982,14 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider public XmlElement ADASNode { - get - { - return _adasNode ?? (_adasNode = GetNode(XMLNames.Vehicle_ADAS, required: false) as XmlElement); - } + get { return _adasNode ?? (_adasNode = GetNode(XMLNames.Vehicle_ADAS, required: false) as XmlElement); } } public IXMLADASReader ADASReader { get; set; } public IAdvancedDriverAssistantSystemDeclarationInputData ADAS { - get { return _adas ?? (_adas = ADASReader.ADASInputData); } + get { return _adas ?? (_adas = ADASReader.ADASInputData); } } @@ -884,29 +997,25 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider { get { return ReadTorqueLimits(); } } - + public XmlElement ComponentNode { - get - { - if (ExemptedVehicle) - { + get { + if (ExemptedVehicle) { return null; } return _componentNode ?? (_componentNode = GetNode(XMLNames.Vehicle_Components) as XmlElement); } } + public IXMLComponentReader ComponentReader { get; set; } public Meter EntranceHeight { get; } public IVehicleComponentsDeclaration Components { - get - { - return _components ?? (_components = ComponentReader.ComponentInputData); - } + get { return _components ?? (_components = ComponentReader.ComponentInputData); } } @@ -938,12 +1047,10 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider public IXMLPTOReader PTOReader { get; set; } public IPTOTransmissionInputData PTOTransmissionInputData { get; } - #endregion - #endregion - + #region Overrides of AbstractXMLResource protected override XNamespace SchemaNamespace @@ -963,13 +1070,10 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider { var torqueLimits = new List<ITorqueLimitInputData>(); var limits = GetNodes(new[] { XMLNames.Vehicle_TorqueLimits, XMLNames.Vehicle_TorqueLimits_Entry }); - foreach (XmlNode current in limits) - { - if (current.Attributes != null) - { + foreach (XmlNode current in limits) { + if (current.Attributes != null) { torqueLimits.Add( - new TorqueLimitInputData() - { + new TorqueLimitInputData() { Gear = GetAttribute(current, XMLNames.Vehicle_TorqueLimits_Entry_Gear_Attr).ToInt(), MaxTorque = GetAttribute(current, XMLNames.Vehicle_TorqueLimits_Entry_MaxTorque_Attr) .ToDouble().SI<NewtonMeter>() @@ -980,5 +1084,4 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider return torqueLimits; } } - } diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterHeavyLorry.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterHeavyLorry.cs index 101b51beac79d95c6d184ff5bc75da8995a6bbea..f20bf2a436cfa50b5518f6c4553ec4b08fa4e5bc 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterHeavyLorry.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterHeavyLorry.cs @@ -101,14 +101,14 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter return retVal; } - public virtual VehicleData CreateVehicleData(IVehicleDeclarationInputData data, Mission mission, Kilogram loading) + public virtual VehicleData CreateVehicleData(IVehicleDeclarationInputData data, Mission mission, KeyValuePair<LoadingType, Kilogram> loading) { if (!data.SavedInDeclarationMode) { WarnDeclarationMode("VehicleData"); } return data.ExemptedVehicle ? CreateExemptedVehicleData(data) - : CreateNonExemptedVehicleData(data, mission, loading); + : CreateNonExemptedVehicleData(data, mission, loading.Value); } protected virtual VehicleData CreateNonExemptedVehicleData(IVehicleDeclarationInputData data, Mission mission, Kilogram loading) @@ -308,7 +308,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter return null; } - public GearboxData CreateGearboxData(IVehicleDeclarationInputData inputData, VectoRunData runData, + public virtual GearboxData CreateGearboxData(IVehicleDeclarationInputData inputData, VectoRunData runData, IShiftPolygonCalculator shiftPolygonCalc) { var gearbox = inputData.Components.GearboxInputData; @@ -657,7 +657,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter }; } - public ShiftStrategyParameters CreateGearshiftData(GearboxData gbx, double axleRatio, PerSecond engineIdlingSpeed) + public virtual ShiftStrategyParameters CreateGearshiftData(GearboxData gbx, double axleRatio, PerSecond engineIdlingSpeed) { var retVal = new ShiftStrategyParameters { StartVelocity = DeclarationData.GearboxTCU.StartSpeed, diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs index 327f954329b4326c88470921412be568e4d94aa1..ef2d528e00cddc02ffc5e776051d3360a4567aae 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs @@ -28,13 +28,13 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter #region Overrides of DeclarationDataAdapterTruck - public override VehicleData CreateVehicleData(IVehicleDeclarationInputData data, Mission mission, Kilogram loading) + public override VehicleData CreateVehicleData(IVehicleDeclarationInputData data, Mission mission, KeyValuePair<LoadingType, Kilogram> loading) { var retVal = base.CreateVehicleData(data, mission, loading); retVal.CurbMass = mission.CurbMass; - retVal.Length = mission.BusParameter.VehicleLength; - retVal.Width = mission.BusParameter.VehicleWidth; - retVal.Height = mission.VehicleHeight; + //retVal.Length = mission.BusParameter.VehicleLength; + //retVal.Width = mission.BusParameter.VehicleWidth; + //retVal.Height = mission.VehicleHeight; return retVal; } @@ -73,7 +73,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter #endregion - public IAuxiliaryConfig CreateBusAuxiliariesData( + public virtual IAuxiliaryConfig CreateBusAuxiliariesData( Mission mission, IVehicleDeclarationInputData vehicleData, VectoRunData runData) { var actuations = DeclarationData.BusAuxiliaries.ActuationsMap.Lookup(runData.Mission.MissionType); @@ -87,13 +87,12 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter SSMInputs = CreateSSMModelParameters( vehicleData.Components.BusAuxiliaries, mission, FuelData.Diesel), VehicleData = runData.VehicleData, - FuelMap = runData.EngineData.Fuels.First().ConsumptionMap }; return retVal; } - private IElectricsUserInputsConfig GetElectricalUserConfig( + protected virtual ElectricsUserInputsConfig GetElectricalUserConfig( Mission mission, IVehicleDeclarationInputData vehicleData, IActuations actuations) { var currentDemand = CalculateAverageCurrent(mission, vehicleData, actuations); @@ -115,7 +114,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter }; } - private double CalculateAlternatorEfficiency(IList<IAlternatorDeclarationInputData> alternators) + protected virtual double CalculateAlternatorEfficiency(IList<IAlternatorDeclarationInputData> alternators) { var sum = 0.0; foreach (var entry in alternators) { @@ -125,7 +124,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter return sum / alternators.Count; } - private Tuple<Ampere, Ampere> CalculateAverageCurrent( + protected virtual Tuple<Ampere, Ampere> CalculateAverageCurrent( Mission mission, IVehicleDeclarationInputData vehicleData, IActuations actuations) { var avgInclBase = 0.SI<Ampere>(); @@ -134,10 +133,9 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter (actuations.ParkBrakeAndDoors * Constants.BusAuxiliaries.ElectricalConsumers.DoorActuationTimeSecond) / actuations.CycleTime; var busAux = vehicleData.Components.BusAuxiliaries; - var electricDoors = busAux.PneumaticConsumers.DoorDriveTechnology == - ConsumerTechnology.Electrically; + var electricDoors = false; foreach (var consumer in DeclarationData.BusAuxiliaries.DefaultElectricConsumerList.Items) { - var nbr = CalcNumberInVehicle(consumer.NumberInActualVehicle, mission); + var nbr = GetNumberOfElectricalConsumersInVehicle(consumer.NumberInActualVehicle, mission); var dutyCycle = electricDoors && consumer.ConsumerName.Equals( Constants.BusAuxiliaries.ElectricalConsumers.DoorsPerVehicleConsumer, StringComparison.CurrentCultureIgnoreCase) @@ -145,7 +143,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter : consumer.PhaseIdleTractionOn; var current = consumer.NominalCurrent(mission.MissionType) * dutyCycle * nbr; - if (consumer.Bonus && !VehicleHasConsumer(consumer.ConsumerName, busAux)) { + if (consumer.Bonus && !VehicleHasElectricalConsumer(consumer.ConsumerName, busAux)) { current = 0.SI<Ampere>(); } @@ -158,7 +156,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter return Tuple.Create(avgInclBase, avgWithoutBase); } - private bool VehicleHasConsumer(string consumerName, IBusAuxiliariesDeclarationData busAux) + protected virtual bool VehicleHasElectricalConsumer(string consumerName, IBusAuxiliariesDeclarationData busAux) { switch (consumerName) { case "Day running lights LED bonus": @@ -170,7 +168,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter } } - private double CalcNumberInVehicle(string nbr, Mission mission) + protected virtual double GetNumberOfElectricalConsumersInVehicle(string nbr, Mission mission) { if ("f_IntLight(L_CoC)".Equals(nbr, StringComparison.InvariantCultureIgnoreCase)) { var busParams = mission.BusParameter; @@ -182,7 +180,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter return nbr.ToDouble(); } - private IPneumaticUserInputsConfig GetPneumaticUserConfig(IVehicleDeclarationInputData vehicleData, Mission mission) + protected virtual PneumaticUserInputsConfig GetPneumaticUserConfig(IVehicleDeclarationInputData vehicleData, Mission mission) { var busAux = vehicleData.Components.BusAuxiliaries; @@ -202,7 +200,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter }; } - private ICompressorMap GetCompressorMap(string compressorSize) + protected virtual ICompressorMap GetCompressorMap(string compressorSize) { var resource = ""; switch (compressorSize) { @@ -298,7 +296,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter return retVal; } - private ISSMTechnologyBenefits GetSSMTechnologyBenefits(IBusAuxiliariesDeclarationData inputData, FloorType floorType) + protected virtual TechnologyBenefits GetSSMTechnologyBenefits(IBusAuxiliariesDeclarationData inputData, FloorType floorType) { var onVehicle = new List<SSMTechnology>(); foreach (var item in DeclarationData.BusAuxiliaries.SSMTechnologyList) { @@ -313,7 +311,12 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter } } - var retVal = new TechnologyBenefits(); + return SelectBenefitForFloorType(floorType, onVehicle); + } + + protected virtual TechnologyBenefits SelectBenefitForFloorType(FloorType floorType, List<SSMTechnology> onVehicle) + { + var retVal = new TechnologyBenefits(); switch (floorType) { case FloorType.LowFloor: @@ -338,13 +341,12 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter retVal.VVValueVariation = onVehicle.Sum(x => x.ActiveVV ? x.SemiLowFloorV : 0); break; } - return retVal; } - private Tuple<Watt, Watt> CalculateMaxCoolingPower(Mission mission) + protected virtual Tuple<Watt, Watt> CalculateMaxCoolingPower(Mission mission) { var busParams = mission.BusParameter; @@ -362,7 +364,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter return Tuple.Create(driver, passenger); } - public virtual IPneumaticsConsumersDemand CreatePneumaticAuxConfig(RetarderType retarderType) + protected internal virtual IPneumaticsConsumersDemand CreatePneumaticAuxConfig(RetarderType retarderType) { return new PneumaticsConsumersDemand() { AdBlueInjection = Constants.BusAuxiliaries.PneumaticConsumersDemands.AdBlueInjection, diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterSingleBus.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterSingleBus.cs index 20b224d8c6b9a5a78b859e676cb1b20883415c84..745b314d41d825a8f63c2f7b1c7aedcb3e3fe2eb 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterSingleBus.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterSingleBus.cs @@ -1,89 +1,227 @@ using System; using System.Collections.Generic; using TUGraz.VectoCommon.BusAuxiliaries; +using TUGraz.VectoCommon.Exceptions; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; +using TUGraz.VectoCore.Configuration; +using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC; +using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumatics; using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Models.Simulation.Data; using TUGraz.VectoCore.Models.SimulationComponent; using TUGraz.VectoCore.Models.SimulationComponent.Data; -namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter { - public class DeclarationDataAdapterSingleBus : IDeclarationDataAdapter { - - +namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter +{ + public class DeclarationDataAdapterSingleBus : DeclarationDataAdapterPrimaryBus + { #region Implementation of IDeclarationDataAdapter - public DriverData CreateDriverData() + public override VehicleData CreateVehicleData(IVehicleDeclarationInputData vehicle, Mission mission, KeyValuePair<LoadingType, Kilogram> loading) { - throw new NotImplementedException(); + var busFloorArea = DeclarationData.BusAuxiliaries.CalculateBusFloorSurfaceArea(CompletedVehicle.Length, + CompletedVehicle.Width); + var passengerCount = VectoMath.Min( + busFloorArea * mission.BusParameter.PassengerDensity, + CompletedVehicle.NuberOfPassengersUpperDeck + CompletedVehicle.NumberOfPassengersLowerDeck); + var refLoad = passengerCount * mission.MissionType.GetAveragePassengerMass(); + if (loading.Key != LoadingType.ReferenceLoad && loading.Key != LoadingType.LowLoading) { + throw new VectoException("Unhandled loading type: {0}", loading.Key); + } + + var payload = loading.Key == LoadingType.ReferenceLoad ? refLoad : refLoad * 0.2; + + var retVal = base.CreateNonExemptedVehicleData(vehicle, mission, payload); + retVal.CurbMass = CompletedVehicle.CurbMassChassis; + //retVal.Length = CompletedVehicle.Length; + //retVal.Width = CompletedVehicle.Width; + //retVal.Height = CompletedVehicle.Height; + return retVal; } - public VehicleData CreateVehicleData(IVehicleDeclarationInputData vehicle, Mission mission, Kilogram loading) + public override AirdragData CreateAirdragData( + IAirdragDeclarationInputData airdragData, Mission mission, Segment segment) { - throw new NotImplementedException(); + if (CompletedVehicle.Components.AirdragInputData == null || + CompletedVehicle.Components.AirdragInputData.AirDragArea == null) { + return DefaultAirdragData(mission); + } + + var aerodynamicDragArea = CompletedVehicle.Components.AirdragInputData.AirDragArea; + var retVal = SetCommonAirdragData(CompletedVehicle.Components.AirdragInputData); + retVal.CrossWindCorrectionCurve = new CrosswindCorrectionCdxALookup( + aerodynamicDragArea, + GetDeclarationAirResistanceCurve(mission.CrossWindCorrectionParameters, aerodynamicDragArea, mission.VehicleHeight), + CrossWindCorrectionMode.DeclarationModeCorrection); + + return retVal; } - public AirdragData CreateAirdragData(IAirdragDeclarationInputData airdragData, Mission mission, Segment segment) - { - throw new NotImplementedException(); - } + #endregion - public AxleGearData CreateAxleGearData(IAxleGearInputData axlegearData) - { - throw new NotImplementedException(); - } - public AngledriveData CreateAngledriveData(IAngledriveInputData angledriveData) + public ISingleBusInputDataProvider SingleBusInputData { get; set; } + + protected IVehicleDeclarationInputData CompletedVehicle { - throw new NotImplementedException(); + get { return SingleBusInputData?.CompletedVehicle; } } - public CombustionEngineData CreateEngineData( - IVehicleDeclarationInputData vehicle, IEngineModeDeclarationInputData engineMode, Mission mission) + + #region Overrides of DeclarationDataAdapterPrimaryBus + + protected override double CalculateAlternatorEfficiency(IList<IAlternatorDeclarationInputData> alternators) { - throw new NotImplementedException(); + var sum = 0.0; + foreach (var entry in alternators) { + sum += DeclarationData.BusAuxiliaries.AlternatorTechnologies.Lookup(entry.Technology); + } + + foreach (var entry in CompletedVehicle.Components.BusAuxiliaries.ElectricSupply.Alternators) { + sum += DeclarationData.BusAuxiliaries.AlternatorTechnologies.Lookup(entry.Technology); + } + + return sum / (alternators.Count + CompletedVehicle.Components.BusAuxiliaries.ElectricSupply.Alternators.Count); } - public GearboxData CreateGearboxData( - IVehicleDeclarationInputData inputData, VectoRunData runData, IShiftPolygonCalculator shiftPolygonCalc) + protected override bool VehicleHasElectricalConsumer(string consumerName, IBusAuxiliariesDeclarationData busAux) { - throw new NotImplementedException(); + var elConsumer = CompletedVehicle.Components.BusAuxiliaries.ElectricConsumers; + switch (consumerName) { + case "Day running lights LED bonus": return elConsumer.DayrunninglightsLED; + case "Position lights LED bonus": return elConsumer.PositionlightsLED; + case "Brake lights LED bonus": return elConsumer.BrakelightsLED; + case "Interior lights LED bonus": return elConsumer.InteriorLightsLED; + case "Headlights LED bonus": return elConsumer.HeadlightsLED; + default: return false; + } } - public ShiftStrategyParameters CreateGearshiftData(GearboxData gbx, double axleRatio, PerSecond engineIdlingSpeed) + protected override double GetNumberOfElectricalConsumersInVehicle(string nbr, Mission mission) { - throw new NotImplementedException(); + if ("f_IntLight(L_CoC)".Equals(nbr, StringComparison.InvariantCultureIgnoreCase)) { + return DeclarationData.BusAuxiliaries.CalculateLengthInteriorLights( + CompletedVehicle.Length, IsDoubleDecker, CompletedVehicle.FloorType, + CompletedVehicle.NumberOfPassengersLowerDeck) + .Value(); + } + + return nbr.ToDouble(); } - public RetarderData CreateRetarderData(IRetarderInputData retarderData) + protected override PneumaticUserInputsConfig GetPneumaticUserConfig( + IVehicleDeclarationInputData vehicleData, Mission mission) { - throw new NotImplementedException(); + var retVal = base.GetPneumaticUserConfig(vehicleData, mission); + retVal.Doors = CompletedVehicle.Components.BusAuxiliaries.PneumaticConsumers.DoorDriveTechnology; + retVal.KneelingHeight = VectoMath.Max(0.SI<Meter>(), CompletedVehicle.EntranceHeight - Constants.BusParameters.EntranceHeight); + return retVal; } - public PTOData CreatePTOTransmissionData(IPTOTransmissionInputData ptoData) + public override ISSMInputs CreateSSMModelParameters( + IBusAuxiliariesDeclarationData busAuxInputData, Mission mission, IFuelProperties heatingFuel) { - throw new NotImplementedException(); + var retVal = base.CreateSSMModelParameters(busAuxInputData, mission, heatingFuel) as SSMInputs; + if (retVal == null) { + throw new VectoException("Unknonw SSMInput Instance"); + } + + var busAux = CompletedVehicle.Components.BusAuxiliaries; + + var hvacBusLength = busAux.HVACAux.SystemConfiguration == BusHVACSystemConfiguration.Configuration2 + ? 2 * Constants.BusParameters.DriverCompartmentLength + : CompletedVehicle.Length; + + var hvacBusheight = DeclarationData.BusAuxiliaries.CalculateInternalHeight(CompletedVehicle.FloorType, + IsDoubleDecker, CompletedVehicle.Height); + var coolingPower = CalculateMaxCoolingPower(mission); + + retVal.BusFloorType = CompletedVehicle.FloorType; + retVal.Technologies = GetSSMTechnologyBenefits(busAuxInputData, CompletedVehicle.FloorType); + retVal.FuelFiredHeaterPower = busAux.HVACAux.AuxHeaterPower; + + retVal.BusWindowSurface = DeclarationData.BusAuxiliaries.WindowHeight(IsDoubleDecker) * hvacBusLength + + DeclarationData.BusAuxiliaries.FrontAndRearWindowArea(IsDoubleDecker); + retVal.BusSurfaceArea = 2 * (hvacBusLength * CompletedVehicle.Width + hvacBusLength * CompletedVehicle.Height + + CompletedVehicle.Width * CompletedVehicle.Height); + retVal.BusVolume = hvacBusLength * CompletedVehicle.Width * hvacBusheight; + retVal.UValue = DeclarationData.BusAuxiliaries.UValue(CompletedVehicle.FloorType); + retVal.NumberOfPassengers = + (DeclarationData.BusAuxiliaries.CalculateBusFloorSurfaceArea(hvacBusLength, CompletedVehicle.Width) * + mission.BusParameter.PassengerDensity).LimitTo(0, CompletedVehicle.NuberOfPassengersUpperDeck + CompletedVehicle.NumberOfPassengersLowerDeck) + 1; // add driver for 'heat input' + retVal.VentilationRate = DeclarationData.BusAuxiliaries.VentilationRate(busAux.HVACAux.SystemConfiguration, false); + retVal.VentilationRateHeating = DeclarationData.BusAuxiliaries.VentilationRate(busAux.HVACAux.SystemConfiguration, true); + + retVal.HVACMaxCoolingPower = coolingPower.Item1 + coolingPower.Item2; + retVal.HVACCompressorType = busAux.HVACAux.CompressorTypePassenger; // use passenger compartment + retVal.COP = DeclarationData.BusAuxiliaries.CalculateCOP( + coolingPower.Item1, busAux.HVACAux.CompressorTypeDriver, coolingPower.Item2, busAux.HVACAux.CompressorTypePassenger, + CompletedVehicle.FloorType); + + return retVal; } - public IList<VectoRunData.AuxData> CreateAuxiliaryData( - IAuxiliariesDeclarationInputData auxData, IBusAuxiliariesDeclarationData busAuxData, MissionType missionType, - VehicleClass vehicleClass, Meter vehicleLength) + protected override Tuple<Watt, Watt> CalculateMaxCoolingPower(Mission mission) { - throw new NotImplementedException(); + + var length = DeclarationData.BusAuxiliaries.CalculateInternalLength( + CompletedVehicle.Length, IsDoubleDecker, CompletedVehicle.FloorType, + CompletedVehicle.NumberOfPassengersLowerDeck); + var height = DeclarationData.BusAuxiliaries.CalculateInternalHeight(CompletedVehicle.FloorType, + IsDoubleDecker, CompletedVehicle.Height); + var volume = length * height * CompletedVehicle.Width; + + var hvacConfiguration = CompletedVehicle.Components.BusAuxiliaries.HVACAux.SystemConfiguration; + + var driver = DeclarationData.BusAuxiliaries.HVACMaxCoolingPower.DriverMaxCoolingPower( + hvacConfiguration, mission.MissionType); + var passenger = DeclarationData.BusAuxiliaries.HVACMaxCoolingPower.PassengerMaxCoolingPower( + hvacConfiguration, mission.MissionType, volume); + + return Tuple.Create(driver, passenger); } - public AxleGearData CreateDummyAxleGearData(IGearboxDeclarationInputData gbxData) + protected override TechnologyBenefits GetSSMTechnologyBenefits(IBusAuxiliariesDeclarationData inputData, FloorType floorType) { - throw new NotImplementedException(); + var onVehicle = new List<SSMTechnology>(); + var hvacTech = CompletedVehicle.Components.BusAuxiliaries.HVACAux; + foreach (var item in DeclarationData.BusAuxiliaries.SSMTechnologyList) { + if ("Adjustable coolant thermostat".Equals(item.BenefitName, StringComparison.InvariantCultureIgnoreCase) && + (inputData?.HVACAux.AdjustableCoolantThermostat ?? false)) { + onVehicle.Add(item); + } + + if ("Engine waste gas heat exchanger".Equals(item.BenefitName, StringComparison.InvariantCultureIgnoreCase) && + (inputData?.HVACAux.EngineWasteGasHeatExchanger ?? false)) { + onVehicle.Add(item); + } + + if ("Separate air distribution ducts".Equals(item.BenefitName, StringComparison.InvariantCultureIgnoreCase) && + hvacTech.SeparateAirDistributionDucts) { + onVehicle.Add(item); + } + if ("Adjustable auxiliary heater".Equals(item.BenefitName, StringComparison.InvariantCultureIgnoreCase) && + hvacTech.AdjustableAuxiliaryHeater) { + onVehicle.Add(item); + } + if ("Heat pump systems".Equals(item.BenefitName, StringComparison.InvariantCultureIgnoreCase) && + hvacTech.HeatPump) { + onVehicle.Add(item); + } + if ("Double-glazing".Equals(item.BenefitName, StringComparison.InvariantCultureIgnoreCase) && + hvacTech.DoubleGlasing) { + onVehicle.Add(item); + } + } + + return SelectBenefitForFloorType(floorType, onVehicle); } + #endregion - public IAuxiliaryConfig CreateBusAuxiliariesData(Mission mission, IVehicleDeclarationInputData primaryVehicle, IVehicleDeclarationInputData completedVehicle, VectoRunData runData) - { - throw new NotImplementedException(); - } + protected bool IsDoubleDecker { get { return CompletedVehicle.NuberOfPassengersUpperDeck > 0; } } } -} \ No newline at end of file +} diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/IDeclarationDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/IDeclarationDataAdapter.cs index 83eddc210dbdc66d77a1f32f5ba3a9183066350b..040a3b27b0270c8f9e1e4d7c0958f25d8e39be36 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/IDeclarationDataAdapter.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/IDeclarationDataAdapter.cs @@ -11,7 +11,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter { public interface IDeclarationDataAdapter { DriverData CreateDriverData(); - VehicleData CreateVehicleData(IVehicleDeclarationInputData vehicle, Mission mission, Kilogram loading); + VehicleData CreateVehicleData(IVehicleDeclarationInputData vehicle, Mission mission, KeyValuePair<LoadingType, Kilogram> loading); AirdragData CreateAirdragData(IAirdragDeclarationInputData airdragData, Mission mission, Segment segment); AxleGearData CreateAxleGearData(IAxleGearInputData axlegearData); AngledriveData CreateAngledriveData(IAngledriveInputData angledriveData); diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/AbstractDeclarationVectoRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/AbstractDeclarationVectoRunDataFactory.cs index 3c834be34c232d892608e9f41ba065f4d4b36d81..bcd17322cf964f8c063febd011ce7df51b2a68e3 100644 --- a/VectoCore/VectoCore/InputData/Reader/Impl/AbstractDeclarationVectoRunDataFactory.cs +++ b/VectoCore/VectoCore/InputData/Reader/Impl/AbstractDeclarationVectoRunDataFactory.cs @@ -78,7 +78,7 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl { _driverdata = DataAdapter.CreateDriverData(); _driverdata.AccelerationCurve = AccelerationCurveReader.ReadFromStream(_segment.AccelerationFile); var tempVehicle = DataAdapter.CreateVehicleData(vehicle, _segment.Missions.First(), - _segment.Missions.First().Loadings.First().Value); + _segment.Missions.First().Loadings.First()); _airdragData = DataAdapter.CreateAirdragData(vehicle.Components.AirdragInputData, _segment.Missions.First(), _segment); if (InputDataProvider.JobInputData.Vehicle.Components.GearboxInputData.DifferentialIncluded) { diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeBusVectoRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeBusVectoRunDataFactory.cs index f73c0a91a1dd9f9538b07b702d57e8c950ba884b..2eeca9364c3f4732c6b5348f620c5909563b9e04 100644 --- a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeBusVectoRunDataFactory.cs +++ b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeBusVectoRunDataFactory.cs @@ -86,7 +86,7 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl { } var simulationRunData = new VectoRunData { Loading = loading.Key, - VehicleData = DataAdapter.CreateVehicleData(vehicle, mission, loading.Value), + VehicleData = DataAdapter.CreateVehicleData(vehicle, mission, loading), AirdragData = _dao.CreateAirdragData(mission), EngineData = DataAdapter.CreateEngineData(InputDataProvider.JobInputData.Vehicle, engineMode, mission), GearboxData = _gearboxData, diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeHeavyLorryVectoRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeHeavyLorryVectoRunDataFactory.cs index 36598a2a685c38ebe0ef7253e190bfc378d48e0c..3794780d10113030b26c9bc26f5cf5f4ef8abd50 100644 --- a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeHeavyLorryVectoRunDataFactory.cs +++ b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeHeavyLorryVectoRunDataFactory.cs @@ -128,7 +128,7 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl Exempted = true, Report = Report, Mission = new Mission() { MissionType = MissionType.ExemptedMission }, - VehicleData = DataAdapter.CreateVehicleData(InputDataProvider.JobInputData.Vehicle, null, null), + VehicleData = DataAdapter.CreateVehicleData(InputDataProvider.JobInputData.Vehicle, null, new KeyValuePair<LoadingType, Kilogram>(LoadingType.ReferenceLoad, 0.SI<Kilogram>())), InputDataHash = InputDataProvider.XMLHash }; } @@ -147,7 +147,7 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl } var simulationRunData = new VectoRunData { Loading = loading.Key, - VehicleData = DataAdapter.CreateVehicleData(vehicle, mission, loading.Value), + VehicleData = DataAdapter.CreateVehicleData(vehicle, mission, loading), AirdragData = DataAdapter.CreateAirdragData(vehicle.Components.AirdragInputData, mission, _segment), EngineData = DataAdapter.CreateEngineData(InputDataProvider.JobInputData.Vehicle, engineMode, mission), // _engineData.Copy(), // a copy is necessary because every run has a different correction factor! GearboxData = _gearboxData, diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeSingleBusVectoRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeSingleBusVectoRunDataFactory.cs index 842ce0c36661ec3598391a5b94e532977071d843..4ae184fe5a3c7bc2debcdf6f2c86b0ce39fd8618 100644 --- a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeSingleBusVectoRunDataFactory.cs +++ b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeSingleBusVectoRunDataFactory.cs @@ -20,6 +20,7 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl { public DeclarationModeSingleBusVectoRunDataFactory(ISingleBusInputDataProvider singleBusInputData, IDeclarationReport report) : base(singleBusInputData, report) { _singleBusInputData = singleBusInputData; + _dao.SingleBusInputData = singleBusInputData; } #region Implementation of IVectoRunDataFactory @@ -43,7 +44,7 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl { } var simulationRunData = new VectoRunData { Loading = loading.Key, - VehicleData = DataAdapter.CreateVehicleData(vehicle, mission, loading.Value), + VehicleData = DataAdapter.CreateVehicleData(vehicle, mission, loading), AirdragData = _dao.CreateAirdragData(_singleBusInputData.CompletedVehicle.Components.AirdragInputData, mission, new Segment()), EngineData = DataAdapter.CreateEngineData(InputDataProvider.JobInputData.Vehicle, engineMode, mission), GearboxData = _gearboxData, @@ -66,7 +67,7 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl { }; simulationRunData.EngineData.FuelMode = modeIdx; simulationRunData.VehicleData.VehicleClass = _segment.VehicleClass; - simulationRunData.BusAuxiliaries = _dao.CreateBusAuxiliariesData(mission, _singleBusInputData.PrimaryVehicle, _singleBusInputData.CompletedVehicle, simulationRunData); + simulationRunData.BusAuxiliaries = _dao.CreateBusAuxiliariesData(mission, _singleBusInputData.PrimaryVehicle, simulationRunData); return simulationRunData; } } diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactory.cs index 4ad6394cadf4ce3b169c55def668e434f87333a8..f6c193d5f2122e0df095e60b1d83c0af518d3e8e 100644 --- a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactory.cs +++ b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactory.cs @@ -88,7 +88,7 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl VehicleData = Dao.CreateVehicleData( JobInputData.Vehicle, Segment.Missions.First(), - Segment.Missions.First().Loadings.First().Value), + Segment.Missions.First().Loadings.First()), AirdragData = AirdragData, EngineData = EngineData, GearboxData = GearboxData, @@ -127,7 +127,7 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl Driverdata.AccelerationCurve = AccelerationCurveReader.ReadFromStream(Segment.AccelerationFile); var tempVehicle = Dao.CreateVehicleData( vehicle, Segment.Missions.First(), - Segment.Missions.First().Loadings.First().Value); + Segment.Missions.First().Loadings.First()); AirdragData = Dao.CreateAirdragData( vehicle.Components.AirdragInputData, Segment.Missions.First(), Segment); @@ -236,7 +236,7 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl AngledriveData = AngledriveData, VehicleData = Dao.CreateVehicleData( JobInputData.Vehicle, mission, - loading), + new KeyValuePair<LoadingType, Kilogram>(LoadingType.ReferenceLoad, loading)), AirdragData = AirdragData, DriverData = null, BusAuxiliaries = null, diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/AuxiliaryConfig.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/AuxiliaryConfig.cs index 7b7a41756ab4ff2e9e2711b83dd30499212ae74d..3b2f6ba1292e36a0666f998358bbe043ea7074c4 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/AuxiliaryConfig.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/AuxiliaryConfig.cs @@ -38,10 +38,10 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries public IVehicleData VehicleData { get; internal set; } - public IFuelConsumptionMap FuelMap { get; internal set; } + //public IFuelConsumptionMap FuelMap { get; internal set; } // Vecto Signals - public ISignals Signals { get; internal set; } + //public ISignals Signals { get; internal set; } // Constructors diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/BusAuxiliaries.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/BusAuxiliaries.cs index 588955d56fb1964b3ec286e487578755184481cd..6972a05c0eaaa0c9fd194a76181f9d96a772c7a2 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/BusAuxiliaries.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/BusAuxiliaries.cs @@ -70,7 +70,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries { Signals = new Signals(); } - + public void Initialise(IAuxiliaryConfig auxCfg) { Signals.CurrentCycleTimeInSeconds = 0; @@ -82,17 +82,21 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries //var ssmPath = FilePathUtils.ResolveFilePath(vectoDirectory, auxConfig.HvacUserInputsConfig.SSMFilePath); //var BusDatabase = FilePathUtils.ResolveFilePath(vectoDirectory, auxConfig.HvacUserInputsConfig.BusDatabasePath); var ssmTool = new SSMTOOL(auxConfig.SSMInputs); - - ElectricStorage = new SimpleBattery(auxCfg.ElectricalUserInputsConfig.ElectricStorageCapacity); - M0 = new M00Impl(auxConfig.ElectricalUserInputsConfig, Signals, ssmTool.ElectricalWAdjusted); + ElectricStorage = new SimpleBattery( + auxCfg.ElectricalUserInputsConfig.SmartElectrical + ? auxCfg.ElectricalUserInputsConfig.ElectricStorageCapacity + : 0.SI<WattSecond>()); + M0 = new M00Impl(auxConfig.ElectricalUserInputsConfig, Signals, ssmTool.ElectricalWAdjusted); M0_5 = new M0_5Impl( M0, auxConfig.ElectricalUserInputsConfig, Signals); - M1 = new M01Impl(M0, auxConfig.ElectricalUserInputsConfig.AlternatorGearEfficiency, - auxConfig.PneumaticUserInputsConfig.CompressorGearEfficiency, ssmTool.ElectricalWAdjusted, ssmTool.MechanicalWBaseAdjusted); + M1 = new M01Impl( + M0, auxConfig.ElectricalUserInputsConfig.AlternatorGearEfficiency, + auxConfig.PneumaticUserInputsConfig.CompressorGearEfficiency, ssmTool.ElectricalWAdjusted, + ssmTool.MechanicalWBaseAdjusted); M2 = new M02Impl(M0, auxConfig.ElectricalUserInputsConfig); @@ -101,6 +105,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries M4 = new M04Impl( compressorMap, auxConfig.PneumaticUserInputsConfig.CompressorGearRatio, auxConfig.PneumaticUserInputsConfig.CompressorGearEfficiency, Signals); + //M5 = new M05Impl( // M0_5, auxConfig.ElectricalUserInputsConfig.PowerNetVoltage, // auxConfig.ElectricalUserInputsConfig.AlternatorGearEfficiency); @@ -144,7 +149,15 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries public Watt ElectricPowerDemandMech { - get { return M2.GetAveragePowerAtCrankFromElectrics() + M1.AveragePowerDemandAtCrankFromHVACElectrics; } + get { + if (auxConfig.ElectricalUserInputsConfig.SmartElectrical) { + return auxConfig.PneumaticUserInputsConfig.SmartAirCompression + ? M7.SmartElectricalAndPneumaticAuxAltPowerGenAtCrank + : M7.SmartElectricalOnlyAuxAltPowerGenAtCrank; + } + + return M2.GetAveragePowerAtCrankFromElectrics() + M1.AveragePowerDemandAtCrankFromHVACElectrics; + } } public Watt ElectricPowerGenerated @@ -169,15 +182,17 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries public NormLiter PSAirGenerated { get { - if (!auxConfig.PneumaticUserInputsConfig.SmartAirCompression) { - return PSDemandConsumer; + if (M6.OverrunFlag && Signals.ClutchEngaged && !Signals.InNeutral) { + if (M8.CompressorFlag) { + return M4.GetFlowRate() * + auxConfig.PneumaticAuxillariesConfig.OverrunUtilisationForCompressionFraction + * Signals.SimulationInterval; + } + + return 0.SI<NormLiter>(); } - return M6.OverrunFlag && M8.CompressorFlag && Signals.ClutchEngaged && !Signals.InNeutral - ? M4.GetFlowRate() * - auxConfig.PneumaticAuxillariesConfig.OverrunUtilisationForCompressionFraction - * Signals.SimulationInterval - : PSDemandConsumer; + return PSDemandConsumer; } } @@ -186,28 +201,17 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries get { return M4.GetFlowRate() * Signals.SimulationInterval; } } - public NormLiter PSAirGeneratedDrag - { - get { - if (!auxConfig.PneumaticUserInputsConfig.SmartAirCompression) { - return 0.SI<NormLiter>(); - } - - return (M6.OverrunFlag && M8.CompressorFlag && Signals.ClutchEngaged && !Signals.InNeutral - ? M4.GetFlowRate() * - auxConfig.PneumaticAuxillariesConfig.OverrunUtilisationForCompressionFraction - : 0.SI<NormLiterPerSecond>()) * Signals.SimulationInterval; - } - } public Watt PSPowerDemandAirGenerated { get { - if (!auxConfig.PneumaticUserInputsConfig.SmartAirCompression) { - return M3.GetAveragePowerDemandAtCrankFromPneumatics(); + if (auxConfig.PneumaticUserInputsConfig.SmartAirCompression) { + return auxConfig.ElectricalUserInputsConfig.SmartElectrical + ? M7.SmartElectricalAndPneumaticAuxAirCompPowerGenAtCrank + : M7.SmartPneumaticOnlyAuxAirCompPowerGenAtCrank; } - return M7.SmartPneumaticOnlyAuxAirCompPowerGenAtCrank; + return M3.GetAveragePowerDemandAtCrankFromPneumatics(); } } @@ -231,7 +235,10 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries get { return M1.AveragePowerDemandAtCrankFromHVACMechanicals; } } - public double BatterySOC { get { return ElectricStorage.SOC; } } + public double BatterySOC + { + get { return ElectricStorage.SOC; } + } public string AuxiliaryName @@ -256,13 +263,14 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries //M9.CycleStep(seconds); //M10.CycleStep(seconds); //M11.CycleStep(seconds); - var generatedElPower = - (auxConfig.ElectricalUserInputsConfig.SmartElectrical && auxConfig.PneumaticUserInputsConfig.SmartAirCompression - ? M7.SmartElectricalAndPneumaticAuxAltPowerGenAtCrank - : M7.SmartElectricalOnlyAuxAltPowerGenAtCrank) * M0.AlternatorsEfficiency * - auxConfig.ElectricalUserInputsConfig.AlternatorGearEfficiency; - ElectricStorage.Request(generatedElPower - ElectricPowerConsumerSum, seconds); - + if (auxConfig.ElectricalUserInputsConfig.SmartElectrical) { + var generatedElPower = + (auxConfig.ElectricalUserInputsConfig.SmartElectrical && auxConfig.PneumaticUserInputsConfig.SmartAirCompression + ? M7.SmartElectricalAndPneumaticAuxAltPowerGenAtCrank + : M7.SmartElectricalOnlyAuxAltPowerGenAtCrank) * M0.AlternatorsEfficiency * + auxConfig.ElectricalUserInputsConfig.AlternatorGearEfficiency; + ElectricStorage.Request(generatedElPower - ElectricPowerConsumerSum, seconds); + } Signals.CurrentCycleTimeInSeconds += seconds.Value(); } catch (Exception ex) { //MessageBox.Show("Exception: " + ex.Message + " Stack Trace: " + ex.StackTrace); diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M05Impl_P0.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M05Impl_P0.cs index c6b904127488d87e120a82588bdee2844dbf55af..c13a12325dc49bb99c241d8baeb696cf48389ff2 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M05Impl_P0.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M05Impl_P0.cs @@ -21,7 +21,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric _m01 = m01; _m02 = m02; _bat = bat; - _maxAlternatorPower = elCfg.MaxAlternatorPower; + _maxAlternatorPower = elCfg.SmartElectrical ? elCfg.MaxAlternatorPower : 0.SI<Watt>(); _alternatorGearEfficiency = elCfg.AlternatorGearEfficiency; _signals = signals; } diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/IBusAuxiliaries.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/IBusAuxiliaries.cs index 154801d4f23549de3cfba6e5b27b9f6e5a0dd482..d53e3ed8097add1fc2c59c90b9f0ef99b4887f9a 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/IBusAuxiliaries.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/IBusAuxiliaries.cs @@ -99,7 +99,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces NormLiter PSDemandConsumer { get; } NormLiter PSAirGenerated { get; } NormLiter PSAirGeneratedAlwaysOn { get; } - NormLiter PSAirGeneratedDrag { get; } + //NormLiter PSAirGeneratedDrag { get; } Watt PSPowerDemandAirGenerated { get; } Watt PSPowerCompressorAlwaysOn { get; } Watt PSPowerCompressorDragOnly { get; } diff --git a/VectoCore/VectoCore/Models/Simulation/Data/ModalResultField.cs b/VectoCore/VectoCore/Models/Simulation/Data/ModalResultField.cs index d335e24b54c4b6d59bcdf673f1b261576c463568..26a181e8a7966718f7139b2b302771fa293412c6 100644 --- a/VectoCore/VectoCore/Models/Simulation/Data/ModalResultField.cs +++ b/VectoCore/VectoCore/Models/Simulation/Data/ModalResultField.cs @@ -276,7 +276,7 @@ namespace TUGraz.VectoCore.Models.Simulation.Data [ModalResultField(typeof(SI), caption: "Nl_busAux_gen_max [Nl]")] Nl_busAux_PS_generated_alwaysOn, - [ModalResultField(typeof(SI), caption: "Nl_busAux_gen_drag [Nl]")] Nl_busAux_PS_generated_dragOnly, + //[ModalResultField(typeof(SI), caption: "Nl_busAux_gen_drag [Nl]")] Nl_busAux_PS_generated_dragOnly, [ModalResultField(typeof(SI), caption: "P_busAux_PS_gen [kW]", outputFactor: 1e-3)] P_busAux_PS_generated, diff --git a/VectoCore/VectoCore/Models/Simulation/Impl/SimulatorFactory.cs b/VectoCore/VectoCore/Models/Simulation/Impl/SimulatorFactory.cs index f684b354608bd5b87a04707e9390bee0c37a6f23..632622157b5c6f13e9e04654350dd8a85eb3bf16 100644 --- a/VectoCore/VectoCore/Models/Simulation/Impl/SimulatorFactory.cs +++ b/VectoCore/VectoCore/Models/Simulation/Impl/SimulatorFactory.cs @@ -93,6 +93,13 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl DataReader = new DeclarationVTPModeVectoRunDataFactory(vtpProvider, report); return; } + + if (dataProvider is ISingleBusInputDataProvider) { + var singleBus = dataProvider as ISingleBusInputDataProvider; + var report = declarationReport ?? new XMLDeclarationReport(ModWriter, false); + DataReader = new DeclarationModeSingleBusVectoRunDataFactory(singleBus, report); + return; + } if (dataProvider is IDeclarationInputDataProvider) { var declDataProvider = dataProvider as IDeclarationInputDataProvider; var report = declarationReport ?? new XMLDeclarationReport(ModWriter, declDataProvider.JobInputData.Vehicle.VehicleCategory == VehicleCategory.HeavyBusPrimaryVehicle); diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Data/VehicleData.cs b/VectoCore/VectoCore/Models/SimulationComponent/Data/VehicleData.cs index 1912165551f1b50731f75d60c6d1652ab4e3ebd1..eb8c9ec9edd62d4514da33c687faf7a8966db0ea 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Data/VehicleData.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Data/VehicleData.cs @@ -245,20 +245,22 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data public IVehicleDeclarationInputData InputData { get; internal set; } - #region "Bus Parameters" - public double PassengerCount { get; internal set; } +// #region "Bus Parameters" +// public double PassengerCount { get; internal set; } - public FloorType FloorType { get; internal set; } +// public FloorType FloorType { get; internal set; } - public bool DoubleDecker { get; internal set; } +// public bool DoubleDecker { get; internal set; } - public Meter Length { get;internal set; } +// public Meter Length { get;internal set; } - public Meter Width { get; internal set; } +// public Meter Width { get; internal set; } + +// public Meter Height { get; internal set; } + +//#endregion - public Meter Height { get; internal set; } -#endregion protected void ComputeRollResistanceAndReducedMassWheels() { if (TotalVehicleMass == 0.SI<Kilogram>()) { diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/BusAuxiliariesAdapter.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/BusAuxiliariesAdapter.cs index f3d397b1a38fb7e9f2addef2065481abdf83392c..6e67ea5637dd7e9f7c24cb02dfc9052aa927fc22 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/BusAuxiliariesAdapter.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/BusAuxiliariesAdapter.cs @@ -165,7 +165,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl container[ModalResultField.Nl_busAux_PS_consumer] = Auxiliaries.PSDemandConsumer; container[ModalResultField.Nl_busAux_PS_generated] = Auxiliaries.PSAirGenerated; container[ModalResultField.Nl_busAux_PS_generated_alwaysOn] = Auxiliaries.PSAirGeneratedAlwaysOn; - container[ModalResultField.Nl_busAux_PS_generated_dragOnly] = Auxiliaries.PSAirGeneratedDrag; + //container[ModalResultField.Nl_busAux_PS_generated_dragOnly] = Auxiliaries.PSAirGeneratedDrag; container[ModalResultField.P_busAux_PS_generated] = Auxiliaries.PSPowerDemandAirGenerated; container[ModalResultField.P_busAux_PS_generated_alwaysOn] = Auxiliaries.PSPowerCompressorAlwaysOn; container[ModalResultField.P_busAux_PS_generated_dragOnly] = Auxiliaries.PSPowerCompressorDragOnly; diff --git a/VectoCore/VectoCore/OutputData/ModalDataContainer.cs b/VectoCore/VectoCore/OutputData/ModalDataContainer.cs index 4f57ddf918968d7fe0dfea3b1cd24b5d228543d5..3a4406f4ce7a67e64a9776d384bef8218424ade6 100644 --- a/VectoCore/VectoCore/OutputData/ModalDataContainer.cs +++ b/VectoCore/VectoCore/OutputData/ModalDataContainer.cs @@ -410,7 +410,7 @@ namespace TUGraz.VectoCore.OutputData ModalResultField.Nl_busAux_PS_consumer, ModalResultField.Nl_busAux_PS_generated, ModalResultField.Nl_busAux_PS_generated_alwaysOn, - ModalResultField.Nl_busAux_PS_generated_dragOnly, + //ModalResultField.Nl_busAux_PS_generated_dragOnly, ModalResultField.P_busAux_PS_generated, ModalResultField.P_busAux_PS_generated_alwaysOn, ModalResultField.P_busAux_PS_generated_dragOnly, diff --git a/VectoCore/VectoCore/Resources/XSD/VectoDeclarationDefinitions.2.6_Buses.xsd b/VectoCore/VectoCore/Resources/XSD/VectoDeclarationDefinitions.2.6_Buses.xsd index 07e7ca455602c0ec9b01da2652a032936502cd98..ac5b604ab3417af97a34272f0660bee6fc807204 100644 --- a/VectoCore/VectoCore/Resources/XSD/VectoDeclarationDefinitions.2.6_Buses.xsd +++ b/VectoCore/VectoCore/Resources/XSD/VectoDeclarationDefinitions.2.6_Buses.xsd @@ -47,6 +47,20 @@ </xs:sequence> </xs:complexType> </xs:element> + <xs:element name="PneumaticSystem"> + <xs:complexType> + <xs:sequence> + <xs:element name="DoorDriveTechnology"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="pneumatic"/> + <xs:enumeration value="electric"/> + </xs:restriction> + </xs:simpleType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> <xs:element name="HVAC"> <xs:complexType> <xs:sequence> @@ -302,14 +316,6 @@ </xs:simpleType> </xs:element> <xs:element name="AdBlueDosing" type="xs:boolean"/> - <xs:element name="DoorDriveTechnology"> - <xs:simpleType> - <xs:restriction base="xs:string"> - <xs:enumeration value="pneumatic"/> - <xs:enumeration value="electric"/> - </xs:restriction> - </xs:simpleType> - </xs:element> </xs:sequence> </xs:complexType> </xs:element> diff --git a/VectoCore/VectoCore/VectoCore.csproj b/VectoCore/VectoCore/VectoCore.csproj index 7cecd0a652b6825ba85aedd0a64a3025a1c4ee2b..c80a5a3490df7e72fc53301810e108cdedc19a9a 100644 --- a/VectoCore/VectoCore/VectoCore.csproj +++ b/VectoCore/VectoCore/VectoCore.csproj @@ -123,6 +123,7 @@ <Reference Include="System.Core" /> <Reference Include="System.Drawing" /> <Reference Include="System.IO.Compression" /> + <Reference Include="System.Net.Http" /> <Reference Include="System.Runtime.Serialization" /> <Reference Include="System.ServiceModel" /> <Reference Include="System.Transactions" /> @@ -275,6 +276,7 @@ <Compile Include="InputData\FileIO\XML\Declaration\IXMLDeclarationInputDataReader.cs" /> <Compile Include="InputData\FileIO\XML\IXMLInputDataReader.cs" /> <Compile Include="InputData\FileIO\XML\XMLInputDataNinjectModule.cs" /> + <Compile Include="InputData\Reader\DataObjectAdapter\DeclarationDataAdapterSingleBus.cs" /> <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\Electrics\SimpleBattery.cs" /> <Compile Include="Models\BusAuxiliaries\Interfaces\DownstreamModules\Electrics\ISimpleBattery.cs" /> <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\Electrics\M05Impl_P0.cs" /> @@ -366,6 +368,7 @@ <Compile Include="InputData\Reader\ComponentData\WHRPowerReader.cs" /> <Compile Include="Models\SimulationComponent\Impl\StopStartCombustionEngine.cs" /> <Compile Include="Models\Simulation\DataBus\IEngineControl.cs" /> + <Compile Include="InputData\Reader\Impl\DeclarationModeSingleBusVectoRunDataFactory.cs" /> <Compile Include="Models\Simulation\Impl\PCCEcoRollEngineStopPreprocessor.cs" /> <Compile Include="Models\Simulation\Impl\PCCSegmentPreprocessor.cs" /> <Compile Include="Models\Simulation\ISimulationPreprocessor.cs" /> diff --git a/VectoCore/VectoCoreTest/Integration/BusAuxiliaries/AuxDemandTest.cs b/VectoCore/VectoCoreTest/Integration/BusAuxiliaries/AuxDemandTest.cs index 8066b93f442f812e2da4de588bc4111f23a0c50e..4cceb09891f50ef070d0be70c75a45349e7eb3aa 100644 --- a/VectoCore/VectoCoreTest/Integration/BusAuxiliaries/AuxDemandTest.cs +++ b/VectoCore/VectoCoreTest/Integration/BusAuxiliaries/AuxDemandTest.cs @@ -148,12 +148,12 @@ namespace TUGraz.VectoCore.Tests.Integration.BusAuxiliaries vehicle.RunData = new VectoRunData() { EngineData = modelData, VehicleData = new VehicleData() { - Length = 10.655.SI< Meter>(), - Width = 2.55.SI<Meter>(), - Height = 2.275.SI< Meter>(), - FloorType = FloorType.HighFloor, - PassengerCount = 47, - DoubleDecker = false, + //Length = 10.655.SI< Meter>(), + //Width = 2.55.SI<Meter>(), + //Height = 2.275.SI< Meter>(), + //FloorType = FloorType.HighFloor, + //PassengerCount = 47, + //DoubleDecker = false, CurbMass = vehicleMass.SI<Kilogram>() } }; diff --git a/VectoCore/VectoCoreTest/Models/Declaration/BusFactoryTest.cs b/VectoCore/VectoCoreTest/Models/Declaration/BusFactoryTest.cs index 593509ca199c4019a4068f8e8ccd8bb942562e92..1654bb542cd29ea24aa8afa36f0ae53d14417c71 100644 --- a/VectoCore/VectoCoreTest/Models/Declaration/BusFactoryTest.cs +++ b/VectoCore/VectoCoreTest/Models/Declaration/BusFactoryTest.cs @@ -51,7 +51,31 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration //var run = factory.SimulationRuns().First(); //run.Run(); - //Assert.IsTrue(runs[runIdx].FinishedWithoutErrors); + Assert.IsTrue(runs[runIdx].FinishedWithoutErrors); + } + + [TestCase()] + public void CreateRunSingleBus() + { + var jobFile = + @"TestData\Integration\Buses\SingleBus.vecto"; + var runIdx = 4; + var writer = new FileOutputWriter(jobFile); + var inputData = Path.GetExtension(jobFile) == ".xml" + ? xmlInputReader.CreateDeclaration(jobFile) + //? new XMLDeclarationInputDataProvider(relativeJobPath, true) + : JSONInputDataFactory.ReadJsonJob(jobFile); + var factory = new SimulatorFactory(ExecutionMode.Declaration, inputData, writer) { + WriteModalResults = true, + //ActualModalData = true, + Validate = false + }; + var jobContainer = new JobContainer(new MockSumWriter()); + + var runs = factory.SimulationRuns().ToArray(); + jobContainer.AddRun(runs[runIdx]); + runs[runIdx].Run(); + Assert.IsTrue(runs[runIdx].FinishedWithoutErrors); } } } diff --git a/VectoCore/VectoCoreTest/Models/Declaration/ShiftPolygonTest.cs b/VectoCore/VectoCoreTest/Models/Declaration/ShiftPolygonTest.cs index 7725157f04611bd723647d267de72e62beabfea3..5da5cb9ef010c777f12fa309ad24473fe9f21dfc 100644 --- a/VectoCore/VectoCoreTest/Models/Declaration/ShiftPolygonTest.cs +++ b/VectoCore/VectoCoreTest/Models/Declaration/ShiftPolygonTest.cs @@ -883,7 +883,7 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration var segment = DeclarationData.TruckSegments.Lookup( vehicle.VehicleCategory, vehicle.AxleConfiguration, vehicle.GrossVehicleMassRating, vehicle.CurbMassChassis, false); - var vehicleData = dao.CreateVehicleData(inputData.JobInputData.Vehicle, segment.Missions.First(), 0.SI<Kilogram>()); + var vehicleData = dao.CreateVehicleData(inputData.JobInputData.Vehicle, segment.Missions.First(), new KeyValuePair<LoadingType, Kilogram>(LoadingType.LowLoading, 0.SI<Kilogram>())); var rdyn = vehicleData.DynamicTyreRadius; var shiftPolygons = new List<ShiftPolygon>(); diff --git a/VectoCore/VectoCoreTest/TestData/Integration/Buses/SingleBus.vecto b/VectoCore/VectoCoreTest/TestData/Integration/Buses/SingleBus.vecto new file mode 100644 index 0000000000000000000000000000000000000000..ec3da86c76bbb5f755cd762697e3c0fc20f25b5c --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/Buses/SingleBus.vecto @@ -0,0 +1,12 @@ +{ + "Header": { + "CreatedBy": "Markus Quaritsch, IVT, Graz University of Technology", + "Date": "2020-02-07T15:06:30.9725917Z", + "AppVersion": "2.2", + "FileVersion": 6 + }, + "Body": { + "PrimaryVehicle": "vecto_vehicle-primary_heavyBus.xml", + "CompletedVehicle": "vecto_vehicle-completed_heavyBus.xml" + } +} \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Integration/Buses/vecto_vehicle-completed_heavyBus.xml b/VectoCore/VectoCoreTest/TestData/Integration/Buses/vecto_vehicle-completed_heavyBus.xml new file mode 100644 index 0000000000000000000000000000000000000000..8cd00e2f96e29bb62966a7a6a0b463c1945878e8 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/Buses/vecto_vehicle-completed_heavyBus.xml @@ -0,0 +1,78 @@ +<?xml version="1.0" encoding="UTF-8"?> +<tns:VectoInputDeclaration schemaVersion="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" xmlns:v2.6="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.6" xmlns:v2.1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xmlns:di="http://www.w3.org/2000/09/xmldsig#" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationJob E:\QUAM\Workspace\VECTO_DEV_Buses\VectoCore\VectoCore\Resources\XSD/VectoDeclarationJob.xsd"> + <v2.0:Vehicle id="VEH-1234567890" xsi:type="CompletedVehicleDeclarationType" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.6"> + <ManufacturerCompletedVehicle>Some Manufacturer</ManufacturerCompletedVehicle> + <ManufacturerAddressCompletedVehicle>Infinite Loop 1</ManufacturerAddressCompletedVehicle> + <Model>Sample Bus Model</Model> + <VIN>VEH-1234567890</VIN> + <Date>2020-01-09T11:00:00Z</Date> + <LegislativeClass>N2</LegislativeClass> + <RegisteredClass>II+III</RegisteredClass> + <VehicleCode>CD</VehicleCode> + <CurbMassChassis>8300</CurbMassChassis> + <TechnicalPermissibleMaximumLadenMass>15400</TechnicalPermissibleMaximumLadenMass> + <RegisteredPassengers> + <LowerDeck>50</LowerDeck> + <UpperDeck>0</UpperDeck> + </RegisteredPassengers> + <LowEntry>true</LowEntry> + <HeightIntegratedBody>2.700</HeightIntegratedBody> + <VehicleLength>11.830</VehicleLength> + <VehicleWidth>2.550</VehicleWidth> + <EntranceHeight>0.120</EntranceHeight> + <DoorDriveTechnology>pneumatic</DoorDriveTechnology> + <Components xsi:type="CompletedVehicleComponentsDeclarationType"> + <v2.6:AirDrag xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0"> + <Data id="CabinX23h" xsi:type="AirDragDataDeclarationType"> + <Manufacturer>Generic Manufacturer</Manufacturer> + <Model>Generic Model</Model> + <CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber> + <Date>2017-03-24T15:00:00Z</Date> + <AppVersion>Vecto AirDrag x.y</AppVersion> + <CdxA_0>6.31</CdxA_0> + <TransferredCdxA>6.32</TransferredCdxA> + <DeclaredCdxA>6.34</DeclaredCdxA> + </Data> + <Signature> + <di:Reference URI="#CabinX23h"> + <di:Transforms> + <di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/> + <di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> + </di:Transforms> + <di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> + <di:DigestValue>b9SHCfOoVrBxFQ8wwDK32OO+9bd85DuaUdgs6j/29N8=</di:DigestValue> + </di:Reference> + </Signature> + </v2.6:AirDrag> + <Auxiliaries> + <Data xsi:type="CompletedVehicleAuxiliaryDataDeclarationType"> + <ElectricSystem> + <AlternatorTechnology ratio="1.000">default</AlternatorTechnology> + <LEDLights> + <Dayrunninglights>false</Dayrunninglights> + <Headlights>false</Headlights> + <Positionlights>false</Positionlights> + <Brakelights>false</Brakelights> + <Interiorlights>false</Interiorlights> + </LEDLights> + </ElectricSystem> + <PneumaticSystem> + <DoorDriveTechnology>pneumatic</DoorDriveTechnology> + </PneumaticSystem> + <HVAC> + <SystemConfiguration>7</SystemConfiguration> + <CompressorType> + <DriverAC>2-stage</DriverAC> + <PassengerAC>4-stage</PassengerAC> + </CompressorType> + <AuxiliaryHeaterPower>0</AuxiliaryHeaterPower> + <DoubleGlasing>true</DoubleGlasing> + <HeatPump>false</HeatPump> + <AdjustableAuxiliaryHeater>true</AdjustableAuxiliaryHeater> + <SeparateAirDistributionDucts>true</SeparateAirDistributionDucts> + </HVAC> + </Data> + </Auxiliaries> + </Components> + </v2.0:Vehicle> +</tns:VectoInputDeclaration> diff --git a/VectoCore/VectoCoreTest/TestData/Integration/Buses/vecto_vehicle-primary_heavyBus.xml b/VectoCore/VectoCoreTest/TestData/Integration/Buses/vecto_vehicle-primary_heavyBus.xml new file mode 100644 index 0000000000000000000000000000000000000000..cce77e8457ba7cd567095c2b6d33f0e4fc831810 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/Buses/vecto_vehicle-primary_heavyBus.xml @@ -0,0 +1,3287 @@ +<?xml version="1.0" encoding="UTF-8"?> +<tns:VectoInputDeclaration schemaVersion="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" xmlns:v2.6="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.6" xmlns:v2.1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xmlns:di="http://www.w3.org/2000/09/xmldsig#" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationJob E:\QUAM\Workspace\VECTO_DEV_Buses\VectoCore\VectoCore\Resources\XSD/VectoDeclarationJob.xsd"> + <v2.0:Vehicle id="VEH-1234567890" xsi:type="PrimaryVehicleDeclarationType" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.6"> + <ManufacturerPrimaryVehicle>Generic Truck Manufacturer</ManufacturerPrimaryVehicle> + <ManufacturerAddressPrimaryVehicle>Street, ZIP City</ManufacturerAddressPrimaryVehicle> + <Model>Generic Model</Model> + <VIN>VEH-1234567890</VIN> + <Date>2017-02-15T11:00:00Z</Date> + <VehicleCategory>Bus</VehicleCategory> + <AxleConfiguration>4x2</AxleConfiguration> + <TechnicalPermissibleMaximumLadenMass>25000</TechnicalPermissibleMaximumLadenMass> + <IdlingSpeed>600</IdlingSpeed> + <RetarderType>Transmission Output Retarder</RetarderType> + <RetarderRatio>1.000</RetarderRatio> + <AngledriveType>None</AngledriveType> + <ZeroEmissionVehicle>false</ZeroEmissionVehicle> + <v2.6:ADAS xsi:type="v2.1:AdvancedDriverAssistantSystemsType" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1"> + <EngineStopStart>false</EngineStopStart> + <EcoRollWithoutEngineStop>false</EcoRollWithoutEngineStop> + <EcoRollWithEngineStop>false</EcoRollWithEngineStop> + <PredictiveCruiseControl>none</PredictiveCruiseControl> + </v2.6:ADAS> + <v2.6:TorqueLimits xsi:type="TorqueLimitsType" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0"> + <Entry gear="6" maxTorque="1800"/> + <Entry gear="1" maxTorque="2500"/> + <Entry gear="12" maxTorque="1900"/> + </v2.6:TorqueLimits> + <Components xsi:type="PrimaryVehicleComponentsDeclarationType"> + <v2.6:Engine xsi:type="v2.0:EngineComponentDeclarationType" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0"> + <v2.0:Data id="ENG-gooZah3D" xsi:type="v2.1:EngineDataDeclarationType" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1"> + <Manufacturer>Generic Engine Manufacturer</Manufacturer> + <Model>Generic 40t Long Haul Truck Engine</Model> + <CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber> + <Date>2017-02-15T11:00:00Z</Date> + <AppVersion>VectoEngine x.y</AppVersion> + <Displacement>12730</Displacement> + <IdlingSpeed>560</IdlingSpeed> + <RatedSpeed>2200</RatedSpeed> + <RatedPower>380000</RatedPower> + <MaxEngineTorque>2400</MaxEngineTorque> + <WHTCUrban>1.0097</WHTCUrban> + <WHTCRural>1.0035</WHTCRural> + <WHTCMotorway>1.0200</WHTCMotorway> + <BFColdHot>1.0000</BFColdHot> + <CFRegPer>1.0000</CFRegPer> + <CFNCV>1.0000</CFNCV> + <FuelType>NG CI</FuelType> + <FuelConsumptionMap> + <Entry engineSpeed="560.00" torque="-149.00" fuelConsumption="0.00"/> + <Entry engineSpeed="560.00" torque="0.00" fuelConsumption="1256.00"/> + <Entry engineSpeed="560.00" torque="200.00" fuelConsumption="3197.00"/> + <Entry engineSpeed="560.00" torque="400.00" fuelConsumption="5295.00"/> + <Entry engineSpeed="560.00" torque="600.00" fuelConsumption="7615.00"/> + <Entry engineSpeed="560.00" torque="800.00" fuelConsumption="9375.00"/> + <Entry engineSpeed="560.00" torque="1000.00" fuelConsumption="11239.00"/> + <Entry engineSpeed="560.00" torque="1180.00" fuelConsumption="12869.00"/> + <Entry engineSpeed="600.00" torque="-148.00" fuelConsumption="0.00"/> + <Entry engineSpeed="600.00" torque="0.00" fuelConsumption="1459.00"/> + <Entry engineSpeed="600.00" torque="200.00" fuelConsumption="3358.00"/> + <Entry engineSpeed="600.00" torque="400.00" fuelConsumption="5498.00"/> + <Entry engineSpeed="600.00" torque="600.00" fuelConsumption="8101.00"/> + <Entry engineSpeed="600.00" torque="800.00" fuelConsumption="10014.00"/> + <Entry engineSpeed="600.00" torque="1000.00" fuelConsumption="12071.00"/> + <Entry engineSpeed="600.00" torque="1200.00" fuelConsumption="14201.00"/> + <Entry engineSpeed="600.00" torque="1282.00" fuelConsumption="15304.00"/> + <Entry engineSpeed="800.00" torque="-149.00" fuelConsumption="0.00"/> + <Entry engineSpeed="800.00" torque="0.00" fuelConsumption="1879.00"/> + <Entry engineSpeed="800.00" torque="200.00" fuelConsumption="4286.00"/> + <Entry engineSpeed="800.00" torque="400.00" fuelConsumption="7021.00"/> + <Entry engineSpeed="800.00" torque="600.00" fuelConsumption="10059.00"/> + <Entry engineSpeed="800.00" torque="800.00" fuelConsumption="13086.00"/> + <Entry engineSpeed="800.00" torque="1000.00" fuelConsumption="16015.00"/> + <Entry engineSpeed="800.00" torque="1200.00" fuelConsumption="19239.00"/> + <Entry engineSpeed="800.00" torque="1400.00" fuelConsumption="22426.00"/> + <Entry engineSpeed="800.00" torque="1600.00" fuelConsumption="25483.00"/> + <Entry engineSpeed="800.00" torque="1791.00" fuelConsumption="28905.00"/> + <Entry engineSpeed="1000.00" torque="-160.00" fuelConsumption="0.00"/> + <Entry engineSpeed="1000.00" torque="0.00" fuelConsumption="2865.00"/> + <Entry engineSpeed="1000.00" torque="200.00" fuelConsumption="5963.00"/> + <Entry engineSpeed="1000.00" torque="400.00" fuelConsumption="9198.00"/> + <Entry engineSpeed="1000.00" torque="600.00" fuelConsumption="12354.00"/> + <Entry engineSpeed="1000.00" torque="800.00" fuelConsumption="15965.00"/> + <Entry engineSpeed="1000.00" torque="1000.00" fuelConsumption="19864.00"/> + <Entry engineSpeed="1000.00" torque="1200.00" fuelConsumption="23530.00"/> + <Entry engineSpeed="1000.00" torque="1400.00" fuelConsumption="27202.00"/> + <Entry engineSpeed="1000.00" torque="1600.00" fuelConsumption="31165.00"/> + <Entry engineSpeed="1000.00" torque="1800.00" fuelConsumption="35103.00"/> + <Entry engineSpeed="1000.00" torque="2000.00" fuelConsumption="39360.00"/> + <Entry engineSpeed="1000.00" torque="2200.00" fuelConsumption="44120.00"/> + <Entry engineSpeed="1000.00" torque="2300.00" fuelConsumption="46836.00"/> + <Entry engineSpeed="1200.00" torque="-179.00" fuelConsumption="0.00"/> + <Entry engineSpeed="1200.00" torque="0.00" fuelConsumption="3307.00"/> + <Entry engineSpeed="1200.00" torque="200.00" fuelConsumption="6897.00"/> + <Entry engineSpeed="1200.00" torque="400.00" fuelConsumption="10651.00"/> + <Entry engineSpeed="1200.00" torque="600.00" fuelConsumption="14645.00"/> + <Entry engineSpeed="1200.00" torque="800.00" fuelConsumption="19115.00"/> + <Entry engineSpeed="1200.00" torque="1000.00" fuelConsumption="23677.00"/> + <Entry engineSpeed="1200.00" torque="1200.00" fuelConsumption="28180.00"/> + <Entry engineSpeed="1200.00" torque="1400.00" fuelConsumption="32431.00"/> + <Entry engineSpeed="1200.00" torque="1600.00" fuelConsumption="36698.00"/> + <Entry engineSpeed="1200.00" torque="1800.00" fuelConsumption="41691.00"/> + <Entry engineSpeed="1200.00" torque="2000.00" fuelConsumption="46915.00"/> + <Entry engineSpeed="1200.00" torque="2200.00" fuelConsumption="51783.00"/> + <Entry engineSpeed="1200.00" torque="2300.00" fuelConsumption="54932.00"/> + <Entry engineSpeed="1400.00" torque="-203.00" fuelConsumption="0.00"/> + <Entry engineSpeed="1400.00" torque="0.00" fuelConsumption="4306.00"/> + <Entry engineSpeed="1400.00" torque="200.00" fuelConsumption="8143.00"/> + <Entry engineSpeed="1400.00" torque="400.00" fuelConsumption="12723.00"/> + <Entry engineSpeed="1400.00" torque="600.00" fuelConsumption="17523.00"/> + <Entry engineSpeed="1400.00" torque="800.00" fuelConsumption="22288.00"/> + <Entry engineSpeed="1400.00" torque="1000.00" fuelConsumption="27093.00"/> + <Entry engineSpeed="1400.00" torque="1200.00" fuelConsumption="32536.00"/> + <Entry engineSpeed="1400.00" torque="1400.00" fuelConsumption="37746.00"/> + <Entry engineSpeed="1400.00" torque="1600.00" fuelConsumption="43194.00"/> + <Entry engineSpeed="1400.00" torque="1800.00" fuelConsumption="49453.00"/> + <Entry engineSpeed="1400.00" torque="2000.00" fuelConsumption="55830.00"/> + <Entry engineSpeed="1400.00" torque="2200.00" fuelConsumption="61072.00"/> + <Entry engineSpeed="1400.00" torque="2300.00" fuelConsumption="64377.00"/> + <Entry engineSpeed="1600.00" torque="-235.00" fuelConsumption="0.00"/> + <Entry engineSpeed="1600.00" torque="0.00" fuelConsumption="5209.00"/> + <Entry engineSpeed="1600.00" torque="200.00" fuelConsumption="9669.00"/> + <Entry engineSpeed="1600.00" torque="400.00" fuelConsumption="14838.00"/> + <Entry engineSpeed="1600.00" torque="600.00" fuelConsumption="20127.00"/> + <Entry engineSpeed="1600.00" torque="800.00" fuelConsumption="25894.00"/> + <Entry engineSpeed="1600.00" torque="1000.00" fuelConsumption="31631.00"/> + <Entry engineSpeed="1600.00" torque="1200.00" fuelConsumption="37248.00"/> + <Entry engineSpeed="1600.00" torque="1400.00" fuelConsumption="42826.00"/> + <Entry engineSpeed="1600.00" torque="1600.00" fuelConsumption="49752.00"/> + <Entry engineSpeed="1600.00" torque="1800.00" fuelConsumption="57020.00"/> + <Entry engineSpeed="1600.00" torque="2000.00" fuelConsumption="63914.00"/> + <Entry engineSpeed="1600.00" torque="2079.00" fuelConsumption="66520.00"/> + <Entry engineSpeed="1800.00" torque="-264.00" fuelConsumption="0.00"/> + <Entry engineSpeed="1800.00" torque="0.00" fuelConsumption="6409.00"/> + <Entry engineSpeed="1800.00" torque="200.00" fuelConsumption="11777.00"/> + <Entry engineSpeed="1800.00" torque="400.00" fuelConsumption="17320.00"/> + <Entry engineSpeed="1800.00" torque="600.00" fuelConsumption="23394.00"/> + <Entry engineSpeed="1800.00" torque="800.00" fuelConsumption="30501.00"/> + <Entry engineSpeed="1800.00" torque="1000.00" fuelConsumption="36378.00"/> + <Entry engineSpeed="1800.00" torque="1200.00" fuelConsumption="43079.00"/> + <Entry engineSpeed="1800.00" torque="1400.00" fuelConsumption="49796.00"/> + <Entry engineSpeed="1800.00" torque="1600.00" fuelConsumption="57436.00"/> + <Entry engineSpeed="1800.00" torque="1800.00" fuelConsumption="65157.00"/> + <Entry engineSpeed="1800.00" torque="1857.00" fuelConsumption="67574.00"/> + <Entry engineSpeed="2000.00" torque="-301.00" fuelConsumption="0.00"/> + <Entry engineSpeed="2000.00" torque="0.00" fuelConsumption="9127.00"/> + <Entry engineSpeed="2000.00" torque="200.00" fuelConsumption="14822.00"/> + <Entry engineSpeed="2000.00" torque="400.00" fuelConsumption="20655.00"/> + <Entry engineSpeed="2000.00" torque="600.00" fuelConsumption="27076.00"/> + <Entry engineSpeed="2000.00" torque="800.00" fuelConsumption="34188.00"/> + <Entry engineSpeed="2000.00" torque="1000.00" fuelConsumption="42837.00"/> + <Entry engineSpeed="2000.00" torque="1200.00" fuelConsumption="51018.00"/> + <Entry engineSpeed="2000.00" torque="1352.00" fuelConsumption="56618.00"/> + <Entry engineSpeed="2100.00" torque="-320.00" fuelConsumption="0.00"/> + <Entry engineSpeed="2100.00" torque="0.00" fuelConsumption="10470.00"/> + <Entry engineSpeed="2100.00" torque="200.00" fuelConsumption="16332.00"/> + <Entry engineSpeed="2100.00" torque="400.00" fuelConsumption="22396.00"/> + <Entry engineSpeed="2100.00" torque="600.00" fuelConsumption="28914.00"/> + <Entry engineSpeed="2100.00" torque="800.00" fuelConsumption="35717.00"/> + <Entry engineSpeed="2100.00" torque="1000.00" fuelConsumption="45643.00"/> + <Entry engineSpeed="2100.00" torque="1100.00" fuelConsumption="50653.00"/> + </FuelConsumptionMap> + <FullLoadAndDragCurve> + <Entry engineSpeed="560.00" maxTorque="1180.00" dragTorque="-149.00"/> + <Entry engineSpeed="600.00" maxTorque="1282.00" dragTorque="-148.00"/> + <Entry engineSpeed="800.00" maxTorque="1791.00" dragTorque="-149.00"/> + <Entry engineSpeed="1000.00" maxTorque="2300.00" dragTorque="-160.00"/> + <Entry engineSpeed="1200.00" maxTorque="2300.00" dragTorque="-179.00"/> + <Entry engineSpeed="1400.00" maxTorque="2300.00" dragTorque="-203.00"/> + <Entry engineSpeed="1600.00" maxTorque="2079.00" dragTorque="-235.00"/> + <Entry engineSpeed="1800.00" maxTorque="1857.00" dragTorque="-264.00"/> + <Entry engineSpeed="2000.00" maxTorque="1352.00" dragTorque="-301.00"/> + <Entry engineSpeed="2100.00" maxTorque="1100.00" dragTorque="-320.00"/> + </FullLoadAndDragCurve> + </v2.0:Data> + <Signature> + <di:Reference URI="#ENG-gooZah3D"> + <di:Transforms> + <di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/> + <di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> + </di:Transforms> + <di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> + <di:DigestValue>sNtMe9udO39TyKXzgwYEpVKImWizFalaBVqq3jLktuo=</di:DigestValue> + </di:Reference> + </Signature> + </v2.6:Engine> + <v2.6:Gearbox xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xsi:type="GearboxComponentDeclarationType"> + <Data id="gbx-vi2Oak2N" xsi:type="GearboxDataDeclarationType"> + <Manufacturer>Generic Gearbox Manufacturer</Manufacturer> + <Model>Generic 40t Long Haul Truck Gearbox</Model> + <CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber> + <Date>2017-01-11T11:00:00Z</Date> + <AppVersion>3.0.1</AppVersion> + <TransmissionType>AMT</TransmissionType> + <MainCertificationMethod>Standard values</MainCertificationMethod> + <Gears xsi:type="GearsDeclarationType"> + <Gear number="1"> + <Ratio>14.930</Ratio> + <MaxTorque>1900</MaxTorque> + <MaxSpeed>2000</MaxSpeed> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="-350.00" torqueLoss="12.06"/> + <Entry inputSpeed="0.00" inputTorque="-150.00" torqueLoss="8.06"/> + <Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/> + <Entry inputSpeed="0.00" inputTorque="250.00" torqueLoss="10.06"/> + <Entry inputSpeed="0.00" inputTorque="450.00" torqueLoss="14.06"/> + <Entry inputSpeed="0.00" inputTorque="650.00" torqueLoss="18.06"/> + <Entry inputSpeed="0.00" inputTorque="850.00" torqueLoss="22.06"/> + <Entry inputSpeed="0.00" inputTorque="1050.00" torqueLoss="26.06"/> + <Entry inputSpeed="0.00" inputTorque="1250.00" torqueLoss="30.06"/> + <Entry inputSpeed="0.00" inputTorque="1450.00" torqueLoss="34.06"/> + <Entry inputSpeed="0.00" inputTorque="1650.00" torqueLoss="38.06"/> + <Entry inputSpeed="0.00" inputTorque="1850.00" torqueLoss="42.06"/> + <Entry inputSpeed="0.00" inputTorque="2050.00" torqueLoss="46.06"/> + <Entry inputSpeed="0.00" inputTorque="2250.00" torqueLoss="50.06"/> + <Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/> + <Entry inputSpeed="100.00" inputTorque="-350.00" torqueLoss="12.56"/> + <Entry inputSpeed="100.00" inputTorque="-150.00" torqueLoss="8.56"/> + <Entry inputSpeed="100.00" inputTorque="50.00" torqueLoss="6.56"/> + <Entry inputSpeed="100.00" inputTorque="250.00" torqueLoss="10.56"/> + <Entry inputSpeed="100.00" inputTorque="450.00" torqueLoss="14.56"/> + <Entry inputSpeed="100.00" inputTorque="650.00" torqueLoss="18.56"/> + <Entry inputSpeed="100.00" inputTorque="850.00" torqueLoss="22.56"/> + <Entry inputSpeed="100.00" inputTorque="1050.00" torqueLoss="26.56"/> + <Entry inputSpeed="100.00" inputTorque="1250.00" torqueLoss="30.56"/> + <Entry inputSpeed="100.00" inputTorque="1450.00" torqueLoss="34.56"/> + <Entry inputSpeed="100.00" inputTorque="1650.00" torqueLoss="38.56"/> + <Entry inputSpeed="100.00" inputTorque="1850.00" torqueLoss="42.56"/> + <Entry inputSpeed="100.00" inputTorque="2050.00" torqueLoss="46.56"/> + <Entry inputSpeed="100.00" inputTorque="2250.00" torqueLoss="50.56"/> + <Entry inputSpeed="100.00" inputTorque="3000.00" torqueLoss="54.56"/> + <Entry inputSpeed="300.00" inputTorque="-350.00" torqueLoss="13.58"/> + <Entry inputSpeed="300.00" inputTorque="-150.00" torqueLoss="9.58"/> + <Entry inputSpeed="300.00" inputTorque="50.00" torqueLoss="7.58"/> + <Entry inputSpeed="300.00" inputTorque="250.00" torqueLoss="11.58"/> + <Entry inputSpeed="300.00" inputTorque="450.00" torqueLoss="15.58"/> + <Entry inputSpeed="300.00" inputTorque="650.00" torqueLoss="19.58"/> + <Entry inputSpeed="300.00" inputTorque="850.00" torqueLoss="23.58"/> + <Entry inputSpeed="300.00" inputTorque="1050.00" torqueLoss="27.58"/> + <Entry inputSpeed="300.00" inputTorque="1250.00" torqueLoss="31.58"/> + <Entry inputSpeed="300.00" inputTorque="1450.00" torqueLoss="35.58"/> + <Entry inputSpeed="300.00" inputTorque="1650.00" torqueLoss="39.58"/> + <Entry inputSpeed="300.00" inputTorque="1850.00" torqueLoss="43.58"/> + <Entry inputSpeed="300.00" inputTorque="2050.00" torqueLoss="47.58"/> + <Entry inputSpeed="300.00" inputTorque="2250.00" torqueLoss="51.58"/> + <Entry inputSpeed="300.00" inputTorque="3000.00" torqueLoss="55.58"/> + <Entry inputSpeed="500.00" inputTorque="-350.00" torqueLoss="14.59"/> + <Entry inputSpeed="500.00" inputTorque="-150.00" torqueLoss="10.59"/> + <Entry inputSpeed="500.00" inputTorque="50.00" torqueLoss="8.59"/> + <Entry inputSpeed="500.00" inputTorque="250.00" torqueLoss="12.59"/> + <Entry inputSpeed="500.00" inputTorque="450.00" torqueLoss="16.59"/> + <Entry inputSpeed="500.00" inputTorque="650.00" torqueLoss="20.59"/> + <Entry inputSpeed="500.00" inputTorque="850.00" torqueLoss="24.59"/> + <Entry inputSpeed="500.00" inputTorque="1050.00" torqueLoss="28.59"/> + <Entry inputSpeed="500.00" inputTorque="1250.00" torqueLoss="32.59"/> + <Entry inputSpeed="500.00" inputTorque="1450.00" torqueLoss="36.59"/> + <Entry inputSpeed="500.00" inputTorque="1650.00" torqueLoss="40.59"/> + <Entry inputSpeed="500.00" inputTorque="1850.00" torqueLoss="44.59"/> + <Entry inputSpeed="500.00" inputTorque="2050.00" torqueLoss="48.59"/> + <Entry inputSpeed="500.00" inputTorque="2250.00" torqueLoss="52.59"/> + <Entry inputSpeed="500.00" inputTorque="3000.00" torqueLoss="56.59"/> + <Entry inputSpeed="700.00" inputTorque="-350.00" torqueLoss="15.60"/> + <Entry inputSpeed="700.00" inputTorque="-150.00" torqueLoss="11.60"/> + <Entry inputSpeed="700.00" inputTorque="50.00" torqueLoss="9.60"/> + <Entry inputSpeed="700.00" inputTorque="250.00" torqueLoss="13.60"/> + <Entry inputSpeed="700.00" inputTorque="450.00" torqueLoss="17.60"/> + <Entry inputSpeed="700.00" inputTorque="650.00" torqueLoss="21.60"/> + <Entry inputSpeed="700.00" inputTorque="850.00" torqueLoss="25.60"/> + <Entry inputSpeed="700.00" inputTorque="1050.00" torqueLoss="29.60"/> + <Entry inputSpeed="700.00" inputTorque="1250.00" torqueLoss="33.60"/> + <Entry inputSpeed="700.00" inputTorque="1450.00" torqueLoss="37.60"/> + <Entry inputSpeed="700.00" inputTorque="1650.00" torqueLoss="41.60"/> + <Entry inputSpeed="700.00" inputTorque="1850.00" torqueLoss="45.60"/> + <Entry inputSpeed="700.00" inputTorque="2050.00" torqueLoss="49.60"/> + <Entry inputSpeed="700.00" inputTorque="2250.00" torqueLoss="53.60"/> + <Entry inputSpeed="700.00" inputTorque="3000.00" torqueLoss="57.60"/> + <Entry inputSpeed="900.00" inputTorque="-350.00" torqueLoss="16.61"/> + <Entry inputSpeed="900.00" inputTorque="-150.00" torqueLoss="12.61"/> + <Entry inputSpeed="900.00" inputTorque="50.00" torqueLoss="10.61"/> + <Entry inputSpeed="900.00" inputTorque="250.00" torqueLoss="14.61"/> + <Entry inputSpeed="900.00" inputTorque="450.00" torqueLoss="18.61"/> + <Entry inputSpeed="900.00" inputTorque="650.00" torqueLoss="22.61"/> + <Entry inputSpeed="900.00" inputTorque="850.00" torqueLoss="26.61"/> + <Entry inputSpeed="900.00" inputTorque="1050.00" torqueLoss="30.61"/> + <Entry inputSpeed="900.00" inputTorque="1250.00" torqueLoss="34.61"/> + <Entry inputSpeed="900.00" inputTorque="1450.00" torqueLoss="38.61"/> + <Entry inputSpeed="900.00" inputTorque="1650.00" torqueLoss="42.61"/> + <Entry inputSpeed="900.00" inputTorque="1850.00" torqueLoss="46.61"/> + <Entry inputSpeed="900.00" inputTorque="2050.00" torqueLoss="50.61"/> + <Entry inputSpeed="900.00" inputTorque="2250.00" torqueLoss="54.61"/> + <Entry inputSpeed="900.00" inputTorque="3000.00" torqueLoss="58.61"/> + <Entry inputSpeed="1100.00" inputTorque="-350.00" torqueLoss="17.63"/> + <Entry inputSpeed="1100.00" inputTorque="-150.00" torqueLoss="13.63"/> + <Entry inputSpeed="1100.00" inputTorque="50.00" torqueLoss="11.63"/> + <Entry inputSpeed="1100.00" inputTorque="250.00" torqueLoss="15.63"/> + <Entry inputSpeed="1100.00" inputTorque="450.00" torqueLoss="19.63"/> + <Entry inputSpeed="1100.00" inputTorque="650.00" torqueLoss="23.63"/> + <Entry inputSpeed="1100.00" inputTorque="850.00" torqueLoss="27.63"/> + <Entry inputSpeed="1100.00" inputTorque="1050.00" torqueLoss="31.63"/> + <Entry inputSpeed="1100.00" inputTorque="1250.00" torqueLoss="35.63"/> + <Entry inputSpeed="1100.00" inputTorque="1450.00" torqueLoss="39.63"/> + <Entry inputSpeed="1100.00" inputTorque="1650.00" torqueLoss="43.63"/> + <Entry inputSpeed="1100.00" inputTorque="1850.00" torqueLoss="47.63"/> + <Entry inputSpeed="1100.00" inputTorque="2050.00" torqueLoss="51.63"/> + <Entry inputSpeed="1100.00" inputTorque="2250.00" torqueLoss="55.63"/> + <Entry inputSpeed="1100.00" inputTorque="3000.00" torqueLoss="59.63"/> + <Entry inputSpeed="1300.00" inputTorque="-350.00" torqueLoss="18.64"/> + <Entry inputSpeed="1300.00" inputTorque="-150.00" torqueLoss="14.64"/> + <Entry inputSpeed="1300.00" inputTorque="50.00" torqueLoss="12.64"/> + <Entry inputSpeed="1300.00" inputTorque="250.00" torqueLoss="16.64"/> + <Entry inputSpeed="1300.00" inputTorque="450.00" torqueLoss="20.64"/> + <Entry inputSpeed="1300.00" inputTorque="650.00" torqueLoss="24.64"/> + <Entry inputSpeed="1300.00" inputTorque="850.00" torqueLoss="28.64"/> + <Entry inputSpeed="1300.00" inputTorque="1050.00" torqueLoss="32.64"/> + <Entry inputSpeed="1300.00" inputTorque="1250.00" torqueLoss="36.64"/> + <Entry inputSpeed="1300.00" inputTorque="1450.00" torqueLoss="40.64"/> + <Entry inputSpeed="1300.00" inputTorque="1650.00" torqueLoss="44.64"/> + <Entry inputSpeed="1300.00" inputTorque="1850.00" torqueLoss="48.64"/> + <Entry inputSpeed="1300.00" inputTorque="2050.00" torqueLoss="52.64"/> + <Entry inputSpeed="1300.00" inputTorque="2250.00" torqueLoss="56.64"/> + <Entry inputSpeed="1300.00" inputTorque="3000.00" torqueLoss="60.64"/> + <Entry inputSpeed="1500.00" inputTorque="-350.00" torqueLoss="19.65"/> + <Entry inputSpeed="1500.00" inputTorque="-150.00" torqueLoss="15.65"/> + <Entry inputSpeed="1500.00" inputTorque="50.00" torqueLoss="13.65"/> + <Entry inputSpeed="1500.00" inputTorque="250.00" torqueLoss="17.65"/> + <Entry inputSpeed="1500.00" inputTorque="450.00" torqueLoss="21.65"/> + <Entry inputSpeed="1500.00" inputTorque="650.00" torqueLoss="25.65"/> + <Entry inputSpeed="1500.00" inputTorque="850.00" torqueLoss="29.65"/> + <Entry inputSpeed="1500.00" inputTorque="1050.00" torqueLoss="33.65"/> + <Entry inputSpeed="1500.00" inputTorque="1250.00" torqueLoss="37.65"/> + <Entry inputSpeed="1500.00" inputTorque="1450.00" torqueLoss="41.65"/> + <Entry inputSpeed="1500.00" inputTorque="1650.00" torqueLoss="45.65"/> + <Entry inputSpeed="1500.00" inputTorque="1850.00" torqueLoss="49.65"/> + <Entry inputSpeed="1500.00" inputTorque="2050.00" torqueLoss="53.65"/> + <Entry inputSpeed="1500.00" inputTorque="2250.00" torqueLoss="57.65"/> + <Entry inputSpeed="1500.00" inputTorque="3000.00" torqueLoss="61.65"/> + <Entry inputSpeed="1700.00" inputTorque="-350.00" torqueLoss="20.66"/> + <Entry inputSpeed="1700.00" inputTorque="-150.00" torqueLoss="16.66"/> + <Entry inputSpeed="1700.00" inputTorque="50.00" torqueLoss="14.66"/> + <Entry inputSpeed="1700.00" inputTorque="250.00" torqueLoss="18.66"/> + <Entry inputSpeed="1700.00" inputTorque="450.00" torqueLoss="22.66"/> + <Entry inputSpeed="1700.00" inputTorque="650.00" torqueLoss="26.66"/> + <Entry inputSpeed="1700.00" inputTorque="850.00" torqueLoss="30.66"/> + <Entry inputSpeed="1700.00" inputTorque="1050.00" torqueLoss="34.66"/> + <Entry inputSpeed="1700.00" inputTorque="1250.00" torqueLoss="38.66"/> + <Entry inputSpeed="1700.00" inputTorque="1450.00" torqueLoss="42.66"/> + <Entry inputSpeed="1700.00" inputTorque="1650.00" torqueLoss="46.66"/> + <Entry inputSpeed="1700.00" inputTorque="1850.00" torqueLoss="50.66"/> + <Entry inputSpeed="1700.00" inputTorque="2050.00" torqueLoss="54.66"/> + <Entry inputSpeed="1700.00" inputTorque="2250.00" torqueLoss="58.66"/> + <Entry inputSpeed="1700.00" inputTorque="3000.00" torqueLoss="62.66"/> + <Entry inputSpeed="1900.00" inputTorque="-350.00" torqueLoss="21.67"/> + <Entry inputSpeed="1900.00" inputTorque="-150.00" torqueLoss="17.67"/> + <Entry inputSpeed="1900.00" inputTorque="50.00" torqueLoss="15.67"/> + <Entry inputSpeed="1900.00" inputTorque="250.00" torqueLoss="19.67"/> + <Entry inputSpeed="1900.00" inputTorque="450.00" torqueLoss="23.67"/> + <Entry inputSpeed="1900.00" inputTorque="650.00" torqueLoss="27.67"/> + <Entry inputSpeed="1900.00" inputTorque="850.00" torqueLoss="31.67"/> + <Entry inputSpeed="1900.00" inputTorque="1050.00" torqueLoss="35.67"/> + <Entry inputSpeed="1900.00" inputTorque="1250.00" torqueLoss="39.67"/> + <Entry inputSpeed="1900.00" inputTorque="1450.00" torqueLoss="43.67"/> + <Entry inputSpeed="1900.00" inputTorque="1650.00" torqueLoss="47.67"/> + <Entry inputSpeed="1900.00" inputTorque="1850.00" torqueLoss="51.67"/> + <Entry inputSpeed="1900.00" inputTorque="2050.00" torqueLoss="55.67"/> + <Entry inputSpeed="1900.00" inputTorque="2250.00" torqueLoss="59.67"/> + <Entry inputSpeed="1900.00" inputTorque="3000.00" torqueLoss="63.67"/> + <Entry inputSpeed="2100.00" inputTorque="-350.00" torqueLoss="22.69"/> + <Entry inputSpeed="2100.00" inputTorque="-150.00" torqueLoss="18.69"/> + <Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/> + <Entry inputSpeed="2100.00" inputTorque="250.00" torqueLoss="20.69"/> + <Entry inputSpeed="2100.00" inputTorque="450.00" torqueLoss="24.69"/> + <Entry inputSpeed="2100.00" inputTorque="650.00" torqueLoss="28.69"/> + <Entry inputSpeed="2100.00" inputTorque="850.00" torqueLoss="32.69"/> + <Entry inputSpeed="2100.00" inputTorque="1050.00" torqueLoss="36.69"/> + <Entry inputSpeed="2100.00" inputTorque="1250.00" torqueLoss="40.69"/> + <Entry inputSpeed="2100.00" inputTorque="1450.00" torqueLoss="44.69"/> + <Entry inputSpeed="2100.00" inputTorque="1650.00" torqueLoss="48.69"/> + <Entry inputSpeed="2100.00" inputTorque="1850.00" torqueLoss="52.69"/> + <Entry inputSpeed="2100.00" inputTorque="2050.00" torqueLoss="56.69"/> + <Entry inputSpeed="2100.00" inputTorque="2250.00" torqueLoss="60.69"/> + <Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/> + <Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/> + <Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="25.56"/> + <Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="26.58"/> + <Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="27.59"/> + <Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="28.60"/> + <Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="29.61"/> + <Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="30.63"/> + <Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="31.64"/> + <Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="32.65"/> + <Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="33.66"/> + <Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="34.67"/> + <Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/> + </TorqueLossMap> + </Gear> + <Gear number="2"> + <Ratio>11.640</Ratio> + <MaxTorque>1900</MaxTorque> + <MaxSpeed>2000</MaxSpeed> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="-350.00" torqueLoss="12.06"/> + <Entry inputSpeed="0.00" inputTorque="-150.00" torqueLoss="8.06"/> + <Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/> + <Entry inputSpeed="0.00" inputTorque="250.00" torqueLoss="10.06"/> + <Entry inputSpeed="0.00" inputTorque="450.00" torqueLoss="14.06"/> + <Entry inputSpeed="0.00" inputTorque="650.00" torqueLoss="18.06"/> + <Entry inputSpeed="0.00" inputTorque="850.00" torqueLoss="22.06"/> + <Entry inputSpeed="0.00" inputTorque="1050.00" torqueLoss="26.06"/> + <Entry inputSpeed="0.00" inputTorque="1250.00" torqueLoss="30.06"/> + <Entry inputSpeed="0.00" inputTorque="1450.00" torqueLoss="34.06"/> + <Entry inputSpeed="0.00" inputTorque="1650.00" torqueLoss="38.06"/> + <Entry inputSpeed="0.00" inputTorque="1850.00" torqueLoss="42.06"/> + <Entry inputSpeed="0.00" inputTorque="2050.00" torqueLoss="46.06"/> + <Entry inputSpeed="0.00" inputTorque="2250.00" torqueLoss="50.06"/> + <Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/> + <Entry inputSpeed="100.00" inputTorque="-350.00" torqueLoss="12.56"/> + <Entry inputSpeed="100.00" inputTorque="-150.00" torqueLoss="8.56"/> + <Entry inputSpeed="100.00" inputTorque="50.00" torqueLoss="6.56"/> + <Entry inputSpeed="100.00" inputTorque="250.00" torqueLoss="10.56"/> + <Entry inputSpeed="100.00" inputTorque="450.00" torqueLoss="14.56"/> + <Entry inputSpeed="100.00" inputTorque="650.00" torqueLoss="18.56"/> + <Entry inputSpeed="100.00" inputTorque="850.00" torqueLoss="22.56"/> + <Entry inputSpeed="100.00" inputTorque="1050.00" torqueLoss="26.56"/> + <Entry inputSpeed="100.00" inputTorque="1250.00" torqueLoss="30.56"/> + <Entry inputSpeed="100.00" inputTorque="1450.00" torqueLoss="34.56"/> + <Entry inputSpeed="100.00" inputTorque="1650.00" torqueLoss="38.56"/> + <Entry inputSpeed="100.00" inputTorque="1850.00" torqueLoss="42.56"/> + <Entry inputSpeed="100.00" inputTorque="2050.00" torqueLoss="46.56"/> + <Entry inputSpeed="100.00" inputTorque="2250.00" torqueLoss="50.56"/> + <Entry inputSpeed="100.00" inputTorque="3000.00" torqueLoss="54.56"/> + <Entry inputSpeed="300.00" inputTorque="-350.00" torqueLoss="13.58"/> + <Entry inputSpeed="300.00" inputTorque="-150.00" torqueLoss="9.58"/> + <Entry inputSpeed="300.00" inputTorque="50.00" torqueLoss="7.58"/> + <Entry inputSpeed="300.00" inputTorque="250.00" torqueLoss="11.58"/> + <Entry inputSpeed="300.00" inputTorque="450.00" torqueLoss="15.58"/> + <Entry inputSpeed="300.00" inputTorque="650.00" torqueLoss="19.58"/> + <Entry inputSpeed="300.00" inputTorque="850.00" torqueLoss="23.58"/> + <Entry inputSpeed="300.00" inputTorque="1050.00" torqueLoss="27.58"/> + <Entry inputSpeed="300.00" inputTorque="1250.00" torqueLoss="31.58"/> + <Entry inputSpeed="300.00" inputTorque="1450.00" torqueLoss="35.58"/> + <Entry inputSpeed="300.00" inputTorque="1650.00" torqueLoss="39.58"/> + <Entry inputSpeed="300.00" inputTorque="1850.00" torqueLoss="43.58"/> + <Entry inputSpeed="300.00" inputTorque="2050.00" torqueLoss="47.58"/> + <Entry inputSpeed="300.00" inputTorque="2250.00" torqueLoss="51.58"/> + <Entry inputSpeed="300.00" inputTorque="3000.00" torqueLoss="55.58"/> + <Entry inputSpeed="500.00" inputTorque="-350.00" torqueLoss="14.59"/> + <Entry inputSpeed="500.00" inputTorque="-150.00" torqueLoss="10.59"/> + <Entry inputSpeed="500.00" inputTorque="50.00" torqueLoss="8.59"/> + <Entry inputSpeed="500.00" inputTorque="250.00" torqueLoss="12.59"/> + <Entry inputSpeed="500.00" inputTorque="450.00" torqueLoss="16.59"/> + <Entry inputSpeed="500.00" inputTorque="650.00" torqueLoss="20.59"/> + <Entry inputSpeed="500.00" inputTorque="850.00" torqueLoss="24.59"/> + <Entry inputSpeed="500.00" inputTorque="1050.00" torqueLoss="28.59"/> + <Entry inputSpeed="500.00" inputTorque="1250.00" torqueLoss="32.59"/> + <Entry inputSpeed="500.00" inputTorque="1450.00" torqueLoss="36.59"/> + <Entry inputSpeed="500.00" inputTorque="1650.00" torqueLoss="40.59"/> + <Entry inputSpeed="500.00" inputTorque="1850.00" torqueLoss="44.59"/> + <Entry inputSpeed="500.00" inputTorque="2050.00" torqueLoss="48.59"/> + <Entry inputSpeed="500.00" inputTorque="2250.00" torqueLoss="52.59"/> + <Entry inputSpeed="500.00" inputTorque="3000.00" torqueLoss="56.59"/> + <Entry inputSpeed="700.00" inputTorque="-350.00" torqueLoss="15.60"/> + <Entry inputSpeed="700.00" inputTorque="-150.00" torqueLoss="11.60"/> + <Entry inputSpeed="700.00" inputTorque="50.00" torqueLoss="9.60"/> + <Entry inputSpeed="700.00" inputTorque="250.00" torqueLoss="13.60"/> + <Entry inputSpeed="700.00" inputTorque="450.00" torqueLoss="17.60"/> + <Entry inputSpeed="700.00" inputTorque="650.00" torqueLoss="21.60"/> + <Entry inputSpeed="700.00" inputTorque="850.00" torqueLoss="25.60"/> + <Entry inputSpeed="700.00" inputTorque="1050.00" torqueLoss="29.60"/> + <Entry inputSpeed="700.00" inputTorque="1250.00" torqueLoss="33.60"/> + <Entry inputSpeed="700.00" inputTorque="1450.00" torqueLoss="37.60"/> + <Entry inputSpeed="700.00" inputTorque="1650.00" torqueLoss="41.60"/> + <Entry inputSpeed="700.00" inputTorque="1850.00" torqueLoss="45.60"/> + <Entry inputSpeed="700.00" inputTorque="2050.00" torqueLoss="49.60"/> + <Entry inputSpeed="700.00" inputTorque="2250.00" torqueLoss="53.60"/> + <Entry inputSpeed="700.00" inputTorque="3000.00" torqueLoss="57.60"/> + <Entry inputSpeed="900.00" inputTorque="-350.00" torqueLoss="16.61"/> + <Entry inputSpeed="900.00" inputTorque="-150.00" torqueLoss="12.61"/> + <Entry inputSpeed="900.00" inputTorque="50.00" torqueLoss="10.61"/> + <Entry inputSpeed="900.00" inputTorque="250.00" torqueLoss="14.61"/> + <Entry inputSpeed="900.00" inputTorque="450.00" torqueLoss="18.61"/> + <Entry inputSpeed="900.00" inputTorque="650.00" torqueLoss="22.61"/> + <Entry inputSpeed="900.00" inputTorque="850.00" torqueLoss="26.61"/> + <Entry inputSpeed="900.00" inputTorque="1050.00" torqueLoss="30.61"/> + <Entry inputSpeed="900.00" inputTorque="1250.00" torqueLoss="34.61"/> + <Entry inputSpeed="900.00" inputTorque="1450.00" torqueLoss="38.61"/> + <Entry inputSpeed="900.00" inputTorque="1650.00" torqueLoss="42.61"/> + <Entry inputSpeed="900.00" inputTorque="1850.00" torqueLoss="46.61"/> + <Entry inputSpeed="900.00" inputTorque="2050.00" torqueLoss="50.61"/> + <Entry inputSpeed="900.00" inputTorque="2250.00" torqueLoss="54.61"/> + <Entry inputSpeed="900.00" inputTorque="3000.00" torqueLoss="58.61"/> + <Entry inputSpeed="1100.00" inputTorque="-350.00" torqueLoss="17.63"/> + <Entry inputSpeed="1100.00" inputTorque="-150.00" torqueLoss="13.63"/> + <Entry inputSpeed="1100.00" inputTorque="50.00" torqueLoss="11.63"/> + <Entry inputSpeed="1100.00" inputTorque="250.00" torqueLoss="15.63"/> + <Entry inputSpeed="1100.00" inputTorque="450.00" torqueLoss="19.63"/> + <Entry inputSpeed="1100.00" inputTorque="650.00" torqueLoss="23.63"/> + <Entry inputSpeed="1100.00" inputTorque="850.00" torqueLoss="27.63"/> + <Entry inputSpeed="1100.00" inputTorque="1050.00" torqueLoss="31.63"/> + <Entry inputSpeed="1100.00" inputTorque="1250.00" torqueLoss="35.63"/> + <Entry inputSpeed="1100.00" inputTorque="1450.00" torqueLoss="39.63"/> + <Entry inputSpeed="1100.00" inputTorque="1650.00" torqueLoss="43.63"/> + <Entry inputSpeed="1100.00" inputTorque="1850.00" torqueLoss="47.63"/> + <Entry inputSpeed="1100.00" inputTorque="2050.00" torqueLoss="51.63"/> + <Entry inputSpeed="1100.00" inputTorque="2250.00" torqueLoss="55.63"/> + <Entry inputSpeed="1100.00" inputTorque="3000.00" torqueLoss="59.63"/> + <Entry inputSpeed="1300.00" inputTorque="-350.00" torqueLoss="18.64"/> + <Entry inputSpeed="1300.00" inputTorque="-150.00" torqueLoss="14.64"/> + <Entry inputSpeed="1300.00" inputTorque="50.00" torqueLoss="12.64"/> + <Entry inputSpeed="1300.00" inputTorque="250.00" torqueLoss="16.64"/> + <Entry inputSpeed="1300.00" inputTorque="450.00" torqueLoss="20.64"/> + <Entry inputSpeed="1300.00" inputTorque="650.00" torqueLoss="24.64"/> + <Entry inputSpeed="1300.00" inputTorque="850.00" torqueLoss="28.64"/> + <Entry inputSpeed="1300.00" inputTorque="1050.00" torqueLoss="32.64"/> + <Entry inputSpeed="1300.00" inputTorque="1250.00" torqueLoss="36.64"/> + <Entry inputSpeed="1300.00" inputTorque="1450.00" torqueLoss="40.64"/> + <Entry inputSpeed="1300.00" inputTorque="1650.00" torqueLoss="44.64"/> + <Entry inputSpeed="1300.00" inputTorque="1850.00" torqueLoss="48.64"/> + <Entry inputSpeed="1300.00" inputTorque="2050.00" torqueLoss="52.64"/> + <Entry inputSpeed="1300.00" inputTorque="2250.00" torqueLoss="56.64"/> + <Entry inputSpeed="1300.00" inputTorque="3000.00" torqueLoss="60.64"/> + <Entry inputSpeed="1500.00" inputTorque="-350.00" torqueLoss="19.65"/> + <Entry inputSpeed="1500.00" inputTorque="-150.00" torqueLoss="15.65"/> + <Entry inputSpeed="1500.00" inputTorque="50.00" torqueLoss="13.65"/> + <Entry inputSpeed="1500.00" inputTorque="250.00" torqueLoss="17.65"/> + <Entry inputSpeed="1500.00" inputTorque="450.00" torqueLoss="21.65"/> + <Entry inputSpeed="1500.00" inputTorque="650.00" torqueLoss="25.65"/> + <Entry inputSpeed="1500.00" inputTorque="850.00" torqueLoss="29.65"/> + <Entry inputSpeed="1500.00" inputTorque="1050.00" torqueLoss="33.65"/> + <Entry inputSpeed="1500.00" inputTorque="1250.00" torqueLoss="37.65"/> + <Entry inputSpeed="1500.00" inputTorque="1450.00" torqueLoss="41.65"/> + <Entry inputSpeed="1500.00" inputTorque="1650.00" torqueLoss="45.65"/> + <Entry inputSpeed="1500.00" inputTorque="1850.00" torqueLoss="49.65"/> + <Entry inputSpeed="1500.00" inputTorque="2050.00" torqueLoss="53.65"/> + <Entry inputSpeed="1500.00" inputTorque="2250.00" torqueLoss="57.65"/> + <Entry inputSpeed="1500.00" inputTorque="3000.00" torqueLoss="61.65"/> + <Entry inputSpeed="1700.00" inputTorque="-350.00" torqueLoss="20.66"/> + <Entry inputSpeed="1700.00" inputTorque="-150.00" torqueLoss="16.66"/> + <Entry inputSpeed="1700.00" inputTorque="50.00" torqueLoss="14.66"/> + <Entry inputSpeed="1700.00" inputTorque="250.00" torqueLoss="18.66"/> + <Entry inputSpeed="1700.00" inputTorque="450.00" torqueLoss="22.66"/> + <Entry inputSpeed="1700.00" inputTorque="650.00" torqueLoss="26.66"/> + <Entry inputSpeed="1700.00" inputTorque="850.00" torqueLoss="30.66"/> + <Entry inputSpeed="1700.00" inputTorque="1050.00" torqueLoss="34.66"/> + <Entry inputSpeed="1700.00" inputTorque="1250.00" torqueLoss="38.66"/> + <Entry inputSpeed="1700.00" inputTorque="1450.00" torqueLoss="42.66"/> + <Entry inputSpeed="1700.00" inputTorque="1650.00" torqueLoss="46.66"/> + <Entry inputSpeed="1700.00" inputTorque="1850.00" torqueLoss="50.66"/> + <Entry inputSpeed="1700.00" inputTorque="2050.00" torqueLoss="54.66"/> + <Entry inputSpeed="1700.00" inputTorque="2250.00" torqueLoss="58.66"/> + <Entry inputSpeed="1700.00" inputTorque="3000.00" torqueLoss="62.66"/> + <Entry inputSpeed="1900.00" inputTorque="-350.00" torqueLoss="21.67"/> + <Entry inputSpeed="1900.00" inputTorque="-150.00" torqueLoss="17.67"/> + <Entry inputSpeed="1900.00" inputTorque="50.00" torqueLoss="15.67"/> + <Entry inputSpeed="1900.00" inputTorque="250.00" torqueLoss="19.67"/> + <Entry inputSpeed="1900.00" inputTorque="450.00" torqueLoss="23.67"/> + <Entry inputSpeed="1900.00" inputTorque="650.00" torqueLoss="27.67"/> + <Entry inputSpeed="1900.00" inputTorque="850.00" torqueLoss="31.67"/> + <Entry inputSpeed="1900.00" inputTorque="1050.00" torqueLoss="35.67"/> + <Entry inputSpeed="1900.00" inputTorque="1250.00" torqueLoss="39.67"/> + <Entry inputSpeed="1900.00" inputTorque="1450.00" torqueLoss="43.67"/> + <Entry inputSpeed="1900.00" inputTorque="1650.00" torqueLoss="47.67"/> + <Entry inputSpeed="1900.00" inputTorque="1850.00" torqueLoss="51.67"/> + <Entry inputSpeed="1900.00" inputTorque="2050.00" torqueLoss="55.67"/> + <Entry inputSpeed="1900.00" inputTorque="2250.00" torqueLoss="59.67"/> + <Entry inputSpeed="1900.00" inputTorque="3000.00" torqueLoss="63.67"/> + <Entry inputSpeed="2100.00" inputTorque="-350.00" torqueLoss="22.69"/> + <Entry inputSpeed="2100.00" inputTorque="-150.00" torqueLoss="18.69"/> + <Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/> + <Entry inputSpeed="2100.00" inputTorque="250.00" torqueLoss="20.69"/> + <Entry inputSpeed="2100.00" inputTorque="450.00" torqueLoss="24.69"/> + <Entry inputSpeed="2100.00" inputTorque="650.00" torqueLoss="28.69"/> + <Entry inputSpeed="2100.00" inputTorque="850.00" torqueLoss="32.69"/> + <Entry inputSpeed="2100.00" inputTorque="1050.00" torqueLoss="36.69"/> + <Entry inputSpeed="2100.00" inputTorque="1250.00" torqueLoss="40.69"/> + <Entry inputSpeed="2100.00" inputTorque="1450.00" torqueLoss="44.69"/> + <Entry inputSpeed="2100.00" inputTorque="1650.00" torqueLoss="48.69"/> + <Entry inputSpeed="2100.00" inputTorque="1850.00" torqueLoss="52.69"/> + <Entry inputSpeed="2100.00" inputTorque="2050.00" torqueLoss="56.69"/> + <Entry inputSpeed="2100.00" inputTorque="2250.00" torqueLoss="60.69"/> + <Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/> + <Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/> + <Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="25.56"/> + <Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="26.58"/> + <Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="27.59"/> + <Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="28.60"/> + <Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="29.61"/> + <Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="30.63"/> + <Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="31.64"/> + <Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="32.65"/> + <Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="33.66"/> + <Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="34.67"/> + <Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/> + </TorqueLossMap> + </Gear> + <Gear number="3"> + <Ratio>9.020</Ratio> + <MaxSpeed>2000</MaxSpeed> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="-350.00" torqueLoss="12.06"/> + <Entry inputSpeed="0.00" inputTorque="-150.00" torqueLoss="8.06"/> + <Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/> + <Entry inputSpeed="0.00" inputTorque="250.00" torqueLoss="10.06"/> + <Entry inputSpeed="0.00" inputTorque="450.00" torqueLoss="14.06"/> + <Entry inputSpeed="0.00" inputTorque="650.00" torqueLoss="18.06"/> + <Entry inputSpeed="0.00" inputTorque="850.00" torqueLoss="22.06"/> + <Entry inputSpeed="0.00" inputTorque="1050.00" torqueLoss="26.06"/> + <Entry inputSpeed="0.00" inputTorque="1250.00" torqueLoss="30.06"/> + <Entry inputSpeed="0.00" inputTorque="1450.00" torqueLoss="34.06"/> + <Entry inputSpeed="0.00" inputTorque="1650.00" torqueLoss="38.06"/> + <Entry inputSpeed="0.00" inputTorque="1850.00" torqueLoss="42.06"/> + <Entry inputSpeed="0.00" inputTorque="2050.00" torqueLoss="46.06"/> + <Entry inputSpeed="0.00" inputTorque="2250.00" torqueLoss="50.06"/> + <Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/> + <Entry inputSpeed="100.00" inputTorque="-350.00" torqueLoss="12.56"/> + <Entry inputSpeed="100.00" inputTorque="-150.00" torqueLoss="8.56"/> + <Entry inputSpeed="100.00" inputTorque="50.00" torqueLoss="6.56"/> + <Entry inputSpeed="100.00" inputTorque="250.00" torqueLoss="10.56"/> + <Entry inputSpeed="100.00" inputTorque="450.00" torqueLoss="14.56"/> + <Entry inputSpeed="100.00" inputTorque="650.00" torqueLoss="18.56"/> + <Entry inputSpeed="100.00" inputTorque="850.00" torqueLoss="22.56"/> + <Entry inputSpeed="100.00" inputTorque="1050.00" torqueLoss="26.56"/> + <Entry inputSpeed="100.00" inputTorque="1250.00" torqueLoss="30.56"/> + <Entry inputSpeed="100.00" inputTorque="1450.00" torqueLoss="34.56"/> + <Entry inputSpeed="100.00" inputTorque="1650.00" torqueLoss="38.56"/> + <Entry inputSpeed="100.00" inputTorque="1850.00" torqueLoss="42.56"/> + <Entry inputSpeed="100.00" inputTorque="2050.00" torqueLoss="46.56"/> + <Entry inputSpeed="100.00" inputTorque="2250.00" torqueLoss="50.56"/> + <Entry inputSpeed="100.00" inputTorque="3000.00" torqueLoss="54.56"/> + <Entry inputSpeed="300.00" inputTorque="-350.00" torqueLoss="13.58"/> + <Entry inputSpeed="300.00" inputTorque="-150.00" torqueLoss="9.58"/> + <Entry inputSpeed="300.00" inputTorque="50.00" torqueLoss="7.58"/> + <Entry inputSpeed="300.00" inputTorque="250.00" torqueLoss="11.58"/> + <Entry inputSpeed="300.00" inputTorque="450.00" torqueLoss="15.58"/> + <Entry inputSpeed="300.00" inputTorque="650.00" torqueLoss="19.58"/> + <Entry inputSpeed="300.00" inputTorque="850.00" torqueLoss="23.58"/> + <Entry inputSpeed="300.00" inputTorque="1050.00" torqueLoss="27.58"/> + <Entry inputSpeed="300.00" inputTorque="1250.00" torqueLoss="31.58"/> + <Entry inputSpeed="300.00" inputTorque="1450.00" torqueLoss="35.58"/> + <Entry inputSpeed="300.00" inputTorque="1650.00" torqueLoss="39.58"/> + <Entry inputSpeed="300.00" inputTorque="1850.00" torqueLoss="43.58"/> + <Entry inputSpeed="300.00" inputTorque="2050.00" torqueLoss="47.58"/> + <Entry inputSpeed="300.00" inputTorque="2250.00" torqueLoss="51.58"/> + <Entry inputSpeed="300.00" inputTorque="3000.00" torqueLoss="55.58"/> + <Entry inputSpeed="500.00" inputTorque="-350.00" torqueLoss="14.59"/> + <Entry inputSpeed="500.00" inputTorque="-150.00" torqueLoss="10.59"/> + <Entry inputSpeed="500.00" inputTorque="50.00" torqueLoss="8.59"/> + <Entry inputSpeed="500.00" inputTorque="250.00" torqueLoss="12.59"/> + <Entry inputSpeed="500.00" inputTorque="450.00" torqueLoss="16.59"/> + <Entry inputSpeed="500.00" inputTorque="650.00" torqueLoss="20.59"/> + <Entry inputSpeed="500.00" inputTorque="850.00" torqueLoss="24.59"/> + <Entry inputSpeed="500.00" inputTorque="1050.00" torqueLoss="28.59"/> + <Entry inputSpeed="500.00" inputTorque="1250.00" torqueLoss="32.59"/> + <Entry inputSpeed="500.00" inputTorque="1450.00" torqueLoss="36.59"/> + <Entry inputSpeed="500.00" inputTorque="1650.00" torqueLoss="40.59"/> + <Entry inputSpeed="500.00" inputTorque="1850.00" torqueLoss="44.59"/> + <Entry inputSpeed="500.00" inputTorque="2050.00" torqueLoss="48.59"/> + <Entry inputSpeed="500.00" inputTorque="2250.00" torqueLoss="52.59"/> + <Entry inputSpeed="500.00" inputTorque="3000.00" torqueLoss="56.59"/> + <Entry inputSpeed="700.00" inputTorque="-350.00" torqueLoss="15.60"/> + <Entry inputSpeed="700.00" inputTorque="-150.00" torqueLoss="11.60"/> + <Entry inputSpeed="700.00" inputTorque="50.00" torqueLoss="9.60"/> + <Entry inputSpeed="700.00" inputTorque="250.00" torqueLoss="13.60"/> + <Entry inputSpeed="700.00" inputTorque="450.00" torqueLoss="17.60"/> + <Entry inputSpeed="700.00" inputTorque="650.00" torqueLoss="21.60"/> + <Entry inputSpeed="700.00" inputTorque="850.00" torqueLoss="25.60"/> + <Entry inputSpeed="700.00" inputTorque="1050.00" torqueLoss="29.60"/> + <Entry inputSpeed="700.00" inputTorque="1250.00" torqueLoss="33.60"/> + <Entry inputSpeed="700.00" inputTorque="1450.00" torqueLoss="37.60"/> + <Entry inputSpeed="700.00" inputTorque="1650.00" torqueLoss="41.60"/> + <Entry inputSpeed="700.00" inputTorque="1850.00" torqueLoss="45.60"/> + <Entry inputSpeed="700.00" inputTorque="2050.00" torqueLoss="49.60"/> + <Entry inputSpeed="700.00" inputTorque="2250.00" torqueLoss="53.60"/> + <Entry inputSpeed="700.00" inputTorque="3000.00" torqueLoss="57.60"/> + <Entry inputSpeed="900.00" inputTorque="-350.00" torqueLoss="16.61"/> + <Entry inputSpeed="900.00" inputTorque="-150.00" torqueLoss="12.61"/> + <Entry inputSpeed="900.00" inputTorque="50.00" torqueLoss="10.61"/> + <Entry inputSpeed="900.00" inputTorque="250.00" torqueLoss="14.61"/> + <Entry inputSpeed="900.00" inputTorque="450.00" torqueLoss="18.61"/> + <Entry inputSpeed="900.00" inputTorque="650.00" torqueLoss="22.61"/> + <Entry inputSpeed="900.00" inputTorque="850.00" torqueLoss="26.61"/> + <Entry inputSpeed="900.00" inputTorque="1050.00" torqueLoss="30.61"/> + <Entry inputSpeed="900.00" inputTorque="1250.00" torqueLoss="34.61"/> + <Entry inputSpeed="900.00" inputTorque="1450.00" torqueLoss="38.61"/> + <Entry inputSpeed="900.00" inputTorque="1650.00" torqueLoss="42.61"/> + <Entry inputSpeed="900.00" inputTorque="1850.00" torqueLoss="46.61"/> + <Entry inputSpeed="900.00" inputTorque="2050.00" torqueLoss="50.61"/> + <Entry inputSpeed="900.00" inputTorque="2250.00" torqueLoss="54.61"/> + <Entry inputSpeed="900.00" inputTorque="3000.00" torqueLoss="58.61"/> + <Entry inputSpeed="1100.00" inputTorque="-350.00" torqueLoss="17.63"/> + <Entry inputSpeed="1100.00" inputTorque="-150.00" torqueLoss="13.63"/> + <Entry inputSpeed="1100.00" inputTorque="50.00" torqueLoss="11.63"/> + <Entry inputSpeed="1100.00" inputTorque="250.00" torqueLoss="15.63"/> + <Entry inputSpeed="1100.00" inputTorque="450.00" torqueLoss="19.63"/> + <Entry inputSpeed="1100.00" inputTorque="650.00" torqueLoss="23.63"/> + <Entry inputSpeed="1100.00" inputTorque="850.00" torqueLoss="27.63"/> + <Entry inputSpeed="1100.00" inputTorque="1050.00" torqueLoss="31.63"/> + <Entry inputSpeed="1100.00" inputTorque="1250.00" torqueLoss="35.63"/> + <Entry inputSpeed="1100.00" inputTorque="1450.00" torqueLoss="39.63"/> + <Entry inputSpeed="1100.00" inputTorque="1650.00" torqueLoss="43.63"/> + <Entry inputSpeed="1100.00" inputTorque="1850.00" torqueLoss="47.63"/> + <Entry inputSpeed="1100.00" inputTorque="2050.00" torqueLoss="51.63"/> + <Entry inputSpeed="1100.00" inputTorque="2250.00" torqueLoss="55.63"/> + <Entry inputSpeed="1100.00" inputTorque="3000.00" torqueLoss="59.63"/> + <Entry inputSpeed="1300.00" inputTorque="-350.00" torqueLoss="18.64"/> + <Entry inputSpeed="1300.00" inputTorque="-150.00" torqueLoss="14.64"/> + <Entry inputSpeed="1300.00" inputTorque="50.00" torqueLoss="12.64"/> + <Entry inputSpeed="1300.00" inputTorque="250.00" torqueLoss="16.64"/> + <Entry inputSpeed="1300.00" inputTorque="450.00" torqueLoss="20.64"/> + <Entry inputSpeed="1300.00" inputTorque="650.00" torqueLoss="24.64"/> + <Entry inputSpeed="1300.00" inputTorque="850.00" torqueLoss="28.64"/> + <Entry inputSpeed="1300.00" inputTorque="1050.00" torqueLoss="32.64"/> + <Entry inputSpeed="1300.00" inputTorque="1250.00" torqueLoss="36.64"/> + <Entry inputSpeed="1300.00" inputTorque="1450.00" torqueLoss="40.64"/> + <Entry inputSpeed="1300.00" inputTorque="1650.00" torqueLoss="44.64"/> + <Entry inputSpeed="1300.00" inputTorque="1850.00" torqueLoss="48.64"/> + <Entry inputSpeed="1300.00" inputTorque="2050.00" torqueLoss="52.64"/> + <Entry inputSpeed="1300.00" inputTorque="2250.00" torqueLoss="56.64"/> + <Entry inputSpeed="1300.00" inputTorque="3000.00" torqueLoss="60.64"/> + <Entry inputSpeed="1500.00" inputTorque="-350.00" torqueLoss="19.65"/> + <Entry inputSpeed="1500.00" inputTorque="-150.00" torqueLoss="15.65"/> + <Entry inputSpeed="1500.00" inputTorque="50.00" torqueLoss="13.65"/> + <Entry inputSpeed="1500.00" inputTorque="250.00" torqueLoss="17.65"/> + <Entry inputSpeed="1500.00" inputTorque="450.00" torqueLoss="21.65"/> + <Entry inputSpeed="1500.00" inputTorque="650.00" torqueLoss="25.65"/> + <Entry inputSpeed="1500.00" inputTorque="850.00" torqueLoss="29.65"/> + <Entry inputSpeed="1500.00" inputTorque="1050.00" torqueLoss="33.65"/> + <Entry inputSpeed="1500.00" inputTorque="1250.00" torqueLoss="37.65"/> + <Entry inputSpeed="1500.00" inputTorque="1450.00" torqueLoss="41.65"/> + <Entry inputSpeed="1500.00" inputTorque="1650.00" torqueLoss="45.65"/> + <Entry inputSpeed="1500.00" inputTorque="1850.00" torqueLoss="49.65"/> + <Entry inputSpeed="1500.00" inputTorque="2050.00" torqueLoss="53.65"/> + <Entry inputSpeed="1500.00" inputTorque="2250.00" torqueLoss="57.65"/> + <Entry inputSpeed="1500.00" inputTorque="3000.00" torqueLoss="61.65"/> + <Entry inputSpeed="1700.00" inputTorque="-350.00" torqueLoss="20.66"/> + <Entry inputSpeed="1700.00" inputTorque="-150.00" torqueLoss="16.66"/> + <Entry inputSpeed="1700.00" inputTorque="50.00" torqueLoss="14.66"/> + <Entry inputSpeed="1700.00" inputTorque="250.00" torqueLoss="18.66"/> + <Entry inputSpeed="1700.00" inputTorque="450.00" torqueLoss="22.66"/> + <Entry inputSpeed="1700.00" inputTorque="650.00" torqueLoss="26.66"/> + <Entry inputSpeed="1700.00" inputTorque="850.00" torqueLoss="30.66"/> + <Entry inputSpeed="1700.00" inputTorque="1050.00" torqueLoss="34.66"/> + <Entry inputSpeed="1700.00" inputTorque="1250.00" torqueLoss="38.66"/> + <Entry inputSpeed="1700.00" inputTorque="1450.00" torqueLoss="42.66"/> + <Entry inputSpeed="1700.00" inputTorque="1650.00" torqueLoss="46.66"/> + <Entry inputSpeed="1700.00" inputTorque="1850.00" torqueLoss="50.66"/> + <Entry inputSpeed="1700.00" inputTorque="2050.00" torqueLoss="54.66"/> + <Entry inputSpeed="1700.00" inputTorque="2250.00" torqueLoss="58.66"/> + <Entry inputSpeed="1700.00" inputTorque="3000.00" torqueLoss="62.66"/> + <Entry inputSpeed="1900.00" inputTorque="-350.00" torqueLoss="21.67"/> + <Entry inputSpeed="1900.00" inputTorque="-150.00" torqueLoss="17.67"/> + <Entry inputSpeed="1900.00" inputTorque="50.00" torqueLoss="15.67"/> + <Entry inputSpeed="1900.00" inputTorque="250.00" torqueLoss="19.67"/> + <Entry inputSpeed="1900.00" inputTorque="450.00" torqueLoss="23.67"/> + <Entry inputSpeed="1900.00" inputTorque="650.00" torqueLoss="27.67"/> + <Entry inputSpeed="1900.00" inputTorque="850.00" torqueLoss="31.67"/> + <Entry inputSpeed="1900.00" inputTorque="1050.00" torqueLoss="35.67"/> + <Entry inputSpeed="1900.00" inputTorque="1250.00" torqueLoss="39.67"/> + <Entry inputSpeed="1900.00" inputTorque="1450.00" torqueLoss="43.67"/> + <Entry inputSpeed="1900.00" inputTorque="1650.00" torqueLoss="47.67"/> + <Entry inputSpeed="1900.00" inputTorque="1850.00" torqueLoss="51.67"/> + <Entry inputSpeed="1900.00" inputTorque="2050.00" torqueLoss="55.67"/> + <Entry inputSpeed="1900.00" inputTorque="2250.00" torqueLoss="59.67"/> + <Entry inputSpeed="1900.00" inputTorque="3000.00" torqueLoss="63.67"/> + <Entry inputSpeed="2100.00" inputTorque="-350.00" torqueLoss="22.69"/> + <Entry inputSpeed="2100.00" inputTorque="-150.00" torqueLoss="18.69"/> + <Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/> + <Entry inputSpeed="2100.00" inputTorque="250.00" torqueLoss="20.69"/> + <Entry inputSpeed="2100.00" inputTorque="450.00" torqueLoss="24.69"/> + <Entry inputSpeed="2100.00" inputTorque="650.00" torqueLoss="28.69"/> + <Entry inputSpeed="2100.00" inputTorque="850.00" torqueLoss="32.69"/> + <Entry inputSpeed="2100.00" inputTorque="1050.00" torqueLoss="36.69"/> + <Entry inputSpeed="2100.00" inputTorque="1250.00" torqueLoss="40.69"/> + <Entry inputSpeed="2100.00" inputTorque="1450.00" torqueLoss="44.69"/> + <Entry inputSpeed="2100.00" inputTorque="1650.00" torqueLoss="48.69"/> + <Entry inputSpeed="2100.00" inputTorque="1850.00" torqueLoss="52.69"/> + <Entry inputSpeed="2100.00" inputTorque="2050.00" torqueLoss="56.69"/> + <Entry inputSpeed="2100.00" inputTorque="2250.00" torqueLoss="60.69"/> + <Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/> + <Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/> + <Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="25.56"/> + <Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="26.58"/> + <Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="27.59"/> + <Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="28.60"/> + <Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="29.61"/> + <Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="30.63"/> + <Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="31.64"/> + <Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="32.65"/> + <Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="33.66"/> + <Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="34.67"/> + <Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/> + </TorqueLossMap> + </Gear> + <Gear number="4"> + <Ratio>7.040</Ratio> + <MaxSpeed>2000</MaxSpeed> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="-350.00" torqueLoss="12.06"/> + <Entry inputSpeed="0.00" inputTorque="-150.00" torqueLoss="8.06"/> + <Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/> + <Entry inputSpeed="0.00" inputTorque="250.00" torqueLoss="10.06"/> + <Entry inputSpeed="0.00" inputTorque="450.00" torqueLoss="14.06"/> + <Entry inputSpeed="0.00" inputTorque="650.00" torqueLoss="18.06"/> + <Entry inputSpeed="0.00" inputTorque="850.00" torqueLoss="22.06"/> + <Entry inputSpeed="0.00" inputTorque="1050.00" torqueLoss="26.06"/> + <Entry inputSpeed="0.00" inputTorque="1250.00" torqueLoss="30.06"/> + <Entry inputSpeed="0.00" inputTorque="1450.00" torqueLoss="34.06"/> + <Entry inputSpeed="0.00" inputTorque="1650.00" torqueLoss="38.06"/> + <Entry inputSpeed="0.00" inputTorque="1850.00" torqueLoss="42.06"/> + <Entry inputSpeed="0.00" inputTorque="2050.00" torqueLoss="46.06"/> + <Entry inputSpeed="0.00" inputTorque="2250.00" torqueLoss="50.06"/> + <Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/> + <Entry inputSpeed="100.00" inputTorque="-350.00" torqueLoss="12.56"/> + <Entry inputSpeed="100.00" inputTorque="-150.00" torqueLoss="8.56"/> + <Entry inputSpeed="100.00" inputTorque="50.00" torqueLoss="6.56"/> + <Entry inputSpeed="100.00" inputTorque="250.00" torqueLoss="10.56"/> + <Entry inputSpeed="100.00" inputTorque="450.00" torqueLoss="14.56"/> + <Entry inputSpeed="100.00" inputTorque="650.00" torqueLoss="18.56"/> + <Entry inputSpeed="100.00" inputTorque="850.00" torqueLoss="22.56"/> + <Entry inputSpeed="100.00" inputTorque="1050.00" torqueLoss="26.56"/> + <Entry inputSpeed="100.00" inputTorque="1250.00" torqueLoss="30.56"/> + <Entry inputSpeed="100.00" inputTorque="1450.00" torqueLoss="34.56"/> + <Entry inputSpeed="100.00" inputTorque="1650.00" torqueLoss="38.56"/> + <Entry inputSpeed="100.00" inputTorque="1850.00" torqueLoss="42.56"/> + <Entry inputSpeed="100.00" inputTorque="2050.00" torqueLoss="46.56"/> + <Entry inputSpeed="100.00" inputTorque="2250.00" torqueLoss="50.56"/> + <Entry inputSpeed="100.00" inputTorque="3000.00" torqueLoss="54.56"/> + <Entry inputSpeed="300.00" inputTorque="-350.00" torqueLoss="13.58"/> + <Entry inputSpeed="300.00" inputTorque="-150.00" torqueLoss="9.58"/> + <Entry inputSpeed="300.00" inputTorque="50.00" torqueLoss="7.58"/> + <Entry inputSpeed="300.00" inputTorque="250.00" torqueLoss="11.58"/> + <Entry inputSpeed="300.00" inputTorque="450.00" torqueLoss="15.58"/> + <Entry inputSpeed="300.00" inputTorque="650.00" torqueLoss="19.58"/> + <Entry inputSpeed="300.00" inputTorque="850.00" torqueLoss="23.58"/> + <Entry inputSpeed="300.00" inputTorque="1050.00" torqueLoss="27.58"/> + <Entry inputSpeed="300.00" inputTorque="1250.00" torqueLoss="31.58"/> + <Entry inputSpeed="300.00" inputTorque="1450.00" torqueLoss="35.58"/> + <Entry inputSpeed="300.00" inputTorque="1650.00" torqueLoss="39.58"/> + <Entry inputSpeed="300.00" inputTorque="1850.00" torqueLoss="43.58"/> + <Entry inputSpeed="300.00" inputTorque="2050.00" torqueLoss="47.58"/> + <Entry inputSpeed="300.00" inputTorque="2250.00" torqueLoss="51.58"/> + <Entry inputSpeed="300.00" inputTorque="3000.00" torqueLoss="55.58"/> + <Entry inputSpeed="500.00" inputTorque="-350.00" torqueLoss="14.59"/> + <Entry inputSpeed="500.00" inputTorque="-150.00" torqueLoss="10.59"/> + <Entry inputSpeed="500.00" inputTorque="50.00" torqueLoss="8.59"/> + <Entry inputSpeed="500.00" inputTorque="250.00" torqueLoss="12.59"/> + <Entry inputSpeed="500.00" inputTorque="450.00" torqueLoss="16.59"/> + <Entry inputSpeed="500.00" inputTorque="650.00" torqueLoss="20.59"/> + <Entry inputSpeed="500.00" inputTorque="850.00" torqueLoss="24.59"/> + <Entry inputSpeed="500.00" inputTorque="1050.00" torqueLoss="28.59"/> + <Entry inputSpeed="500.00" inputTorque="1250.00" torqueLoss="32.59"/> + <Entry inputSpeed="500.00" inputTorque="1450.00" torqueLoss="36.59"/> + <Entry inputSpeed="500.00" inputTorque="1650.00" torqueLoss="40.59"/> + <Entry inputSpeed="500.00" inputTorque="1850.00" torqueLoss="44.59"/> + <Entry inputSpeed="500.00" inputTorque="2050.00" torqueLoss="48.59"/> + <Entry inputSpeed="500.00" inputTorque="2250.00" torqueLoss="52.59"/> + <Entry inputSpeed="500.00" inputTorque="3000.00" torqueLoss="56.59"/> + <Entry inputSpeed="700.00" inputTorque="-350.00" torqueLoss="15.60"/> + <Entry inputSpeed="700.00" inputTorque="-150.00" torqueLoss="11.60"/> + <Entry inputSpeed="700.00" inputTorque="50.00" torqueLoss="9.60"/> + <Entry inputSpeed="700.00" inputTorque="250.00" torqueLoss="13.60"/> + <Entry inputSpeed="700.00" inputTorque="450.00" torqueLoss="17.60"/> + <Entry inputSpeed="700.00" inputTorque="650.00" torqueLoss="21.60"/> + <Entry inputSpeed="700.00" inputTorque="850.00" torqueLoss="25.60"/> + <Entry inputSpeed="700.00" inputTorque="1050.00" torqueLoss="29.60"/> + <Entry inputSpeed="700.00" inputTorque="1250.00" torqueLoss="33.60"/> + <Entry inputSpeed="700.00" inputTorque="1450.00" torqueLoss="37.60"/> + <Entry inputSpeed="700.00" inputTorque="1650.00" torqueLoss="41.60"/> + <Entry inputSpeed="700.00" inputTorque="1850.00" torqueLoss="45.60"/> + <Entry inputSpeed="700.00" inputTorque="2050.00" torqueLoss="49.60"/> + <Entry inputSpeed="700.00" inputTorque="2250.00" torqueLoss="53.60"/> + <Entry inputSpeed="700.00" inputTorque="3000.00" torqueLoss="57.60"/> + <Entry inputSpeed="900.00" inputTorque="-350.00" torqueLoss="16.61"/> + <Entry inputSpeed="900.00" inputTorque="-150.00" torqueLoss="12.61"/> + <Entry inputSpeed="900.00" inputTorque="50.00" torqueLoss="10.61"/> + <Entry inputSpeed="900.00" inputTorque="250.00" torqueLoss="14.61"/> + <Entry inputSpeed="900.00" inputTorque="450.00" torqueLoss="18.61"/> + <Entry inputSpeed="900.00" inputTorque="650.00" torqueLoss="22.61"/> + <Entry inputSpeed="900.00" inputTorque="850.00" torqueLoss="26.61"/> + <Entry inputSpeed="900.00" inputTorque="1050.00" torqueLoss="30.61"/> + <Entry inputSpeed="900.00" inputTorque="1250.00" torqueLoss="34.61"/> + <Entry inputSpeed="900.00" inputTorque="1450.00" torqueLoss="38.61"/> + <Entry inputSpeed="900.00" inputTorque="1650.00" torqueLoss="42.61"/> + <Entry inputSpeed="900.00" inputTorque="1850.00" torqueLoss="46.61"/> + <Entry inputSpeed="900.00" inputTorque="2050.00" torqueLoss="50.61"/> + <Entry inputSpeed="900.00" inputTorque="2250.00" torqueLoss="54.61"/> + <Entry inputSpeed="900.00" inputTorque="3000.00" torqueLoss="58.61"/> + <Entry inputSpeed="1100.00" inputTorque="-350.00" torqueLoss="17.63"/> + <Entry inputSpeed="1100.00" inputTorque="-150.00" torqueLoss="13.63"/> + <Entry inputSpeed="1100.00" inputTorque="50.00" torqueLoss="11.63"/> + <Entry inputSpeed="1100.00" inputTorque="250.00" torqueLoss="15.63"/> + <Entry inputSpeed="1100.00" inputTorque="450.00" torqueLoss="19.63"/> + <Entry inputSpeed="1100.00" inputTorque="650.00" torqueLoss="23.63"/> + <Entry inputSpeed="1100.00" inputTorque="850.00" torqueLoss="27.63"/> + <Entry inputSpeed="1100.00" inputTorque="1050.00" torqueLoss="31.63"/> + <Entry inputSpeed="1100.00" inputTorque="1250.00" torqueLoss="35.63"/> + <Entry inputSpeed="1100.00" inputTorque="1450.00" torqueLoss="39.63"/> + <Entry inputSpeed="1100.00" inputTorque="1650.00" torqueLoss="43.63"/> + <Entry inputSpeed="1100.00" inputTorque="1850.00" torqueLoss="47.63"/> + <Entry inputSpeed="1100.00" inputTorque="2050.00" torqueLoss="51.63"/> + <Entry inputSpeed="1100.00" inputTorque="2250.00" torqueLoss="55.63"/> + <Entry inputSpeed="1100.00" inputTorque="3000.00" torqueLoss="59.63"/> + <Entry inputSpeed="1300.00" inputTorque="-350.00" torqueLoss="18.64"/> + <Entry inputSpeed="1300.00" inputTorque="-150.00" torqueLoss="14.64"/> + <Entry inputSpeed="1300.00" inputTorque="50.00" torqueLoss="12.64"/> + <Entry inputSpeed="1300.00" inputTorque="250.00" torqueLoss="16.64"/> + <Entry inputSpeed="1300.00" inputTorque="450.00" torqueLoss="20.64"/> + <Entry inputSpeed="1300.00" inputTorque="650.00" torqueLoss="24.64"/> + <Entry inputSpeed="1300.00" inputTorque="850.00" torqueLoss="28.64"/> + <Entry inputSpeed="1300.00" inputTorque="1050.00" torqueLoss="32.64"/> + <Entry inputSpeed="1300.00" inputTorque="1250.00" torqueLoss="36.64"/> + <Entry inputSpeed="1300.00" inputTorque="1450.00" torqueLoss="40.64"/> + <Entry inputSpeed="1300.00" inputTorque="1650.00" torqueLoss="44.64"/> + <Entry inputSpeed="1300.00" inputTorque="1850.00" torqueLoss="48.64"/> + <Entry inputSpeed="1300.00" inputTorque="2050.00" torqueLoss="52.64"/> + <Entry inputSpeed="1300.00" inputTorque="2250.00" torqueLoss="56.64"/> + <Entry inputSpeed="1300.00" inputTorque="3000.00" torqueLoss="60.64"/> + <Entry inputSpeed="1500.00" inputTorque="-350.00" torqueLoss="19.65"/> + <Entry inputSpeed="1500.00" inputTorque="-150.00" torqueLoss="15.65"/> + <Entry inputSpeed="1500.00" inputTorque="50.00" torqueLoss="13.65"/> + <Entry inputSpeed="1500.00" inputTorque="250.00" torqueLoss="17.65"/> + <Entry inputSpeed="1500.00" inputTorque="450.00" torqueLoss="21.65"/> + <Entry inputSpeed="1500.00" inputTorque="650.00" torqueLoss="25.65"/> + <Entry inputSpeed="1500.00" inputTorque="850.00" torqueLoss="29.65"/> + <Entry inputSpeed="1500.00" inputTorque="1050.00" torqueLoss="33.65"/> + <Entry inputSpeed="1500.00" inputTorque="1250.00" torqueLoss="37.65"/> + <Entry inputSpeed="1500.00" inputTorque="1450.00" torqueLoss="41.65"/> + <Entry inputSpeed="1500.00" inputTorque="1650.00" torqueLoss="45.65"/> + <Entry inputSpeed="1500.00" inputTorque="1850.00" torqueLoss="49.65"/> + <Entry inputSpeed="1500.00" inputTorque="2050.00" torqueLoss="53.65"/> + <Entry inputSpeed="1500.00" inputTorque="2250.00" torqueLoss="57.65"/> + <Entry inputSpeed="1500.00" inputTorque="3000.00" torqueLoss="61.65"/> + <Entry inputSpeed="1700.00" inputTorque="-350.00" torqueLoss="20.66"/> + <Entry inputSpeed="1700.00" inputTorque="-150.00" torqueLoss="16.66"/> + <Entry inputSpeed="1700.00" inputTorque="50.00" torqueLoss="14.66"/> + <Entry inputSpeed="1700.00" inputTorque="250.00" torqueLoss="18.66"/> + <Entry inputSpeed="1700.00" inputTorque="450.00" torqueLoss="22.66"/> + <Entry inputSpeed="1700.00" inputTorque="650.00" torqueLoss="26.66"/> + <Entry inputSpeed="1700.00" inputTorque="850.00" torqueLoss="30.66"/> + <Entry inputSpeed="1700.00" inputTorque="1050.00" torqueLoss="34.66"/> + <Entry inputSpeed="1700.00" inputTorque="1250.00" torqueLoss="38.66"/> + <Entry inputSpeed="1700.00" inputTorque="1450.00" torqueLoss="42.66"/> + <Entry inputSpeed="1700.00" inputTorque="1650.00" torqueLoss="46.66"/> + <Entry inputSpeed="1700.00" inputTorque="1850.00" torqueLoss="50.66"/> + <Entry inputSpeed="1700.00" inputTorque="2050.00" torqueLoss="54.66"/> + <Entry inputSpeed="1700.00" inputTorque="2250.00" torqueLoss="58.66"/> + <Entry inputSpeed="1700.00" inputTorque="3000.00" torqueLoss="62.66"/> + <Entry inputSpeed="1900.00" inputTorque="-350.00" torqueLoss="21.67"/> + <Entry inputSpeed="1900.00" inputTorque="-150.00" torqueLoss="17.67"/> + <Entry inputSpeed="1900.00" inputTorque="50.00" torqueLoss="15.67"/> + <Entry inputSpeed="1900.00" inputTorque="250.00" torqueLoss="19.67"/> + <Entry inputSpeed="1900.00" inputTorque="450.00" torqueLoss="23.67"/> + <Entry inputSpeed="1900.00" inputTorque="650.00" torqueLoss="27.67"/> + <Entry inputSpeed="1900.00" inputTorque="850.00" torqueLoss="31.67"/> + <Entry inputSpeed="1900.00" inputTorque="1050.00" torqueLoss="35.67"/> + <Entry inputSpeed="1900.00" inputTorque="1250.00" torqueLoss="39.67"/> + <Entry inputSpeed="1900.00" inputTorque="1450.00" torqueLoss="43.67"/> + <Entry inputSpeed="1900.00" inputTorque="1650.00" torqueLoss="47.67"/> + <Entry inputSpeed="1900.00" inputTorque="1850.00" torqueLoss="51.67"/> + <Entry inputSpeed="1900.00" inputTorque="2050.00" torqueLoss="55.67"/> + <Entry inputSpeed="1900.00" inputTorque="2250.00" torqueLoss="59.67"/> + <Entry inputSpeed="1900.00" inputTorque="3000.00" torqueLoss="63.67"/> + <Entry inputSpeed="2100.00" inputTorque="-350.00" torqueLoss="22.69"/> + <Entry inputSpeed="2100.00" inputTorque="-150.00" torqueLoss="18.69"/> + <Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/> + <Entry inputSpeed="2100.00" inputTorque="250.00" torqueLoss="20.69"/> + <Entry inputSpeed="2100.00" inputTorque="450.00" torqueLoss="24.69"/> + <Entry inputSpeed="2100.00" inputTorque="650.00" torqueLoss="28.69"/> + <Entry inputSpeed="2100.00" inputTorque="850.00" torqueLoss="32.69"/> + <Entry inputSpeed="2100.00" inputTorque="1050.00" torqueLoss="36.69"/> + <Entry inputSpeed="2100.00" inputTorque="1250.00" torqueLoss="40.69"/> + <Entry inputSpeed="2100.00" inputTorque="1450.00" torqueLoss="44.69"/> + <Entry inputSpeed="2100.00" inputTorque="1650.00" torqueLoss="48.69"/> + <Entry inputSpeed="2100.00" inputTorque="1850.00" torqueLoss="52.69"/> + <Entry inputSpeed="2100.00" inputTorque="2050.00" torqueLoss="56.69"/> + <Entry inputSpeed="2100.00" inputTorque="2250.00" torqueLoss="60.69"/> + <Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/> + <Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/> + <Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="25.56"/> + <Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="26.58"/> + <Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="27.59"/> + <Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="28.60"/> + <Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="29.61"/> + <Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="30.63"/> + <Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="31.64"/> + <Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="32.65"/> + <Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="33.66"/> + <Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="34.67"/> + <Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/> + </TorqueLossMap> + </Gear> + <Gear number="5"> + <Ratio>5.640</Ratio> + <MaxSpeed>2000</MaxSpeed> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="-350.00" torqueLoss="12.06"/> + <Entry inputSpeed="0.00" inputTorque="-150.00" torqueLoss="8.06"/> + <Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/> + <Entry inputSpeed="0.00" inputTorque="250.00" torqueLoss="10.06"/> + <Entry inputSpeed="0.00" inputTorque="450.00" torqueLoss="14.06"/> + <Entry inputSpeed="0.00" inputTorque="650.00" torqueLoss="18.06"/> + <Entry inputSpeed="0.00" inputTorque="850.00" torqueLoss="22.06"/> + <Entry inputSpeed="0.00" inputTorque="1050.00" torqueLoss="26.06"/> + <Entry inputSpeed="0.00" inputTorque="1250.00" torqueLoss="30.06"/> + <Entry inputSpeed="0.00" inputTorque="1450.00" torqueLoss="34.06"/> + <Entry inputSpeed="0.00" inputTorque="1650.00" torqueLoss="38.06"/> + <Entry inputSpeed="0.00" inputTorque="1850.00" torqueLoss="42.06"/> + <Entry inputSpeed="0.00" inputTorque="2050.00" torqueLoss="46.06"/> + <Entry inputSpeed="0.00" inputTorque="2250.00" torqueLoss="50.06"/> + <Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/> + <Entry inputSpeed="100.00" inputTorque="-350.00" torqueLoss="12.56"/> + <Entry inputSpeed="100.00" inputTorque="-150.00" torqueLoss="8.56"/> + <Entry inputSpeed="100.00" inputTorque="50.00" torqueLoss="6.56"/> + <Entry inputSpeed="100.00" inputTorque="250.00" torqueLoss="10.56"/> + <Entry inputSpeed="100.00" inputTorque="450.00" torqueLoss="14.56"/> + <Entry inputSpeed="100.00" inputTorque="650.00" torqueLoss="18.56"/> + <Entry inputSpeed="100.00" inputTorque="850.00" torqueLoss="22.56"/> + <Entry inputSpeed="100.00" inputTorque="1050.00" torqueLoss="26.56"/> + <Entry inputSpeed="100.00" inputTorque="1250.00" torqueLoss="30.56"/> + <Entry inputSpeed="100.00" inputTorque="1450.00" torqueLoss="34.56"/> + <Entry inputSpeed="100.00" inputTorque="1650.00" torqueLoss="38.56"/> + <Entry inputSpeed="100.00" inputTorque="1850.00" torqueLoss="42.56"/> + <Entry inputSpeed="100.00" inputTorque="2050.00" torqueLoss="46.56"/> + <Entry inputSpeed="100.00" inputTorque="2250.00" torqueLoss="50.56"/> + <Entry inputSpeed="100.00" inputTorque="3000.00" torqueLoss="54.56"/> + <Entry inputSpeed="300.00" inputTorque="-350.00" torqueLoss="13.58"/> + <Entry inputSpeed="300.00" inputTorque="-150.00" torqueLoss="9.58"/> + <Entry inputSpeed="300.00" inputTorque="50.00" torqueLoss="7.58"/> + <Entry inputSpeed="300.00" inputTorque="250.00" torqueLoss="11.58"/> + <Entry inputSpeed="300.00" inputTorque="450.00" torqueLoss="15.58"/> + <Entry inputSpeed="300.00" inputTorque="650.00" torqueLoss="19.58"/> + <Entry inputSpeed="300.00" inputTorque="850.00" torqueLoss="23.58"/> + <Entry inputSpeed="300.00" inputTorque="1050.00" torqueLoss="27.58"/> + <Entry inputSpeed="300.00" inputTorque="1250.00" torqueLoss="31.58"/> + <Entry inputSpeed="300.00" inputTorque="1450.00" torqueLoss="35.58"/> + <Entry inputSpeed="300.00" inputTorque="1650.00" torqueLoss="39.58"/> + <Entry inputSpeed="300.00" inputTorque="1850.00" torqueLoss="43.58"/> + <Entry inputSpeed="300.00" inputTorque="2050.00" torqueLoss="47.58"/> + <Entry inputSpeed="300.00" inputTorque="2250.00" torqueLoss="51.58"/> + <Entry inputSpeed="300.00" inputTorque="3000.00" torqueLoss="55.58"/> + <Entry inputSpeed="500.00" inputTorque="-350.00" torqueLoss="14.59"/> + <Entry inputSpeed="500.00" inputTorque="-150.00" torqueLoss="10.59"/> + <Entry inputSpeed="500.00" inputTorque="50.00" torqueLoss="8.59"/> + <Entry inputSpeed="500.00" inputTorque="250.00" torqueLoss="12.59"/> + <Entry inputSpeed="500.00" inputTorque="450.00" torqueLoss="16.59"/> + <Entry inputSpeed="500.00" inputTorque="650.00" torqueLoss="20.59"/> + <Entry inputSpeed="500.00" inputTorque="850.00" torqueLoss="24.59"/> + <Entry inputSpeed="500.00" inputTorque="1050.00" torqueLoss="28.59"/> + <Entry inputSpeed="500.00" inputTorque="1250.00" torqueLoss="32.59"/> + <Entry inputSpeed="500.00" inputTorque="1450.00" torqueLoss="36.59"/> + <Entry inputSpeed="500.00" inputTorque="1650.00" torqueLoss="40.59"/> + <Entry inputSpeed="500.00" inputTorque="1850.00" torqueLoss="44.59"/> + <Entry inputSpeed="500.00" inputTorque="2050.00" torqueLoss="48.59"/> + <Entry inputSpeed="500.00" inputTorque="2250.00" torqueLoss="52.59"/> + <Entry inputSpeed="500.00" inputTorque="3000.00" torqueLoss="56.59"/> + <Entry inputSpeed="700.00" inputTorque="-350.00" torqueLoss="15.60"/> + <Entry inputSpeed="700.00" inputTorque="-150.00" torqueLoss="11.60"/> + <Entry inputSpeed="700.00" inputTorque="50.00" torqueLoss="9.60"/> + <Entry inputSpeed="700.00" inputTorque="250.00" torqueLoss="13.60"/> + <Entry inputSpeed="700.00" inputTorque="450.00" torqueLoss="17.60"/> + <Entry inputSpeed="700.00" inputTorque="650.00" torqueLoss="21.60"/> + <Entry inputSpeed="700.00" inputTorque="850.00" torqueLoss="25.60"/> + <Entry inputSpeed="700.00" inputTorque="1050.00" torqueLoss="29.60"/> + <Entry inputSpeed="700.00" inputTorque="1250.00" torqueLoss="33.60"/> + <Entry inputSpeed="700.00" inputTorque="1450.00" torqueLoss="37.60"/> + <Entry inputSpeed="700.00" inputTorque="1650.00" torqueLoss="41.60"/> + <Entry inputSpeed="700.00" inputTorque="1850.00" torqueLoss="45.60"/> + <Entry inputSpeed="700.00" inputTorque="2050.00" torqueLoss="49.60"/> + <Entry inputSpeed="700.00" inputTorque="2250.00" torqueLoss="53.60"/> + <Entry inputSpeed="700.00" inputTorque="3000.00" torqueLoss="57.60"/> + <Entry inputSpeed="900.00" inputTorque="-350.00" torqueLoss="16.61"/> + <Entry inputSpeed="900.00" inputTorque="-150.00" torqueLoss="12.61"/> + <Entry inputSpeed="900.00" inputTorque="50.00" torqueLoss="10.61"/> + <Entry inputSpeed="900.00" inputTorque="250.00" torqueLoss="14.61"/> + <Entry inputSpeed="900.00" inputTorque="450.00" torqueLoss="18.61"/> + <Entry inputSpeed="900.00" inputTorque="650.00" torqueLoss="22.61"/> + <Entry inputSpeed="900.00" inputTorque="850.00" torqueLoss="26.61"/> + <Entry inputSpeed="900.00" inputTorque="1050.00" torqueLoss="30.61"/> + <Entry inputSpeed="900.00" inputTorque="1250.00" torqueLoss="34.61"/> + <Entry inputSpeed="900.00" inputTorque="1450.00" torqueLoss="38.61"/> + <Entry inputSpeed="900.00" inputTorque="1650.00" torqueLoss="42.61"/> + <Entry inputSpeed="900.00" inputTorque="1850.00" torqueLoss="46.61"/> + <Entry inputSpeed="900.00" inputTorque="2050.00" torqueLoss="50.61"/> + <Entry inputSpeed="900.00" inputTorque="2250.00" torqueLoss="54.61"/> + <Entry inputSpeed="900.00" inputTorque="3000.00" torqueLoss="58.61"/> + <Entry inputSpeed="1100.00" inputTorque="-350.00" torqueLoss="17.63"/> + <Entry inputSpeed="1100.00" inputTorque="-150.00" torqueLoss="13.63"/> + <Entry inputSpeed="1100.00" inputTorque="50.00" torqueLoss="11.63"/> + <Entry inputSpeed="1100.00" inputTorque="250.00" torqueLoss="15.63"/> + <Entry inputSpeed="1100.00" inputTorque="450.00" torqueLoss="19.63"/> + <Entry inputSpeed="1100.00" inputTorque="650.00" torqueLoss="23.63"/> + <Entry inputSpeed="1100.00" inputTorque="850.00" torqueLoss="27.63"/> + <Entry inputSpeed="1100.00" inputTorque="1050.00" torqueLoss="31.63"/> + <Entry inputSpeed="1100.00" inputTorque="1250.00" torqueLoss="35.63"/> + <Entry inputSpeed="1100.00" inputTorque="1450.00" torqueLoss="39.63"/> + <Entry inputSpeed="1100.00" inputTorque="1650.00" torqueLoss="43.63"/> + <Entry inputSpeed="1100.00" inputTorque="1850.00" torqueLoss="47.63"/> + <Entry inputSpeed="1100.00" inputTorque="2050.00" torqueLoss="51.63"/> + <Entry inputSpeed="1100.00" inputTorque="2250.00" torqueLoss="55.63"/> + <Entry inputSpeed="1100.00" inputTorque="3000.00" torqueLoss="59.63"/> + <Entry inputSpeed="1300.00" inputTorque="-350.00" torqueLoss="18.64"/> + <Entry inputSpeed="1300.00" inputTorque="-150.00" torqueLoss="14.64"/> + <Entry inputSpeed="1300.00" inputTorque="50.00" torqueLoss="12.64"/> + <Entry inputSpeed="1300.00" inputTorque="250.00" torqueLoss="16.64"/> + <Entry inputSpeed="1300.00" inputTorque="450.00" torqueLoss="20.64"/> + <Entry inputSpeed="1300.00" inputTorque="650.00" torqueLoss="24.64"/> + <Entry inputSpeed="1300.00" inputTorque="850.00" torqueLoss="28.64"/> + <Entry inputSpeed="1300.00" inputTorque="1050.00" torqueLoss="32.64"/> + <Entry inputSpeed="1300.00" inputTorque="1250.00" torqueLoss="36.64"/> + <Entry inputSpeed="1300.00" inputTorque="1450.00" torqueLoss="40.64"/> + <Entry inputSpeed="1300.00" inputTorque="1650.00" torqueLoss="44.64"/> + <Entry inputSpeed="1300.00" inputTorque="1850.00" torqueLoss="48.64"/> + <Entry inputSpeed="1300.00" inputTorque="2050.00" torqueLoss="52.64"/> + <Entry inputSpeed="1300.00" inputTorque="2250.00" torqueLoss="56.64"/> + <Entry inputSpeed="1300.00" inputTorque="3000.00" torqueLoss="60.64"/> + <Entry inputSpeed="1500.00" inputTorque="-350.00" torqueLoss="19.65"/> + <Entry inputSpeed="1500.00" inputTorque="-150.00" torqueLoss="15.65"/> + <Entry inputSpeed="1500.00" inputTorque="50.00" torqueLoss="13.65"/> + <Entry inputSpeed="1500.00" inputTorque="250.00" torqueLoss="17.65"/> + <Entry inputSpeed="1500.00" inputTorque="450.00" torqueLoss="21.65"/> + <Entry inputSpeed="1500.00" inputTorque="650.00" torqueLoss="25.65"/> + <Entry inputSpeed="1500.00" inputTorque="850.00" torqueLoss="29.65"/> + <Entry inputSpeed="1500.00" inputTorque="1050.00" torqueLoss="33.65"/> + <Entry inputSpeed="1500.00" inputTorque="1250.00" torqueLoss="37.65"/> + <Entry inputSpeed="1500.00" inputTorque="1450.00" torqueLoss="41.65"/> + <Entry inputSpeed="1500.00" inputTorque="1650.00" torqueLoss="45.65"/> + <Entry inputSpeed="1500.00" inputTorque="1850.00" torqueLoss="49.65"/> + <Entry inputSpeed="1500.00" inputTorque="2050.00" torqueLoss="53.65"/> + <Entry inputSpeed="1500.00" inputTorque="2250.00" torqueLoss="57.65"/> + <Entry inputSpeed="1500.00" inputTorque="3000.00" torqueLoss="61.65"/> + <Entry inputSpeed="1700.00" inputTorque="-350.00" torqueLoss="20.66"/> + <Entry inputSpeed="1700.00" inputTorque="-150.00" torqueLoss="16.66"/> + <Entry inputSpeed="1700.00" inputTorque="50.00" torqueLoss="14.66"/> + <Entry inputSpeed="1700.00" inputTorque="250.00" torqueLoss="18.66"/> + <Entry inputSpeed="1700.00" inputTorque="450.00" torqueLoss="22.66"/> + <Entry inputSpeed="1700.00" inputTorque="650.00" torqueLoss="26.66"/> + <Entry inputSpeed="1700.00" inputTorque="850.00" torqueLoss="30.66"/> + <Entry inputSpeed="1700.00" inputTorque="1050.00" torqueLoss="34.66"/> + <Entry inputSpeed="1700.00" inputTorque="1250.00" torqueLoss="38.66"/> + <Entry inputSpeed="1700.00" inputTorque="1450.00" torqueLoss="42.66"/> + <Entry inputSpeed="1700.00" inputTorque="1650.00" torqueLoss="46.66"/> + <Entry inputSpeed="1700.00" inputTorque="1850.00" torqueLoss="50.66"/> + <Entry inputSpeed="1700.00" inputTorque="2050.00" torqueLoss="54.66"/> + <Entry inputSpeed="1700.00" inputTorque="2250.00" torqueLoss="58.66"/> + <Entry inputSpeed="1700.00" inputTorque="3000.00" torqueLoss="62.66"/> + <Entry inputSpeed="1900.00" inputTorque="-350.00" torqueLoss="21.67"/> + <Entry inputSpeed="1900.00" inputTorque="-150.00" torqueLoss="17.67"/> + <Entry inputSpeed="1900.00" inputTorque="50.00" torqueLoss="15.67"/> + <Entry inputSpeed="1900.00" inputTorque="250.00" torqueLoss="19.67"/> + <Entry inputSpeed="1900.00" inputTorque="450.00" torqueLoss="23.67"/> + <Entry inputSpeed="1900.00" inputTorque="650.00" torqueLoss="27.67"/> + <Entry inputSpeed="1900.00" inputTorque="850.00" torqueLoss="31.67"/> + <Entry inputSpeed="1900.00" inputTorque="1050.00" torqueLoss="35.67"/> + <Entry inputSpeed="1900.00" inputTorque="1250.00" torqueLoss="39.67"/> + <Entry inputSpeed="1900.00" inputTorque="1450.00" torqueLoss="43.67"/> + <Entry inputSpeed="1900.00" inputTorque="1650.00" torqueLoss="47.67"/> + <Entry inputSpeed="1900.00" inputTorque="1850.00" torqueLoss="51.67"/> + <Entry inputSpeed="1900.00" inputTorque="2050.00" torqueLoss="55.67"/> + <Entry inputSpeed="1900.00" inputTorque="2250.00" torqueLoss="59.67"/> + <Entry inputSpeed="1900.00" inputTorque="3000.00" torqueLoss="63.67"/> + <Entry inputSpeed="2100.00" inputTorque="-350.00" torqueLoss="22.69"/> + <Entry inputSpeed="2100.00" inputTorque="-150.00" torqueLoss="18.69"/> + <Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/> + <Entry inputSpeed="2100.00" inputTorque="250.00" torqueLoss="20.69"/> + <Entry inputSpeed="2100.00" inputTorque="450.00" torqueLoss="24.69"/> + <Entry inputSpeed="2100.00" inputTorque="650.00" torqueLoss="28.69"/> + <Entry inputSpeed="2100.00" inputTorque="850.00" torqueLoss="32.69"/> + <Entry inputSpeed="2100.00" inputTorque="1050.00" torqueLoss="36.69"/> + <Entry inputSpeed="2100.00" inputTorque="1250.00" torqueLoss="40.69"/> + <Entry inputSpeed="2100.00" inputTorque="1450.00" torqueLoss="44.69"/> + <Entry inputSpeed="2100.00" inputTorque="1650.00" torqueLoss="48.69"/> + <Entry inputSpeed="2100.00" inputTorque="1850.00" torqueLoss="52.69"/> + <Entry inputSpeed="2100.00" inputTorque="2050.00" torqueLoss="56.69"/> + <Entry inputSpeed="2100.00" inputTorque="2250.00" torqueLoss="60.69"/> + <Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/> + <Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/> + <Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="25.56"/> + <Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="26.58"/> + <Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="27.59"/> + <Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="28.60"/> + <Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="29.61"/> + <Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="30.63"/> + <Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="31.64"/> + <Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="32.65"/> + <Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="33.66"/> + <Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="34.67"/> + <Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/> + </TorqueLossMap> + </Gear> + <Gear number="6"> + <Ratio>4.400</Ratio> + <MaxSpeed>2000</MaxSpeed> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="-350.00" torqueLoss="12.06"/> + <Entry inputSpeed="0.00" inputTorque="-150.00" torqueLoss="8.06"/> + <Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/> + <Entry inputSpeed="0.00" inputTorque="250.00" torqueLoss="10.06"/> + <Entry inputSpeed="0.00" inputTorque="450.00" torqueLoss="14.06"/> + <Entry inputSpeed="0.00" inputTorque="650.00" torqueLoss="18.06"/> + <Entry inputSpeed="0.00" inputTorque="850.00" torqueLoss="22.06"/> + <Entry inputSpeed="0.00" inputTorque="1050.00" torqueLoss="26.06"/> + <Entry inputSpeed="0.00" inputTorque="1250.00" torqueLoss="30.06"/> + <Entry inputSpeed="0.00" inputTorque="1450.00" torqueLoss="34.06"/> + <Entry inputSpeed="0.00" inputTorque="1650.00" torqueLoss="38.06"/> + <Entry inputSpeed="0.00" inputTorque="1850.00" torqueLoss="42.06"/> + <Entry inputSpeed="0.00" inputTorque="2050.00" torqueLoss="46.06"/> + <Entry inputSpeed="0.00" inputTorque="2250.00" torqueLoss="50.06"/> + <Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/> + <Entry inputSpeed="100.00" inputTorque="-350.00" torqueLoss="12.56"/> + <Entry inputSpeed="100.00" inputTorque="-150.00" torqueLoss="8.56"/> + <Entry inputSpeed="100.00" inputTorque="50.00" torqueLoss="6.56"/> + <Entry inputSpeed="100.00" inputTorque="250.00" torqueLoss="10.56"/> + <Entry inputSpeed="100.00" inputTorque="450.00" torqueLoss="14.56"/> + <Entry inputSpeed="100.00" inputTorque="650.00" torqueLoss="18.56"/> + <Entry inputSpeed="100.00" inputTorque="850.00" torqueLoss="22.56"/> + <Entry inputSpeed="100.00" inputTorque="1050.00" torqueLoss="26.56"/> + <Entry inputSpeed="100.00" inputTorque="1250.00" torqueLoss="30.56"/> + <Entry inputSpeed="100.00" inputTorque="1450.00" torqueLoss="34.56"/> + <Entry inputSpeed="100.00" inputTorque="1650.00" torqueLoss="38.56"/> + <Entry inputSpeed="100.00" inputTorque="1850.00" torqueLoss="42.56"/> + <Entry inputSpeed="100.00" inputTorque="2050.00" torqueLoss="46.56"/> + <Entry inputSpeed="100.00" inputTorque="2250.00" torqueLoss="50.56"/> + <Entry inputSpeed="100.00" inputTorque="3000.00" torqueLoss="54.56"/> + <Entry inputSpeed="300.00" inputTorque="-350.00" torqueLoss="13.58"/> + <Entry inputSpeed="300.00" inputTorque="-150.00" torqueLoss="9.58"/> + <Entry inputSpeed="300.00" inputTorque="50.00" torqueLoss="7.58"/> + <Entry inputSpeed="300.00" inputTorque="250.00" torqueLoss="11.58"/> + <Entry inputSpeed="300.00" inputTorque="450.00" torqueLoss="15.58"/> + <Entry inputSpeed="300.00" inputTorque="650.00" torqueLoss="19.58"/> + <Entry inputSpeed="300.00" inputTorque="850.00" torqueLoss="23.58"/> + <Entry inputSpeed="300.00" inputTorque="1050.00" torqueLoss="27.58"/> + <Entry inputSpeed="300.00" inputTorque="1250.00" torqueLoss="31.58"/> + <Entry inputSpeed="300.00" inputTorque="1450.00" torqueLoss="35.58"/> + <Entry inputSpeed="300.00" inputTorque="1650.00" torqueLoss="39.58"/> + <Entry inputSpeed="300.00" inputTorque="1850.00" torqueLoss="43.58"/> + <Entry inputSpeed="300.00" inputTorque="2050.00" torqueLoss="47.58"/> + <Entry inputSpeed="300.00" inputTorque="2250.00" torqueLoss="51.58"/> + <Entry inputSpeed="300.00" inputTorque="3000.00" torqueLoss="55.58"/> + <Entry inputSpeed="500.00" inputTorque="-350.00" torqueLoss="14.59"/> + <Entry inputSpeed="500.00" inputTorque="-150.00" torqueLoss="10.59"/> + <Entry inputSpeed="500.00" inputTorque="50.00" torqueLoss="8.59"/> + <Entry inputSpeed="500.00" inputTorque="250.00" torqueLoss="12.59"/> + <Entry inputSpeed="500.00" inputTorque="450.00" torqueLoss="16.59"/> + <Entry inputSpeed="500.00" inputTorque="650.00" torqueLoss="20.59"/> + <Entry inputSpeed="500.00" inputTorque="850.00" torqueLoss="24.59"/> + <Entry inputSpeed="500.00" inputTorque="1050.00" torqueLoss="28.59"/> + <Entry inputSpeed="500.00" inputTorque="1250.00" torqueLoss="32.59"/> + <Entry inputSpeed="500.00" inputTorque="1450.00" torqueLoss="36.59"/> + <Entry inputSpeed="500.00" inputTorque="1650.00" torqueLoss="40.59"/> + <Entry inputSpeed="500.00" inputTorque="1850.00" torqueLoss="44.59"/> + <Entry inputSpeed="500.00" inputTorque="2050.00" torqueLoss="48.59"/> + <Entry inputSpeed="500.00" inputTorque="2250.00" torqueLoss="52.59"/> + <Entry inputSpeed="500.00" inputTorque="3000.00" torqueLoss="56.59"/> + <Entry inputSpeed="700.00" inputTorque="-350.00" torqueLoss="15.60"/> + <Entry inputSpeed="700.00" inputTorque="-150.00" torqueLoss="11.60"/> + <Entry inputSpeed="700.00" inputTorque="50.00" torqueLoss="9.60"/> + <Entry inputSpeed="700.00" inputTorque="250.00" torqueLoss="13.60"/> + <Entry inputSpeed="700.00" inputTorque="450.00" torqueLoss="17.60"/> + <Entry inputSpeed="700.00" inputTorque="650.00" torqueLoss="21.60"/> + <Entry inputSpeed="700.00" inputTorque="850.00" torqueLoss="25.60"/> + <Entry inputSpeed="700.00" inputTorque="1050.00" torqueLoss="29.60"/> + <Entry inputSpeed="700.00" inputTorque="1250.00" torqueLoss="33.60"/> + <Entry inputSpeed="700.00" inputTorque="1450.00" torqueLoss="37.60"/> + <Entry inputSpeed="700.00" inputTorque="1650.00" torqueLoss="41.60"/> + <Entry inputSpeed="700.00" inputTorque="1850.00" torqueLoss="45.60"/> + <Entry inputSpeed="700.00" inputTorque="2050.00" torqueLoss="49.60"/> + <Entry inputSpeed="700.00" inputTorque="2250.00" torqueLoss="53.60"/> + <Entry inputSpeed="700.00" inputTorque="3000.00" torqueLoss="57.60"/> + <Entry inputSpeed="900.00" inputTorque="-350.00" torqueLoss="16.61"/> + <Entry inputSpeed="900.00" inputTorque="-150.00" torqueLoss="12.61"/> + <Entry inputSpeed="900.00" inputTorque="50.00" torqueLoss="10.61"/> + <Entry inputSpeed="900.00" inputTorque="250.00" torqueLoss="14.61"/> + <Entry inputSpeed="900.00" inputTorque="450.00" torqueLoss="18.61"/> + <Entry inputSpeed="900.00" inputTorque="650.00" torqueLoss="22.61"/> + <Entry inputSpeed="900.00" inputTorque="850.00" torqueLoss="26.61"/> + <Entry inputSpeed="900.00" inputTorque="1050.00" torqueLoss="30.61"/> + <Entry inputSpeed="900.00" inputTorque="1250.00" torqueLoss="34.61"/> + <Entry inputSpeed="900.00" inputTorque="1450.00" torqueLoss="38.61"/> + <Entry inputSpeed="900.00" inputTorque="1650.00" torqueLoss="42.61"/> + <Entry inputSpeed="900.00" inputTorque="1850.00" torqueLoss="46.61"/> + <Entry inputSpeed="900.00" inputTorque="2050.00" torqueLoss="50.61"/> + <Entry inputSpeed="900.00" inputTorque="2250.00" torqueLoss="54.61"/> + <Entry inputSpeed="900.00" inputTorque="3000.00" torqueLoss="58.61"/> + <Entry inputSpeed="1100.00" inputTorque="-350.00" torqueLoss="17.63"/> + <Entry inputSpeed="1100.00" inputTorque="-150.00" torqueLoss="13.63"/> + <Entry inputSpeed="1100.00" inputTorque="50.00" torqueLoss="11.63"/> + <Entry inputSpeed="1100.00" inputTorque="250.00" torqueLoss="15.63"/> + <Entry inputSpeed="1100.00" inputTorque="450.00" torqueLoss="19.63"/> + <Entry inputSpeed="1100.00" inputTorque="650.00" torqueLoss="23.63"/> + <Entry inputSpeed="1100.00" inputTorque="850.00" torqueLoss="27.63"/> + <Entry inputSpeed="1100.00" inputTorque="1050.00" torqueLoss="31.63"/> + <Entry inputSpeed="1100.00" inputTorque="1250.00" torqueLoss="35.63"/> + <Entry inputSpeed="1100.00" inputTorque="1450.00" torqueLoss="39.63"/> + <Entry inputSpeed="1100.00" inputTorque="1650.00" torqueLoss="43.63"/> + <Entry inputSpeed="1100.00" inputTorque="1850.00" torqueLoss="47.63"/> + <Entry inputSpeed="1100.00" inputTorque="2050.00" torqueLoss="51.63"/> + <Entry inputSpeed="1100.00" inputTorque="2250.00" torqueLoss="55.63"/> + <Entry inputSpeed="1100.00" inputTorque="3000.00" torqueLoss="59.63"/> + <Entry inputSpeed="1300.00" inputTorque="-350.00" torqueLoss="18.64"/> + <Entry inputSpeed="1300.00" inputTorque="-150.00" torqueLoss="14.64"/> + <Entry inputSpeed="1300.00" inputTorque="50.00" torqueLoss="12.64"/> + <Entry inputSpeed="1300.00" inputTorque="250.00" torqueLoss="16.64"/> + <Entry inputSpeed="1300.00" inputTorque="450.00" torqueLoss="20.64"/> + <Entry inputSpeed="1300.00" inputTorque="650.00" torqueLoss="24.64"/> + <Entry inputSpeed="1300.00" inputTorque="850.00" torqueLoss="28.64"/> + <Entry inputSpeed="1300.00" inputTorque="1050.00" torqueLoss="32.64"/> + <Entry inputSpeed="1300.00" inputTorque="1250.00" torqueLoss="36.64"/> + <Entry inputSpeed="1300.00" inputTorque="1450.00" torqueLoss="40.64"/> + <Entry inputSpeed="1300.00" inputTorque="1650.00" torqueLoss="44.64"/> + <Entry inputSpeed="1300.00" inputTorque="1850.00" torqueLoss="48.64"/> + <Entry inputSpeed="1300.00" inputTorque="2050.00" torqueLoss="52.64"/> + <Entry inputSpeed="1300.00" inputTorque="2250.00" torqueLoss="56.64"/> + <Entry inputSpeed="1300.00" inputTorque="3000.00" torqueLoss="60.64"/> + <Entry inputSpeed="1500.00" inputTorque="-350.00" torqueLoss="19.65"/> + <Entry inputSpeed="1500.00" inputTorque="-150.00" torqueLoss="15.65"/> + <Entry inputSpeed="1500.00" inputTorque="50.00" torqueLoss="13.65"/> + <Entry inputSpeed="1500.00" inputTorque="250.00" torqueLoss="17.65"/> + <Entry inputSpeed="1500.00" inputTorque="450.00" torqueLoss="21.65"/> + <Entry inputSpeed="1500.00" inputTorque="650.00" torqueLoss="25.65"/> + <Entry inputSpeed="1500.00" inputTorque="850.00" torqueLoss="29.65"/> + <Entry inputSpeed="1500.00" inputTorque="1050.00" torqueLoss="33.65"/> + <Entry inputSpeed="1500.00" inputTorque="1250.00" torqueLoss="37.65"/> + <Entry inputSpeed="1500.00" inputTorque="1450.00" torqueLoss="41.65"/> + <Entry inputSpeed="1500.00" inputTorque="1650.00" torqueLoss="45.65"/> + <Entry inputSpeed="1500.00" inputTorque="1850.00" torqueLoss="49.65"/> + <Entry inputSpeed="1500.00" inputTorque="2050.00" torqueLoss="53.65"/> + <Entry inputSpeed="1500.00" inputTorque="2250.00" torqueLoss="57.65"/> + <Entry inputSpeed="1500.00" inputTorque="3000.00" torqueLoss="61.65"/> + <Entry inputSpeed="1700.00" inputTorque="-350.00" torqueLoss="20.66"/> + <Entry inputSpeed="1700.00" inputTorque="-150.00" torqueLoss="16.66"/> + <Entry inputSpeed="1700.00" inputTorque="50.00" torqueLoss="14.66"/> + <Entry inputSpeed="1700.00" inputTorque="250.00" torqueLoss="18.66"/> + <Entry inputSpeed="1700.00" inputTorque="450.00" torqueLoss="22.66"/> + <Entry inputSpeed="1700.00" inputTorque="650.00" torqueLoss="26.66"/> + <Entry inputSpeed="1700.00" inputTorque="850.00" torqueLoss="30.66"/> + <Entry inputSpeed="1700.00" inputTorque="1050.00" torqueLoss="34.66"/> + <Entry inputSpeed="1700.00" inputTorque="1250.00" torqueLoss="38.66"/> + <Entry inputSpeed="1700.00" inputTorque="1450.00" torqueLoss="42.66"/> + <Entry inputSpeed="1700.00" inputTorque="1650.00" torqueLoss="46.66"/> + <Entry inputSpeed="1700.00" inputTorque="1850.00" torqueLoss="50.66"/> + <Entry inputSpeed="1700.00" inputTorque="2050.00" torqueLoss="54.66"/> + <Entry inputSpeed="1700.00" inputTorque="2250.00" torqueLoss="58.66"/> + <Entry inputSpeed="1700.00" inputTorque="3000.00" torqueLoss="62.66"/> + <Entry inputSpeed="1900.00" inputTorque="-350.00" torqueLoss="21.67"/> + <Entry inputSpeed="1900.00" inputTorque="-150.00" torqueLoss="17.67"/> + <Entry inputSpeed="1900.00" inputTorque="50.00" torqueLoss="15.67"/> + <Entry inputSpeed="1900.00" inputTorque="250.00" torqueLoss="19.67"/> + <Entry inputSpeed="1900.00" inputTorque="450.00" torqueLoss="23.67"/> + <Entry inputSpeed="1900.00" inputTorque="650.00" torqueLoss="27.67"/> + <Entry inputSpeed="1900.00" inputTorque="850.00" torqueLoss="31.67"/> + <Entry inputSpeed="1900.00" inputTorque="1050.00" torqueLoss="35.67"/> + <Entry inputSpeed="1900.00" inputTorque="1250.00" torqueLoss="39.67"/> + <Entry inputSpeed="1900.00" inputTorque="1450.00" torqueLoss="43.67"/> + <Entry inputSpeed="1900.00" inputTorque="1650.00" torqueLoss="47.67"/> + <Entry inputSpeed="1900.00" inputTorque="1850.00" torqueLoss="51.67"/> + <Entry inputSpeed="1900.00" inputTorque="2050.00" torqueLoss="55.67"/> + <Entry inputSpeed="1900.00" inputTorque="2250.00" torqueLoss="59.67"/> + <Entry inputSpeed="1900.00" inputTorque="3000.00" torqueLoss="63.67"/> + <Entry inputSpeed="2100.00" inputTorque="-350.00" torqueLoss="22.69"/> + <Entry inputSpeed="2100.00" inputTorque="-150.00" torqueLoss="18.69"/> + <Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/> + <Entry inputSpeed="2100.00" inputTorque="250.00" torqueLoss="20.69"/> + <Entry inputSpeed="2100.00" inputTorque="450.00" torqueLoss="24.69"/> + <Entry inputSpeed="2100.00" inputTorque="650.00" torqueLoss="28.69"/> + <Entry inputSpeed="2100.00" inputTorque="850.00" torqueLoss="32.69"/> + <Entry inputSpeed="2100.00" inputTorque="1050.00" torqueLoss="36.69"/> + <Entry inputSpeed="2100.00" inputTorque="1250.00" torqueLoss="40.69"/> + <Entry inputSpeed="2100.00" inputTorque="1450.00" torqueLoss="44.69"/> + <Entry inputSpeed="2100.00" inputTorque="1650.00" torqueLoss="48.69"/> + <Entry inputSpeed="2100.00" inputTorque="1850.00" torqueLoss="52.69"/> + <Entry inputSpeed="2100.00" inputTorque="2050.00" torqueLoss="56.69"/> + <Entry inputSpeed="2100.00" inputTorque="2250.00" torqueLoss="60.69"/> + <Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/> + <Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/> + <Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="25.56"/> + <Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="26.58"/> + <Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="27.59"/> + <Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="28.60"/> + <Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="29.61"/> + <Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="30.63"/> + <Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="31.64"/> + <Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="32.65"/> + <Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="33.66"/> + <Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="34.67"/> + <Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/> + </TorqueLossMap> + </Gear> + <Gear number="7"> + <Ratio>3.390</Ratio> + <MaxSpeed>2000</MaxSpeed> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="-350.00" torqueLoss="12.06"/> + <Entry inputSpeed="0.00" inputTorque="-150.00" torqueLoss="8.06"/> + <Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/> + <Entry inputSpeed="0.00" inputTorque="250.00" torqueLoss="10.06"/> + <Entry inputSpeed="0.00" inputTorque="450.00" torqueLoss="14.06"/> + <Entry inputSpeed="0.00" inputTorque="650.00" torqueLoss="18.06"/> + <Entry inputSpeed="0.00" inputTorque="850.00" torqueLoss="22.06"/> + <Entry inputSpeed="0.00" inputTorque="1050.00" torqueLoss="26.06"/> + <Entry inputSpeed="0.00" inputTorque="1250.00" torqueLoss="30.06"/> + <Entry inputSpeed="0.00" inputTorque="1450.00" torqueLoss="34.06"/> + <Entry inputSpeed="0.00" inputTorque="1650.00" torqueLoss="38.06"/> + <Entry inputSpeed="0.00" inputTorque="1850.00" torqueLoss="42.06"/> + <Entry inputSpeed="0.00" inputTorque="2050.00" torqueLoss="46.06"/> + <Entry inputSpeed="0.00" inputTorque="2250.00" torqueLoss="50.06"/> + <Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/> + <Entry inputSpeed="100.00" inputTorque="-350.00" torqueLoss="12.56"/> + <Entry inputSpeed="100.00" inputTorque="-150.00" torqueLoss="8.56"/> + <Entry inputSpeed="100.00" inputTorque="50.00" torqueLoss="6.56"/> + <Entry inputSpeed="100.00" inputTorque="250.00" torqueLoss="10.56"/> + <Entry inputSpeed="100.00" inputTorque="450.00" torqueLoss="14.56"/> + <Entry inputSpeed="100.00" inputTorque="650.00" torqueLoss="18.56"/> + <Entry inputSpeed="100.00" inputTorque="850.00" torqueLoss="22.56"/> + <Entry inputSpeed="100.00" inputTorque="1050.00" torqueLoss="26.56"/> + <Entry inputSpeed="100.00" inputTorque="1250.00" torqueLoss="30.56"/> + <Entry inputSpeed="100.00" inputTorque="1450.00" torqueLoss="34.56"/> + <Entry inputSpeed="100.00" inputTorque="1650.00" torqueLoss="38.56"/> + <Entry inputSpeed="100.00" inputTorque="1850.00" torqueLoss="42.56"/> + <Entry inputSpeed="100.00" inputTorque="2050.00" torqueLoss="46.56"/> + <Entry inputSpeed="100.00" inputTorque="2250.00" torqueLoss="50.56"/> + <Entry inputSpeed="100.00" inputTorque="3000.00" torqueLoss="54.56"/> + <Entry inputSpeed="300.00" inputTorque="-350.00" torqueLoss="13.58"/> + <Entry inputSpeed="300.00" inputTorque="-150.00" torqueLoss="9.58"/> + <Entry inputSpeed="300.00" inputTorque="50.00" torqueLoss="7.58"/> + <Entry inputSpeed="300.00" inputTorque="250.00" torqueLoss="11.58"/> + <Entry inputSpeed="300.00" inputTorque="450.00" torqueLoss="15.58"/> + <Entry inputSpeed="300.00" inputTorque="650.00" torqueLoss="19.58"/> + <Entry inputSpeed="300.00" inputTorque="850.00" torqueLoss="23.58"/> + <Entry inputSpeed="300.00" inputTorque="1050.00" torqueLoss="27.58"/> + <Entry inputSpeed="300.00" inputTorque="1250.00" torqueLoss="31.58"/> + <Entry inputSpeed="300.00" inputTorque="1450.00" torqueLoss="35.58"/> + <Entry inputSpeed="300.00" inputTorque="1650.00" torqueLoss="39.58"/> + <Entry inputSpeed="300.00" inputTorque="1850.00" torqueLoss="43.58"/> + <Entry inputSpeed="300.00" inputTorque="2050.00" torqueLoss="47.58"/> + <Entry inputSpeed="300.00" inputTorque="2250.00" torqueLoss="51.58"/> + <Entry inputSpeed="300.00" inputTorque="3000.00" torqueLoss="55.58"/> + <Entry inputSpeed="500.00" inputTorque="-350.00" torqueLoss="14.59"/> + <Entry inputSpeed="500.00" inputTorque="-150.00" torqueLoss="10.59"/> + <Entry inputSpeed="500.00" inputTorque="50.00" torqueLoss="8.59"/> + <Entry inputSpeed="500.00" inputTorque="250.00" torqueLoss="12.59"/> + <Entry inputSpeed="500.00" inputTorque="450.00" torqueLoss="16.59"/> + <Entry inputSpeed="500.00" inputTorque="650.00" torqueLoss="20.59"/> + <Entry inputSpeed="500.00" inputTorque="850.00" torqueLoss="24.59"/> + <Entry inputSpeed="500.00" inputTorque="1050.00" torqueLoss="28.59"/> + <Entry inputSpeed="500.00" inputTorque="1250.00" torqueLoss="32.59"/> + <Entry inputSpeed="500.00" inputTorque="1450.00" torqueLoss="36.59"/> + <Entry inputSpeed="500.00" inputTorque="1650.00" torqueLoss="40.59"/> + <Entry inputSpeed="500.00" inputTorque="1850.00" torqueLoss="44.59"/> + <Entry inputSpeed="500.00" inputTorque="2050.00" torqueLoss="48.59"/> + <Entry inputSpeed="500.00" inputTorque="2250.00" torqueLoss="52.59"/> + <Entry inputSpeed="500.00" inputTorque="3000.00" torqueLoss="56.59"/> + <Entry inputSpeed="700.00" inputTorque="-350.00" torqueLoss="15.60"/> + <Entry inputSpeed="700.00" inputTorque="-150.00" torqueLoss="11.60"/> + <Entry inputSpeed="700.00" inputTorque="50.00" torqueLoss="9.60"/> + <Entry inputSpeed="700.00" inputTorque="250.00" torqueLoss="13.60"/> + <Entry inputSpeed="700.00" inputTorque="450.00" torqueLoss="17.60"/> + <Entry inputSpeed="700.00" inputTorque="650.00" torqueLoss="21.60"/> + <Entry inputSpeed="700.00" inputTorque="850.00" torqueLoss="25.60"/> + <Entry inputSpeed="700.00" inputTorque="1050.00" torqueLoss="29.60"/> + <Entry inputSpeed="700.00" inputTorque="1250.00" torqueLoss="33.60"/> + <Entry inputSpeed="700.00" inputTorque="1450.00" torqueLoss="37.60"/> + <Entry inputSpeed="700.00" inputTorque="1650.00" torqueLoss="41.60"/> + <Entry inputSpeed="700.00" inputTorque="1850.00" torqueLoss="45.60"/> + <Entry inputSpeed="700.00" inputTorque="2050.00" torqueLoss="49.60"/> + <Entry inputSpeed="700.00" inputTorque="2250.00" torqueLoss="53.60"/> + <Entry inputSpeed="700.00" inputTorque="3000.00" torqueLoss="57.60"/> + <Entry inputSpeed="900.00" inputTorque="-350.00" torqueLoss="16.61"/> + <Entry inputSpeed="900.00" inputTorque="-150.00" torqueLoss="12.61"/> + <Entry inputSpeed="900.00" inputTorque="50.00" torqueLoss="10.61"/> + <Entry inputSpeed="900.00" inputTorque="250.00" torqueLoss="14.61"/> + <Entry inputSpeed="900.00" inputTorque="450.00" torqueLoss="18.61"/> + <Entry inputSpeed="900.00" inputTorque="650.00" torqueLoss="22.61"/> + <Entry inputSpeed="900.00" inputTorque="850.00" torqueLoss="26.61"/> + <Entry inputSpeed="900.00" inputTorque="1050.00" torqueLoss="30.61"/> + <Entry inputSpeed="900.00" inputTorque="1250.00" torqueLoss="34.61"/> + <Entry inputSpeed="900.00" inputTorque="1450.00" torqueLoss="38.61"/> + <Entry inputSpeed="900.00" inputTorque="1650.00" torqueLoss="42.61"/> + <Entry inputSpeed="900.00" inputTorque="1850.00" torqueLoss="46.61"/> + <Entry inputSpeed="900.00" inputTorque="2050.00" torqueLoss="50.61"/> + <Entry inputSpeed="900.00" inputTorque="2250.00" torqueLoss="54.61"/> + <Entry inputSpeed="900.00" inputTorque="3000.00" torqueLoss="58.61"/> + <Entry inputSpeed="1100.00" inputTorque="-350.00" torqueLoss="17.63"/> + <Entry inputSpeed="1100.00" inputTorque="-150.00" torqueLoss="13.63"/> + <Entry inputSpeed="1100.00" inputTorque="50.00" torqueLoss="11.63"/> + <Entry inputSpeed="1100.00" inputTorque="250.00" torqueLoss="15.63"/> + <Entry inputSpeed="1100.00" inputTorque="450.00" torqueLoss="19.63"/> + <Entry inputSpeed="1100.00" inputTorque="650.00" torqueLoss="23.63"/> + <Entry inputSpeed="1100.00" inputTorque="850.00" torqueLoss="27.63"/> + <Entry inputSpeed="1100.00" inputTorque="1050.00" torqueLoss="31.63"/> + <Entry inputSpeed="1100.00" inputTorque="1250.00" torqueLoss="35.63"/> + <Entry inputSpeed="1100.00" inputTorque="1450.00" torqueLoss="39.63"/> + <Entry inputSpeed="1100.00" inputTorque="1650.00" torqueLoss="43.63"/> + <Entry inputSpeed="1100.00" inputTorque="1850.00" torqueLoss="47.63"/> + <Entry inputSpeed="1100.00" inputTorque="2050.00" torqueLoss="51.63"/> + <Entry inputSpeed="1100.00" inputTorque="2250.00" torqueLoss="55.63"/> + <Entry inputSpeed="1100.00" inputTorque="3000.00" torqueLoss="59.63"/> + <Entry inputSpeed="1300.00" inputTorque="-350.00" torqueLoss="18.64"/> + <Entry inputSpeed="1300.00" inputTorque="-150.00" torqueLoss="14.64"/> + <Entry inputSpeed="1300.00" inputTorque="50.00" torqueLoss="12.64"/> + <Entry inputSpeed="1300.00" inputTorque="250.00" torqueLoss="16.64"/> + <Entry inputSpeed="1300.00" inputTorque="450.00" torqueLoss="20.64"/> + <Entry inputSpeed="1300.00" inputTorque="650.00" torqueLoss="24.64"/> + <Entry inputSpeed="1300.00" inputTorque="850.00" torqueLoss="28.64"/> + <Entry inputSpeed="1300.00" inputTorque="1050.00" torqueLoss="32.64"/> + <Entry inputSpeed="1300.00" inputTorque="1250.00" torqueLoss="36.64"/> + <Entry inputSpeed="1300.00" inputTorque="1450.00" torqueLoss="40.64"/> + <Entry inputSpeed="1300.00" inputTorque="1650.00" torqueLoss="44.64"/> + <Entry inputSpeed="1300.00" inputTorque="1850.00" torqueLoss="48.64"/> + <Entry inputSpeed="1300.00" inputTorque="2050.00" torqueLoss="52.64"/> + <Entry inputSpeed="1300.00" inputTorque="2250.00" torqueLoss="56.64"/> + <Entry inputSpeed="1300.00" inputTorque="3000.00" torqueLoss="60.64"/> + <Entry inputSpeed="1500.00" inputTorque="-350.00" torqueLoss="19.65"/> + <Entry inputSpeed="1500.00" inputTorque="-150.00" torqueLoss="15.65"/> + <Entry inputSpeed="1500.00" inputTorque="50.00" torqueLoss="13.65"/> + <Entry inputSpeed="1500.00" inputTorque="250.00" torqueLoss="17.65"/> + <Entry inputSpeed="1500.00" inputTorque="450.00" torqueLoss="21.65"/> + <Entry inputSpeed="1500.00" inputTorque="650.00" torqueLoss="25.65"/> + <Entry inputSpeed="1500.00" inputTorque="850.00" torqueLoss="29.65"/> + <Entry inputSpeed="1500.00" inputTorque="1050.00" torqueLoss="33.65"/> + <Entry inputSpeed="1500.00" inputTorque="1250.00" torqueLoss="37.65"/> + <Entry inputSpeed="1500.00" inputTorque="1450.00" torqueLoss="41.65"/> + <Entry inputSpeed="1500.00" inputTorque="1650.00" torqueLoss="45.65"/> + <Entry inputSpeed="1500.00" inputTorque="1850.00" torqueLoss="49.65"/> + <Entry inputSpeed="1500.00" inputTorque="2050.00" torqueLoss="53.65"/> + <Entry inputSpeed="1500.00" inputTorque="2250.00" torqueLoss="57.65"/> + <Entry inputSpeed="1500.00" inputTorque="3000.00" torqueLoss="61.65"/> + <Entry inputSpeed="1700.00" inputTorque="-350.00" torqueLoss="20.66"/> + <Entry inputSpeed="1700.00" inputTorque="-150.00" torqueLoss="16.66"/> + <Entry inputSpeed="1700.00" inputTorque="50.00" torqueLoss="14.66"/> + <Entry inputSpeed="1700.00" inputTorque="250.00" torqueLoss="18.66"/> + <Entry inputSpeed="1700.00" inputTorque="450.00" torqueLoss="22.66"/> + <Entry inputSpeed="1700.00" inputTorque="650.00" torqueLoss="26.66"/> + <Entry inputSpeed="1700.00" inputTorque="850.00" torqueLoss="30.66"/> + <Entry inputSpeed="1700.00" inputTorque="1050.00" torqueLoss="34.66"/> + <Entry inputSpeed="1700.00" inputTorque="1250.00" torqueLoss="38.66"/> + <Entry inputSpeed="1700.00" inputTorque="1450.00" torqueLoss="42.66"/> + <Entry inputSpeed="1700.00" inputTorque="1650.00" torqueLoss="46.66"/> + <Entry inputSpeed="1700.00" inputTorque="1850.00" torqueLoss="50.66"/> + <Entry inputSpeed="1700.00" inputTorque="2050.00" torqueLoss="54.66"/> + <Entry inputSpeed="1700.00" inputTorque="2250.00" torqueLoss="58.66"/> + <Entry inputSpeed="1700.00" inputTorque="3000.00" torqueLoss="62.66"/> + <Entry inputSpeed="1900.00" inputTorque="-350.00" torqueLoss="21.67"/> + <Entry inputSpeed="1900.00" inputTorque="-150.00" torqueLoss="17.67"/> + <Entry inputSpeed="1900.00" inputTorque="50.00" torqueLoss="15.67"/> + <Entry inputSpeed="1900.00" inputTorque="250.00" torqueLoss="19.67"/> + <Entry inputSpeed="1900.00" inputTorque="450.00" torqueLoss="23.67"/> + <Entry inputSpeed="1900.00" inputTorque="650.00" torqueLoss="27.67"/> + <Entry inputSpeed="1900.00" inputTorque="850.00" torqueLoss="31.67"/> + <Entry inputSpeed="1900.00" inputTorque="1050.00" torqueLoss="35.67"/> + <Entry inputSpeed="1900.00" inputTorque="1250.00" torqueLoss="39.67"/> + <Entry inputSpeed="1900.00" inputTorque="1450.00" torqueLoss="43.67"/> + <Entry inputSpeed="1900.00" inputTorque="1650.00" torqueLoss="47.67"/> + <Entry inputSpeed="1900.00" inputTorque="1850.00" torqueLoss="51.67"/> + <Entry inputSpeed="1900.00" inputTorque="2050.00" torqueLoss="55.67"/> + <Entry inputSpeed="1900.00" inputTorque="2250.00" torqueLoss="59.67"/> + <Entry inputSpeed="1900.00" inputTorque="3000.00" torqueLoss="63.67"/> + <Entry inputSpeed="2100.00" inputTorque="-350.00" torqueLoss="22.69"/> + <Entry inputSpeed="2100.00" inputTorque="-150.00" torqueLoss="18.69"/> + <Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/> + <Entry inputSpeed="2100.00" inputTorque="250.00" torqueLoss="20.69"/> + <Entry inputSpeed="2100.00" inputTorque="450.00" torqueLoss="24.69"/> + <Entry inputSpeed="2100.00" inputTorque="650.00" torqueLoss="28.69"/> + <Entry inputSpeed="2100.00" inputTorque="850.00" torqueLoss="32.69"/> + <Entry inputSpeed="2100.00" inputTorque="1050.00" torqueLoss="36.69"/> + <Entry inputSpeed="2100.00" inputTorque="1250.00" torqueLoss="40.69"/> + <Entry inputSpeed="2100.00" inputTorque="1450.00" torqueLoss="44.69"/> + <Entry inputSpeed="2100.00" inputTorque="1650.00" torqueLoss="48.69"/> + <Entry inputSpeed="2100.00" inputTorque="1850.00" torqueLoss="52.69"/> + <Entry inputSpeed="2100.00" inputTorque="2050.00" torqueLoss="56.69"/> + <Entry inputSpeed="2100.00" inputTorque="2250.00" torqueLoss="60.69"/> + <Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/> + <Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/> + <Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="25.56"/> + <Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="26.58"/> + <Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="27.59"/> + <Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="28.60"/> + <Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="29.61"/> + <Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="30.63"/> + <Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="31.64"/> + <Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="32.65"/> + <Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="33.66"/> + <Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="34.67"/> + <Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/> + </TorqueLossMap> + </Gear> + <Gear number="8"> + <Ratio>2.650</Ratio> + <MaxSpeed>2000</MaxSpeed> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="-350.00" torqueLoss="12.06"/> + <Entry inputSpeed="0.00" inputTorque="-150.00" torqueLoss="8.06"/> + <Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/> + <Entry inputSpeed="0.00" inputTorque="250.00" torqueLoss="10.06"/> + <Entry inputSpeed="0.00" inputTorque="450.00" torqueLoss="14.06"/> + <Entry inputSpeed="0.00" inputTorque="650.00" torqueLoss="18.06"/> + <Entry inputSpeed="0.00" inputTorque="850.00" torqueLoss="22.06"/> + <Entry inputSpeed="0.00" inputTorque="1050.00" torqueLoss="26.06"/> + <Entry inputSpeed="0.00" inputTorque="1250.00" torqueLoss="30.06"/> + <Entry inputSpeed="0.00" inputTorque="1450.00" torqueLoss="34.06"/> + <Entry inputSpeed="0.00" inputTorque="1650.00" torqueLoss="38.06"/> + <Entry inputSpeed="0.00" inputTorque="1850.00" torqueLoss="42.06"/> + <Entry inputSpeed="0.00" inputTorque="2050.00" torqueLoss="46.06"/> + <Entry inputSpeed="0.00" inputTorque="2250.00" torqueLoss="50.06"/> + <Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/> + <Entry inputSpeed="100.00" inputTorque="-350.00" torqueLoss="12.56"/> + <Entry inputSpeed="100.00" inputTorque="-150.00" torqueLoss="8.56"/> + <Entry inputSpeed="100.00" inputTorque="50.00" torqueLoss="6.56"/> + <Entry inputSpeed="100.00" inputTorque="250.00" torqueLoss="10.56"/> + <Entry inputSpeed="100.00" inputTorque="450.00" torqueLoss="14.56"/> + <Entry inputSpeed="100.00" inputTorque="650.00" torqueLoss="18.56"/> + <Entry inputSpeed="100.00" inputTorque="850.00" torqueLoss="22.56"/> + <Entry inputSpeed="100.00" inputTorque="1050.00" torqueLoss="26.56"/> + <Entry inputSpeed="100.00" inputTorque="1250.00" torqueLoss="30.56"/> + <Entry inputSpeed="100.00" inputTorque="1450.00" torqueLoss="34.56"/> + <Entry inputSpeed="100.00" inputTorque="1650.00" torqueLoss="38.56"/> + <Entry inputSpeed="100.00" inputTorque="1850.00" torqueLoss="42.56"/> + <Entry inputSpeed="100.00" inputTorque="2050.00" torqueLoss="46.56"/> + <Entry inputSpeed="100.00" inputTorque="2250.00" torqueLoss="50.56"/> + <Entry inputSpeed="100.00" inputTorque="3000.00" torqueLoss="54.56"/> + <Entry inputSpeed="300.00" inputTorque="-350.00" torqueLoss="13.58"/> + <Entry inputSpeed="300.00" inputTorque="-150.00" torqueLoss="9.58"/> + <Entry inputSpeed="300.00" inputTorque="50.00" torqueLoss="7.58"/> + <Entry inputSpeed="300.00" inputTorque="250.00" torqueLoss="11.58"/> + <Entry inputSpeed="300.00" inputTorque="450.00" torqueLoss="15.58"/> + <Entry inputSpeed="300.00" inputTorque="650.00" torqueLoss="19.58"/> + <Entry inputSpeed="300.00" inputTorque="850.00" torqueLoss="23.58"/> + <Entry inputSpeed="300.00" inputTorque="1050.00" torqueLoss="27.58"/> + <Entry inputSpeed="300.00" inputTorque="1250.00" torqueLoss="31.58"/> + <Entry inputSpeed="300.00" inputTorque="1450.00" torqueLoss="35.58"/> + <Entry inputSpeed="300.00" inputTorque="1650.00" torqueLoss="39.58"/> + <Entry inputSpeed="300.00" inputTorque="1850.00" torqueLoss="43.58"/> + <Entry inputSpeed="300.00" inputTorque="2050.00" torqueLoss="47.58"/> + <Entry inputSpeed="300.00" inputTorque="2250.00" torqueLoss="51.58"/> + <Entry inputSpeed="300.00" inputTorque="3000.00" torqueLoss="55.58"/> + <Entry inputSpeed="500.00" inputTorque="-350.00" torqueLoss="14.59"/> + <Entry inputSpeed="500.00" inputTorque="-150.00" torqueLoss="10.59"/> + <Entry inputSpeed="500.00" inputTorque="50.00" torqueLoss="8.59"/> + <Entry inputSpeed="500.00" inputTorque="250.00" torqueLoss="12.59"/> + <Entry inputSpeed="500.00" inputTorque="450.00" torqueLoss="16.59"/> + <Entry inputSpeed="500.00" inputTorque="650.00" torqueLoss="20.59"/> + <Entry inputSpeed="500.00" inputTorque="850.00" torqueLoss="24.59"/> + <Entry inputSpeed="500.00" inputTorque="1050.00" torqueLoss="28.59"/> + <Entry inputSpeed="500.00" inputTorque="1250.00" torqueLoss="32.59"/> + <Entry inputSpeed="500.00" inputTorque="1450.00" torqueLoss="36.59"/> + <Entry inputSpeed="500.00" inputTorque="1650.00" torqueLoss="40.59"/> + <Entry inputSpeed="500.00" inputTorque="1850.00" torqueLoss="44.59"/> + <Entry inputSpeed="500.00" inputTorque="2050.00" torqueLoss="48.59"/> + <Entry inputSpeed="500.00" inputTorque="2250.00" torqueLoss="52.59"/> + <Entry inputSpeed="500.00" inputTorque="3000.00" torqueLoss="56.59"/> + <Entry inputSpeed="700.00" inputTorque="-350.00" torqueLoss="15.60"/> + <Entry inputSpeed="700.00" inputTorque="-150.00" torqueLoss="11.60"/> + <Entry inputSpeed="700.00" inputTorque="50.00" torqueLoss="9.60"/> + <Entry inputSpeed="700.00" inputTorque="250.00" torqueLoss="13.60"/> + <Entry inputSpeed="700.00" inputTorque="450.00" torqueLoss="17.60"/> + <Entry inputSpeed="700.00" inputTorque="650.00" torqueLoss="21.60"/> + <Entry inputSpeed="700.00" inputTorque="850.00" torqueLoss="25.60"/> + <Entry inputSpeed="700.00" inputTorque="1050.00" torqueLoss="29.60"/> + <Entry inputSpeed="700.00" inputTorque="1250.00" torqueLoss="33.60"/> + <Entry inputSpeed="700.00" inputTorque="1450.00" torqueLoss="37.60"/> + <Entry inputSpeed="700.00" inputTorque="1650.00" torqueLoss="41.60"/> + <Entry inputSpeed="700.00" inputTorque="1850.00" torqueLoss="45.60"/> + <Entry inputSpeed="700.00" inputTorque="2050.00" torqueLoss="49.60"/> + <Entry inputSpeed="700.00" inputTorque="2250.00" torqueLoss="53.60"/> + <Entry inputSpeed="700.00" inputTorque="3000.00" torqueLoss="57.60"/> + <Entry inputSpeed="900.00" inputTorque="-350.00" torqueLoss="16.61"/> + <Entry inputSpeed="900.00" inputTorque="-150.00" torqueLoss="12.61"/> + <Entry inputSpeed="900.00" inputTorque="50.00" torqueLoss="10.61"/> + <Entry inputSpeed="900.00" inputTorque="250.00" torqueLoss="14.61"/> + <Entry inputSpeed="900.00" inputTorque="450.00" torqueLoss="18.61"/> + <Entry inputSpeed="900.00" inputTorque="650.00" torqueLoss="22.61"/> + <Entry inputSpeed="900.00" inputTorque="850.00" torqueLoss="26.61"/> + <Entry inputSpeed="900.00" inputTorque="1050.00" torqueLoss="30.61"/> + <Entry inputSpeed="900.00" inputTorque="1250.00" torqueLoss="34.61"/> + <Entry inputSpeed="900.00" inputTorque="1450.00" torqueLoss="38.61"/> + <Entry inputSpeed="900.00" inputTorque="1650.00" torqueLoss="42.61"/> + <Entry inputSpeed="900.00" inputTorque="1850.00" torqueLoss="46.61"/> + <Entry inputSpeed="900.00" inputTorque="2050.00" torqueLoss="50.61"/> + <Entry inputSpeed="900.00" inputTorque="2250.00" torqueLoss="54.61"/> + <Entry inputSpeed="900.00" inputTorque="3000.00" torqueLoss="58.61"/> + <Entry inputSpeed="1100.00" inputTorque="-350.00" torqueLoss="17.63"/> + <Entry inputSpeed="1100.00" inputTorque="-150.00" torqueLoss="13.63"/> + <Entry inputSpeed="1100.00" inputTorque="50.00" torqueLoss="11.63"/> + <Entry inputSpeed="1100.00" inputTorque="250.00" torqueLoss="15.63"/> + <Entry inputSpeed="1100.00" inputTorque="450.00" torqueLoss="19.63"/> + <Entry inputSpeed="1100.00" inputTorque="650.00" torqueLoss="23.63"/> + <Entry inputSpeed="1100.00" inputTorque="850.00" torqueLoss="27.63"/> + <Entry inputSpeed="1100.00" inputTorque="1050.00" torqueLoss="31.63"/> + <Entry inputSpeed="1100.00" inputTorque="1250.00" torqueLoss="35.63"/> + <Entry inputSpeed="1100.00" inputTorque="1450.00" torqueLoss="39.63"/> + <Entry inputSpeed="1100.00" inputTorque="1650.00" torqueLoss="43.63"/> + <Entry inputSpeed="1100.00" inputTorque="1850.00" torqueLoss="47.63"/> + <Entry inputSpeed="1100.00" inputTorque="2050.00" torqueLoss="51.63"/> + <Entry inputSpeed="1100.00" inputTorque="2250.00" torqueLoss="55.63"/> + <Entry inputSpeed="1100.00" inputTorque="3000.00" torqueLoss="59.63"/> + <Entry inputSpeed="1300.00" inputTorque="-350.00" torqueLoss="18.64"/> + <Entry inputSpeed="1300.00" inputTorque="-150.00" torqueLoss="14.64"/> + <Entry inputSpeed="1300.00" inputTorque="50.00" torqueLoss="12.64"/> + <Entry inputSpeed="1300.00" inputTorque="250.00" torqueLoss="16.64"/> + <Entry inputSpeed="1300.00" inputTorque="450.00" torqueLoss="20.64"/> + <Entry inputSpeed="1300.00" inputTorque="650.00" torqueLoss="24.64"/> + <Entry inputSpeed="1300.00" inputTorque="850.00" torqueLoss="28.64"/> + <Entry inputSpeed="1300.00" inputTorque="1050.00" torqueLoss="32.64"/> + <Entry inputSpeed="1300.00" inputTorque="1250.00" torqueLoss="36.64"/> + <Entry inputSpeed="1300.00" inputTorque="1450.00" torqueLoss="40.64"/> + <Entry inputSpeed="1300.00" inputTorque="1650.00" torqueLoss="44.64"/> + <Entry inputSpeed="1300.00" inputTorque="1850.00" torqueLoss="48.64"/> + <Entry inputSpeed="1300.00" inputTorque="2050.00" torqueLoss="52.64"/> + <Entry inputSpeed="1300.00" inputTorque="2250.00" torqueLoss="56.64"/> + <Entry inputSpeed="1300.00" inputTorque="3000.00" torqueLoss="60.64"/> + <Entry inputSpeed="1500.00" inputTorque="-350.00" torqueLoss="19.65"/> + <Entry inputSpeed="1500.00" inputTorque="-150.00" torqueLoss="15.65"/> + <Entry inputSpeed="1500.00" inputTorque="50.00" torqueLoss="13.65"/> + <Entry inputSpeed="1500.00" inputTorque="250.00" torqueLoss="17.65"/> + <Entry inputSpeed="1500.00" inputTorque="450.00" torqueLoss="21.65"/> + <Entry inputSpeed="1500.00" inputTorque="650.00" torqueLoss="25.65"/> + <Entry inputSpeed="1500.00" inputTorque="850.00" torqueLoss="29.65"/> + <Entry inputSpeed="1500.00" inputTorque="1050.00" torqueLoss="33.65"/> + <Entry inputSpeed="1500.00" inputTorque="1250.00" torqueLoss="37.65"/> + <Entry inputSpeed="1500.00" inputTorque="1450.00" torqueLoss="41.65"/> + <Entry inputSpeed="1500.00" inputTorque="1650.00" torqueLoss="45.65"/> + <Entry inputSpeed="1500.00" inputTorque="1850.00" torqueLoss="49.65"/> + <Entry inputSpeed="1500.00" inputTorque="2050.00" torqueLoss="53.65"/> + <Entry inputSpeed="1500.00" inputTorque="2250.00" torqueLoss="57.65"/> + <Entry inputSpeed="1500.00" inputTorque="3000.00" torqueLoss="61.65"/> + <Entry inputSpeed="1700.00" inputTorque="-350.00" torqueLoss="20.66"/> + <Entry inputSpeed="1700.00" inputTorque="-150.00" torqueLoss="16.66"/> + <Entry inputSpeed="1700.00" inputTorque="50.00" torqueLoss="14.66"/> + <Entry inputSpeed="1700.00" inputTorque="250.00" torqueLoss="18.66"/> + <Entry inputSpeed="1700.00" inputTorque="450.00" torqueLoss="22.66"/> + <Entry inputSpeed="1700.00" inputTorque="650.00" torqueLoss="26.66"/> + <Entry inputSpeed="1700.00" inputTorque="850.00" torqueLoss="30.66"/> + <Entry inputSpeed="1700.00" inputTorque="1050.00" torqueLoss="34.66"/> + <Entry inputSpeed="1700.00" inputTorque="1250.00" torqueLoss="38.66"/> + <Entry inputSpeed="1700.00" inputTorque="1450.00" torqueLoss="42.66"/> + <Entry inputSpeed="1700.00" inputTorque="1650.00" torqueLoss="46.66"/> + <Entry inputSpeed="1700.00" inputTorque="1850.00" torqueLoss="50.66"/> + <Entry inputSpeed="1700.00" inputTorque="2050.00" torqueLoss="54.66"/> + <Entry inputSpeed="1700.00" inputTorque="2250.00" torqueLoss="58.66"/> + <Entry inputSpeed="1700.00" inputTorque="3000.00" torqueLoss="62.66"/> + <Entry inputSpeed="1900.00" inputTorque="-350.00" torqueLoss="21.67"/> + <Entry inputSpeed="1900.00" inputTorque="-150.00" torqueLoss="17.67"/> + <Entry inputSpeed="1900.00" inputTorque="50.00" torqueLoss="15.67"/> + <Entry inputSpeed="1900.00" inputTorque="250.00" torqueLoss="19.67"/> + <Entry inputSpeed="1900.00" inputTorque="450.00" torqueLoss="23.67"/> + <Entry inputSpeed="1900.00" inputTorque="650.00" torqueLoss="27.67"/> + <Entry inputSpeed="1900.00" inputTorque="850.00" torqueLoss="31.67"/> + <Entry inputSpeed="1900.00" inputTorque="1050.00" torqueLoss="35.67"/> + <Entry inputSpeed="1900.00" inputTorque="1250.00" torqueLoss="39.67"/> + <Entry inputSpeed="1900.00" inputTorque="1450.00" torqueLoss="43.67"/> + <Entry inputSpeed="1900.00" inputTorque="1650.00" torqueLoss="47.67"/> + <Entry inputSpeed="1900.00" inputTorque="1850.00" torqueLoss="51.67"/> + <Entry inputSpeed="1900.00" inputTorque="2050.00" torqueLoss="55.67"/> + <Entry inputSpeed="1900.00" inputTorque="2250.00" torqueLoss="59.67"/> + <Entry inputSpeed="1900.00" inputTorque="3000.00" torqueLoss="63.67"/> + <Entry inputSpeed="2100.00" inputTorque="-350.00" torqueLoss="22.69"/> + <Entry inputSpeed="2100.00" inputTorque="-150.00" torqueLoss="18.69"/> + <Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/> + <Entry inputSpeed="2100.00" inputTorque="250.00" torqueLoss="20.69"/> + <Entry inputSpeed="2100.00" inputTorque="450.00" torqueLoss="24.69"/> + <Entry inputSpeed="2100.00" inputTorque="650.00" torqueLoss="28.69"/> + <Entry inputSpeed="2100.00" inputTorque="850.00" torqueLoss="32.69"/> + <Entry inputSpeed="2100.00" inputTorque="1050.00" torqueLoss="36.69"/> + <Entry inputSpeed="2100.00" inputTorque="1250.00" torqueLoss="40.69"/> + <Entry inputSpeed="2100.00" inputTorque="1450.00" torqueLoss="44.69"/> + <Entry inputSpeed="2100.00" inputTorque="1650.00" torqueLoss="48.69"/> + <Entry inputSpeed="2100.00" inputTorque="1850.00" torqueLoss="52.69"/> + <Entry inputSpeed="2100.00" inputTorque="2050.00" torqueLoss="56.69"/> + <Entry inputSpeed="2100.00" inputTorque="2250.00" torqueLoss="60.69"/> + <Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/> + <Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/> + <Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="25.56"/> + <Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="26.58"/> + <Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="27.59"/> + <Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="28.60"/> + <Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="29.61"/> + <Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="30.63"/> + <Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="31.64"/> + <Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="32.65"/> + <Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="33.66"/> + <Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="34.67"/> + <Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/> + </TorqueLossMap> + </Gear> + <Gear number="9"> + <Ratio>2.050</Ratio> + <MaxSpeed>2000</MaxSpeed> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="-350.00" torqueLoss="12.06"/> + <Entry inputSpeed="0.00" inputTorque="-150.00" torqueLoss="8.06"/> + <Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/> + <Entry inputSpeed="0.00" inputTorque="250.00" torqueLoss="10.06"/> + <Entry inputSpeed="0.00" inputTorque="450.00" torqueLoss="14.06"/> + <Entry inputSpeed="0.00" inputTorque="650.00" torqueLoss="18.06"/> + <Entry inputSpeed="0.00" inputTorque="850.00" torqueLoss="22.06"/> + <Entry inputSpeed="0.00" inputTorque="1050.00" torqueLoss="26.06"/> + <Entry inputSpeed="0.00" inputTorque="1250.00" torqueLoss="30.06"/> + <Entry inputSpeed="0.00" inputTorque="1450.00" torqueLoss="34.06"/> + <Entry inputSpeed="0.00" inputTorque="1650.00" torqueLoss="38.06"/> + <Entry inputSpeed="0.00" inputTorque="1850.00" torqueLoss="42.06"/> + <Entry inputSpeed="0.00" inputTorque="2050.00" torqueLoss="46.06"/> + <Entry inputSpeed="0.00" inputTorque="2250.00" torqueLoss="50.06"/> + <Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/> + <Entry inputSpeed="100.00" inputTorque="-350.00" torqueLoss="12.56"/> + <Entry inputSpeed="100.00" inputTorque="-150.00" torqueLoss="8.56"/> + <Entry inputSpeed="100.00" inputTorque="50.00" torqueLoss="6.56"/> + <Entry inputSpeed="100.00" inputTorque="250.00" torqueLoss="10.56"/> + <Entry inputSpeed="100.00" inputTorque="450.00" torqueLoss="14.56"/> + <Entry inputSpeed="100.00" inputTorque="650.00" torqueLoss="18.56"/> + <Entry inputSpeed="100.00" inputTorque="850.00" torqueLoss="22.56"/> + <Entry inputSpeed="100.00" inputTorque="1050.00" torqueLoss="26.56"/> + <Entry inputSpeed="100.00" inputTorque="1250.00" torqueLoss="30.56"/> + <Entry inputSpeed="100.00" inputTorque="1450.00" torqueLoss="34.56"/> + <Entry inputSpeed="100.00" inputTorque="1650.00" torqueLoss="38.56"/> + <Entry inputSpeed="100.00" inputTorque="1850.00" torqueLoss="42.56"/> + <Entry inputSpeed="100.00" inputTorque="2050.00" torqueLoss="46.56"/> + <Entry inputSpeed="100.00" inputTorque="2250.00" torqueLoss="50.56"/> + <Entry inputSpeed="100.00" inputTorque="3000.00" torqueLoss="54.56"/> + <Entry inputSpeed="300.00" inputTorque="-350.00" torqueLoss="13.58"/> + <Entry inputSpeed="300.00" inputTorque="-150.00" torqueLoss="9.58"/> + <Entry inputSpeed="300.00" inputTorque="50.00" torqueLoss="7.58"/> + <Entry inputSpeed="300.00" inputTorque="250.00" torqueLoss="11.58"/> + <Entry inputSpeed="300.00" inputTorque="450.00" torqueLoss="15.58"/> + <Entry inputSpeed="300.00" inputTorque="650.00" torqueLoss="19.58"/> + <Entry inputSpeed="300.00" inputTorque="850.00" torqueLoss="23.58"/> + <Entry inputSpeed="300.00" inputTorque="1050.00" torqueLoss="27.58"/> + <Entry inputSpeed="300.00" inputTorque="1250.00" torqueLoss="31.58"/> + <Entry inputSpeed="300.00" inputTorque="1450.00" torqueLoss="35.58"/> + <Entry inputSpeed="300.00" inputTorque="1650.00" torqueLoss="39.58"/> + <Entry inputSpeed="300.00" inputTorque="1850.00" torqueLoss="43.58"/> + <Entry inputSpeed="300.00" inputTorque="2050.00" torqueLoss="47.58"/> + <Entry inputSpeed="300.00" inputTorque="2250.00" torqueLoss="51.58"/> + <Entry inputSpeed="300.00" inputTorque="3000.00" torqueLoss="55.58"/> + <Entry inputSpeed="500.00" inputTorque="-350.00" torqueLoss="14.59"/> + <Entry inputSpeed="500.00" inputTorque="-150.00" torqueLoss="10.59"/> + <Entry inputSpeed="500.00" inputTorque="50.00" torqueLoss="8.59"/> + <Entry inputSpeed="500.00" inputTorque="250.00" torqueLoss="12.59"/> + <Entry inputSpeed="500.00" inputTorque="450.00" torqueLoss="16.59"/> + <Entry inputSpeed="500.00" inputTorque="650.00" torqueLoss="20.59"/> + <Entry inputSpeed="500.00" inputTorque="850.00" torqueLoss="24.59"/> + <Entry inputSpeed="500.00" inputTorque="1050.00" torqueLoss="28.59"/> + <Entry inputSpeed="500.00" inputTorque="1250.00" torqueLoss="32.59"/> + <Entry inputSpeed="500.00" inputTorque="1450.00" torqueLoss="36.59"/> + <Entry inputSpeed="500.00" inputTorque="1650.00" torqueLoss="40.59"/> + <Entry inputSpeed="500.00" inputTorque="1850.00" torqueLoss="44.59"/> + <Entry inputSpeed="500.00" inputTorque="2050.00" torqueLoss="48.59"/> + <Entry inputSpeed="500.00" inputTorque="2250.00" torqueLoss="52.59"/> + <Entry inputSpeed="500.00" inputTorque="3000.00" torqueLoss="56.59"/> + <Entry inputSpeed="700.00" inputTorque="-350.00" torqueLoss="15.60"/> + <Entry inputSpeed="700.00" inputTorque="-150.00" torqueLoss="11.60"/> + <Entry inputSpeed="700.00" inputTorque="50.00" torqueLoss="9.60"/> + <Entry inputSpeed="700.00" inputTorque="250.00" torqueLoss="13.60"/> + <Entry inputSpeed="700.00" inputTorque="450.00" torqueLoss="17.60"/> + <Entry inputSpeed="700.00" inputTorque="650.00" torqueLoss="21.60"/> + <Entry inputSpeed="700.00" inputTorque="850.00" torqueLoss="25.60"/> + <Entry inputSpeed="700.00" inputTorque="1050.00" torqueLoss="29.60"/> + <Entry inputSpeed="700.00" inputTorque="1250.00" torqueLoss="33.60"/> + <Entry inputSpeed="700.00" inputTorque="1450.00" torqueLoss="37.60"/> + <Entry inputSpeed="700.00" inputTorque="1650.00" torqueLoss="41.60"/> + <Entry inputSpeed="700.00" inputTorque="1850.00" torqueLoss="45.60"/> + <Entry inputSpeed="700.00" inputTorque="2050.00" torqueLoss="49.60"/> + <Entry inputSpeed="700.00" inputTorque="2250.00" torqueLoss="53.60"/> + <Entry inputSpeed="700.00" inputTorque="3000.00" torqueLoss="57.60"/> + <Entry inputSpeed="900.00" inputTorque="-350.00" torqueLoss="16.61"/> + <Entry inputSpeed="900.00" inputTorque="-150.00" torqueLoss="12.61"/> + <Entry inputSpeed="900.00" inputTorque="50.00" torqueLoss="10.61"/> + <Entry inputSpeed="900.00" inputTorque="250.00" torqueLoss="14.61"/> + <Entry inputSpeed="900.00" inputTorque="450.00" torqueLoss="18.61"/> + <Entry inputSpeed="900.00" inputTorque="650.00" torqueLoss="22.61"/> + <Entry inputSpeed="900.00" inputTorque="850.00" torqueLoss="26.61"/> + <Entry inputSpeed="900.00" inputTorque="1050.00" torqueLoss="30.61"/> + <Entry inputSpeed="900.00" inputTorque="1250.00" torqueLoss="34.61"/> + <Entry inputSpeed="900.00" inputTorque="1450.00" torqueLoss="38.61"/> + <Entry inputSpeed="900.00" inputTorque="1650.00" torqueLoss="42.61"/> + <Entry inputSpeed="900.00" inputTorque="1850.00" torqueLoss="46.61"/> + <Entry inputSpeed="900.00" inputTorque="2050.00" torqueLoss="50.61"/> + <Entry inputSpeed="900.00" inputTorque="2250.00" torqueLoss="54.61"/> + <Entry inputSpeed="900.00" inputTorque="3000.00" torqueLoss="58.61"/> + <Entry inputSpeed="1100.00" inputTorque="-350.00" torqueLoss="17.63"/> + <Entry inputSpeed="1100.00" inputTorque="-150.00" torqueLoss="13.63"/> + <Entry inputSpeed="1100.00" inputTorque="50.00" torqueLoss="11.63"/> + <Entry inputSpeed="1100.00" inputTorque="250.00" torqueLoss="15.63"/> + <Entry inputSpeed="1100.00" inputTorque="450.00" torqueLoss="19.63"/> + <Entry inputSpeed="1100.00" inputTorque="650.00" torqueLoss="23.63"/> + <Entry inputSpeed="1100.00" inputTorque="850.00" torqueLoss="27.63"/> + <Entry inputSpeed="1100.00" inputTorque="1050.00" torqueLoss="31.63"/> + <Entry inputSpeed="1100.00" inputTorque="1250.00" torqueLoss="35.63"/> + <Entry inputSpeed="1100.00" inputTorque="1450.00" torqueLoss="39.63"/> + <Entry inputSpeed="1100.00" inputTorque="1650.00" torqueLoss="43.63"/> + <Entry inputSpeed="1100.00" inputTorque="1850.00" torqueLoss="47.63"/> + <Entry inputSpeed="1100.00" inputTorque="2050.00" torqueLoss="51.63"/> + <Entry inputSpeed="1100.00" inputTorque="2250.00" torqueLoss="55.63"/> + <Entry inputSpeed="1100.00" inputTorque="3000.00" torqueLoss="59.63"/> + <Entry inputSpeed="1300.00" inputTorque="-350.00" torqueLoss="18.64"/> + <Entry inputSpeed="1300.00" inputTorque="-150.00" torqueLoss="14.64"/> + <Entry inputSpeed="1300.00" inputTorque="50.00" torqueLoss="12.64"/> + <Entry inputSpeed="1300.00" inputTorque="250.00" torqueLoss="16.64"/> + <Entry inputSpeed="1300.00" inputTorque="450.00" torqueLoss="20.64"/> + <Entry inputSpeed="1300.00" inputTorque="650.00" torqueLoss="24.64"/> + <Entry inputSpeed="1300.00" inputTorque="850.00" torqueLoss="28.64"/> + <Entry inputSpeed="1300.00" inputTorque="1050.00" torqueLoss="32.64"/> + <Entry inputSpeed="1300.00" inputTorque="1250.00" torqueLoss="36.64"/> + <Entry inputSpeed="1300.00" inputTorque="1450.00" torqueLoss="40.64"/> + <Entry inputSpeed="1300.00" inputTorque="1650.00" torqueLoss="44.64"/> + <Entry inputSpeed="1300.00" inputTorque="1850.00" torqueLoss="48.64"/> + <Entry inputSpeed="1300.00" inputTorque="2050.00" torqueLoss="52.64"/> + <Entry inputSpeed="1300.00" inputTorque="2250.00" torqueLoss="56.64"/> + <Entry inputSpeed="1300.00" inputTorque="3000.00" torqueLoss="60.64"/> + <Entry inputSpeed="1500.00" inputTorque="-350.00" torqueLoss="19.65"/> + <Entry inputSpeed="1500.00" inputTorque="-150.00" torqueLoss="15.65"/> + <Entry inputSpeed="1500.00" inputTorque="50.00" torqueLoss="13.65"/> + <Entry inputSpeed="1500.00" inputTorque="250.00" torqueLoss="17.65"/> + <Entry inputSpeed="1500.00" inputTorque="450.00" torqueLoss="21.65"/> + <Entry inputSpeed="1500.00" inputTorque="650.00" torqueLoss="25.65"/> + <Entry inputSpeed="1500.00" inputTorque="850.00" torqueLoss="29.65"/> + <Entry inputSpeed="1500.00" inputTorque="1050.00" torqueLoss="33.65"/> + <Entry inputSpeed="1500.00" inputTorque="1250.00" torqueLoss="37.65"/> + <Entry inputSpeed="1500.00" inputTorque="1450.00" torqueLoss="41.65"/> + <Entry inputSpeed="1500.00" inputTorque="1650.00" torqueLoss="45.65"/> + <Entry inputSpeed="1500.00" inputTorque="1850.00" torqueLoss="49.65"/> + <Entry inputSpeed="1500.00" inputTorque="2050.00" torqueLoss="53.65"/> + <Entry inputSpeed="1500.00" inputTorque="2250.00" torqueLoss="57.65"/> + <Entry inputSpeed="1500.00" inputTorque="3000.00" torqueLoss="61.65"/> + <Entry inputSpeed="1700.00" inputTorque="-350.00" torqueLoss="20.66"/> + <Entry inputSpeed="1700.00" inputTorque="-150.00" torqueLoss="16.66"/> + <Entry inputSpeed="1700.00" inputTorque="50.00" torqueLoss="14.66"/> + <Entry inputSpeed="1700.00" inputTorque="250.00" torqueLoss="18.66"/> + <Entry inputSpeed="1700.00" inputTorque="450.00" torqueLoss="22.66"/> + <Entry inputSpeed="1700.00" inputTorque="650.00" torqueLoss="26.66"/> + <Entry inputSpeed="1700.00" inputTorque="850.00" torqueLoss="30.66"/> + <Entry inputSpeed="1700.00" inputTorque="1050.00" torqueLoss="34.66"/> + <Entry inputSpeed="1700.00" inputTorque="1250.00" torqueLoss="38.66"/> + <Entry inputSpeed="1700.00" inputTorque="1450.00" torqueLoss="42.66"/> + <Entry inputSpeed="1700.00" inputTorque="1650.00" torqueLoss="46.66"/> + <Entry inputSpeed="1700.00" inputTorque="1850.00" torqueLoss="50.66"/> + <Entry inputSpeed="1700.00" inputTorque="2050.00" torqueLoss="54.66"/> + <Entry inputSpeed="1700.00" inputTorque="2250.00" torqueLoss="58.66"/> + <Entry inputSpeed="1700.00" inputTorque="3000.00" torqueLoss="62.66"/> + <Entry inputSpeed="1900.00" inputTorque="-350.00" torqueLoss="21.67"/> + <Entry inputSpeed="1900.00" inputTorque="-150.00" torqueLoss="17.67"/> + <Entry inputSpeed="1900.00" inputTorque="50.00" torqueLoss="15.67"/> + <Entry inputSpeed="1900.00" inputTorque="250.00" torqueLoss="19.67"/> + <Entry inputSpeed="1900.00" inputTorque="450.00" torqueLoss="23.67"/> + <Entry inputSpeed="1900.00" inputTorque="650.00" torqueLoss="27.67"/> + <Entry inputSpeed="1900.00" inputTorque="850.00" torqueLoss="31.67"/> + <Entry inputSpeed="1900.00" inputTorque="1050.00" torqueLoss="35.67"/> + <Entry inputSpeed="1900.00" inputTorque="1250.00" torqueLoss="39.67"/> + <Entry inputSpeed="1900.00" inputTorque="1450.00" torqueLoss="43.67"/> + <Entry inputSpeed="1900.00" inputTorque="1650.00" torqueLoss="47.67"/> + <Entry inputSpeed="1900.00" inputTorque="1850.00" torqueLoss="51.67"/> + <Entry inputSpeed="1900.00" inputTorque="2050.00" torqueLoss="55.67"/> + <Entry inputSpeed="1900.00" inputTorque="2250.00" torqueLoss="59.67"/> + <Entry inputSpeed="1900.00" inputTorque="3000.00" torqueLoss="63.67"/> + <Entry inputSpeed="2100.00" inputTorque="-350.00" torqueLoss="22.69"/> + <Entry inputSpeed="2100.00" inputTorque="-150.00" torqueLoss="18.69"/> + <Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/> + <Entry inputSpeed="2100.00" inputTorque="250.00" torqueLoss="20.69"/> + <Entry inputSpeed="2100.00" inputTorque="450.00" torqueLoss="24.69"/> + <Entry inputSpeed="2100.00" inputTorque="650.00" torqueLoss="28.69"/> + <Entry inputSpeed="2100.00" inputTorque="850.00" torqueLoss="32.69"/> + <Entry inputSpeed="2100.00" inputTorque="1050.00" torqueLoss="36.69"/> + <Entry inputSpeed="2100.00" inputTorque="1250.00" torqueLoss="40.69"/> + <Entry inputSpeed="2100.00" inputTorque="1450.00" torqueLoss="44.69"/> + <Entry inputSpeed="2100.00" inputTorque="1650.00" torqueLoss="48.69"/> + <Entry inputSpeed="2100.00" inputTorque="1850.00" torqueLoss="52.69"/> + <Entry inputSpeed="2100.00" inputTorque="2050.00" torqueLoss="56.69"/> + <Entry inputSpeed="2100.00" inputTorque="2250.00" torqueLoss="60.69"/> + <Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/> + <Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/> + <Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="25.56"/> + <Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="26.58"/> + <Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="27.59"/> + <Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="28.60"/> + <Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="29.61"/> + <Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="30.63"/> + <Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="31.64"/> + <Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="32.65"/> + <Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="33.66"/> + <Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="34.67"/> + <Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/> + </TorqueLossMap> + </Gear> + <Gear number="10"> + <Ratio>1.600</Ratio> + <MaxSpeed>2000</MaxSpeed> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="-350.00" torqueLoss="12.06"/> + <Entry inputSpeed="0.00" inputTorque="-150.00" torqueLoss="8.06"/> + <Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/> + <Entry inputSpeed="0.00" inputTorque="250.00" torqueLoss="10.06"/> + <Entry inputSpeed="0.00" inputTorque="450.00" torqueLoss="14.06"/> + <Entry inputSpeed="0.00" inputTorque="650.00" torqueLoss="18.06"/> + <Entry inputSpeed="0.00" inputTorque="850.00" torqueLoss="22.06"/> + <Entry inputSpeed="0.00" inputTorque="1050.00" torqueLoss="26.06"/> + <Entry inputSpeed="0.00" inputTorque="1250.00" torqueLoss="30.06"/> + <Entry inputSpeed="0.00" inputTorque="1450.00" torqueLoss="34.06"/> + <Entry inputSpeed="0.00" inputTorque="1650.00" torqueLoss="38.06"/> + <Entry inputSpeed="0.00" inputTorque="1850.00" torqueLoss="42.06"/> + <Entry inputSpeed="0.00" inputTorque="2050.00" torqueLoss="46.06"/> + <Entry inputSpeed="0.00" inputTorque="2250.00" torqueLoss="50.06"/> + <Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/> + <Entry inputSpeed="100.00" inputTorque="-350.00" torqueLoss="12.56"/> + <Entry inputSpeed="100.00" inputTorque="-150.00" torqueLoss="8.56"/> + <Entry inputSpeed="100.00" inputTorque="50.00" torqueLoss="6.56"/> + <Entry inputSpeed="100.00" inputTorque="250.00" torqueLoss="10.56"/> + <Entry inputSpeed="100.00" inputTorque="450.00" torqueLoss="14.56"/> + <Entry inputSpeed="100.00" inputTorque="650.00" torqueLoss="18.56"/> + <Entry inputSpeed="100.00" inputTorque="850.00" torqueLoss="22.56"/> + <Entry inputSpeed="100.00" inputTorque="1050.00" torqueLoss="26.56"/> + <Entry inputSpeed="100.00" inputTorque="1250.00" torqueLoss="30.56"/> + <Entry inputSpeed="100.00" inputTorque="1450.00" torqueLoss="34.56"/> + <Entry inputSpeed="100.00" inputTorque="1650.00" torqueLoss="38.56"/> + <Entry inputSpeed="100.00" inputTorque="1850.00" torqueLoss="42.56"/> + <Entry inputSpeed="100.00" inputTorque="2050.00" torqueLoss="46.56"/> + <Entry inputSpeed="100.00" inputTorque="2250.00" torqueLoss="50.56"/> + <Entry inputSpeed="100.00" inputTorque="3000.00" torqueLoss="54.56"/> + <Entry inputSpeed="300.00" inputTorque="-350.00" torqueLoss="13.58"/> + <Entry inputSpeed="300.00" inputTorque="-150.00" torqueLoss="9.58"/> + <Entry inputSpeed="300.00" inputTorque="50.00" torqueLoss="7.58"/> + <Entry inputSpeed="300.00" inputTorque="250.00" torqueLoss="11.58"/> + <Entry inputSpeed="300.00" inputTorque="450.00" torqueLoss="15.58"/> + <Entry inputSpeed="300.00" inputTorque="650.00" torqueLoss="19.58"/> + <Entry inputSpeed="300.00" inputTorque="850.00" torqueLoss="23.58"/> + <Entry inputSpeed="300.00" inputTorque="1050.00" torqueLoss="27.58"/> + <Entry inputSpeed="300.00" inputTorque="1250.00" torqueLoss="31.58"/> + <Entry inputSpeed="300.00" inputTorque="1450.00" torqueLoss="35.58"/> + <Entry inputSpeed="300.00" inputTorque="1650.00" torqueLoss="39.58"/> + <Entry inputSpeed="300.00" inputTorque="1850.00" torqueLoss="43.58"/> + <Entry inputSpeed="300.00" inputTorque="2050.00" torqueLoss="47.58"/> + <Entry inputSpeed="300.00" inputTorque="2250.00" torqueLoss="51.58"/> + <Entry inputSpeed="300.00" inputTorque="3000.00" torqueLoss="55.58"/> + <Entry inputSpeed="500.00" inputTorque="-350.00" torqueLoss="14.59"/> + <Entry inputSpeed="500.00" inputTorque="-150.00" torqueLoss="10.59"/> + <Entry inputSpeed="500.00" inputTorque="50.00" torqueLoss="8.59"/> + <Entry inputSpeed="500.00" inputTorque="250.00" torqueLoss="12.59"/> + <Entry inputSpeed="500.00" inputTorque="450.00" torqueLoss="16.59"/> + <Entry inputSpeed="500.00" inputTorque="650.00" torqueLoss="20.59"/> + <Entry inputSpeed="500.00" inputTorque="850.00" torqueLoss="24.59"/> + <Entry inputSpeed="500.00" inputTorque="1050.00" torqueLoss="28.59"/> + <Entry inputSpeed="500.00" inputTorque="1250.00" torqueLoss="32.59"/> + <Entry inputSpeed="500.00" inputTorque="1450.00" torqueLoss="36.59"/> + <Entry inputSpeed="500.00" inputTorque="1650.00" torqueLoss="40.59"/> + <Entry inputSpeed="500.00" inputTorque="1850.00" torqueLoss="44.59"/> + <Entry inputSpeed="500.00" inputTorque="2050.00" torqueLoss="48.59"/> + <Entry inputSpeed="500.00" inputTorque="2250.00" torqueLoss="52.59"/> + <Entry inputSpeed="500.00" inputTorque="3000.00" torqueLoss="56.59"/> + <Entry inputSpeed="700.00" inputTorque="-350.00" torqueLoss="15.60"/> + <Entry inputSpeed="700.00" inputTorque="-150.00" torqueLoss="11.60"/> + <Entry inputSpeed="700.00" inputTorque="50.00" torqueLoss="9.60"/> + <Entry inputSpeed="700.00" inputTorque="250.00" torqueLoss="13.60"/> + <Entry inputSpeed="700.00" inputTorque="450.00" torqueLoss="17.60"/> + <Entry inputSpeed="700.00" inputTorque="650.00" torqueLoss="21.60"/> + <Entry inputSpeed="700.00" inputTorque="850.00" torqueLoss="25.60"/> + <Entry inputSpeed="700.00" inputTorque="1050.00" torqueLoss="29.60"/> + <Entry inputSpeed="700.00" inputTorque="1250.00" torqueLoss="33.60"/> + <Entry inputSpeed="700.00" inputTorque="1450.00" torqueLoss="37.60"/> + <Entry inputSpeed="700.00" inputTorque="1650.00" torqueLoss="41.60"/> + <Entry inputSpeed="700.00" inputTorque="1850.00" torqueLoss="45.60"/> + <Entry inputSpeed="700.00" inputTorque="2050.00" torqueLoss="49.60"/> + <Entry inputSpeed="700.00" inputTorque="2250.00" torqueLoss="53.60"/> + <Entry inputSpeed="700.00" inputTorque="3000.00" torqueLoss="57.60"/> + <Entry inputSpeed="900.00" inputTorque="-350.00" torqueLoss="16.61"/> + <Entry inputSpeed="900.00" inputTorque="-150.00" torqueLoss="12.61"/> + <Entry inputSpeed="900.00" inputTorque="50.00" torqueLoss="10.61"/> + <Entry inputSpeed="900.00" inputTorque="250.00" torqueLoss="14.61"/> + <Entry inputSpeed="900.00" inputTorque="450.00" torqueLoss="18.61"/> + <Entry inputSpeed="900.00" inputTorque="650.00" torqueLoss="22.61"/> + <Entry inputSpeed="900.00" inputTorque="850.00" torqueLoss="26.61"/> + <Entry inputSpeed="900.00" inputTorque="1050.00" torqueLoss="30.61"/> + <Entry inputSpeed="900.00" inputTorque="1250.00" torqueLoss="34.61"/> + <Entry inputSpeed="900.00" inputTorque="1450.00" torqueLoss="38.61"/> + <Entry inputSpeed="900.00" inputTorque="1650.00" torqueLoss="42.61"/> + <Entry inputSpeed="900.00" inputTorque="1850.00" torqueLoss="46.61"/> + <Entry inputSpeed="900.00" inputTorque="2050.00" torqueLoss="50.61"/> + <Entry inputSpeed="900.00" inputTorque="2250.00" torqueLoss="54.61"/> + <Entry inputSpeed="900.00" inputTorque="3000.00" torqueLoss="58.61"/> + <Entry inputSpeed="1100.00" inputTorque="-350.00" torqueLoss="17.63"/> + <Entry inputSpeed="1100.00" inputTorque="-150.00" torqueLoss="13.63"/> + <Entry inputSpeed="1100.00" inputTorque="50.00" torqueLoss="11.63"/> + <Entry inputSpeed="1100.00" inputTorque="250.00" torqueLoss="15.63"/> + <Entry inputSpeed="1100.00" inputTorque="450.00" torqueLoss="19.63"/> + <Entry inputSpeed="1100.00" inputTorque="650.00" torqueLoss="23.63"/> + <Entry inputSpeed="1100.00" inputTorque="850.00" torqueLoss="27.63"/> + <Entry inputSpeed="1100.00" inputTorque="1050.00" torqueLoss="31.63"/> + <Entry inputSpeed="1100.00" inputTorque="1250.00" torqueLoss="35.63"/> + <Entry inputSpeed="1100.00" inputTorque="1450.00" torqueLoss="39.63"/> + <Entry inputSpeed="1100.00" inputTorque="1650.00" torqueLoss="43.63"/> + <Entry inputSpeed="1100.00" inputTorque="1850.00" torqueLoss="47.63"/> + <Entry inputSpeed="1100.00" inputTorque="2050.00" torqueLoss="51.63"/> + <Entry inputSpeed="1100.00" inputTorque="2250.00" torqueLoss="55.63"/> + <Entry inputSpeed="1100.00" inputTorque="3000.00" torqueLoss="59.63"/> + <Entry inputSpeed="1300.00" inputTorque="-350.00" torqueLoss="18.64"/> + <Entry inputSpeed="1300.00" inputTorque="-150.00" torqueLoss="14.64"/> + <Entry inputSpeed="1300.00" inputTorque="50.00" torqueLoss="12.64"/> + <Entry inputSpeed="1300.00" inputTorque="250.00" torqueLoss="16.64"/> + <Entry inputSpeed="1300.00" inputTorque="450.00" torqueLoss="20.64"/> + <Entry inputSpeed="1300.00" inputTorque="650.00" torqueLoss="24.64"/> + <Entry inputSpeed="1300.00" inputTorque="850.00" torqueLoss="28.64"/> + <Entry inputSpeed="1300.00" inputTorque="1050.00" torqueLoss="32.64"/> + <Entry inputSpeed="1300.00" inputTorque="1250.00" torqueLoss="36.64"/> + <Entry inputSpeed="1300.00" inputTorque="1450.00" torqueLoss="40.64"/> + <Entry inputSpeed="1300.00" inputTorque="1650.00" torqueLoss="44.64"/> + <Entry inputSpeed="1300.00" inputTorque="1850.00" torqueLoss="48.64"/> + <Entry inputSpeed="1300.00" inputTorque="2050.00" torqueLoss="52.64"/> + <Entry inputSpeed="1300.00" inputTorque="2250.00" torqueLoss="56.64"/> + <Entry inputSpeed="1300.00" inputTorque="3000.00" torqueLoss="60.64"/> + <Entry inputSpeed="1500.00" inputTorque="-350.00" torqueLoss="19.65"/> + <Entry inputSpeed="1500.00" inputTorque="-150.00" torqueLoss="15.65"/> + <Entry inputSpeed="1500.00" inputTorque="50.00" torqueLoss="13.65"/> + <Entry inputSpeed="1500.00" inputTorque="250.00" torqueLoss="17.65"/> + <Entry inputSpeed="1500.00" inputTorque="450.00" torqueLoss="21.65"/> + <Entry inputSpeed="1500.00" inputTorque="650.00" torqueLoss="25.65"/> + <Entry inputSpeed="1500.00" inputTorque="850.00" torqueLoss="29.65"/> + <Entry inputSpeed="1500.00" inputTorque="1050.00" torqueLoss="33.65"/> + <Entry inputSpeed="1500.00" inputTorque="1250.00" torqueLoss="37.65"/> + <Entry inputSpeed="1500.00" inputTorque="1450.00" torqueLoss="41.65"/> + <Entry inputSpeed="1500.00" inputTorque="1650.00" torqueLoss="45.65"/> + <Entry inputSpeed="1500.00" inputTorque="1850.00" torqueLoss="49.65"/> + <Entry inputSpeed="1500.00" inputTorque="2050.00" torqueLoss="53.65"/> + <Entry inputSpeed="1500.00" inputTorque="2250.00" torqueLoss="57.65"/> + <Entry inputSpeed="1500.00" inputTorque="3000.00" torqueLoss="61.65"/> + <Entry inputSpeed="1700.00" inputTorque="-350.00" torqueLoss="20.66"/> + <Entry inputSpeed="1700.00" inputTorque="-150.00" torqueLoss="16.66"/> + <Entry inputSpeed="1700.00" inputTorque="50.00" torqueLoss="14.66"/> + <Entry inputSpeed="1700.00" inputTorque="250.00" torqueLoss="18.66"/> + <Entry inputSpeed="1700.00" inputTorque="450.00" torqueLoss="22.66"/> + <Entry inputSpeed="1700.00" inputTorque="650.00" torqueLoss="26.66"/> + <Entry inputSpeed="1700.00" inputTorque="850.00" torqueLoss="30.66"/> + <Entry inputSpeed="1700.00" inputTorque="1050.00" torqueLoss="34.66"/> + <Entry inputSpeed="1700.00" inputTorque="1250.00" torqueLoss="38.66"/> + <Entry inputSpeed="1700.00" inputTorque="1450.00" torqueLoss="42.66"/> + <Entry inputSpeed="1700.00" inputTorque="1650.00" torqueLoss="46.66"/> + <Entry inputSpeed="1700.00" inputTorque="1850.00" torqueLoss="50.66"/> + <Entry inputSpeed="1700.00" inputTorque="2050.00" torqueLoss="54.66"/> + <Entry inputSpeed="1700.00" inputTorque="2250.00" torqueLoss="58.66"/> + <Entry inputSpeed="1700.00" inputTorque="3000.00" torqueLoss="62.66"/> + <Entry inputSpeed="1900.00" inputTorque="-350.00" torqueLoss="21.67"/> + <Entry inputSpeed="1900.00" inputTorque="-150.00" torqueLoss="17.67"/> + <Entry inputSpeed="1900.00" inputTorque="50.00" torqueLoss="15.67"/> + <Entry inputSpeed="1900.00" inputTorque="250.00" torqueLoss="19.67"/> + <Entry inputSpeed="1900.00" inputTorque="450.00" torqueLoss="23.67"/> + <Entry inputSpeed="1900.00" inputTorque="650.00" torqueLoss="27.67"/> + <Entry inputSpeed="1900.00" inputTorque="850.00" torqueLoss="31.67"/> + <Entry inputSpeed="1900.00" inputTorque="1050.00" torqueLoss="35.67"/> + <Entry inputSpeed="1900.00" inputTorque="1250.00" torqueLoss="39.67"/> + <Entry inputSpeed="1900.00" inputTorque="1450.00" torqueLoss="43.67"/> + <Entry inputSpeed="1900.00" inputTorque="1650.00" torqueLoss="47.67"/> + <Entry inputSpeed="1900.00" inputTorque="1850.00" torqueLoss="51.67"/> + <Entry inputSpeed="1900.00" inputTorque="2050.00" torqueLoss="55.67"/> + <Entry inputSpeed="1900.00" inputTorque="2250.00" torqueLoss="59.67"/> + <Entry inputSpeed="1900.00" inputTorque="3000.00" torqueLoss="63.67"/> + <Entry inputSpeed="2100.00" inputTorque="-350.00" torqueLoss="22.69"/> + <Entry inputSpeed="2100.00" inputTorque="-150.00" torqueLoss="18.69"/> + <Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/> + <Entry inputSpeed="2100.00" inputTorque="250.00" torqueLoss="20.69"/> + <Entry inputSpeed="2100.00" inputTorque="450.00" torqueLoss="24.69"/> + <Entry inputSpeed="2100.00" inputTorque="650.00" torqueLoss="28.69"/> + <Entry inputSpeed="2100.00" inputTorque="850.00" torqueLoss="32.69"/> + <Entry inputSpeed="2100.00" inputTorque="1050.00" torqueLoss="36.69"/> + <Entry inputSpeed="2100.00" inputTorque="1250.00" torqueLoss="40.69"/> + <Entry inputSpeed="2100.00" inputTorque="1450.00" torqueLoss="44.69"/> + <Entry inputSpeed="2100.00" inputTorque="1650.00" torqueLoss="48.69"/> + <Entry inputSpeed="2100.00" inputTorque="1850.00" torqueLoss="52.69"/> + <Entry inputSpeed="2100.00" inputTorque="2050.00" torqueLoss="56.69"/> + <Entry inputSpeed="2100.00" inputTorque="2250.00" torqueLoss="60.69"/> + <Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/> + <Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/> + <Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="25.56"/> + <Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="26.58"/> + <Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="27.59"/> + <Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="28.60"/> + <Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="29.61"/> + <Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="30.63"/> + <Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="31.64"/> + <Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="32.65"/> + <Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="33.66"/> + <Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="34.67"/> + <Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/> + </TorqueLossMap> + </Gear> + <Gear number="11"> + <Ratio>1.280</Ratio> + <MaxSpeed>2000</MaxSpeed> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="-350.00" torqueLoss="12.06"/> + <Entry inputSpeed="0.00" inputTorque="-150.00" torqueLoss="8.06"/> + <Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/> + <Entry inputSpeed="0.00" inputTorque="250.00" torqueLoss="10.06"/> + <Entry inputSpeed="0.00" inputTorque="450.00" torqueLoss="14.06"/> + <Entry inputSpeed="0.00" inputTorque="650.00" torqueLoss="18.06"/> + <Entry inputSpeed="0.00" inputTorque="850.00" torqueLoss="22.06"/> + <Entry inputSpeed="0.00" inputTorque="1050.00" torqueLoss="26.06"/> + <Entry inputSpeed="0.00" inputTorque="1250.00" torqueLoss="30.06"/> + <Entry inputSpeed="0.00" inputTorque="1450.00" torqueLoss="34.06"/> + <Entry inputSpeed="0.00" inputTorque="1650.00" torqueLoss="38.06"/> + <Entry inputSpeed="0.00" inputTorque="1850.00" torqueLoss="42.06"/> + <Entry inputSpeed="0.00" inputTorque="2050.00" torqueLoss="46.06"/> + <Entry inputSpeed="0.00" inputTorque="2250.00" torqueLoss="50.06"/> + <Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/> + <Entry inputSpeed="100.00" inputTorque="-350.00" torqueLoss="12.56"/> + <Entry inputSpeed="100.00" inputTorque="-150.00" torqueLoss="8.56"/> + <Entry inputSpeed="100.00" inputTorque="50.00" torqueLoss="6.56"/> + <Entry inputSpeed="100.00" inputTorque="250.00" torqueLoss="10.56"/> + <Entry inputSpeed="100.00" inputTorque="450.00" torqueLoss="14.56"/> + <Entry inputSpeed="100.00" inputTorque="650.00" torqueLoss="18.56"/> + <Entry inputSpeed="100.00" inputTorque="850.00" torqueLoss="22.56"/> + <Entry inputSpeed="100.00" inputTorque="1050.00" torqueLoss="26.56"/> + <Entry inputSpeed="100.00" inputTorque="1250.00" torqueLoss="30.56"/> + <Entry inputSpeed="100.00" inputTorque="1450.00" torqueLoss="34.56"/> + <Entry inputSpeed="100.00" inputTorque="1650.00" torqueLoss="38.56"/> + <Entry inputSpeed="100.00" inputTorque="1850.00" torqueLoss="42.56"/> + <Entry inputSpeed="100.00" inputTorque="2050.00" torqueLoss="46.56"/> + <Entry inputSpeed="100.00" inputTorque="2250.00" torqueLoss="50.56"/> + <Entry inputSpeed="100.00" inputTorque="3000.00" torqueLoss="54.56"/> + <Entry inputSpeed="300.00" inputTorque="-350.00" torqueLoss="13.58"/> + <Entry inputSpeed="300.00" inputTorque="-150.00" torqueLoss="9.58"/> + <Entry inputSpeed="300.00" inputTorque="50.00" torqueLoss="7.58"/> + <Entry inputSpeed="300.00" inputTorque="250.00" torqueLoss="11.58"/> + <Entry inputSpeed="300.00" inputTorque="450.00" torqueLoss="15.58"/> + <Entry inputSpeed="300.00" inputTorque="650.00" torqueLoss="19.58"/> + <Entry inputSpeed="300.00" inputTorque="850.00" torqueLoss="23.58"/> + <Entry inputSpeed="300.00" inputTorque="1050.00" torqueLoss="27.58"/> + <Entry inputSpeed="300.00" inputTorque="1250.00" torqueLoss="31.58"/> + <Entry inputSpeed="300.00" inputTorque="1450.00" torqueLoss="35.58"/> + <Entry inputSpeed="300.00" inputTorque="1650.00" torqueLoss="39.58"/> + <Entry inputSpeed="300.00" inputTorque="1850.00" torqueLoss="43.58"/> + <Entry inputSpeed="300.00" inputTorque="2050.00" torqueLoss="47.58"/> + <Entry inputSpeed="300.00" inputTorque="2250.00" torqueLoss="51.58"/> + <Entry inputSpeed="300.00" inputTorque="3000.00" torqueLoss="55.58"/> + <Entry inputSpeed="500.00" inputTorque="-350.00" torqueLoss="14.59"/> + <Entry inputSpeed="500.00" inputTorque="-150.00" torqueLoss="10.59"/> + <Entry inputSpeed="500.00" inputTorque="50.00" torqueLoss="8.59"/> + <Entry inputSpeed="500.00" inputTorque="250.00" torqueLoss="12.59"/> + <Entry inputSpeed="500.00" inputTorque="450.00" torqueLoss="16.59"/> + <Entry inputSpeed="500.00" inputTorque="650.00" torqueLoss="20.59"/> + <Entry inputSpeed="500.00" inputTorque="850.00" torqueLoss="24.59"/> + <Entry inputSpeed="500.00" inputTorque="1050.00" torqueLoss="28.59"/> + <Entry inputSpeed="500.00" inputTorque="1250.00" torqueLoss="32.59"/> + <Entry inputSpeed="500.00" inputTorque="1450.00" torqueLoss="36.59"/> + <Entry inputSpeed="500.00" inputTorque="1650.00" torqueLoss="40.59"/> + <Entry inputSpeed="500.00" inputTorque="1850.00" torqueLoss="44.59"/> + <Entry inputSpeed="500.00" inputTorque="2050.00" torqueLoss="48.59"/> + <Entry inputSpeed="500.00" inputTorque="2250.00" torqueLoss="52.59"/> + <Entry inputSpeed="500.00" inputTorque="3000.00" torqueLoss="56.59"/> + <Entry inputSpeed="700.00" inputTorque="-350.00" torqueLoss="15.60"/> + <Entry inputSpeed="700.00" inputTorque="-150.00" torqueLoss="11.60"/> + <Entry inputSpeed="700.00" inputTorque="50.00" torqueLoss="9.60"/> + <Entry inputSpeed="700.00" inputTorque="250.00" torqueLoss="13.60"/> + <Entry inputSpeed="700.00" inputTorque="450.00" torqueLoss="17.60"/> + <Entry inputSpeed="700.00" inputTorque="650.00" torqueLoss="21.60"/> + <Entry inputSpeed="700.00" inputTorque="850.00" torqueLoss="25.60"/> + <Entry inputSpeed="700.00" inputTorque="1050.00" torqueLoss="29.60"/> + <Entry inputSpeed="700.00" inputTorque="1250.00" torqueLoss="33.60"/> + <Entry inputSpeed="700.00" inputTorque="1450.00" torqueLoss="37.60"/> + <Entry inputSpeed="700.00" inputTorque="1650.00" torqueLoss="41.60"/> + <Entry inputSpeed="700.00" inputTorque="1850.00" torqueLoss="45.60"/> + <Entry inputSpeed="700.00" inputTorque="2050.00" torqueLoss="49.60"/> + <Entry inputSpeed="700.00" inputTorque="2250.00" torqueLoss="53.60"/> + <Entry inputSpeed="700.00" inputTorque="3000.00" torqueLoss="57.60"/> + <Entry inputSpeed="900.00" inputTorque="-350.00" torqueLoss="16.61"/> + <Entry inputSpeed="900.00" inputTorque="-150.00" torqueLoss="12.61"/> + <Entry inputSpeed="900.00" inputTorque="50.00" torqueLoss="10.61"/> + <Entry inputSpeed="900.00" inputTorque="250.00" torqueLoss="14.61"/> + <Entry inputSpeed="900.00" inputTorque="450.00" torqueLoss="18.61"/> + <Entry inputSpeed="900.00" inputTorque="650.00" torqueLoss="22.61"/> + <Entry inputSpeed="900.00" inputTorque="850.00" torqueLoss="26.61"/> + <Entry inputSpeed="900.00" inputTorque="1050.00" torqueLoss="30.61"/> + <Entry inputSpeed="900.00" inputTorque="1250.00" torqueLoss="34.61"/> + <Entry inputSpeed="900.00" inputTorque="1450.00" torqueLoss="38.61"/> + <Entry inputSpeed="900.00" inputTorque="1650.00" torqueLoss="42.61"/> + <Entry inputSpeed="900.00" inputTorque="1850.00" torqueLoss="46.61"/> + <Entry inputSpeed="900.00" inputTorque="2050.00" torqueLoss="50.61"/> + <Entry inputSpeed="900.00" inputTorque="2250.00" torqueLoss="54.61"/> + <Entry inputSpeed="900.00" inputTorque="3000.00" torqueLoss="58.61"/> + <Entry inputSpeed="1100.00" inputTorque="-350.00" torqueLoss="17.63"/> + <Entry inputSpeed="1100.00" inputTorque="-150.00" torqueLoss="13.63"/> + <Entry inputSpeed="1100.00" inputTorque="50.00" torqueLoss="11.63"/> + <Entry inputSpeed="1100.00" inputTorque="250.00" torqueLoss="15.63"/> + <Entry inputSpeed="1100.00" inputTorque="450.00" torqueLoss="19.63"/> + <Entry inputSpeed="1100.00" inputTorque="650.00" torqueLoss="23.63"/> + <Entry inputSpeed="1100.00" inputTorque="850.00" torqueLoss="27.63"/> + <Entry inputSpeed="1100.00" inputTorque="1050.00" torqueLoss="31.63"/> + <Entry inputSpeed="1100.00" inputTorque="1250.00" torqueLoss="35.63"/> + <Entry inputSpeed="1100.00" inputTorque="1450.00" torqueLoss="39.63"/> + <Entry inputSpeed="1100.00" inputTorque="1650.00" torqueLoss="43.63"/> + <Entry inputSpeed="1100.00" inputTorque="1850.00" torqueLoss="47.63"/> + <Entry inputSpeed="1100.00" inputTorque="2050.00" torqueLoss="51.63"/> + <Entry inputSpeed="1100.00" inputTorque="2250.00" torqueLoss="55.63"/> + <Entry inputSpeed="1100.00" inputTorque="3000.00" torqueLoss="59.63"/> + <Entry inputSpeed="1300.00" inputTorque="-350.00" torqueLoss="18.64"/> + <Entry inputSpeed="1300.00" inputTorque="-150.00" torqueLoss="14.64"/> + <Entry inputSpeed="1300.00" inputTorque="50.00" torqueLoss="12.64"/> + <Entry inputSpeed="1300.00" inputTorque="250.00" torqueLoss="16.64"/> + <Entry inputSpeed="1300.00" inputTorque="450.00" torqueLoss="20.64"/> + <Entry inputSpeed="1300.00" inputTorque="650.00" torqueLoss="24.64"/> + <Entry inputSpeed="1300.00" inputTorque="850.00" torqueLoss="28.64"/> + <Entry inputSpeed="1300.00" inputTorque="1050.00" torqueLoss="32.64"/> + <Entry inputSpeed="1300.00" inputTorque="1250.00" torqueLoss="36.64"/> + <Entry inputSpeed="1300.00" inputTorque="1450.00" torqueLoss="40.64"/> + <Entry inputSpeed="1300.00" inputTorque="1650.00" torqueLoss="44.64"/> + <Entry inputSpeed="1300.00" inputTorque="1850.00" torqueLoss="48.64"/> + <Entry inputSpeed="1300.00" inputTorque="2050.00" torqueLoss="52.64"/> + <Entry inputSpeed="1300.00" inputTorque="2250.00" torqueLoss="56.64"/> + <Entry inputSpeed="1300.00" inputTorque="3000.00" torqueLoss="60.64"/> + <Entry inputSpeed="1500.00" inputTorque="-350.00" torqueLoss="19.65"/> + <Entry inputSpeed="1500.00" inputTorque="-150.00" torqueLoss="15.65"/> + <Entry inputSpeed="1500.00" inputTorque="50.00" torqueLoss="13.65"/> + <Entry inputSpeed="1500.00" inputTorque="250.00" torqueLoss="17.65"/> + <Entry inputSpeed="1500.00" inputTorque="450.00" torqueLoss="21.65"/> + <Entry inputSpeed="1500.00" inputTorque="650.00" torqueLoss="25.65"/> + <Entry inputSpeed="1500.00" inputTorque="850.00" torqueLoss="29.65"/> + <Entry inputSpeed="1500.00" inputTorque="1050.00" torqueLoss="33.65"/> + <Entry inputSpeed="1500.00" inputTorque="1250.00" torqueLoss="37.65"/> + <Entry inputSpeed="1500.00" inputTorque="1450.00" torqueLoss="41.65"/> + <Entry inputSpeed="1500.00" inputTorque="1650.00" torqueLoss="45.65"/> + <Entry inputSpeed="1500.00" inputTorque="1850.00" torqueLoss="49.65"/> + <Entry inputSpeed="1500.00" inputTorque="2050.00" torqueLoss="53.65"/> + <Entry inputSpeed="1500.00" inputTorque="2250.00" torqueLoss="57.65"/> + <Entry inputSpeed="1500.00" inputTorque="3000.00" torqueLoss="61.65"/> + <Entry inputSpeed="1700.00" inputTorque="-350.00" torqueLoss="20.66"/> + <Entry inputSpeed="1700.00" inputTorque="-150.00" torqueLoss="16.66"/> + <Entry inputSpeed="1700.00" inputTorque="50.00" torqueLoss="14.66"/> + <Entry inputSpeed="1700.00" inputTorque="250.00" torqueLoss="18.66"/> + <Entry inputSpeed="1700.00" inputTorque="450.00" torqueLoss="22.66"/> + <Entry inputSpeed="1700.00" inputTorque="650.00" torqueLoss="26.66"/> + <Entry inputSpeed="1700.00" inputTorque="850.00" torqueLoss="30.66"/> + <Entry inputSpeed="1700.00" inputTorque="1050.00" torqueLoss="34.66"/> + <Entry inputSpeed="1700.00" inputTorque="1250.00" torqueLoss="38.66"/> + <Entry inputSpeed="1700.00" inputTorque="1450.00" torqueLoss="42.66"/> + <Entry inputSpeed="1700.00" inputTorque="1650.00" torqueLoss="46.66"/> + <Entry inputSpeed="1700.00" inputTorque="1850.00" torqueLoss="50.66"/> + <Entry inputSpeed="1700.00" inputTorque="2050.00" torqueLoss="54.66"/> + <Entry inputSpeed="1700.00" inputTorque="2250.00" torqueLoss="58.66"/> + <Entry inputSpeed="1700.00" inputTorque="3000.00" torqueLoss="62.66"/> + <Entry inputSpeed="1900.00" inputTorque="-350.00" torqueLoss="21.67"/> + <Entry inputSpeed="1900.00" inputTorque="-150.00" torqueLoss="17.67"/> + <Entry inputSpeed="1900.00" inputTorque="50.00" torqueLoss="15.67"/> + <Entry inputSpeed="1900.00" inputTorque="250.00" torqueLoss="19.67"/> + <Entry inputSpeed="1900.00" inputTorque="450.00" torqueLoss="23.67"/> + <Entry inputSpeed="1900.00" inputTorque="650.00" torqueLoss="27.67"/> + <Entry inputSpeed="1900.00" inputTorque="850.00" torqueLoss="31.67"/> + <Entry inputSpeed="1900.00" inputTorque="1050.00" torqueLoss="35.67"/> + <Entry inputSpeed="1900.00" inputTorque="1250.00" torqueLoss="39.67"/> + <Entry inputSpeed="1900.00" inputTorque="1450.00" torqueLoss="43.67"/> + <Entry inputSpeed="1900.00" inputTorque="1650.00" torqueLoss="47.67"/> + <Entry inputSpeed="1900.00" inputTorque="1850.00" torqueLoss="51.67"/> + <Entry inputSpeed="1900.00" inputTorque="2050.00" torqueLoss="55.67"/> + <Entry inputSpeed="1900.00" inputTorque="2250.00" torqueLoss="59.67"/> + <Entry inputSpeed="1900.00" inputTorque="3000.00" torqueLoss="63.67"/> + <Entry inputSpeed="2100.00" inputTorque="-350.00" torqueLoss="22.69"/> + <Entry inputSpeed="2100.00" inputTorque="-150.00" torqueLoss="18.69"/> + <Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/> + <Entry inputSpeed="2100.00" inputTorque="250.00" torqueLoss="20.69"/> + <Entry inputSpeed="2100.00" inputTorque="450.00" torqueLoss="24.69"/> + <Entry inputSpeed="2100.00" inputTorque="650.00" torqueLoss="28.69"/> + <Entry inputSpeed="2100.00" inputTorque="850.00" torqueLoss="32.69"/> + <Entry inputSpeed="2100.00" inputTorque="1050.00" torqueLoss="36.69"/> + <Entry inputSpeed="2100.00" inputTorque="1250.00" torqueLoss="40.69"/> + <Entry inputSpeed="2100.00" inputTorque="1450.00" torqueLoss="44.69"/> + <Entry inputSpeed="2100.00" inputTorque="1650.00" torqueLoss="48.69"/> + <Entry inputSpeed="2100.00" inputTorque="1850.00" torqueLoss="52.69"/> + <Entry inputSpeed="2100.00" inputTorque="2050.00" torqueLoss="56.69"/> + <Entry inputSpeed="2100.00" inputTorque="2250.00" torqueLoss="60.69"/> + <Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/> + <Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/> + <Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="25.56"/> + <Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="26.58"/> + <Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="27.59"/> + <Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="28.60"/> + <Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="29.61"/> + <Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="30.63"/> + <Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="31.64"/> + <Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="32.65"/> + <Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="33.66"/> + <Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="34.67"/> + <Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/> + </TorqueLossMap> + </Gear> + <Gear number="12"> + <Ratio>1.000</Ratio> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="-350.00" torqueLoss="6.81"/> + <Entry inputSpeed="0.00" inputTorque="-150.00" torqueLoss="5.81"/> + <Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="5.31"/> + <Entry inputSpeed="0.00" inputTorque="250.00" torqueLoss="6.31"/> + <Entry inputSpeed="0.00" inputTorque="450.00" torqueLoss="7.31"/> + <Entry inputSpeed="0.00" inputTorque="650.00" torqueLoss="8.31"/> + <Entry inputSpeed="0.00" inputTorque="850.00" torqueLoss="9.31"/> + <Entry inputSpeed="0.00" inputTorque="1050.00" torqueLoss="10.31"/> + <Entry inputSpeed="0.00" inputTorque="1250.00" torqueLoss="11.31"/> + <Entry inputSpeed="0.00" inputTorque="1450.00" torqueLoss="12.31"/> + <Entry inputSpeed="0.00" inputTorque="1650.00" torqueLoss="13.31"/> + <Entry inputSpeed="0.00" inputTorque="1850.00" torqueLoss="14.31"/> + <Entry inputSpeed="0.00" inputTorque="2050.00" torqueLoss="15.31"/> + <Entry inputSpeed="0.00" inputTorque="2250.00" torqueLoss="16.31"/> + <Entry inputSpeed="0.00" inputTorque="2800.00" torqueLoss="17.31"/> + <Entry inputSpeed="100.00" inputTorque="-350.00" torqueLoss="7.32"/> + <Entry inputSpeed="100.00" inputTorque="-150.00" torqueLoss="6.32"/> + <Entry inputSpeed="100.00" inputTorque="50.00" torqueLoss="5.82"/> + <Entry inputSpeed="100.00" inputTorque="250.00" torqueLoss="6.82"/> + <Entry inputSpeed="100.00" inputTorque="450.00" torqueLoss="7.82"/> + <Entry inputSpeed="100.00" inputTorque="650.00" torqueLoss="8.82"/> + <Entry inputSpeed="100.00" inputTorque="850.00" torqueLoss="9.82"/> + <Entry inputSpeed="100.00" inputTorque="1050.00" torqueLoss="10.82"/> + <Entry inputSpeed="100.00" inputTorque="1250.00" torqueLoss="11.82"/> + <Entry inputSpeed="100.00" inputTorque="1450.00" torqueLoss="12.82"/> + <Entry inputSpeed="100.00" inputTorque="1650.00" torqueLoss="13.82"/> + <Entry inputSpeed="100.00" inputTorque="1850.00" torqueLoss="14.82"/> + <Entry inputSpeed="100.00" inputTorque="2050.00" torqueLoss="15.82"/> + <Entry inputSpeed="100.00" inputTorque="2250.00" torqueLoss="16.82"/> + <Entry inputSpeed="100.00" inputTorque="2800.00" torqueLoss="17.82"/> + <Entry inputSpeed="300.00" inputTorque="-350.00" torqueLoss="8.33"/> + <Entry inputSpeed="300.00" inputTorque="-150.00" torqueLoss="7.33"/> + <Entry inputSpeed="300.00" inputTorque="50.00" torqueLoss="6.83"/> + <Entry inputSpeed="300.00" inputTorque="250.00" torqueLoss="7.83"/> + <Entry inputSpeed="300.00" inputTorque="450.00" torqueLoss="8.83"/> + <Entry inputSpeed="300.00" inputTorque="650.00" torqueLoss="9.83"/> + <Entry inputSpeed="300.00" inputTorque="850.00" torqueLoss="10.83"/> + <Entry inputSpeed="300.00" inputTorque="1050.00" torqueLoss="11.83"/> + <Entry inputSpeed="300.00" inputTorque="1250.00" torqueLoss="12.83"/> + <Entry inputSpeed="300.00" inputTorque="1450.00" torqueLoss="13.83"/> + <Entry inputSpeed="300.00" inputTorque="1650.00" torqueLoss="14.83"/> + <Entry inputSpeed="300.00" inputTorque="1850.00" torqueLoss="15.83"/> + <Entry inputSpeed="300.00" inputTorque="2050.00" torqueLoss="16.83"/> + <Entry inputSpeed="300.00" inputTorque="2250.00" torqueLoss="17.83"/> + <Entry inputSpeed="300.00" inputTorque="2800.00" torqueLoss="18.83"/> + <Entry inputSpeed="500.00" inputTorque="-350.00" torqueLoss="9.34"/> + <Entry inputSpeed="500.00" inputTorque="-150.00" torqueLoss="8.34"/> + <Entry inputSpeed="500.00" inputTorque="50.00" torqueLoss="7.84"/> + <Entry inputSpeed="500.00" inputTorque="250.00" torqueLoss="8.84"/> + <Entry inputSpeed="500.00" inputTorque="450.00" torqueLoss="9.84"/> + <Entry inputSpeed="500.00" inputTorque="650.00" torqueLoss="10.84"/> + <Entry inputSpeed="500.00" inputTorque="850.00" torqueLoss="11.84"/> + <Entry inputSpeed="500.00" inputTorque="1050.00" torqueLoss="12.84"/> + <Entry inputSpeed="500.00" inputTorque="1250.00" torqueLoss="13.84"/> + <Entry inputSpeed="500.00" inputTorque="1450.00" torqueLoss="14.84"/> + <Entry inputSpeed="500.00" inputTorque="1650.00" torqueLoss="15.84"/> + <Entry inputSpeed="500.00" inputTorque="1850.00" torqueLoss="16.84"/> + <Entry inputSpeed="500.00" inputTorque="2050.00" torqueLoss="17.84"/> + <Entry inputSpeed="500.00" inputTorque="2250.00" torqueLoss="18.84"/> + <Entry inputSpeed="500.00" inputTorque="2800.00" torqueLoss="19.84"/> + <Entry inputSpeed="700.00" inputTorque="-350.00" torqueLoss="10.35"/> + <Entry inputSpeed="700.00" inputTorque="-150.00" torqueLoss="9.35"/> + <Entry inputSpeed="700.00" inputTorque="50.00" torqueLoss="8.85"/> + <Entry inputSpeed="700.00" inputTorque="250.00" torqueLoss="9.85"/> + <Entry inputSpeed="700.00" inputTorque="450.00" torqueLoss="10.85"/> + <Entry inputSpeed="700.00" inputTorque="650.00" torqueLoss="11.85"/> + <Entry inputSpeed="700.00" inputTorque="850.00" torqueLoss="12.85"/> + <Entry inputSpeed="700.00" inputTorque="1050.00" torqueLoss="13.85"/> + <Entry inputSpeed="700.00" inputTorque="1250.00" torqueLoss="14.85"/> + <Entry inputSpeed="700.00" inputTorque="1450.00" torqueLoss="15.85"/> + <Entry inputSpeed="700.00" inputTorque="1650.00" torqueLoss="16.85"/> + <Entry inputSpeed="700.00" inputTorque="1850.00" torqueLoss="17.85"/> + <Entry inputSpeed="700.00" inputTorque="2050.00" torqueLoss="18.85"/> + <Entry inputSpeed="700.00" inputTorque="2250.00" torqueLoss="19.85"/> + <Entry inputSpeed="700.00" inputTorque="2800.00" torqueLoss="20.85"/> + <Entry inputSpeed="900.00" inputTorque="-350.00" torqueLoss="11.36"/> + <Entry inputSpeed="900.00" inputTorque="-150.00" torqueLoss="10.36"/> + <Entry inputSpeed="900.00" inputTorque="50.00" torqueLoss="9.86"/> + <Entry inputSpeed="900.00" inputTorque="250.00" torqueLoss="10.86"/> + <Entry inputSpeed="900.00" inputTorque="450.00" torqueLoss="11.86"/> + <Entry inputSpeed="900.00" inputTorque="650.00" torqueLoss="12.86"/> + <Entry inputSpeed="900.00" inputTorque="850.00" torqueLoss="13.86"/> + <Entry inputSpeed="900.00" inputTorque="1050.00" torqueLoss="14.86"/> + <Entry inputSpeed="900.00" inputTorque="1250.00" torqueLoss="15.86"/> + <Entry inputSpeed="900.00" inputTorque="1450.00" torqueLoss="16.86"/> + <Entry inputSpeed="900.00" inputTorque="1650.00" torqueLoss="17.86"/> + <Entry inputSpeed="900.00" inputTorque="1850.00" torqueLoss="18.86"/> + <Entry inputSpeed="900.00" inputTorque="2050.00" torqueLoss="19.86"/> + <Entry inputSpeed="900.00" inputTorque="2250.00" torqueLoss="20.86"/> + <Entry inputSpeed="900.00" inputTorque="2800.00" torqueLoss="21.86"/> + <Entry inputSpeed="1100.00" inputTorque="-350.00" torqueLoss="12.37"/> + <Entry inputSpeed="1100.00" inputTorque="-150.00" torqueLoss="11.37"/> + <Entry inputSpeed="1100.00" inputTorque="50.00" torqueLoss="10.88"/> + <Entry inputSpeed="1100.00" inputTorque="250.00" torqueLoss="11.88"/> + <Entry inputSpeed="1100.00" inputTorque="450.00" torqueLoss="12.88"/> + <Entry inputSpeed="1100.00" inputTorque="650.00" torqueLoss="13.88"/> + <Entry inputSpeed="1100.00" inputTorque="850.00" torqueLoss="14.88"/> + <Entry inputSpeed="1100.00" inputTorque="1050.00" torqueLoss="15.88"/> + <Entry inputSpeed="1100.00" inputTorque="1250.00" torqueLoss="16.88"/> + <Entry inputSpeed="1100.00" inputTorque="1450.00" torqueLoss="17.88"/> + <Entry inputSpeed="1100.00" inputTorque="1650.00" torqueLoss="18.88"/> + <Entry inputSpeed="1100.00" inputTorque="1850.00" torqueLoss="19.88"/> + <Entry inputSpeed="1100.00" inputTorque="2050.00" torqueLoss="20.88"/> + <Entry inputSpeed="1100.00" inputTorque="2250.00" torqueLoss="21.88"/> + <Entry inputSpeed="1100.00" inputTorque="2800.00" torqueLoss="22.88"/> + <Entry inputSpeed="1300.00" inputTorque="-350.00" torqueLoss="13.39"/> + <Entry inputSpeed="1300.00" inputTorque="-150.00" torqueLoss="12.39"/> + <Entry inputSpeed="1300.00" inputTorque="50.00" torqueLoss="11.89"/> + <Entry inputSpeed="1300.00" inputTorque="250.00" torqueLoss="12.89"/> + <Entry inputSpeed="1300.00" inputTorque="450.00" torqueLoss="13.89"/> + <Entry inputSpeed="1300.00" inputTorque="650.00" torqueLoss="14.89"/> + <Entry inputSpeed="1300.00" inputTorque="850.00" torqueLoss="15.89"/> + <Entry inputSpeed="1300.00" inputTorque="1050.00" torqueLoss="16.89"/> + <Entry inputSpeed="1300.00" inputTorque="1250.00" torqueLoss="17.89"/> + <Entry inputSpeed="1300.00" inputTorque="1450.00" torqueLoss="18.89"/> + <Entry inputSpeed="1300.00" inputTorque="1650.00" torqueLoss="19.89"/> + <Entry inputSpeed="1300.00" inputTorque="1850.00" torqueLoss="20.89"/> + <Entry inputSpeed="1300.00" inputTorque="2050.00" torqueLoss="21.89"/> + <Entry inputSpeed="1300.00" inputTorque="2250.00" torqueLoss="22.89"/> + <Entry inputSpeed="1300.00" inputTorque="2800.00" torqueLoss="23.89"/> + <Entry inputSpeed="1500.00" inputTorque="-350.00" torqueLoss="14.40"/> + <Entry inputSpeed="1500.00" inputTorque="-150.00" torqueLoss="13.40"/> + <Entry inputSpeed="1500.00" inputTorque="50.00" torqueLoss="12.90"/> + <Entry inputSpeed="1500.00" inputTorque="250.00" torqueLoss="13.90"/> + <Entry inputSpeed="1500.00" inputTorque="450.00" torqueLoss="14.90"/> + <Entry inputSpeed="1500.00" inputTorque="650.00" torqueLoss="15.90"/> + <Entry inputSpeed="1500.00" inputTorque="850.00" torqueLoss="16.90"/> + <Entry inputSpeed="1500.00" inputTorque="1050.00" torqueLoss="17.90"/> + <Entry inputSpeed="1500.00" inputTorque="1250.00" torqueLoss="18.90"/> + <Entry inputSpeed="1500.00" inputTorque="1450.00" torqueLoss="19.90"/> + <Entry inputSpeed="1500.00" inputTorque="1650.00" torqueLoss="20.90"/> + <Entry inputSpeed="1500.00" inputTorque="1850.00" torqueLoss="21.90"/> + <Entry inputSpeed="1500.00" inputTorque="2050.00" torqueLoss="22.90"/> + <Entry inputSpeed="1500.00" inputTorque="2250.00" torqueLoss="23.90"/> + <Entry inputSpeed="1500.00" inputTorque="2800.00" torqueLoss="24.90"/> + <Entry inputSpeed="1700.00" inputTorque="-350.00" torqueLoss="15.41"/> + <Entry inputSpeed="1700.00" inputTorque="-150.00" torqueLoss="14.41"/> + <Entry inputSpeed="1700.00" inputTorque="50.00" torqueLoss="13.91"/> + <Entry inputSpeed="1700.00" inputTorque="250.00" torqueLoss="14.91"/> + <Entry inputSpeed="1700.00" inputTorque="450.00" torqueLoss="15.91"/> + <Entry inputSpeed="1700.00" inputTorque="650.00" torqueLoss="16.91"/> + <Entry inputSpeed="1700.00" inputTorque="850.00" torqueLoss="17.91"/> + <Entry inputSpeed="1700.00" inputTorque="1050.00" torqueLoss="18.91"/> + <Entry inputSpeed="1700.00" inputTorque="1250.00" torqueLoss="19.91"/> + <Entry inputSpeed="1700.00" inputTorque="1450.00" torqueLoss="20.91"/> + <Entry inputSpeed="1700.00" inputTorque="1650.00" torqueLoss="21.91"/> + <Entry inputSpeed="1700.00" inputTorque="1850.00" torqueLoss="22.91"/> + <Entry inputSpeed="1700.00" inputTorque="2050.00" torqueLoss="23.91"/> + <Entry inputSpeed="1700.00" inputTorque="2250.00" torqueLoss="24.91"/> + <Entry inputSpeed="1700.00" inputTorque="2800.00" torqueLoss="25.91"/> + <Entry inputSpeed="1900.00" inputTorque="-350.00" torqueLoss="16.42"/> + <Entry inputSpeed="1900.00" inputTorque="-150.00" torqueLoss="15.42"/> + <Entry inputSpeed="1900.00" inputTorque="50.00" torqueLoss="14.92"/> + <Entry inputSpeed="1900.00" inputTorque="250.00" torqueLoss="15.92"/> + <Entry inputSpeed="1900.00" inputTorque="450.00" torqueLoss="16.92"/> + <Entry inputSpeed="1900.00" inputTorque="650.00" torqueLoss="17.92"/> + <Entry inputSpeed="1900.00" inputTorque="850.00" torqueLoss="18.92"/> + <Entry inputSpeed="1900.00" inputTorque="1050.00" torqueLoss="19.92"/> + <Entry inputSpeed="1900.00" inputTorque="1250.00" torqueLoss="20.92"/> + <Entry inputSpeed="1900.00" inputTorque="1450.00" torqueLoss="21.92"/> + <Entry inputSpeed="1900.00" inputTorque="1650.00" torqueLoss="22.92"/> + <Entry inputSpeed="1900.00" inputTorque="1850.00" torqueLoss="23.92"/> + <Entry inputSpeed="1900.00" inputTorque="2050.00" torqueLoss="24.92"/> + <Entry inputSpeed="1900.00" inputTorque="2250.00" torqueLoss="25.92"/> + <Entry inputSpeed="1900.00" inputTorque="2800.00" torqueLoss="26.92"/> + <Entry inputSpeed="2100.00" inputTorque="-350.00" torqueLoss="17.43"/> + <Entry inputSpeed="2100.00" inputTorque="-150.00" torqueLoss="16.43"/> + <Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="15.94"/> + <Entry inputSpeed="2100.00" inputTorque="250.00" torqueLoss="16.94"/> + <Entry inputSpeed="2100.00" inputTorque="450.00" torqueLoss="17.94"/> + <Entry inputSpeed="2100.00" inputTorque="650.00" torqueLoss="18.94"/> + <Entry inputSpeed="2100.00" inputTorque="850.00" torqueLoss="19.94"/> + <Entry inputSpeed="2100.00" inputTorque="1050.00" torqueLoss="20.94"/> + <Entry inputSpeed="2100.00" inputTorque="1250.00" torqueLoss="21.94"/> + <Entry inputSpeed="2100.00" inputTorque="1450.00" torqueLoss="22.94"/> + <Entry inputSpeed="2100.00" inputTorque="1650.00" torqueLoss="23.94"/> + <Entry inputSpeed="2100.00" inputTorque="1850.00" torqueLoss="24.94"/> + <Entry inputSpeed="2100.00" inputTorque="2050.00" torqueLoss="25.94"/> + <Entry inputSpeed="2100.00" inputTorque="2250.00" torqueLoss="26.94"/> + <Entry inputSpeed="2100.00" inputTorque="2800.00" torqueLoss="27.94"/> + <Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="10.06"/> + <Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="10.56"/> + <Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="11.58"/> + <Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="12.59"/> + <Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="13.60"/> + <Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="14.61"/> + <Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="15.63"/> + <Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="16.64"/> + <Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="17.65"/> + <Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="18.66"/> + <Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="19.67"/> + <Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="20.69"/> + </TorqueLossMap> + </Gear> + </Gears> + </Data> + <Signature> + <di:Reference URI="#gbx-vi2Oak2N"> + <di:Transforms> + <di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/> + <di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> + </di:Transforms> + <di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> + <di:DigestValue>ieNmjofFObDBGnB7+GX9of3HYe3ydK/ra+YvmULVJIk=</di:DigestValue> + </di:Reference> + </Signature> + </v2.6:Gearbox> + <v2.6:TorqueConverter xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xsi:type="TorqueConverterComponentDeclarationType"> + <Data id="tc-123xyz" xsi:type="TorqueConverterDataDeclarationType"> + <Manufacturer>Some Manufacturer</Manufacturer> + <Model>Some Model</Model> + <CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber> + <Date>2017-02-15T11:00:00Z</Date> + <AppVersion>TC CalcApp 123</AppVersion> + <CertificationMethod>Standard values</CertificationMethod> + <Characteristics> + <Entry speedRatio="0.0000" torqueRatio="1.00" inputTorqueRef="300.00"/> + <Entry speedRatio="0.5000" torqueRatio="1.00" inputTorqueRef="200.00"/> + <Entry speedRatio="0.9000" torqueRatio="0.90" inputTorqueRef="200.00"/> + </Characteristics> + </Data> + <Signature> + <di:Reference URI="#tc-123xyz"> + <di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> + <di:DigestValue>q2sumDwsqQKLw4xwkEllgsygF5bHBwZPSS66UNaXXis=</di:DigestValue> + </di:Reference> + </Signature> + </v2.6:TorqueConverter> + <v2.6:Angledrive xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xsi:type="AngledriveComponentDeclarationType"> + <Data id="agl-vi2Oak2N" xsi:type="AngledriveDataDeclarationType"> + <Manufacturer>Generic Gearbox Manufacturer</Manufacturer> + <Model>Generic 40t Long Haul Truck Gearbox</Model> + <CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber> + <Date>2017-01-11T11:00:00Z</Date> + <AppVersion>3.0.1</AppVersion> + <Ratio>2.345</Ratio> + <CertificationMethod>Standard values</CertificationMethod> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="-10000.00" torqueLoss="100.00"/> + <Entry inputSpeed="1000.00" inputTorque="-1000.00" torqueLoss="100.00"/> + <Entry inputSpeed="0.00" inputTorque="0.00" torqueLoss="10.00"/> + <Entry inputSpeed="1000.00" inputTorque="0.00" torqueLoss="10.00"/> + <Entry inputSpeed="0.00" inputTorque="10000.00" torqueLoss="100.00"/> + <Entry inputSpeed="1000.00" inputTorque="1000.00" torqueLoss="100.00"/> + </TorqueLossMap> + </Data> + <Signature> + <di:Reference URI="#agl-vi2Oak2N"> + <di:Transforms> + <di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/> + <di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> + </di:Transforms> + <di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> + <di:DigestValue>1tuF9SoA8luoUBQGym4bYi1TurDSmcYqBDJ6AP20OSs=</di:DigestValue> + </di:Reference> + </Signature> + </v2.6:Angledrive> + <v2.6:Retarder xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xsi:type="RetarderComponentDeclarationType"> + <Data id="RET-Shai9imi" xsi:type="RetarderDataDeclarationType"> + <Manufacturer>Generic Retarder Manufacturer</Manufacturer> + <Model>Generic Retarder</Model> + <CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber> + <Date>2017-01-11T11:00:00Z</Date> + <AppVersion>3.0.1</AppVersion> + <CertificationMethod>Standard values</CertificationMethod> + <RetarderLossMap> + <Entry retarderSpeed="0.00" torqueLoss="10.00"/> + <Entry retarderSpeed="100.00" torqueLoss="10.02"/> + <Entry retarderSpeed="200.00" torqueLoss="10.08"/> + <Entry retarderSpeed="300.00" torqueLoss="10.18"/> + <Entry retarderSpeed="400.00" torqueLoss="10.32"/> + <Entry retarderSpeed="500.00" torqueLoss="10.50"/> + <Entry retarderSpeed="600.00" torqueLoss="10.72"/> + <Entry retarderSpeed="700.00" torqueLoss="10.98"/> + <Entry retarderSpeed="800.00" torqueLoss="11.28"/> + <Entry retarderSpeed="900.00" torqueLoss="11.62"/> + <Entry retarderSpeed="1000.00" torqueLoss="12.00"/> + <Entry retarderSpeed="1100.00" torqueLoss="12.42"/> + <Entry retarderSpeed="1200.00" torqueLoss="12.88"/> + <Entry retarderSpeed="1300.00" torqueLoss="13.38"/> + <Entry retarderSpeed="1400.00" torqueLoss="13.92"/> + <Entry retarderSpeed="1500.00" torqueLoss="14.50"/> + <Entry retarderSpeed="1600.00" torqueLoss="15.12"/> + <Entry retarderSpeed="1700.00" torqueLoss="15.78"/> + <Entry retarderSpeed="1800.00" torqueLoss="16.48"/> + <Entry retarderSpeed="1900.00" torqueLoss="17.22"/> + <Entry retarderSpeed="2000.00" torqueLoss="18.00"/> + <Entry retarderSpeed="2100.00" torqueLoss="18.82"/> + <Entry retarderSpeed="2200.00" torqueLoss="19.68"/> + <Entry retarderSpeed="2300.00" torqueLoss="20.58"/> + </RetarderLossMap> + </Data> + <Signature> + <di:Reference URI="#RET-Shai9imi"> + <di:Transforms> + <di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/> + <di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> + </di:Transforms> + <di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> + <di:DigestValue>fcEtYfDAbfuRq0xpuzapmEj+Py1PIPUZwVmx+amNvcc=</di:DigestValue> + </di:Reference> + </Signature> + </v2.6:Retarder> + <v2.6:Axlegear xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xsi:type="AxlegearComponentDeclarationType"> + <Data id="AXL-EC3ohnoh" xsi:type="AxlegearDataDeclarationType"> + <Manufacturer>Generic Gearbox Manufacturer</Manufacturer> + <Model>Generic 40t Long Haul Truck AxleGear</Model> + <CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber> + <Date>2017-01-11T11:00:00Z</Date> + <AppVersion>3.0.1</AppVersion> + <LineType>Single portal axle</LineType> + <Ratio>2.590</Ratio> + <CertificationMethod>Standard values</CertificationMethod> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="-5000.00" torqueLoss="115.00"/> + <Entry inputSpeed="0.00" inputTorque="-4000.00" torqueLoss="100.00"/> + <Entry inputSpeed="0.00" inputTorque="-3000.00" torqueLoss="85.00"/> + <Entry inputSpeed="300.00" inputTorque="14000.00" torqueLoss="250.00"/> + <Entry inputSpeed="300.00" inputTorque="15000.00" torqueLoss="265.00"/> + <Entry inputSpeed="300.00" inputTorque="16000.00" torqueLoss="280.00"/> + <Entry inputSpeed="300.00" inputTorque="17000.00" torqueLoss="295.00"/> + <Entry inputSpeed="300.00" inputTorque="18000.00" torqueLoss="310.00"/> + <Entry inputSpeed="300.00" inputTorque="19000.00" torqueLoss="325.00"/> + <Entry inputSpeed="300.00" inputTorque="20000.00" torqueLoss="340.00"/> + <Entry inputSpeed="300.00" inputTorque="21000.00" torqueLoss="355.00"/> + <Entry inputSpeed="0.00" inputTorque="-2000.00" torqueLoss="70.00"/> + <Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="55.00"/> + <Entry inputSpeed="0.00" inputTorque="0.00" torqueLoss="40.00"/> + <Entry inputSpeed="0.00" inputTorque="1000.00" torqueLoss="55.00"/> + <Entry inputSpeed="0.00" inputTorque="2000.00" torqueLoss="70.00"/> + <Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="85.00"/> + <Entry inputSpeed="0.00" inputTorque="4000.00" torqueLoss="100.00"/> + <Entry inputSpeed="0.00" inputTorque="5000.00" torqueLoss="115.00"/> + <Entry inputSpeed="0.00" inputTorque="6000.00" torqueLoss="130.00"/> + <Entry inputSpeed="0.00" inputTorque="7000.00" torqueLoss="145.00"/> + <Entry inputSpeed="0.00" inputTorque="8000.00" torqueLoss="160.00"/> + <Entry inputSpeed="0.00" inputTorque="9000.00" torqueLoss="175.00"/> + <Entry inputSpeed="0.00" inputTorque="10000.00" torqueLoss="190.00"/> + <Entry inputSpeed="0.00" inputTorque="11000.00" torqueLoss="205.00"/> + <Entry inputSpeed="0.00" inputTorque="12000.00" torqueLoss="220.00"/> + <Entry inputSpeed="0.00" inputTorque="13000.00" torqueLoss="235.00"/> + <Entry inputSpeed="0.00" inputTorque="14000.00" torqueLoss="250.00"/> + <Entry inputSpeed="0.00" inputTorque="15000.00" torqueLoss="265.00"/> + <Entry inputSpeed="100.00" inputTorque="9000.00" torqueLoss="175.00"/> + <Entry inputSpeed="100.00" inputTorque="10000.00" torqueLoss="190.00"/> + <Entry inputSpeed="100.00" inputTorque="11000.00" torqueLoss="205.00"/> + <Entry inputSpeed="100.00" inputTorque="12000.00" torqueLoss="220.00"/> + <Entry inputSpeed="100.00" inputTorque="13000.00" torqueLoss="235.00"/> + <Entry inputSpeed="100.00" inputTorque="14000.00" torqueLoss="250.00"/> + <Entry inputSpeed="100.00" inputTorque="15000.00" torqueLoss="265.00"/> + <Entry inputSpeed="100.00" inputTorque="16000.00" torqueLoss="280.00"/> + <Entry inputSpeed="0.00" inputTorque="16000.00" torqueLoss="280.00"/> + <Entry inputSpeed="0.00" inputTorque="21000.00" torqueLoss="355.00"/> + <Entry inputSpeed="0.00" inputTorque="22000.00" torqueLoss="370.00"/> + <Entry inputSpeed="0.00" inputTorque="23000.00" torqueLoss="385.00"/> + <Entry inputSpeed="0.00" inputTorque="24000.00" torqueLoss="400.00"/> + <Entry inputSpeed="0.00" inputTorque="25000.00" torqueLoss="415.00"/> + <Entry inputSpeed="0.00" inputTorque="26000.00" torqueLoss="430.00"/> + <Entry inputSpeed="0.00" inputTorque="27000.00" torqueLoss="445.00"/> + <Entry inputSpeed="0.00" inputTorque="28000.00" torqueLoss="460.00"/> + <Entry inputSpeed="0.00" inputTorque="29000.00" torqueLoss="475.00"/> + <Entry inputSpeed="0.00" inputTorque="30000.00" torqueLoss="490.00"/> + <Entry inputSpeed="0.00" inputTorque="31000.00" torqueLoss="505.00"/> + <Entry inputSpeed="0.00" inputTorque="32000.00" torqueLoss="520.00"/> + <Entry inputSpeed="0.00" inputTorque="33000.00" torqueLoss="535.00"/> + <Entry inputSpeed="0.00" inputTorque="34000.00" torqueLoss="550.00"/> + <Entry inputSpeed="0.00" inputTorque="35000.00" torqueLoss="565.00"/> + <Entry inputSpeed="100.00" inputTorque="-5000.00" torqueLoss="115.00"/> + <Entry inputSpeed="100.00" inputTorque="-4000.00" torqueLoss="100.00"/> + <Entry inputSpeed="100.00" inputTorque="-3000.00" torqueLoss="85.00"/> + <Entry inputSpeed="100.00" inputTorque="-2000.00" torqueLoss="70.00"/> + <Entry inputSpeed="0.00" inputTorque="17000.00" torqueLoss="295.00"/> + <Entry inputSpeed="0.00" inputTorque="18000.00" torqueLoss="310.00"/> + <Entry inputSpeed="0.00" inputTorque="19000.00" torqueLoss="325.00"/> + <Entry inputSpeed="0.00" inputTorque="20000.00" torqueLoss="340.00"/> + <Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="55.00"/> + <Entry inputSpeed="100.00" inputTorque="0.00" torqueLoss="40.00"/> + <Entry inputSpeed="100.00" inputTorque="1000.00" torqueLoss="55.00"/> + <Entry inputSpeed="100.00" inputTorque="2000.00" torqueLoss="70.00"/> + <Entry inputSpeed="100.00" inputTorque="3000.00" torqueLoss="85.00"/> + <Entry inputSpeed="100.00" inputTorque="4000.00" torqueLoss="100.00"/> + <Entry inputSpeed="100.00" inputTorque="5000.00" torqueLoss="115.00"/> + <Entry inputSpeed="100.00" inputTorque="6000.00" torqueLoss="130.00"/> + <Entry inputSpeed="100.00" inputTorque="7000.00" torqueLoss="145.00"/> + <Entry inputSpeed="100.00" inputTorque="8000.00" torqueLoss="160.00"/> + <Entry inputSpeed="100.00" inputTorque="17000.00" torqueLoss="295.00"/> + <Entry inputSpeed="100.00" inputTorque="18000.00" torqueLoss="310.00"/> + <Entry inputSpeed="100.00" inputTorque="19000.00" torqueLoss="325.00"/> + <Entry inputSpeed="100.00" inputTorque="20000.00" torqueLoss="340.00"/> + <Entry inputSpeed="100.00" inputTorque="21000.00" torqueLoss="355.00"/> + <Entry inputSpeed="100.00" inputTorque="22000.00" torqueLoss="370.00"/> + <Entry inputSpeed="100.00" inputTorque="23000.00" torqueLoss="385.00"/> + <Entry inputSpeed="100.00" inputTorque="24000.00" torqueLoss="400.00"/> + <Entry inputSpeed="100.00" inputTorque="25000.00" torqueLoss="415.00"/> + <Entry inputSpeed="100.00" inputTorque="26000.00" torqueLoss="430.00"/> + <Entry inputSpeed="100.00" inputTorque="27000.00" torqueLoss="445.00"/> + <Entry inputSpeed="100.00" inputTorque="28000.00" torqueLoss="460.00"/> + <Entry inputSpeed="100.00" inputTorque="29000.00" torqueLoss="475.00"/> + <Entry inputSpeed="100.00" inputTorque="30000.00" torqueLoss="490.00"/> + <Entry inputSpeed="100.00" inputTorque="31000.00" torqueLoss="505.00"/> + <Entry inputSpeed="100.00" inputTorque="32000.00" torqueLoss="520.00"/> + <Entry inputSpeed="100.00" inputTorque="33000.00" torqueLoss="535.00"/> + <Entry inputSpeed="100.00" inputTorque="34000.00" torqueLoss="550.00"/> + <Entry inputSpeed="100.00" inputTorque="35000.00" torqueLoss="565.00"/> + <Entry inputSpeed="300.00" inputTorque="-5000.00" torqueLoss="115.00"/> + <Entry inputSpeed="300.00" inputTorque="-4000.00" torqueLoss="100.00"/> + <Entry inputSpeed="300.00" inputTorque="-3000.00" torqueLoss="85.00"/> + <Entry inputSpeed="300.00" inputTorque="-2000.00" torqueLoss="70.00"/> + <Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="55.00"/> + <Entry inputSpeed="300.00" inputTorque="0.00" torqueLoss="40.00"/> + <Entry inputSpeed="300.00" inputTorque="1000.00" torqueLoss="55.00"/> + <Entry inputSpeed="300.00" inputTorque="2000.00" torqueLoss="70.00"/> + <Entry inputSpeed="300.00" inputTorque="3000.00" torqueLoss="85.00"/> + <Entry inputSpeed="300.00" inputTorque="4000.00" torqueLoss="100.00"/> + <Entry inputSpeed="300.00" inputTorque="5000.00" torqueLoss="115.00"/> + <Entry inputSpeed="300.00" inputTorque="6000.00" torqueLoss="130.00"/> + <Entry inputSpeed="300.00" inputTorque="7000.00" torqueLoss="145.00"/> + <Entry inputSpeed="300.00" inputTorque="8000.00" torqueLoss="160.00"/> + <Entry inputSpeed="300.00" inputTorque="9000.00" torqueLoss="175.00"/> + <Entry inputSpeed="300.00" inputTorque="10000.00" torqueLoss="190.00"/> + <Entry inputSpeed="300.00" inputTorque="11000.00" torqueLoss="205.00"/> + <Entry inputSpeed="300.00" inputTorque="12000.00" torqueLoss="220.00"/> + <Entry inputSpeed="300.00" inputTorque="13000.00" torqueLoss="235.00"/> + <Entry inputSpeed="300.00" inputTorque="22000.00" torqueLoss="370.00"/> + <Entry inputSpeed="300.00" inputTorque="23000.00" torqueLoss="385.00"/> + <Entry inputSpeed="300.00" inputTorque="24000.00" torqueLoss="400.00"/> + <Entry inputSpeed="300.00" inputTorque="25000.00" torqueLoss="415.00"/> + <Entry inputSpeed="300.00" inputTorque="26000.00" torqueLoss="430.00"/> + <Entry inputSpeed="300.00" inputTorque="27000.00" torqueLoss="445.00"/> + <Entry inputSpeed="300.00" inputTorque="28000.00" torqueLoss="460.00"/> + <Entry inputSpeed="300.00" inputTorque="29000.00" torqueLoss="475.00"/> + <Entry inputSpeed="300.00" inputTorque="30000.00" torqueLoss="490.00"/> + <Entry inputSpeed="300.00" inputTorque="31000.00" torqueLoss="505.00"/> + <Entry inputSpeed="300.00" inputTorque="32000.00" torqueLoss="520.00"/> + <Entry inputSpeed="300.00" inputTorque="33000.00" torqueLoss="535.00"/> + <Entry inputSpeed="300.00" inputTorque="34000.00" torqueLoss="550.00"/> + <Entry inputSpeed="300.00" inputTorque="35000.00" torqueLoss="565.00"/> + <Entry inputSpeed="500.00" inputTorque="-5000.00" torqueLoss="115.00"/> + <Entry inputSpeed="500.00" inputTorque="-4000.00" torqueLoss="100.00"/> + <Entry inputSpeed="500.00" inputTorque="-3000.00" torqueLoss="85.00"/> + <Entry inputSpeed="500.00" inputTorque="-2000.00" torqueLoss="70.00"/> + <Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="55.00"/> + <Entry inputSpeed="500.00" inputTorque="0.00" torqueLoss="40.00"/> + <Entry inputSpeed="500.00" inputTorque="1000.00" torqueLoss="55.00"/> + <Entry inputSpeed="500.00" inputTorque="2000.00" torqueLoss="70.00"/> + <Entry inputSpeed="500.00" inputTorque="3000.00" torqueLoss="85.00"/> + <Entry inputSpeed="500.00" inputTorque="4000.00" torqueLoss="100.00"/> + <Entry inputSpeed="500.00" inputTorque="5000.00" torqueLoss="115.00"/> + <Entry inputSpeed="500.00" inputTorque="6000.00" torqueLoss="130.00"/> + <Entry inputSpeed="500.00" inputTorque="7000.00" torqueLoss="145.00"/> + <Entry inputSpeed="500.00" inputTorque="8000.00" torqueLoss="160.00"/> + <Entry inputSpeed="500.00" inputTorque="9000.00" torqueLoss="175.00"/> + <Entry inputSpeed="500.00" inputTorque="10000.00" torqueLoss="190.00"/> + <Entry inputSpeed="500.00" inputTorque="11000.00" torqueLoss="205.00"/> + <Entry inputSpeed="500.00" inputTorque="12000.00" torqueLoss="220.00"/> + <Entry inputSpeed="500.00" inputTorque="13000.00" torqueLoss="235.00"/> + <Entry inputSpeed="500.00" inputTorque="14000.00" torqueLoss="250.00"/> + <Entry inputSpeed="500.00" inputTorque="15000.00" torqueLoss="265.00"/> + <Entry inputSpeed="500.00" inputTorque="16000.00" torqueLoss="280.00"/> + <Entry inputSpeed="500.00" inputTorque="17000.00" torqueLoss="295.00"/> + <Entry inputSpeed="500.00" inputTorque="18000.00" torqueLoss="310.00"/> + <Entry inputSpeed="500.00" inputTorque="19000.00" torqueLoss="325.00"/> + <Entry inputSpeed="500.00" inputTorque="20000.00" torqueLoss="340.00"/> + <Entry inputSpeed="500.00" inputTorque="21000.00" torqueLoss="355.00"/> + <Entry inputSpeed="500.00" inputTorque="22000.00" torqueLoss="370.00"/> + <Entry inputSpeed="500.00" inputTorque="23000.00" torqueLoss="385.00"/> + <Entry inputSpeed="500.00" inputTorque="24000.00" torqueLoss="400.00"/> + <Entry inputSpeed="500.00" inputTorque="25000.00" torqueLoss="415.00"/> + <Entry inputSpeed="500.00" inputTorque="26000.00" torqueLoss="430.00"/> + <Entry inputSpeed="500.00" inputTorque="27000.00" torqueLoss="445.00"/> + <Entry inputSpeed="500.00" inputTorque="28000.00" torqueLoss="460.00"/> + <Entry inputSpeed="500.00" inputTorque="29000.00" torqueLoss="475.00"/> + <Entry inputSpeed="500.00" inputTorque="30000.00" torqueLoss="490.00"/> + <Entry inputSpeed="500.00" inputTorque="31000.00" torqueLoss="505.00"/> + <Entry inputSpeed="500.00" inputTorque="32000.00" torqueLoss="520.00"/> + <Entry inputSpeed="500.00" inputTorque="33000.00" torqueLoss="535.00"/> + <Entry inputSpeed="500.00" inputTorque="34000.00" torqueLoss="550.00"/> + <Entry inputSpeed="500.00" inputTorque="35000.00" torqueLoss="565.00"/> + <Entry inputSpeed="700.00" inputTorque="-5000.00" torqueLoss="115.00"/> + <Entry inputSpeed="700.00" inputTorque="-4000.00" torqueLoss="100.00"/> + <Entry inputSpeed="700.00" inputTorque="-3000.00" torqueLoss="85.00"/> + <Entry inputSpeed="700.00" inputTorque="-2000.00" torqueLoss="70.00"/> + <Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="55.00"/> + <Entry inputSpeed="700.00" inputTorque="0.00" torqueLoss="40.00"/> + <Entry inputSpeed="700.00" inputTorque="1000.00" torqueLoss="55.00"/> + <Entry inputSpeed="700.00" inputTorque="2000.00" torqueLoss="70.00"/> + <Entry inputSpeed="700.00" inputTorque="3000.00" torqueLoss="85.00"/> + <Entry inputSpeed="700.00" inputTorque="4000.00" torqueLoss="100.00"/> + <Entry inputSpeed="700.00" inputTorque="5000.00" torqueLoss="115.00"/> + <Entry inputSpeed="700.00" inputTorque="6000.00" torqueLoss="130.00"/> + <Entry inputSpeed="700.00" inputTorque="7000.00" torqueLoss="145.00"/> + <Entry inputSpeed="700.00" inputTorque="8000.00" torqueLoss="160.00"/> + <Entry inputSpeed="700.00" inputTorque="9000.00" torqueLoss="175.00"/> + <Entry inputSpeed="700.00" inputTorque="10000.00" torqueLoss="190.00"/> + <Entry inputSpeed="700.00" inputTorque="11000.00" torqueLoss="205.00"/> + <Entry inputSpeed="700.00" inputTorque="12000.00" torqueLoss="220.00"/> + <Entry inputSpeed="700.00" inputTorque="13000.00" torqueLoss="235.00"/> + <Entry inputSpeed="700.00" inputTorque="14000.00" torqueLoss="250.00"/> + <Entry inputSpeed="700.00" inputTorque="15000.00" torqueLoss="265.00"/> + <Entry inputSpeed="700.00" inputTorque="16000.00" torqueLoss="280.00"/> + <Entry inputSpeed="700.00" inputTorque="17000.00" torqueLoss="295.00"/> + <Entry inputSpeed="700.00" inputTorque="18000.00" torqueLoss="310.00"/> + <Entry inputSpeed="700.00" inputTorque="19000.00" torqueLoss="325.00"/> + <Entry inputSpeed="700.00" inputTorque="20000.00" torqueLoss="340.00"/> + <Entry inputSpeed="700.00" inputTorque="21000.00" torqueLoss="355.00"/> + <Entry inputSpeed="700.00" inputTorque="22000.00" torqueLoss="370.00"/> + <Entry inputSpeed="700.00" inputTorque="23000.00" torqueLoss="385.00"/> + <Entry inputSpeed="700.00" inputTorque="24000.00" torqueLoss="400.00"/> + <Entry inputSpeed="700.00" inputTorque="25000.00" torqueLoss="415.00"/> + <Entry inputSpeed="700.00" inputTorque="26000.00" torqueLoss="430.00"/> + <Entry inputSpeed="700.00" inputTorque="27000.00" torqueLoss="445.00"/> + <Entry inputSpeed="700.00" inputTorque="28000.00" torqueLoss="460.00"/> + <Entry inputSpeed="700.00" inputTorque="29000.00" torqueLoss="475.00"/> + <Entry inputSpeed="700.00" inputTorque="30000.00" torqueLoss="490.00"/> + <Entry inputSpeed="700.00" inputTorque="31000.00" torqueLoss="505.00"/> + <Entry inputSpeed="700.00" inputTorque="32000.00" torqueLoss="520.00"/> + <Entry inputSpeed="700.00" inputTorque="33000.00" torqueLoss="535.00"/> + <Entry inputSpeed="700.00" inputTorque="34000.00" torqueLoss="550.00"/> + <Entry inputSpeed="700.00" inputTorque="35000.00" torqueLoss="565.00"/> + <Entry inputSpeed="900.00" inputTorque="-5000.00" torqueLoss="115.00"/> + <Entry inputSpeed="900.00" inputTorque="-4000.00" torqueLoss="100.00"/> + <Entry inputSpeed="900.00" inputTorque="-3000.00" torqueLoss="85.00"/> + <Entry inputSpeed="900.00" inputTorque="-2000.00" torqueLoss="70.00"/> + <Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="55.00"/> + <Entry inputSpeed="900.00" inputTorque="0.00" torqueLoss="40.00"/> + <Entry inputSpeed="900.00" inputTorque="1000.00" torqueLoss="55.00"/> + <Entry inputSpeed="900.00" inputTorque="2000.00" torqueLoss="70.00"/> + <Entry inputSpeed="900.00" inputTorque="3000.00" torqueLoss="85.00"/> + <Entry inputSpeed="900.00" inputTorque="4000.00" torqueLoss="100.00"/> + <Entry inputSpeed="900.00" inputTorque="5000.00" torqueLoss="115.00"/> + <Entry inputSpeed="900.00" inputTorque="6000.00" torqueLoss="130.00"/> + <Entry inputSpeed="900.00" inputTorque="7000.00" torqueLoss="145.00"/> + <Entry inputSpeed="900.00" inputTorque="8000.00" torqueLoss="160.00"/> + <Entry inputSpeed="900.00" inputTorque="9000.00" torqueLoss="175.00"/> + <Entry inputSpeed="900.00" inputTorque="10000.00" torqueLoss="190.00"/> + <Entry inputSpeed="900.00" inputTorque="11000.00" torqueLoss="205.00"/> + <Entry inputSpeed="900.00" inputTorque="12000.00" torqueLoss="220.00"/> + <Entry inputSpeed="900.00" inputTorque="13000.00" torqueLoss="235.00"/> + <Entry inputSpeed="900.00" inputTorque="14000.00" torqueLoss="250.00"/> + <Entry inputSpeed="900.00" inputTorque="15000.00" torqueLoss="265.00"/> + <Entry inputSpeed="900.00" inputTorque="16000.00" torqueLoss="280.00"/> + <Entry inputSpeed="900.00" inputTorque="17000.00" torqueLoss="295.00"/> + <Entry inputSpeed="900.00" inputTorque="18000.00" torqueLoss="310.00"/> + <Entry inputSpeed="900.00" inputTorque="19000.00" torqueLoss="325.00"/> + <Entry inputSpeed="900.00" inputTorque="20000.00" torqueLoss="340.00"/> + <Entry inputSpeed="900.00" inputTorque="21000.00" torqueLoss="355.00"/> + <Entry inputSpeed="900.00" inputTorque="22000.00" torqueLoss="370.00"/> + <Entry inputSpeed="900.00" inputTorque="23000.00" torqueLoss="385.00"/> + <Entry inputSpeed="900.00" inputTorque="24000.00" torqueLoss="400.00"/> + <Entry inputSpeed="900.00" inputTorque="25000.00" torqueLoss="415.00"/> + <Entry inputSpeed="900.00" inputTorque="26000.00" torqueLoss="430.00"/> + <Entry inputSpeed="900.00" inputTorque="27000.00" torqueLoss="445.00"/> + <Entry inputSpeed="900.00" inputTorque="28000.00" torqueLoss="460.00"/> + <Entry inputSpeed="900.00" inputTorque="29000.00" torqueLoss="475.00"/> + <Entry inputSpeed="900.00" inputTorque="30000.00" torqueLoss="490.00"/> + <Entry inputSpeed="900.00" inputTorque="31000.00" torqueLoss="505.00"/> + <Entry inputSpeed="900.00" inputTorque="32000.00" torqueLoss="520.00"/> + <Entry inputSpeed="900.00" inputTorque="33000.00" torqueLoss="535.00"/> + <Entry inputSpeed="900.00" inputTorque="34000.00" torqueLoss="550.00"/> + <Entry inputSpeed="900.00" inputTorque="35000.00" torqueLoss="565.00"/> + <Entry inputSpeed="1100.00" inputTorque="-5000.00" torqueLoss="115.00"/> + <Entry inputSpeed="1100.00" inputTorque="-4000.00" torqueLoss="100.00"/> + <Entry inputSpeed="1100.00" inputTorque="-3000.00" torqueLoss="85.00"/> + <Entry inputSpeed="1100.00" inputTorque="-2000.00" torqueLoss="70.00"/> + <Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="55.00"/> + <Entry inputSpeed="1100.00" inputTorque="0.00" torqueLoss="40.00"/> + <Entry inputSpeed="1100.00" inputTorque="1000.00" torqueLoss="55.00"/> + <Entry inputSpeed="1100.00" inputTorque="2000.00" torqueLoss="70.00"/> + <Entry inputSpeed="1100.00" inputTorque="3000.00" torqueLoss="85.00"/> + <Entry inputSpeed="1100.00" inputTorque="4000.00" torqueLoss="100.00"/> + <Entry inputSpeed="1100.00" inputTorque="5000.00" torqueLoss="115.00"/> + <Entry inputSpeed="1100.00" inputTorque="6000.00" torqueLoss="130.00"/> + <Entry inputSpeed="1100.00" inputTorque="7000.00" torqueLoss="145.00"/> + <Entry inputSpeed="1100.00" inputTorque="8000.00" torqueLoss="160.00"/> + <Entry inputSpeed="1100.00" inputTorque="9000.00" torqueLoss="175.00"/> + <Entry inputSpeed="1100.00" inputTorque="10000.00" torqueLoss="190.00"/> + <Entry inputSpeed="1100.00" inputTorque="11000.00" torqueLoss="205.00"/> + <Entry inputSpeed="1100.00" inputTorque="12000.00" torqueLoss="220.00"/> + <Entry inputSpeed="1100.00" inputTorque="13000.00" torqueLoss="235.00"/> + <Entry inputSpeed="1100.00" inputTorque="14000.00" torqueLoss="250.00"/> + <Entry inputSpeed="1100.00" inputTorque="15000.00" torqueLoss="265.00"/> + <Entry inputSpeed="1100.00" inputTorque="16000.00" torqueLoss="280.00"/> + <Entry inputSpeed="1100.00" inputTorque="17000.00" torqueLoss="295.00"/> + <Entry inputSpeed="1100.00" inputTorque="18000.00" torqueLoss="310.00"/> + <Entry inputSpeed="1100.00" inputTorque="19000.00" torqueLoss="325.00"/> + <Entry inputSpeed="1100.00" inputTorque="20000.00" torqueLoss="340.00"/> + <Entry inputSpeed="1100.00" inputTorque="21000.00" torqueLoss="355.00"/> + <Entry inputSpeed="1100.00" inputTorque="22000.00" torqueLoss="370.00"/> + <Entry inputSpeed="1100.00" inputTorque="23000.00" torqueLoss="385.00"/> + <Entry inputSpeed="1100.00" inputTorque="24000.00" torqueLoss="400.00"/> + <Entry inputSpeed="1100.00" inputTorque="25000.00" torqueLoss="415.00"/> + <Entry inputSpeed="1100.00" inputTorque="26000.00" torqueLoss="430.00"/> + <Entry inputSpeed="1100.00" inputTorque="27000.00" torqueLoss="445.00"/> + <Entry inputSpeed="1100.00" inputTorque="28000.00" torqueLoss="460.00"/> + <Entry inputSpeed="1100.00" inputTorque="29000.00" torqueLoss="475.00"/> + <Entry inputSpeed="1100.00" inputTorque="30000.00" torqueLoss="490.00"/> + <Entry inputSpeed="1100.00" inputTorque="31000.00" torqueLoss="505.00"/> + <Entry inputSpeed="1100.00" inputTorque="32000.00" torqueLoss="520.00"/> + <Entry inputSpeed="1100.00" inputTorque="33000.00" torqueLoss="535.00"/> + <Entry inputSpeed="1100.00" inputTorque="34000.00" torqueLoss="550.00"/> + <Entry inputSpeed="1100.00" inputTorque="35000.00" torqueLoss="565.00"/> + <Entry inputSpeed="1300.00" inputTorque="-5000.00" torqueLoss="115.00"/> + <Entry inputSpeed="1300.00" inputTorque="-4000.00" torqueLoss="100.00"/> + <Entry inputSpeed="1300.00" inputTorque="-3000.00" torqueLoss="85.00"/> + <Entry inputSpeed="1300.00" inputTorque="-2000.00" torqueLoss="70.00"/> + <Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="55.00"/> + <Entry inputSpeed="1300.00" inputTorque="0.00" torqueLoss="40.00"/> + <Entry inputSpeed="1300.00" inputTorque="1000.00" torqueLoss="55.00"/> + <Entry inputSpeed="1300.00" inputTorque="2000.00" torqueLoss="70.00"/> + <Entry inputSpeed="1300.00" inputTorque="3000.00" torqueLoss="85.00"/> + <Entry inputSpeed="1300.00" inputTorque="4000.00" torqueLoss="100.00"/> + <Entry inputSpeed="1300.00" inputTorque="5000.00" torqueLoss="115.00"/> + <Entry inputSpeed="1300.00" inputTorque="6000.00" torqueLoss="130.00"/> + <Entry inputSpeed="1300.00" inputTorque="7000.00" torqueLoss="145.00"/> + <Entry inputSpeed="1300.00" inputTorque="8000.00" torqueLoss="160.00"/> + <Entry inputSpeed="1300.00" inputTorque="9000.00" torqueLoss="175.00"/> + <Entry inputSpeed="1300.00" inputTorque="10000.00" torqueLoss="190.00"/> + <Entry inputSpeed="1300.00" inputTorque="11000.00" torqueLoss="205.00"/> + <Entry inputSpeed="1300.00" inputTorque="12000.00" torqueLoss="220.00"/> + <Entry inputSpeed="1300.00" inputTorque="13000.00" torqueLoss="235.00"/> + <Entry inputSpeed="1300.00" inputTorque="14000.00" torqueLoss="250.00"/> + <Entry inputSpeed="1300.00" inputTorque="15000.00" torqueLoss="265.00"/> + <Entry inputSpeed="1300.00" inputTorque="16000.00" torqueLoss="280.00"/> + <Entry inputSpeed="1300.00" inputTorque="17000.00" torqueLoss="295.00"/> + <Entry inputSpeed="1300.00" inputTorque="18000.00" torqueLoss="310.00"/> + <Entry inputSpeed="1300.00" inputTorque="19000.00" torqueLoss="325.00"/> + <Entry inputSpeed="1300.00" inputTorque="20000.00" torqueLoss="340.00"/> + <Entry inputSpeed="1300.00" inputTorque="21000.00" torqueLoss="355.00"/> + <Entry inputSpeed="1300.00" inputTorque="22000.00" torqueLoss="370.00"/> + <Entry inputSpeed="1300.00" inputTorque="23000.00" torqueLoss="385.00"/> + <Entry inputSpeed="1300.00" inputTorque="24000.00" torqueLoss="400.00"/> + <Entry inputSpeed="1300.00" inputTorque="25000.00" torqueLoss="415.00"/> + <Entry inputSpeed="1300.00" inputTorque="26000.00" torqueLoss="430.00"/> + <Entry inputSpeed="1300.00" inputTorque="27000.00" torqueLoss="445.00"/> + <Entry inputSpeed="1300.00" inputTorque="28000.00" torqueLoss="460.00"/> + <Entry inputSpeed="1300.00" inputTorque="29000.00" torqueLoss="475.00"/> + <Entry inputSpeed="1300.00" inputTorque="30000.00" torqueLoss="490.00"/> + <Entry inputSpeed="1300.00" inputTorque="31000.00" torqueLoss="505.00"/> + <Entry inputSpeed="1300.00" inputTorque="32000.00" torqueLoss="520.00"/> + <Entry inputSpeed="1300.00" inputTorque="33000.00" torqueLoss="535.00"/> + <Entry inputSpeed="1300.00" inputTorque="34000.00" torqueLoss="550.00"/> + <Entry inputSpeed="1300.00" inputTorque="35000.00" torqueLoss="565.00"/> + <Entry inputSpeed="1500.00" inputTorque="-5000.00" torqueLoss="115.00"/> + <Entry inputSpeed="1500.00" inputTorque="-4000.00" torqueLoss="100.00"/> + <Entry inputSpeed="1500.00" inputTorque="-3000.00" torqueLoss="85.00"/> + <Entry inputSpeed="1500.00" inputTorque="-2000.00" torqueLoss="70.00"/> + <Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="55.00"/> + <Entry inputSpeed="1500.00" inputTorque="0.00" torqueLoss="40.00"/> + <Entry inputSpeed="1500.00" inputTorque="1000.00" torqueLoss="55.00"/> + <Entry inputSpeed="1500.00" inputTorque="2000.00" torqueLoss="70.00"/> + <Entry inputSpeed="1500.00" inputTorque="3000.00" torqueLoss="85.00"/> + <Entry inputSpeed="1500.00" inputTorque="4000.00" torqueLoss="100.00"/> + <Entry inputSpeed="1500.00" inputTorque="5000.00" torqueLoss="115.00"/> + <Entry inputSpeed="1500.00" inputTorque="6000.00" torqueLoss="130.00"/> + <Entry inputSpeed="1500.00" inputTorque="7000.00" torqueLoss="145.00"/> + <Entry inputSpeed="1500.00" inputTorque="8000.00" torqueLoss="160.00"/> + <Entry inputSpeed="1500.00" inputTorque="9000.00" torqueLoss="175.00"/> + <Entry inputSpeed="1500.00" inputTorque="10000.00" torqueLoss="190.00"/> + <Entry inputSpeed="1500.00" inputTorque="11000.00" torqueLoss="205.00"/> + <Entry inputSpeed="1500.00" inputTorque="12000.00" torqueLoss="220.00"/> + <Entry inputSpeed="1500.00" inputTorque="13000.00" torqueLoss="235.00"/> + <Entry inputSpeed="1500.00" inputTorque="14000.00" torqueLoss="250.00"/> + <Entry inputSpeed="1500.00" inputTorque="15000.00" torqueLoss="265.00"/> + <Entry inputSpeed="1500.00" inputTorque="16000.00" torqueLoss="280.00"/> + <Entry inputSpeed="1500.00" inputTorque="17000.00" torqueLoss="295.00"/> + <Entry inputSpeed="1500.00" inputTorque="18000.00" torqueLoss="310.00"/> + <Entry inputSpeed="1500.00" inputTorque="19000.00" torqueLoss="325.00"/> + <Entry inputSpeed="1500.00" inputTorque="20000.00" torqueLoss="340.00"/> + <Entry inputSpeed="1500.00" inputTorque="21000.00" torqueLoss="355.00"/> + <Entry inputSpeed="1500.00" inputTorque="22000.00" torqueLoss="370.00"/> + <Entry inputSpeed="1500.00" inputTorque="23000.00" torqueLoss="385.00"/> + <Entry inputSpeed="1500.00" inputTorque="24000.00" torqueLoss="400.00"/> + <Entry inputSpeed="1500.00" inputTorque="25000.00" torqueLoss="415.00"/> + <Entry inputSpeed="1500.00" inputTorque="26000.00" torqueLoss="430.00"/> + <Entry inputSpeed="1500.00" inputTorque="27000.00" torqueLoss="445.00"/> + <Entry inputSpeed="1500.00" inputTorque="28000.00" torqueLoss="460.00"/> + <Entry inputSpeed="1500.00" inputTorque="29000.00" torqueLoss="475.00"/> + <Entry inputSpeed="1500.00" inputTorque="30000.00" torqueLoss="490.00"/> + <Entry inputSpeed="1500.00" inputTorque="31000.00" torqueLoss="505.00"/> + <Entry inputSpeed="1500.00" inputTorque="32000.00" torqueLoss="520.00"/> + <Entry inputSpeed="1500.00" inputTorque="33000.00" torqueLoss="535.00"/> + <Entry inputSpeed="1500.00" inputTorque="34000.00" torqueLoss="550.00"/> + <Entry inputSpeed="1500.00" inputTorque="35000.00" torqueLoss="565.00"/> + <Entry inputSpeed="1700.00" inputTorque="-5000.00" torqueLoss="115.00"/> + <Entry inputSpeed="1700.00" inputTorque="-4000.00" torqueLoss="100.00"/> + <Entry inputSpeed="1700.00" inputTorque="-3000.00" torqueLoss="85.00"/> + <Entry inputSpeed="1700.00" inputTorque="-2000.00" torqueLoss="70.00"/> + <Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="55.00"/> + <Entry inputSpeed="1700.00" inputTorque="0.00" torqueLoss="40.00"/> + <Entry inputSpeed="1700.00" inputTorque="1000.00" torqueLoss="55.00"/> + <Entry inputSpeed="1700.00" inputTorque="2000.00" torqueLoss="70.00"/> + <Entry inputSpeed="1700.00" inputTorque="3000.00" torqueLoss="85.00"/> + <Entry inputSpeed="1700.00" inputTorque="4000.00" torqueLoss="100.00"/> + <Entry inputSpeed="1700.00" inputTorque="5000.00" torqueLoss="115.00"/> + <Entry inputSpeed="1700.00" inputTorque="6000.00" torqueLoss="130.00"/> + <Entry inputSpeed="1700.00" inputTorque="7000.00" torqueLoss="145.00"/> + <Entry inputSpeed="1700.00" inputTorque="8000.00" torqueLoss="160.00"/> + <Entry inputSpeed="1700.00" inputTorque="9000.00" torqueLoss="175.00"/> + <Entry inputSpeed="1700.00" inputTorque="10000.00" torqueLoss="190.00"/> + <Entry inputSpeed="1700.00" inputTorque="11000.00" torqueLoss="205.00"/> + <Entry inputSpeed="1700.00" inputTorque="12000.00" torqueLoss="220.00"/> + <Entry inputSpeed="1700.00" inputTorque="13000.00" torqueLoss="235.00"/> + <Entry inputSpeed="1700.00" inputTorque="14000.00" torqueLoss="250.00"/> + <Entry inputSpeed="1700.00" inputTorque="15000.00" torqueLoss="265.00"/> + <Entry inputSpeed="1700.00" inputTorque="16000.00" torqueLoss="280.00"/> + <Entry inputSpeed="1700.00" inputTorque="17000.00" torqueLoss="295.00"/> + <Entry inputSpeed="1700.00" inputTorque="18000.00" torqueLoss="310.00"/> + <Entry inputSpeed="1700.00" inputTorque="19000.00" torqueLoss="325.00"/> + <Entry inputSpeed="1700.00" inputTorque="20000.00" torqueLoss="340.00"/> + <Entry inputSpeed="1700.00" inputTorque="21000.00" torqueLoss="355.00"/> + <Entry inputSpeed="1700.00" inputTorque="22000.00" torqueLoss="370.00"/> + <Entry inputSpeed="1700.00" inputTorque="23000.00" torqueLoss="385.00"/> + <Entry inputSpeed="1700.00" inputTorque="24000.00" torqueLoss="400.00"/> + <Entry inputSpeed="1700.00" inputTorque="25000.00" torqueLoss="415.00"/> + <Entry inputSpeed="1700.00" inputTorque="26000.00" torqueLoss="430.00"/> + <Entry inputSpeed="1700.00" inputTorque="27000.00" torqueLoss="445.00"/> + <Entry inputSpeed="1700.00" inputTorque="28000.00" torqueLoss="460.00"/> + <Entry inputSpeed="1700.00" inputTorque="29000.00" torqueLoss="475.00"/> + <Entry inputSpeed="1700.00" inputTorque="30000.00" torqueLoss="490.00"/> + <Entry inputSpeed="1700.00" inputTorque="31000.00" torqueLoss="505.00"/> + <Entry inputSpeed="1700.00" inputTorque="32000.00" torqueLoss="520.00"/> + <Entry inputSpeed="1700.00" inputTorque="33000.00" torqueLoss="535.00"/> + <Entry inputSpeed="1700.00" inputTorque="34000.00" torqueLoss="550.00"/> + <Entry inputSpeed="1700.00" inputTorque="35000.00" torqueLoss="565.00"/> + <Entry inputSpeed="1900.00" inputTorque="-5000.00" torqueLoss="115.00"/> + <Entry inputSpeed="1900.00" inputTorque="-4000.00" torqueLoss="100.00"/> + <Entry inputSpeed="1900.00" inputTorque="-3000.00" torqueLoss="85.00"/> + <Entry inputSpeed="1900.00" inputTorque="-2000.00" torqueLoss="70.00"/> + <Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="55.00"/> + <Entry inputSpeed="1900.00" inputTorque="0.00" torqueLoss="40.00"/> + <Entry inputSpeed="1900.00" inputTorque="1000.00" torqueLoss="55.00"/> + <Entry inputSpeed="1900.00" inputTorque="2000.00" torqueLoss="70.00"/> + <Entry inputSpeed="1900.00" inputTorque="3000.00" torqueLoss="85.00"/> + <Entry inputSpeed="1900.00" inputTorque="4000.00" torqueLoss="100.00"/> + <Entry inputSpeed="1900.00" inputTorque="5000.00" torqueLoss="115.00"/> + <Entry inputSpeed="1900.00" inputTorque="6000.00" torqueLoss="130.00"/> + <Entry inputSpeed="1900.00" inputTorque="7000.00" torqueLoss="145.00"/> + <Entry inputSpeed="1900.00" inputTorque="8000.00" torqueLoss="160.00"/> + <Entry inputSpeed="1900.00" inputTorque="9000.00" torqueLoss="175.00"/> + <Entry inputSpeed="1900.00" inputTorque="10000.00" torqueLoss="190.00"/> + <Entry inputSpeed="1900.00" inputTorque="11000.00" torqueLoss="205.00"/> + <Entry inputSpeed="1900.00" inputTorque="12000.00" torqueLoss="220.00"/> + <Entry inputSpeed="1900.00" inputTorque="13000.00" torqueLoss="235.00"/> + <Entry inputSpeed="1900.00" inputTorque="14000.00" torqueLoss="250.00"/> + <Entry inputSpeed="1900.00" inputTorque="15000.00" torqueLoss="265.00"/> + <Entry inputSpeed="1900.00" inputTorque="16000.00" torqueLoss="280.00"/> + <Entry inputSpeed="1900.00" inputTorque="17000.00" torqueLoss="295.00"/> + <Entry inputSpeed="1900.00" inputTorque="18000.00" torqueLoss="310.00"/> + <Entry inputSpeed="1900.00" inputTorque="19000.00" torqueLoss="325.00"/> + <Entry inputSpeed="1900.00" inputTorque="20000.00" torqueLoss="340.00"/> + <Entry inputSpeed="1900.00" inputTorque="21000.00" torqueLoss="355.00"/> + <Entry inputSpeed="1900.00" inputTorque="22000.00" torqueLoss="370.00"/> + <Entry inputSpeed="1900.00" inputTorque="23000.00" torqueLoss="385.00"/> + <Entry inputSpeed="1900.00" inputTorque="24000.00" torqueLoss="400.00"/> + <Entry inputSpeed="1900.00" inputTorque="25000.00" torqueLoss="415.00"/> + <Entry inputSpeed="1900.00" inputTorque="26000.00" torqueLoss="430.00"/> + <Entry inputSpeed="1900.00" inputTorque="27000.00" torqueLoss="445.00"/> + <Entry inputSpeed="1900.00" inputTorque="28000.00" torqueLoss="460.00"/> + <Entry inputSpeed="1900.00" inputTorque="29000.00" torqueLoss="475.00"/> + <Entry inputSpeed="1900.00" inputTorque="30000.00" torqueLoss="490.00"/> + <Entry inputSpeed="1900.00" inputTorque="31000.00" torqueLoss="505.00"/> + <Entry inputSpeed="1900.00" inputTorque="32000.00" torqueLoss="520.00"/> + <Entry inputSpeed="1900.00" inputTorque="33000.00" torqueLoss="535.00"/> + <Entry inputSpeed="1900.00" inputTorque="34000.00" torqueLoss="550.00"/> + <Entry inputSpeed="1900.00" inputTorque="35000.00" torqueLoss="565.00"/> + <Entry inputSpeed="2100.00" inputTorque="-5000.00" torqueLoss="115.00"/> + <Entry inputSpeed="2100.00" inputTorque="-4000.00" torqueLoss="100.00"/> + <Entry inputSpeed="2100.00" inputTorque="-3000.00" torqueLoss="85.00"/> + <Entry inputSpeed="2100.00" inputTorque="-2000.00" torqueLoss="70.00"/> + <Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="55.00"/> + <Entry inputSpeed="2100.00" inputTorque="0.00" torqueLoss="40.00"/> + <Entry inputSpeed="2100.00" inputTorque="1000.00" torqueLoss="55.00"/> + <Entry inputSpeed="2100.00" inputTorque="2000.00" torqueLoss="70.00"/> + <Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="85.00"/> + <Entry inputSpeed="2100.00" inputTorque="4000.00" torqueLoss="100.00"/> + <Entry inputSpeed="2100.00" inputTorque="5000.00" torqueLoss="115.00"/> + <Entry inputSpeed="2100.00" inputTorque="6000.00" torqueLoss="130.00"/> + <Entry inputSpeed="2100.00" inputTorque="7000.00" torqueLoss="145.00"/> + <Entry inputSpeed="2100.00" inputTorque="8000.00" torqueLoss="160.00"/> + <Entry inputSpeed="2100.00" inputTorque="9000.00" torqueLoss="175.00"/> + <Entry inputSpeed="2100.00" inputTorque="10000.00" torqueLoss="190.00"/> + <Entry inputSpeed="2100.00" inputTorque="11000.00" torqueLoss="205.00"/> + <Entry inputSpeed="2100.00" inputTorque="12000.00" torqueLoss="220.00"/> + <Entry inputSpeed="2100.00" inputTorque="13000.00" torqueLoss="235.00"/> + <Entry inputSpeed="2100.00" inputTorque="14000.00" torqueLoss="250.00"/> + <Entry inputSpeed="2100.00" inputTorque="15000.00" torqueLoss="265.00"/> + <Entry inputSpeed="2100.00" inputTorque="16000.00" torqueLoss="280.00"/> + <Entry inputSpeed="2100.00" inputTorque="17000.00" torqueLoss="295.00"/> + <Entry inputSpeed="2100.00" inputTorque="18000.00" torqueLoss="310.00"/> + <Entry inputSpeed="2100.00" inputTorque="19000.00" torqueLoss="325.00"/> + <Entry inputSpeed="2100.00" inputTorque="20000.00" torqueLoss="340.00"/> + <Entry inputSpeed="2100.00" inputTorque="21000.00" torqueLoss="355.00"/> + <Entry inputSpeed="2100.00" inputTorque="22000.00" torqueLoss="370.00"/> + <Entry inputSpeed="2100.00" inputTorque="23000.00" torqueLoss="385.00"/> + <Entry inputSpeed="2100.00" inputTorque="24000.00" torqueLoss="400.00"/> + <Entry inputSpeed="2100.00" inputTorque="25000.00" torqueLoss="415.00"/> + <Entry inputSpeed="2100.00" inputTorque="26000.00" torqueLoss="430.00"/> + <Entry inputSpeed="2100.00" inputTorque="27000.00" torqueLoss="445.00"/> + <Entry inputSpeed="2100.00" inputTorque="28000.00" torqueLoss="460.00"/> + <Entry inputSpeed="2100.00" inputTorque="29000.00" torqueLoss="475.00"/> + <Entry inputSpeed="2100.00" inputTorque="30000.00" torqueLoss="490.00"/> + <Entry inputSpeed="2100.00" inputTorque="31000.00" torqueLoss="505.00"/> + <Entry inputSpeed="2100.00" inputTorque="32000.00" torqueLoss="520.00"/> + <Entry inputSpeed="2100.00" inputTorque="33000.00" torqueLoss="535.00"/> + <Entry inputSpeed="2100.00" inputTorque="34000.00" torqueLoss="550.00"/> + <Entry inputSpeed="2100.00" inputTorque="35000.00" torqueLoss="565.00"/> + </TorqueLossMap> + </Data> + <Signature> + <di:Reference URI="#AXL-EC3ohnoh"> + <di:Transforms> + <di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/> + <di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> + </di:Transforms> + <di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> + <di:DigestValue>o4nYTajmWKaduxys5ShmnfJbYd23rpxZ01JbuG6dmzU=</di:DigestValue> + </di:Reference> + </Signature> + </v2.6:Axlegear> + <v2.6:AxleWheels xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xsi:type="AxleWheelsComponentDeclarationType"> + <Data xsi:type="AxleWheelsDataDeclarationType"> + <Axles> + <Axle axleNumber="1" xsi:type="AxleDataDeclarationType"> + <AxleType>VehicleNonDriven</AxleType> + <TwinTyres>false</TwinTyres> + <Steered>true</Steered> + <Tyre> + <Data id="WHL-5432198760-315-70-R22.5" xsi:type="TyreDataDeclarationType"> + <Manufacturer>Generic Wheels Manufacturer</Manufacturer> + <Model>Generic Wheel</Model> + <CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber> + <Date>2017-01-11T14:00:00Z</Date> + <AppVersion>Tyre Generation App 1.0</AppVersion> + <Dimension>315/70 R22.5</Dimension> + <RRCDeclared>0.0055</RRCDeclared> + <FzISO>31300</FzISO> + </Data> + <Signature> + <di:Reference URI="#WHL-5432198760-315-70-R22.5"> + <di:Transforms> + <di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/> + <di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> + </di:Transforms> + <di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> + <di:DigestValue>4TkUGQTX8tevHOU9Cj9uyCFuI/aqcEYlo/gyVjVQmv0=</di:DigestValue> + </di:Reference> + </Signature> + </Tyre> + </Axle> + <Axle axleNumber="2" xsi:type="AxleDataDeclarationType"> + <AxleType>VehicleDriven</AxleType> + <TwinTyres>true</TwinTyres> + <Steered>false</Steered> + <Tyre> + <Data id="WHL-5432198760-315-70-R22.5" xsi:type="TyreDataDeclarationType"> + <Manufacturer>Generic Wheels Manufacturer</Manufacturer> + <Model>Generic Wheel</Model> + <CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber> + <Date>2017-01-11T14:00:00Z</Date> + <AppVersion>Tyre Generation App 1.0</AppVersion> + <Dimension>315/70 R22.5</Dimension> + <RRCDeclared>0.0063</RRCDeclared> + <FzISO>31300</FzISO> + </Data> + <Signature> + <di:Reference URI="#WHL-5432198760-315-70-R22.5"> + <di:Transforms> + <di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/> + <di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> + </di:Transforms> + <di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> + <di:DigestValue>KljvtvGUUQ/L7MiLVAqU+bckL5PNDNNwdeLH9kUVrfM=</di:DigestValue> + </di:Reference> + </Signature> + </Tyre> + </Axle> + </Axles> + </Data> + </v2.6:AxleWheels> + <v2.6:Auxiliaries xsi:type="PrimaryVehicleAuxiliariesComponentDeclarationType"> + <Data xsi:type="PrimaryVehicleAuxiliaryDataDeclarationType"> + <Fan> + <Technology>Hydraulic driven - Constant displacement pump</Technology> + </Fan> + <SteeringPump> + <Technology axleNumber="1">Variable displacement elec. controlled</Technology> + </SteeringPump> + <ElectricSystem> + <AlternatorTechnology ratio="1.000">default</AlternatorTechnology> + <SmartElectrics>false</SmartElectrics> + </ElectricSystem> + <PneumaticSystem> + <SizeOfAirSupply>Large Supply 2-stage</SizeOfAirSupply> + <Clutch>none</Clutch> + <CompressorRatio>1.000</CompressorRatio> + <SmartCompressionSystem>false</SmartCompressionSystem> + <SmartRegenerationSystem>false</SmartRegenerationSystem> + <AirsuspensionControl>electronically</AirsuspensionControl> + <AdBlueDosing>true</AdBlueDosing> + </PneumaticSystem> + <HVAC> + <AdjustableCoolantThermostat>true</AdjustableCoolantThermostat> + <EngineWasteGasHeatExchanger>true</EngineWasteGasHeatExchanger> + </HVAC> + </Data> + </v2.6:Auxiliaries> + </Components> + </v2.0:Vehicle> +</tns:VectoInputDeclaration> diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.6_Buses/example_heavyBus_PIF.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.6_Buses/example_heavyBus_PIF.xml index b9a2197424a0a2f0647332271ecb90b7e32d63af..ad35e340f86ffcdaeb1bb134d9303e58aeec10b3 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.6_Buses/example_heavyBus_PIF.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.6_Buses/example_heavyBus_PIF.xml @@ -235,7 +235,6 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:PrimaryVehicleInformation E:\QUAM\Wo <SmartRegenerationSystem>false</SmartRegenerationSystem> <AirsuspensionControl>mechanically</AirsuspensionControl> <AdBlueDosing>true</AdBlueDosing> - <DoorDriveTechnology>pneumatic</DoorDriveTechnology> </PneumaticSystem> <HVAC> <AdjustableCoolantThermostat>true</AdjustableCoolantThermostat> diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.6_Buses/vecto_vehicle-completed_heavyBus.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.6_Buses/vecto_vehicle-completed_heavyBus.xml index d442d7ad8a9287ba8f153444ae47007eca045570..8cd00e2f96e29bb62966a7a6a0b463c1945878e8 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.6_Buses/vecto_vehicle-completed_heavyBus.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.6_Buses/vecto_vehicle-completed_heavyBus.xml @@ -56,6 +56,9 @@ <Interiorlights>false</Interiorlights> </LEDLights> </ElectricSystem> + <PneumaticSystem> + <DoorDriveTechnology>pneumatic</DoorDriveTechnology> + </PneumaticSystem> <HVAC> <SystemConfiguration>7</SystemConfiguration> <CompressorType> diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.6_Buses/vecto_vehicle-primary_heavyBus.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.6_Buses/vecto_vehicle-primary_heavyBus.xml index d081ce1d2fefbcf295858909d41688071b5065a0..64b1fdb7c8ef873f16f437e9701e4d7134735f2b 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.6_Buses/vecto_vehicle-primary_heavyBus.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.6_Buses/vecto_vehicle-primary_heavyBus.xml @@ -3277,7 +3277,6 @@ <SmartRegenerationSystem>false</SmartRegenerationSystem> <AirsuspensionControl>electronically</AirsuspensionControl> <AdBlueDosing>true</AdBlueDosing> - <DoorDriveTechnology>pneumatic</DoorDriveTechnology> </PneumaticSystem> <HVAC> <AdjustableCoolantThermostat>true</AdjustableCoolantThermostat> diff --git a/VectoCore/VectoCoreTest/VectoCoreTest.csproj b/VectoCore/VectoCoreTest/VectoCoreTest.csproj index 22eb02fe20dce74a48ebb9fb35a1264f12ca4e1f..4c1805f76683efb3dc8f5856d82e9e85e3c86ef2 100644 --- a/VectoCore/VectoCoreTest/VectoCoreTest.csproj +++ b/VectoCore/VectoCoreTest/VectoCoreTest.csproj @@ -233,6 +233,9 @@ <None Include="TestData\Components\GearshiftLinesVoith.vgsv"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </None> + <None Include="TestData\Integration\Buses\SingleBus.vecto"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> <None Include="TestData\Integration\ShiftStrategyV2\CityBus_AT_FCOpt\175kW.vfld"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </None> @@ -3373,6 +3376,13 @@ <Content Include="TestData\Integration\ADAS\Group9_AT_PCCEcoRoll.xml"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content> + <Content Include="TestData\Integration\Buses\vecto_vehicle-completed_heavyBus.xml"> + <SubType>Designer</SubType> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> + <Content Include="TestData\Integration\Buses\vecto_vehicle-primary_heavyBus.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> <Content Include="TestData\Integration\DeclarationMode\Class4_Vocational\Rigid Truck_4x2_vehicle-class-4_EURO6_2018.xml"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content> @@ -3594,10 +3604,10 @@ </Content> <Content Include="TestData\XML\XMLReaderDeclaration\SchemaVersion2.6_Buses\vecto_vehicle-completed_heavyBus.xml"> <SubType>Designer</SubType> - <CopyToOutputDirectory>Always</CopyToOutputDirectory> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content> <Content Include="TestData\XML\XMLReaderDeclaration\SchemaVersion2.6_Buses\vecto_vehicle-primary_heavyBus.xml"> - <CopyToOutputDirectory>Always</CopyToOutputDirectory> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content> <Content Include="TestData\XML\XMLReaderDeclaration\Tractor_4x2_vehicle-class-5_5_t_0.xml"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> diff --git a/VectoCore/VectoCoreTest/XML/XMLCompleteBusReaderTest.cs b/VectoCore/VectoCoreTest/XML/XMLCompleteBusReaderTest.cs index d978c2685369edca65f5282e9e692cfef07db0c3..f5b304831b2ae07a0f7db571637f14a3d8705ce3 100644 --- a/VectoCore/VectoCoreTest/XML/XMLCompleteBusReaderTest.cs +++ b/VectoCore/VectoCoreTest/XML/XMLCompleteBusReaderTest.cs @@ -62,7 +62,7 @@ namespace TUGraz.VectoCore.Tests.XML Assert.That(() => vehicle.TankSystem, Throws.InstanceOf<VectoException>()); Assert.AreEqual(50, vehicle.NumberOfPassengersLowerDeck); Assert.AreEqual(0, vehicle.NuberOfPassengersUpperDeck); - Assert.IsTrue(((XMLDeclarationCompletedBusDataProviderV26)vehicle).LowEntry); + Assert.AreEqual(FloorType.LowFloor, vehicle.FloorType); Assert.AreEqual(2.700, vehicle.Height.Value()); Assert.AreEqual(11.830, vehicle.Length.Value()); Assert.AreEqual(2.550, vehicle.Width.Value());