diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/XMLDeclarationTorqueConverterDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/XMLDeclarationTorqueConverterDataProvider.cs index 0a2e3bf6528f674ffb6ab9bc297f1d46a165deb7..71b77809120232972c2e2b601d35c6158e2334a9 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/XMLDeclarationTorqueConverterDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/XMLDeclarationTorqueConverterDataProvider.cs @@ -29,32 +29,32 @@ * Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology */ -using TUGraz.IVT.VectoXML; -using TUGraz.VectoCommon.InputData; -using TUGraz.VectoCommon.Resources; - -namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration -{ - public class XMLDeclarationTorqueConverterDataProvider : AbstractDeclarationXMLComponentDataProvider, - ITorqueConverterDeclarationInputData - { - public XMLDeclarationTorqueConverterDataProvider(XMLDeclarationInputDataProvider xmlInputDataProvider) - : base(xmlInputDataProvider) - { - XBasePath = Helper.Query(VehiclePath, - XMLNames.Vehicle_Components, - XMLNames.Component_Gearbox, - XMLNames.Component_TorqueConverter, - XMLNames.ComponentDataWrapper); - } - - public TableData TCData - { - get - { - return ReadTableData(AttributeMappings.TorqueConverterDataMapping, - Helper.Query(XMLNames.TorqueConverter_Characteristics, XMLNames.TorqueConverter_Characteristics_Entry)); - } - } - } +using TUGraz.IVT.VectoXML; +using TUGraz.VectoCommon.InputData; +using TUGraz.VectoCommon.Resources; + +namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration +{ + public class XMLDeclarationTorqueConverterDataProvider : AbstractDeclarationXMLComponentDataProvider, + ITorqueConverterDeclarationInputData + { + public XMLDeclarationTorqueConverterDataProvider(XMLDeclarationInputDataProvider xmlInputDataProvider) + : base(xmlInputDataProvider) + { + XBasePath = Helper.Query(VehiclePath, + XMLNames.Vehicle_Components, + XMLNames.Component_Gearbox, + XMLNames.Component_TorqueConverter, + XMLNames.ComponentDataWrapper); + } + + public TableData TCData + { + get + { + return ReadTableData(AttributeMappings.TorqueConverterDataMapping, + Helper.Query(XMLNames.TorqueConverter_Characteristics, XMLNames.TorqueConverter_Characteristics_Entry)); + } + } + } } \ No newline at end of file diff --git a/VectoCore/VectoCore/InputData/Reader/ComponentData/TorqueConverterDataReader.cs b/VectoCore/VectoCore/InputData/Reader/ComponentData/TorqueConverterDataReader.cs index d08185fda8ac3a0fd5df4f161d9e71152cab023b..992f3d477ba8e3582425c23888328f29643f8040 100644 --- a/VectoCore/VectoCore/InputData/Reader/ComponentData/TorqueConverterDataReader.cs +++ b/VectoCore/VectoCore/InputData/Reader/ComponentData/TorqueConverterDataReader.cs @@ -29,94 +29,94 @@ * Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology */ -using System.Collections.Generic; -using System.Data; -using System.IO; -using System.Linq; -using TUGraz.VectoCommon.Exceptions; -using TUGraz.VectoCommon.Models; -using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.Models.Declaration; -using TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox; -using TUGraz.VectoCore.Utils; - -namespace TUGraz.VectoCore.InputData.Reader.ComponentData -{ - public static class TorqueConverterDataReader - { - public static TorqueConverterData ReadFromFile(string filename, PerSecond referenceRpm, PerSecond maxRpm, - ExecutionMode mode, double ratio, MeterPerSquareSecond lcMinAcceleration, MeterPerSquareSecond ccMinAcceleration) - { - return Create(VectoCSVFile.Read(filename), referenceRpm, maxRpm, mode, ratio, lcMinAcceleration, ccMinAcceleration); - } - - public static TorqueConverterData ReadFromStream(Stream stream, PerSecond referenceRpm, PerSecond maxRpm, - ExecutionMode mode, double ratio, MeterPerSquareSecond lcMinAcceleration, MeterPerSquareSecond ccMinAcceleration) - { - return Create(VectoCSVFile.ReadStream(stream), referenceRpm, maxRpm, mode, ratio, lcMinAcceleration, - ccMinAcceleration); - } - - public static TorqueConverterData Create(DataTable data, PerSecond referenceRpm, PerSecond maxRpm, ExecutionMode mode, - double ratio, MeterPerSquareSecond lcMinAcceleration, MeterPerSquareSecond ccMinAcceleration) - { - if (data == null) { - throw new VectoException("TorqueConverter Characteristics data is missing."); - } - - if (data.Columns.Count != 3) { - throw new VectoException("TorqueConverter Characteristics data must consist of 3 columns"); - } - if (data.Rows.Count < 2) { - throw new VectoException("TorqueConverter Characteristics data must contain at least 2 lines with numeric values"); - } - - IEnumerable<TorqueConverterEntry> characteristicTorque; - if (HeaderIsValid(data.Columns)) { - characteristicTorque = (from DataRow row in data.Rows - select - new TorqueConverterEntry() { - SpeedRatio = row.ParseDouble(Fields.SpeedRatio), - Torque = row.ParseDouble(Fields.CharacteristicTorque).SI<NewtonMeter>(), - TorqueRatio = row.ParseDouble(Fields.TorqueRatio) - }).ToArray(); - } else { - characteristicTorque = (from DataRow row in data.Rows - select - new TorqueConverterEntry() { - SpeedRatio = row.ParseDouble(0), - Torque = row.ParseDouble(2).SI<NewtonMeter>(), - TorqueRatio = row.ParseDouble(1) - }).ToArray(); - } - if (mode == ExecutionMode.Declaration) { - var tcDrag = DeclarationData.TorqueConverter.GetTorqueConverterDragCurve(ratio).Last(); - characteristicTorque = - characteristicTorque.Where(x => x.SpeedRatio < tcDrag.SpeedRatio) - .Concat(new[] { tcDrag }) - .ToArray(); - } else { - if (!characteristicTorque.Any(x => x.SpeedRatio > ratio)) { - characteristicTorque = - characteristicTorque.Where(x => x.SpeedRatio < ratio) - .Concat(DeclarationData.TorqueConverter.GetTorqueConverterDragCurve(ratio)) - .ToArray(); - } - } - return new TorqueConverterData(characteristicTorque, referenceRpm, maxRpm, lcMinAcceleration, ccMinAcceleration); - } - - private static bool HeaderIsValid(DataColumnCollection columns) - { - return columns.Contains(Fields.SpeedRatio) && columns.Contains(Fields.TorqueRatio) && - columns.Contains(Fields.CharacteristicTorque); - } - - public static class Fields - { - public const string SpeedRatio = "Speed Ratio"; - public const string TorqueRatio = "Torque Ratio"; - public const string CharacteristicTorque = "MP1000"; - } - } +using System.Collections.Generic; +using System.Data; +using System.IO; +using System.Linq; +using TUGraz.VectoCommon.Exceptions; +using TUGraz.VectoCommon.Models; +using TUGraz.VectoCommon.Utils; +using TUGraz.VectoCore.Models.Declaration; +using TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox; +using TUGraz.VectoCore.Utils; + +namespace TUGraz.VectoCore.InputData.Reader.ComponentData +{ + public static class TorqueConverterDataReader + { + public static TorqueConverterData ReadFromFile(string filename, PerSecond referenceRpm, PerSecond maxRpm, + ExecutionMode mode, double ratio, MeterPerSquareSecond lcMinAcceleration, MeterPerSquareSecond ccMinAcceleration) + { + return Create(VectoCSVFile.Read(filename), referenceRpm, maxRpm, mode, ratio, lcMinAcceleration, ccMinAcceleration); + } + + public static TorqueConverterData ReadFromStream(Stream stream, PerSecond referenceRpm, PerSecond maxRpm, + ExecutionMode mode, double ratio, MeterPerSquareSecond lcMinAcceleration, MeterPerSquareSecond ccMinAcceleration) + { + return Create(VectoCSVFile.ReadStream(stream), referenceRpm, maxRpm, mode, ratio, lcMinAcceleration, + ccMinAcceleration); + } + + public static TorqueConverterData Create(DataTable data, PerSecond referenceRpm, PerSecond maxRpm, ExecutionMode mode, + double ratio, MeterPerSquareSecond lcMinAcceleration, MeterPerSquareSecond ccMinAcceleration) + { + if (data == null) { + throw new VectoException("TorqueConverter Characteristics data is missing."); + } + + if (data.Columns.Count != 3) { + throw new VectoException("TorqueConverter Characteristics data must consist of 3 columns"); + } + if (data.Rows.Count < 2) { + throw new VectoException("TorqueConverter Characteristics data must contain at least 2 lines with numeric values"); + } + + IEnumerable<TorqueConverterEntry> characteristicTorque; + if (HeaderIsValid(data.Columns)) { + characteristicTorque = (from DataRow row in data.Rows + select + new TorqueConverterEntry() { + SpeedRatio = row.ParseDouble(Fields.SpeedRatio), + Torque = row.ParseDouble(Fields.CharacteristicTorque).SI<NewtonMeter>(), + TorqueRatio = row.ParseDouble(Fields.TorqueRatio) + }).ToArray(); + } else { + characteristicTorque = (from DataRow row in data.Rows + select + new TorqueConverterEntry() { + SpeedRatio = row.ParseDouble(0), + Torque = row.ParseDouble(2).SI<NewtonMeter>(), + TorqueRatio = row.ParseDouble(1) + }).ToArray(); + } + if (mode == ExecutionMode.Declaration) { + var tcDrag = DeclarationData.TorqueConverter.GetTorqueConverterDragCurve(ratio).Last(); + characteristicTorque = + characteristicTorque.Where(x => x.SpeedRatio < tcDrag.SpeedRatio) + .Concat(new[] { tcDrag }) + .ToArray(); + } else { + if (!characteristicTorque.Any(x => x.SpeedRatio > ratio)) { + characteristicTorque = + characteristicTorque.Where(x => x.SpeedRatio < ratio) + .Concat(DeclarationData.TorqueConverter.GetTorqueConverterDragCurve(ratio)) + .ToArray(); + } + } + return new TorqueConverterData(characteristicTorque, referenceRpm, maxRpm, lcMinAcceleration, ccMinAcceleration); + } + + private static bool HeaderIsValid(DataColumnCollection columns) + { + return columns.Contains(Fields.SpeedRatio) && columns.Contains(Fields.TorqueRatio) && + columns.Contains(Fields.CharacteristicTorque); + } + + public static class Fields + { + public const string SpeedRatio = "Speed Ratio"; + public const string TorqueRatio = "Torque Ratio"; + public const string CharacteristicTorque = "MP1000"; + } + } } \ No newline at end of file diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs index ea986e9a0f88c8b8d6c804f2892ae3b76c8ef47f..6226e3e6c889aa90137a1e7ad7505f0f53e26588 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs @@ -255,6 +255,8 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter DeclarationData.TorqueConverter.ReferenceRPM, DeclarationData.TorqueConverter.MaxInputSpeed, ExecutionMode.Declaration, ratio, DeclarationData.TorqueConverter.CLUpshiftMinAcceleration, DeclarationData.TorqueConverter.CCUpshiftMinAcceleration); + retVal.TorqueConverterData.ModelName = gearbox.TorqueConverter.Model; + retVal.TorqueConverterData.DigestValueInput = gearbox.TorqueConverter.DigestValue.DigestValue; } return retVal; diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Data/Gearbox/TorqueConverterData.cs b/VectoCore/VectoCore/Models/SimulationComponent/Data/Gearbox/TorqueConverterData.cs index 18b7a47d7e104470f2445ad1a3b93e08e013c09f..dc1f7bc368ee917fdf1d58ca4ae44241aa8af32c 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Data/Gearbox/TorqueConverterData.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Data/Gearbox/TorqueConverterData.cs @@ -29,264 +29,264 @@ * Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology */ -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; -using System.Linq; -using TUGraz.VectoCommon.Exceptions; -using TUGraz.VectoCommon.Utils; - -namespace TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox -{ - [CustomValidation(typeof(TorqueConverterData), "ValidateData")] - public class TorqueConverterData : SimulationComponentData - { - protected internal readonly TorqueConverterEntry[] TorqueConverterEntries; - - [Required, SIRange(0, double.MaxValue)] - public PerSecond ReferenceSpeed { get; protected internal set; } - - [Required, SIRange(0, double.MaxValue)] - public MeterPerSquareSecond CLUpshiftMinAcceleration { get; internal set; } - - [Required, SIRange(0, double.MaxValue)] - public MeterPerSquareSecond CCUpshiftMinAcceleration { get; internal set; } - - [Required, SIRange(0, double.MaxValue)] - public PerSecond TorqueConverterSpeedLimit { get; protected internal set; } - - internal double RequiredSpeedRatio; // only used for validation! - - protected internal TorqueConverterData(IEnumerable<TorqueConverterEntry> torqueConverterEntries, - PerSecond referenceSpeed, PerSecond maxRpm, MeterPerSquareSecond clUpshiftMinAcceleration, - MeterPerSquareSecond ccUpshiftMinAcceleration) - { - TorqueConverterEntries = torqueConverterEntries.ToArray(); - ReferenceSpeed = referenceSpeed; - TorqueConverterSpeedLimit = maxRpm; - CLUpshiftMinAcceleration = clUpshiftMinAcceleration; - CCUpshiftMinAcceleration = ccUpshiftMinAcceleration; - } - - /// <summary> - /// find an operating point for the torque converter - /// - /// find the input speed and input torque for the given output torque and output speed. - /// </summary> - /// <param name="torqueOut">torque provided at the TC output</param> - /// <param name="angularSpeedOut">angular speed at the TC output</param> - /// <param name="minSpeed"></param> - /// <returns></returns> - public IList<TorqueConverterOperatingPoint> FindOperatingPoint(NewtonMeter torqueOut, PerSecond angularSpeedOut, - PerSecond minSpeed) - { - var solutions = new List<double>(); - var mpNorm = ReferenceSpeed.Value(); - - var min = minSpeed == null ? 0 : minSpeed.Value(); - - // Find analytic solution for torque converter operating point - // mu = f(nu) = f(n_out / n_in) = T_out / T_in - // MP1000 = f(nu) = f(n_out / n_in) - // Tq_in = MP1000(nu) * (n_in/1000)^2 = T_out / mu - // - // mu(nu) and MP1000(nu) are provided as piecewise linear functions (y = k*x+d) - // solving the equation above for n_in results in a quadratic equation - foreach (var segment in TorqueConverterEntries.Pairwise(Tuple.Create)) { - var mpEdge = Edge.Create(new Point(segment.Item1.SpeedRatio, segment.Item1.Torque.Value()), - new Point(segment.Item2.SpeedRatio, segment.Item2.Torque.Value())); - var muEdge = Edge.Create(new Point(segment.Item1.SpeedRatio, segment.Item1.TorqueRatio), - new Point(segment.Item2.SpeedRatio, segment.Item2.TorqueRatio)); - - var a = muEdge.OffsetXY * mpEdge.OffsetXY / (mpNorm * mpNorm); - var b = angularSpeedOut.Value() * (muEdge.SlopeXY * mpEdge.OffsetXY + mpEdge.SlopeXY * muEdge.OffsetXY) / - (mpNorm * mpNorm); - var c = angularSpeedOut.Value() * angularSpeedOut.Value() * mpEdge.SlopeXY * muEdge.SlopeXY / (mpNorm * mpNorm) - - torqueOut.Value(); - - solutions.AddRange(VectoMath.QuadraticEquationSolver(a, b, c).Where(x => { - var ratio = angularSpeedOut.Value() / x; - return x > min && muEdge.P1.X <= ratio && ratio < muEdge.P2.X; - })); - } - - if (solutions.Count == 0) { - Log.Debug( - "TorqueConverterData::FindOperatingPoint No solution for input torque/input speed found! n_out: {0}, tq_out: {1}", - angularSpeedOut, torqueOut); - } - - return solutions.Select(sol => { - var s = sol.SI<PerSecond>(); - var mu = MuLookup(angularSpeedOut / s); - return new TorqueConverterOperatingPoint { - OutTorque = torqueOut, - OutAngularVelocity = angularSpeedOut, - InAngularVelocity = s, - SpeedRatio = angularSpeedOut / s, - TorqueRatio = mu, - InTorque = torqueOut / mu, - }; - }).ToList(); - } - - /// <summary> - /// find an operating point for the torque converter - /// - /// find the input torque and output torque for the given input and output speeds. - /// Computes the speed ratio nu of input and output. Interpolates MP1000 and mu, Computes input torque and output torque - /// </summary> - /// <param name="inAngularVelocity">speed at the input of the TC</param> - /// <param name="outAngularVelocity">speed at the output of the TC</param> - /// <returns></returns> - public TorqueConverterOperatingPoint FindOperatingPoint(PerSecond inAngularVelocity, PerSecond outAngularVelocity) - { - var retVal = new TorqueConverterOperatingPoint { - InAngularVelocity = inAngularVelocity, - OutAngularVelocity = outAngularVelocity, - SpeedRatio = outAngularVelocity.Value() / inAngularVelocity.Value(), - }; - - foreach (var segment in TorqueConverterEntries.Pairwise()) { - if (retVal.SpeedRatio.IsBetween(segment.Item1.SpeedRatio, segment.Item2.SpeedRatio)) { - var mpTorque = segment.Interpolate(x => x.SpeedRatio, y => y.Torque, retVal.SpeedRatio); - retVal.TorqueRatio = segment.Interpolate(x => x.SpeedRatio, y => y.TorqueRatio, retVal.SpeedRatio); - retVal.InTorque = mpTorque * (inAngularVelocity * inAngularVelocity / ReferenceSpeed / ReferenceSpeed).Value(); - retVal.OutTorque = retVal.InTorque * retVal.TorqueRatio; - return retVal; - } - } - - // No solution found. Throw Error - var nu = outAngularVelocity / inAngularVelocity; - var nuMax = TorqueConverterEntries.Last().SpeedRatio; - - if (nu.IsGreater(nuMax)) { - throw new VectoException( - "Torque Converter: Range of torque converter data is not sufficient. Required nu: {0}, Got nu_max: {1}", nu, nuMax); - } - - throw new VectoException( - "Torque Converter: No solution for output speed/input speed found! n_out: {0}, n_in: {1}, nu: {2}, nu_max: {3}", - outAngularVelocity, inAngularVelocity, nu, nuMax); - } - - /// <summary> - /// find an operating point for the torque converter - /// - /// find the output torque and output speed for the given input torque and input speed - /// </summary> - /// <param name="inTorque"></param> - /// <param name="inAngularVelocity"></param> - /// <param name="outAngularSpeedEstimated"></param> - /// <returns></returns> - public TorqueConverterOperatingPoint FindOperatingPointForward(NewtonMeter inTorque, PerSecond inAngularVelocity, - PerSecond outAngularSpeedEstimated) - { - var referenceTorque = inTorque.Value() / inAngularVelocity.Value() / inAngularVelocity.Value() * - ReferenceSpeed.Value() * ReferenceSpeed.Value(); - var maxTorque = TorqueConverterEntries.Max(x => x.Torque.Value()); - if (referenceTorque.IsGreaterOrEqual(maxTorque)) { - referenceTorque = outAngularSpeedEstimated != null - ? ReferenceTorqueLookup(outAngularSpeedEstimated / inAngularVelocity).Value() - : 0.9 * maxTorque; - } - - var solutions = new List<double>(); - foreach (var edge in TorqueConverterEntries.Pairwise( - (p1, p2) => Edge.Create(new Point(p1.SpeedRatio, p1.Torque.Value()), new Point(p2.SpeedRatio, p2.Torque.Value())))) { - var x = (referenceTorque - edge.OffsetXY) / edge.SlopeXY; - if (x >= edge.P1.X && x < edge.P2.X) { - solutions.Add(x * inAngularVelocity.Value()); - } - } - if (solutions.Count == 0) { - throw new VectoSimulationException( - "Torque Converter: Failed to find operating point for inputTorque/inputSpeed! n_in: {0}, tq_in: {1}", - inAngularVelocity, inTorque); - } - return FindOperatingPoint(inAngularVelocity, solutions.Max().SI<PerSecond>()); - } - - public TorqueConverterOperatingPoint FindOperatingPointForPowerDemand(Watt power, PerSecond prevInputSpeed, - PerSecond nextOutputSpeed, KilogramSquareMeter inertia, Second dt, Watt previousPower) - { - var solutions = new List<double>(); - var mpNorm = ReferenceSpeed.Value(); - - foreach (var segment in TorqueConverterEntries.Pairwise(Tuple.Create)) { - var mpEdge = Edge.Create(new Point(segment.Item1.SpeedRatio, segment.Item1.Torque.Value()), - new Point(segment.Item2.SpeedRatio, segment.Item2.Torque.Value())); - - var a = mpEdge.OffsetXY / (2 * mpNorm * mpNorm); - var b = inertia.Value() / (2 * dt.Value()) + mpEdge.SlopeXY * nextOutputSpeed.Value() / (2 * mpNorm * mpNorm); - var c = 0; - var d = -inertia.Value() * prevInputSpeed.Value() * prevInputSpeed.Value() / (2 * dt.Value()) - power.Value() + - previousPower.Value() / 2; - var sol = VectoMath.CubicEquationSolver(a, b, c, d); - - var selected = sol.Where(x => x > 0 && nextOutputSpeed / x >= mpEdge.P1.X && nextOutputSpeed / x < mpEdge.P2.X); - solutions.AddRange(selected); - } - - if (solutions.Count == 0) { - throw new VectoException( - "Failed to find operating point for power {0}, prevInputSpeed {1}, nextOutputSpeed {2}", power, - prevInputSpeed, nextOutputSpeed); - } - solutions.Sort(); - - return FindOperatingPoint(solutions.First().SI<PerSecond>(), nextOutputSpeed); - } - - private double MuLookup(double speedRatio) - { - return TorqueConverterEntries.Interpolate(x => x.SpeedRatio, y => y.TorqueRatio, speedRatio); - } - - private NewtonMeter ReferenceTorqueLookup(double speedRatio) - { - return TorqueConverterEntries.Interpolate(x => x.SpeedRatio, y => y.Torque, speedRatio); - } - - // ReSharper disable once UnusedMember.Global -- used by validation - public static ValidationResult ValidateData(TorqueConverterData data, ValidationContext validationContext) - { - var min = data.TorqueConverterEntries.Min(e => e.SpeedRatio); - var max = data.TorqueConverterEntries.Max(e => e.SpeedRatio); - if (min > 0 || max < data.RequiredSpeedRatio) { - return new ValidationResult(string.Format( - "Torque Converter Data invalid - Speedratio has to cover the range from 0.0 to {2}: given data only goes from {0} to {1}", - min, max, data.RequiredSpeedRatio)); - } - - return ValidationResult.Success; - } - } - - public class TorqueConverterOperatingPoint - { - public PerSecond OutAngularVelocity; - public NewtonMeter OutTorque; - - public PerSecond InAngularVelocity; - public NewtonMeter InTorque; - - public double SpeedRatio; - public double TorqueRatio; - public bool Creeping; - - public override string ToString() - { - return string.Format("n_out: {0}, n_in: {1}, tq_out: {2}, tq_in {3}, nu: {4}, my: {5}", OutAngularVelocity, - InAngularVelocity, OutTorque, InTorque, SpeedRatio, TorqueRatio); - } - } - - public class TorqueConverterEntry - { - public double SpeedRatio; - public NewtonMeter Torque; - public double TorqueRatio; - } +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Linq; +using TUGraz.VectoCommon.Exceptions; +using TUGraz.VectoCommon.Utils; + +namespace TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox +{ + [CustomValidation(typeof(TorqueConverterData), "ValidateData")] + public class TorqueConverterData : SimulationComponentData + { + protected internal readonly TorqueConverterEntry[] TorqueConverterEntries; + + [Required, SIRange(0, double.MaxValue)] + public PerSecond ReferenceSpeed { get; protected internal set; } + + [Required, SIRange(0, double.MaxValue)] + public MeterPerSquareSecond CLUpshiftMinAcceleration { get; internal set; } + + [Required, SIRange(0, double.MaxValue)] + public MeterPerSquareSecond CCUpshiftMinAcceleration { get; internal set; } + + [Required, SIRange(0, double.MaxValue)] + public PerSecond TorqueConverterSpeedLimit { get; protected internal set; } + + internal double RequiredSpeedRatio; // only used for validation! + + protected internal TorqueConverterData(IEnumerable<TorqueConverterEntry> torqueConverterEntries, + PerSecond referenceSpeed, PerSecond maxRpm, MeterPerSquareSecond clUpshiftMinAcceleration, + MeterPerSquareSecond ccUpshiftMinAcceleration) + { + TorqueConverterEntries = torqueConverterEntries.ToArray(); + ReferenceSpeed = referenceSpeed; + TorqueConverterSpeedLimit = maxRpm; + CLUpshiftMinAcceleration = clUpshiftMinAcceleration; + CCUpshiftMinAcceleration = ccUpshiftMinAcceleration; + } + + /// <summary> + /// find an operating point for the torque converter + /// + /// find the input speed and input torque for the given output torque and output speed. + /// </summary> + /// <param name="torqueOut">torque provided at the TC output</param> + /// <param name="angularSpeedOut">angular speed at the TC output</param> + /// <param name="minSpeed"></param> + /// <returns></returns> + public IList<TorqueConverterOperatingPoint> FindOperatingPoint(NewtonMeter torqueOut, PerSecond angularSpeedOut, + PerSecond minSpeed) + { + var solutions = new List<double>(); + var mpNorm = ReferenceSpeed.Value(); + + var min = minSpeed == null ? 0 : minSpeed.Value(); + + // Find analytic solution for torque converter operating point + // mu = f(nu) = f(n_out / n_in) = T_out / T_in + // MP1000 = f(nu) = f(n_out / n_in) + // Tq_in = MP1000(nu) * (n_in/1000)^2 = T_out / mu + // + // mu(nu) and MP1000(nu) are provided as piecewise linear functions (y = k*x+d) + // solving the equation above for n_in results in a quadratic equation + foreach (var segment in TorqueConverterEntries.Pairwise(Tuple.Create)) { + var mpEdge = Edge.Create(new Point(segment.Item1.SpeedRatio, segment.Item1.Torque.Value()), + new Point(segment.Item2.SpeedRatio, segment.Item2.Torque.Value())); + var muEdge = Edge.Create(new Point(segment.Item1.SpeedRatio, segment.Item1.TorqueRatio), + new Point(segment.Item2.SpeedRatio, segment.Item2.TorqueRatio)); + + var a = muEdge.OffsetXY * mpEdge.OffsetXY / (mpNorm * mpNorm); + var b = angularSpeedOut.Value() * (muEdge.SlopeXY * mpEdge.OffsetXY + mpEdge.SlopeXY * muEdge.OffsetXY) / + (mpNorm * mpNorm); + var c = angularSpeedOut.Value() * angularSpeedOut.Value() * mpEdge.SlopeXY * muEdge.SlopeXY / (mpNorm * mpNorm) - + torqueOut.Value(); + + solutions.AddRange(VectoMath.QuadraticEquationSolver(a, b, c).Where(x => { + var ratio = angularSpeedOut.Value() / x; + return x > min && muEdge.P1.X <= ratio && ratio < muEdge.P2.X; + })); + } + + if (solutions.Count == 0) { + Log.Debug( + "TorqueConverterData::FindOperatingPoint No solution for input torque/input speed found! n_out: {0}, tq_out: {1}", + angularSpeedOut, torqueOut); + } + + return solutions.Select(sol => { + var s = sol.SI<PerSecond>(); + var mu = MuLookup(angularSpeedOut / s); + return new TorqueConverterOperatingPoint { + OutTorque = torqueOut, + OutAngularVelocity = angularSpeedOut, + InAngularVelocity = s, + SpeedRatio = angularSpeedOut / s, + TorqueRatio = mu, + InTorque = torqueOut / mu, + }; + }).ToList(); + } + + /// <summary> + /// find an operating point for the torque converter + /// + /// find the input torque and output torque for the given input and output speeds. + /// Computes the speed ratio nu of input and output. Interpolates MP1000 and mu, Computes input torque and output torque + /// </summary> + /// <param name="inAngularVelocity">speed at the input of the TC</param> + /// <param name="outAngularVelocity">speed at the output of the TC</param> + /// <returns></returns> + public TorqueConverterOperatingPoint FindOperatingPoint(PerSecond inAngularVelocity, PerSecond outAngularVelocity) + { + var retVal = new TorqueConverterOperatingPoint { + InAngularVelocity = inAngularVelocity, + OutAngularVelocity = outAngularVelocity, + SpeedRatio = outAngularVelocity.Value() / inAngularVelocity.Value(), + }; + + foreach (var segment in TorqueConverterEntries.Pairwise()) { + if (retVal.SpeedRatio.IsBetween(segment.Item1.SpeedRatio, segment.Item2.SpeedRatio)) { + var mpTorque = segment.Interpolate(x => x.SpeedRatio, y => y.Torque, retVal.SpeedRatio); + retVal.TorqueRatio = segment.Interpolate(x => x.SpeedRatio, y => y.TorqueRatio, retVal.SpeedRatio); + retVal.InTorque = mpTorque * (inAngularVelocity * inAngularVelocity / ReferenceSpeed / ReferenceSpeed).Value(); + retVal.OutTorque = retVal.InTorque * retVal.TorqueRatio; + return retVal; + } + } + + // No solution found. Throw Error + var nu = outAngularVelocity / inAngularVelocity; + var nuMax = TorqueConverterEntries.Last().SpeedRatio; + + if (nu.IsGreater(nuMax)) { + throw new VectoException( + "Torque Converter: Range of torque converter data is not sufficient. Required nu: {0}, Got nu_max: {1}", nu, nuMax); + } + + throw new VectoException( + "Torque Converter: No solution for output speed/input speed found! n_out: {0}, n_in: {1}, nu: {2}, nu_max: {3}", + outAngularVelocity, inAngularVelocity, nu, nuMax); + } + + /// <summary> + /// find an operating point for the torque converter + /// + /// find the output torque and output speed for the given input torque and input speed + /// </summary> + /// <param name="inTorque"></param> + /// <param name="inAngularVelocity"></param> + /// <param name="outAngularSpeedEstimated"></param> + /// <returns></returns> + public TorqueConverterOperatingPoint FindOperatingPointForward(NewtonMeter inTorque, PerSecond inAngularVelocity, + PerSecond outAngularSpeedEstimated) + { + var referenceTorque = inTorque.Value() / inAngularVelocity.Value() / inAngularVelocity.Value() * + ReferenceSpeed.Value() * ReferenceSpeed.Value(); + var maxTorque = TorqueConverterEntries.Max(x => x.Torque.Value()); + if (referenceTorque.IsGreaterOrEqual(maxTorque)) { + referenceTorque = outAngularSpeedEstimated != null + ? ReferenceTorqueLookup(outAngularSpeedEstimated / inAngularVelocity).Value() + : 0.9 * maxTorque; + } + + var solutions = new List<double>(); + foreach (var edge in TorqueConverterEntries.Pairwise( + (p1, p2) => Edge.Create(new Point(p1.SpeedRatio, p1.Torque.Value()), new Point(p2.SpeedRatio, p2.Torque.Value())))) { + var x = (referenceTorque - edge.OffsetXY) / edge.SlopeXY; + if (x >= edge.P1.X && x < edge.P2.X) { + solutions.Add(x * inAngularVelocity.Value()); + } + } + if (solutions.Count == 0) { + throw new VectoSimulationException( + "Torque Converter: Failed to find operating point for inputTorque/inputSpeed! n_in: {0}, tq_in: {1}", + inAngularVelocity, inTorque); + } + return FindOperatingPoint(inAngularVelocity, solutions.Max().SI<PerSecond>()); + } + + public TorqueConverterOperatingPoint FindOperatingPointForPowerDemand(Watt power, PerSecond prevInputSpeed, + PerSecond nextOutputSpeed, KilogramSquareMeter inertia, Second dt, Watt previousPower) + { + var solutions = new List<double>(); + var mpNorm = ReferenceSpeed.Value(); + + foreach (var segment in TorqueConverterEntries.Pairwise(Tuple.Create)) { + var mpEdge = Edge.Create(new Point(segment.Item1.SpeedRatio, segment.Item1.Torque.Value()), + new Point(segment.Item2.SpeedRatio, segment.Item2.Torque.Value())); + + var a = mpEdge.OffsetXY / (2 * mpNorm * mpNorm); + var b = inertia.Value() / (2 * dt.Value()) + mpEdge.SlopeXY * nextOutputSpeed.Value() / (2 * mpNorm * mpNorm); + var c = 0; + var d = -inertia.Value() * prevInputSpeed.Value() * prevInputSpeed.Value() / (2 * dt.Value()) - power.Value() + + previousPower.Value() / 2; + var sol = VectoMath.CubicEquationSolver(a, b, c, d); + + var selected = sol.Where(x => x > 0 && nextOutputSpeed / x >= mpEdge.P1.X && nextOutputSpeed / x < mpEdge.P2.X); + solutions.AddRange(selected); + } + + if (solutions.Count == 0) { + throw new VectoException( + "Failed to find operating point for power {0}, prevInputSpeed {1}, nextOutputSpeed {2}", power, + prevInputSpeed, nextOutputSpeed); + } + solutions.Sort(); + + return FindOperatingPoint(solutions.First().SI<PerSecond>(), nextOutputSpeed); + } + + private double MuLookup(double speedRatio) + { + return TorqueConverterEntries.Interpolate(x => x.SpeedRatio, y => y.TorqueRatio, speedRatio); + } + + private NewtonMeter ReferenceTorqueLookup(double speedRatio) + { + return TorqueConverterEntries.Interpolate(x => x.SpeedRatio, y => y.Torque, speedRatio); + } + + // ReSharper disable once UnusedMember.Global -- used by validation + public static ValidationResult ValidateData(TorqueConverterData data, ValidationContext validationContext) + { + var min = data.TorqueConverterEntries.Min(e => e.SpeedRatio); + var max = data.TorqueConverterEntries.Max(e => e.SpeedRatio); + if (min > 0 || max < data.RequiredSpeedRatio) { + return new ValidationResult(string.Format( + "Torque Converter Data invalid - Speedratio has to cover the range from 0.0 to {2}: given data only goes from {0} to {1}", + min, max, data.RequiredSpeedRatio)); + } + + return ValidationResult.Success; + } + } + + public class TorqueConverterOperatingPoint + { + public PerSecond OutAngularVelocity; + public NewtonMeter OutTorque; + + public PerSecond InAngularVelocity; + public NewtonMeter InTorque; + + public double SpeedRatio; + public double TorqueRatio; + public bool Creeping; + + public override string ToString() + { + return string.Format("n_out: {0}, n_in: {1}, tq_out: {2}, tq_in {3}, nu: {4}, my: {5}", OutAngularVelocity, + InAngularVelocity, OutTorque, InTorque, SpeedRatio, TorqueRatio); + } + } + + public class TorqueConverterEntry + { + public double SpeedRatio; + public NewtonMeter Torque; + public double TorqueRatio; + } } \ No newline at end of file diff --git a/VectoCore/VectoCore/OutputData/XML/XMLManufacturerReport.cs b/VectoCore/VectoCore/OutputData/XML/XMLManufacturerReport.cs index a2cd3fe47124ec45114203cffaae2b5220e51fe4..8012ab31f0fd303590398db931470cb9cb1949f8 100644 --- a/VectoCore/VectoCore/OutputData/XML/XMLManufacturerReport.cs +++ b/VectoCore/VectoCore/OutputData/XML/XMLManufacturerReport.cs @@ -52,7 +52,7 @@ namespace TUGraz.VectoCore.OutputData.XML { public class XMLManufacturerReport { - public const string CURRENT_SCHEMA_VERSION = "0.5"; + public const string CURRENT_SCHEMA_VERSION = "0.6"; protected XElement VehiclePart; diff --git a/VectoCore/VectoCore/Resources/XSD/VectoOutputManufacturer.0.6.xsd b/VectoCore/VectoCore/Resources/XSD/VectoOutputManufacturer.0.6.xsd new file mode 100644 index 0000000000000000000000000000000000000000..b2e360637f805264c14528ffb9529eda07bb9bbe --- /dev/null +++ b/VectoCore/VectoCore/Resources/XSD/VectoOutputManufacturer.0.6.xsd @@ -0,0 +1,648 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- edited with XMLSpy v2016 rel. 2 sp1 (x64) (http://www.altova.com) by Helmut Eichlseder (TU Graz/Inst. f. VKM und THD) --> +<!--W3C XML Schema generated by XMLSpy vXMLSpy Professional Edition v2016 rel. 2 (x64) (http://www.altova.com)--> +<xs:schema xmlns="urn:tugraz:ivt:VectoAPI:DeclarationOutput:v0.6" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vdecdef="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" targetNamespace="urn:tugraz:ivt:VectoAPI:DeclarationOutput:v0.6" elementFormDefault="qualified" attributeFormDefault="unqualified" version="0.6"> + <xs:import namespace="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" schemaLocation="VectoDeclarationDefinitions.1.0.xsd"/> + <xs:element name="VectoOutput"> + <xs:annotation> + <xs:documentation>Comment describing your root element</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element name="Data"> + <xs:complexType> + <xs:complexContent> + <xs:extension base="VectoOutputDataType"/> + </xs:complexContent> + </xs:complexType> + </xs:element> + <xs:element name="Signature" type="vdecdef:SignatureType"/> + </xs:sequence> + <xs:attribute name="schemaVersion" type="xs:decimal" use="required"/> + </xs:complexType> + </xs:element> + <xs:complexType name="AirdragType"> + <xs:sequence> + <xs:element name="Model" minOccurs="0"/> + <xs:element name="CertificationMethod" type="AirdragCertificationOptionType"/> + <xs:element name="CertificationNumber" minOccurs="0"/> + <xs:element name="DigestValue" minOccurs="0"/> + <xs:element name="CdxA" type="vdecdef:AirdragCdxAType"> + <xs:annotation> + <xs:documentation>P245</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:complexType name="AngledriveType"> + <xs:sequence> + <xs:element name="Model" type="vdecdef:ModelType"/> + <xs:element name="CertificationMethod" type="vdecdef:AngledriveCertificationOptionType"> + <xs:annotation> + <xs:documentation>P258</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="CertificationNumber" type="vdecdef:CertificationNumberType" minOccurs="0"/> + <xs:element name="DigestValue" type="xs:token"/> + <xs:element name="Ratio" type="vdecdef:AngledriveRatioType"> + <xs:annotation> + <xs:documentation>P176</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:complexType name="AuxiliariesType"> + <xs:sequence> + <xs:element name="FanTechnology" type="vdecdef:AuxFanTechnologyType"> + <xs:annotation> + <xs:documentation>P181</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="SteeringPumpTechnology" maxOccurs="4"> + <xs:annotation> + <xs:documentation>P182</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="vdecdef:AuxSPTechnologyType"/> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="ElectricSystemTechnology" type="vdecdef:AuxESTechnologyType"> + <xs:annotation> + <xs:documentation>P183</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="PneumaticSystemTechnology" type="vdecdef:AuxPSTechnologyType"> + <xs:annotation> + <xs:documentation>P184</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="HVACTechnology" type="vdecdef:AuxHVACTechnologyType"> + <xs:annotation> + <xs:documentation>P185</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:complexType name="AxlegearType"> + <xs:sequence> + <xs:element name="Model" type="vdecdef:ModelType"/> + <xs:element name="CertificationMethod" type="vdecdef:AxlegearCertificationOptionType"> + <xs:annotation> + <xs:documentation>P256</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="CertificationNumber" type="vdecdef:CertificationNumberType" minOccurs="0"/> + <xs:element name="DigestValue" type="xs:token"/> + <xs:element name="LineType" type="vdecdef:AxlegearLineTypeType"> + <xs:annotation> + <xs:documentation>P253</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="Ratio" type="vdecdef:AxlegearRatioType"> + <xs:annotation> + <xs:documentation>P150</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:complexType name="AxleType"> + <xs:sequence> + <xs:element name="TyreDimension" type="vdecdef:TyreDimensionType"> + <xs:annotation> + <xs:documentation>P108</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="TyreCertificationNumber" type="vdecdef:CertificationNumberType"> + <xs:annotation> + <xs:documentation>P267</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="DigestValue" type="xs:token"/> + <xs:element name="TyreRRCDeclared" type="vdecdef:TyreRRCISOType"> + <xs:annotation> + <xs:documentation>P046</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="TwinTyres" type="vdecdef:AxleTwinTyresType"> + <xs:annotation> + <xs:documentation>P045</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + <xs:attribute name="axleNumber" use="required"> + <xs:simpleType> + <xs:restriction base="xs:int"> + <xs:minInclusive value="1"/> + <xs:maxInclusive value="4"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:complexType> + <xs:complexType name="AxleWheelsType"> + <xs:sequence minOccurs="2" maxOccurs="4"> + <xs:element name="Axle" type="AxleType"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="CO2Type"> + <xs:simpleContent> + <xs:extension base="xs:double"> + <xs:attribute name="unit" type="CO2UnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + <xs:complexType name="ComponentDescriptionType"> + <xs:sequence> + <xs:element name="Model" type="vdecdef:ModelType"/> + <xs:element name="CertificationNumber" type="vdecdef:CertificationNumberType"/> + <xs:element name="DigestValue" type="xs:token"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="EngineType"> + <xs:complexContent> + <xs:extension base="ComponentDescriptionType"> + <xs:sequence> + <xs:element name="RatedPower"> + <xs:annotation> + <xs:documentation>P250</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="vdecdef:EngineRatedPower"> + <xs:attribute name="unit" type="PowerUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="IdlingSpeed"> + <xs:annotation> + <xs:documentation>P063 / P198</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="vdecdef:EngineDeclaredSpeedType"> + <xs:attribute name="unit" type="AngularVelocityUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="RatedSpeed"> + <xs:annotation> + <xs:documentation>P249</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="vdecdef:EngineDeclaredSpeedType"> + <xs:attribute name="unit" type="AngularVelocityUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="Displacement"> + <xs:annotation> + <xs:documentation>P061</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:double"> + <xs:attribute name="unit" type="DisplacementType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="FuelType" type="vdecdef:FuelTypeType"> + <xs:annotation> + <xs:documentation>P193</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="FuelConsumptionType"> + <xs:simpleContent> + <xs:extension base="xs:double"> + <xs:attribute name="unit" type="FuelConsumptionUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + <xs:complexType name="GearboxType"> + <xs:sequence> + <xs:element name="Model" type="vdecdef:ModelType"/> + <xs:element name="CertificationMethod" type="vdecdef:GearboxCertificationOptionType"> + <xs:annotation> + <xs:documentation>P154</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="CertificationNumber" type="vdecdef:CertificationNumberType" minOccurs="0"/> + <xs:element name="DigestValue" type="xs:token"/> + <xs:element name="TransmissionType" type="vdecdef:GearboxTransmissionTypeType"> + <xs:annotation> + <xs:documentation>P076</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="GearsCount"> + <xs:annotation> + <xs:documentation>P199</xs:documentation> + </xs:annotation> + <xs:simpleType> + <xs:restriction base="xs:int"> + <xs:minInclusive value="1"/> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="TransmissionRatioFinalGear" type="vdecdef:GearboxGearRatioType"> + <xs:annotation> + <xs:documentation>P078</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:complexType name="ResultType"> + <xs:sequence> + <xs:element name="Mission" type="MissionTypeType"/> + <xs:choice> + <xs:sequence> + <xs:element name="Distance"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:double"> + <xs:attribute name="unit" type="DistanceUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="SimulationParameters" type="SimulationParametersType"/> + <xs:element name="VehiclePerformance" type="VehiclePerformanceType"/> + <xs:element name="FuelConsumption" type="FuelConsumptionType" maxOccurs="unbounded"/> + <xs:element name="CO2" type="CO2Type" maxOccurs="unbounded"/> + </xs:sequence> + <xs:sequence> + <xs:element name="Error" type="xs:string"/> + <xs:element name="ErrorDetails" type="xs:string"/> + </xs:sequence> + </xs:choice> + </xs:sequence> + <xs:attribute name="status" use="required"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="success"/> + <xs:enumeration value="error"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:complexType> + <xs:complexType name="RetarderType"> + <xs:sequence> + <xs:element name="RetarderType" type="vdecdef:RetarderTypeType"> + <xs:annotation> + <xs:documentation>P052</xs:documentation> + </xs:annotation> + </xs:element> + <xs:sequence minOccurs="0"> + <xs:element name="Model" type="vdecdef:ModelType"/> + <xs:element name="CertificationMethod" type="vdecdef:RetarderCertificationOptionType"> + <xs:annotation> + <xs:documentation>P255</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="CertificationNumber" type="vdecdef:CertificationNumberType" minOccurs="0"/> + <xs:element name="DigestValue" type="xs:token"/> + </xs:sequence> + </xs:sequence> + </xs:complexType> + <xs:complexType name="SimulationParametersType"> + <xs:sequence> + <xs:element name="TotalVehicleMass"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:double"> + <xs:attribute name="unit" type="MassUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="Payload"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:double"> + <xs:attribute name="unit" type="MassUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="FuelType" type="vdecdef:FuelTypeType"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TorqueconverterType"> + <xs:sequence> + <xs:element name="Model" type="vdecdef:ModelType"/> + <xs:element name="CertificationMethod" type="vdecdef:TorqueConverterCertificationOptionType"> + <xs:annotation> + <xs:documentation>P257</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="CertificationNumber" type="vdecdef:CertificationNumberType" minOccurs="0"/> + <xs:element name="DigestValue" type="xs:token"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TorqueLimitsEntryType"> + <xs:attribute name="gear" type="vdecdef:GearboxGearNumberType" use="required"> + <xs:annotation> + <xs:documentation>P196</xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="torqueLimit" type="vdecdef:TorqueLimitEntryMaxTorqueType" use="required"> + <xs:annotation> + <xs:documentation>P197 / P194</xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:complexType> + <xs:complexType name="TorqueLimitsType"> + <xs:sequence> + <xs:element name="Entry" type="TorqueLimitsEntryType"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="VectoOutputDataType"> + <xs:sequence> + <xs:element name="Vehicle" type="VehicleType"/> + <xs:element name="Results"> + <xs:complexType> + <xs:sequence> + <xs:element name="Status"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="success"/> + <xs:enumeration value="error"/> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="Result" type="ResultType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="ApplicationInformation"> + <xs:complexType> + <xs:sequence> + <xs:element name="SimulationToolVersion"/> + <xs:element name="Date"/> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:attribute name="id" use="required"/> + </xs:complexType> + <xs:complexType name="VehiclePerformanceType"> + <xs:sequence> + <xs:element name="AverageSpeed"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:double"> + <xs:attribute name="unit" type="SpeedUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="AverageDrivingSpeed"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:double"> + <xs:attribute name="unit" type="SpeedUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="MinSpeed"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:double"> + <xs:attribute name="unit" type="SpeedUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="MaxSpeed"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:double"> + <xs:attribute name="unit" type="SpeedUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="MaxDeceleration"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:double"> + <xs:attribute name="unit" type="AccelerationUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="MaxAcceleration"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:double"> + <xs:attribute name="unit" type="AccelerationUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="FullLoadDrivingtimePercentage"> + <xs:simpleType> + <xs:restriction base="xs:double"> + <xs:minInclusive value="0"/> + <xs:maxInclusive value="100"/> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="GearshiftCount" type="xs:int"/> + <xs:element name="EngineSpeedDriving"> + <xs:complexType> + <xs:sequence> + <xs:element name="Min"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:double"> + <xs:attribute name="unit" type="AngularVelocityUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="Average"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:double"> + <xs:attribute name="unit" type="AngularVelocityUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="Max"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:double"> + <xs:attribute name="unit" type="AngularVelocityUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:complexType name="VehicleType"> + <xs:sequence> + <xs:element name="VIN"> + <xs:annotation> + <xs:documentation>P238</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="LegislativeClass" type="vdecdef:LegislativeClassDeclarationType"> + <xs:annotation> + <xs:documentation>P251</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="VehicleGroup" type="VehicleGroupType"> + <xs:annotation> + <xs:documentation>VECTO</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="AxleConfiguration" type="vdecdef:VehicleAxleConfigurationDeclarationType"> + <xs:annotation> + <xs:documentation>P037</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="GrossVehicleMass"> + <xs:annotation> + <xs:documentation>P041</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:double"> + <xs:attribute name="unit" type="MassUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="CurbMassChassis"> + <xs:annotation> + <xs:documentation>P038</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="vdecdef:VehicleCurbMassChassisType"> + <xs:attribute name="unit" type="MassUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="PTO" type="xs:boolean"> + <xs:annotation> + <xs:documentation>P247</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="TorqueLimits" type="TorqueLimitsType" minOccurs="0"/> + <xs:element name="Components"> + <xs:complexType> + <xs:sequence> + <xs:element name="Engine" type="EngineType"/> + <xs:element name="Gearbox" type="GearboxType"/> + <xs:element name="TorqueConverter" type="TorqueconverterType" minOccurs="0"/> + <xs:element name="Retarder" type="RetarderType"/> + <xs:element name="Angledrive" type="AngledriveType" minOccurs="0"/> + <xs:element name="Axlegear" type="AxlegearType"/> + <xs:element name="AirDrag" type="AirdragType"/> + <xs:element name="AxleWheels" type="AxleWheelsType"/> + <xs:element name="Auxiliaries" type="AuxiliariesType"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="InputDataSignature" type="vdecdef:SignatureType"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="AccelerationUnitType"> + <xs:restriction base="xs:token"> + <xs:enumeration value="m/s²"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="AirdragCertificationOptionType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Measured"/> + <xs:enumeration value="Standard values"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="CO2UnitType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="g/km"/> + <xs:enumeration value="g/t-km"/> + <xs:enumeration value="g/p-km"/> + <xs:enumeration value="g/m³-km"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="DistanceUnitType"> + <xs:restriction base="xs:token"> + <xs:enumeration value="km"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="FuelConsumptionUnitType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="g/km"/> + <xs:enumeration value="g/t-km"/> + <xs:enumeration value="g/p-km"/> + <xs:enumeration value="g/m³-km"/> + <xs:enumeration value="l/100km"/> + <xs:enumeration value="l/t-km"/> + <xs:enumeration value="l/p-km"/> + <xs:enumeration value="l/m³-km"/> + <xs:enumeration value="MJ/km"/> + <xs:enumeration value="MJ/t-km"/> + <xs:enumeration value="MJ/m³-km"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="MassUnitType"> + <xs:restriction base="xs:token"> + <xs:enumeration value="kg"/> + <xs:enumeration value="t"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="MissionTypeType"> + <xs:restriction base="xs:token"> + <xs:enumeration value="Long Haul EMS"/> + <xs:enumeration value="Long Haul"/> + <xs:enumeration value="Regional Delivery EMS"/> + <xs:enumeration value="Regional Delivery"/> + <xs:enumeration value="Urban Delivery"/> + <xs:enumeration value="Municipal Utility"/> + <xs:enumeration value="Construction"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="SpeedUnitType"> + <xs:restriction base="xs:token"> + <xs:enumeration value="km/h"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="VehicleGroupType"> + <xs:restriction base="xs:int"> + <xs:minInclusive value="1"/> + <xs:maxInclusive value="16"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="AngularVelocityUnitType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="rpm"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="PowerUnitType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="kW"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="DisplacementType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="ltr"/> + </xs:restriction> + </xs:simpleType> +</xs:schema> diff --git a/VectoCore/VectoCore/Utils/XMLValidator.cs b/VectoCore/VectoCore/Utils/XMLValidator.cs index 92881d410583a98eeb9aa51177dabeb645073d27..69aabe2c945ed7e2de3216f7cf815434e0706e5e 100644 --- a/VectoCore/VectoCore/Utils/XMLValidator.cs +++ b/VectoCore/VectoCore/Utils/XMLValidator.cs @@ -51,7 +51,7 @@ namespace TUGraz.VectoCore.Utils {XmlDocumentType.DeclarationJobData, Tuple.Create("VectoInput{0}.xsd", new [] {"1.0"}) }, {XmlDocumentType.DeclarationComponentData, Tuple.Create("VectoComponent{0}.xsd", new [] {"1.0"}) }, {XmlDocumentType.EngineeringData, Tuple.Create("VectoEngineeringInput{0}.xsd", new [] {"0.7"}) }, - {XmlDocumentType.ManufacturerReport, Tuple.Create("VectoOutputManufacturer{0}.xsd", new [] {"0.4", "0.5"}) }, + {XmlDocumentType.ManufacturerReport, Tuple.Create("VectoOutputManufacturer{0}.xsd", new [] {"0.4", "0.5", "0.6"}) }, { XmlDocumentType.CustomerReport , Tuple.Create("VectoOutputCustomer{0}.xsd", new [] {"0.4", "0.5"})}, }; diff --git a/VectoCore/VectoCore/VectoCore.csproj b/VectoCore/VectoCore/VectoCore.csproj index 35b789ee5122e206330a500444a38994b939382c..38cf0238c5adacb731e25e5bd9344f5d592046e6 100644 --- a/VectoCore/VectoCore/VectoCore.csproj +++ b/VectoCore/VectoCore/VectoCore.csproj @@ -453,6 +453,9 @@ <EmbeddedResource Include="Resources\XSD\VectoOutputCustomer.0.5.xsd"> <SubType>Designer</SubType> </EmbeddedResource> + <EmbeddedResource Include="Resources\XSD\VectoOutputManufacturer.0.6.xsd"> + <SubType>Designer</SubType> + </EmbeddedResource> <None Include="Utils\VectoVersionCore.tt"> <Generator>TextTemplatingFileGenerator</Generator> <LastGenOutput>VectoVersionCore.cs</LastGenOutput> diff --git a/VectoCore/VectoCoreTest/Integration/XMLReportTest.cs b/VectoCore/VectoCoreTest/Integration/XMLReportTest.cs index ebddab88bad7fc96d8ab90b3e5b8cb1516efb6b0..dae9ce3faebeff8b641bc13c73d5dd14cc4458e0 100644 --- a/VectoCore/VectoCoreTest/Integration/XMLReportTest.cs +++ b/VectoCore/VectoCoreTest/Integration/XMLReportTest.cs @@ -78,7 +78,7 @@ namespace TUGraz.VectoCore.Tests.Integration var manufacturerReport = xmlReport.FullReport; - Assert.AreEqual(5, manufacturerReport.XPathSelectElement("//*[local-name()='VehicleGroup']").Value.ToInt()); + Assert.AreEqual(5, manufacturerReport.XPathSelectElement("//*[local-name()='VehicleGroup']")?.Value.ToInt()); var reportWheels = manufacturerReport.XPathSelectElements("//*[local-name()='TyreCertificationNumber']").ToList(); var i = 0; diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/vecto_vehicle-sample_AT.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/vecto_vehicle-sample_AT.xml new file mode 100644 index 0000000000000000000000000000000000000000..7f5e85d08ac6ae772f08a6fb0f701c164e88a6c4 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/vecto_vehicle-sample_AT.xml @@ -0,0 +1,2155 @@ +<?xml version="1.0" encoding="utf-8"?> +<tns:VectoInputDeclaration schemaVersion="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v1.0" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationInput:v1.0 https://webgate.ec.europa.eu/CITnet/svn/VECTO/trunk/Share/XML/XSD/VectoInput.xsd"> + <Vehicle id="VEH-N.A."> + <Manufacturer>Generic</Manufacturer> + <ManufacturerAddress>N.A.</ManufacturerAddress> + <Model>N.A.</Model> + <VIN>N.A.</VIN> + <Date>2018-09-05T07:21:04.6494309Z</Date> + <LegislativeClass>N3</LegislativeClass> + <VehicleCategory>Rigid Truck</VehicleCategory> + <AxleConfiguration>6x2</AxleConfiguration> + <CurbMassChassis>7750</CurbMassChassis> + <GrossVehicleMass>26000</GrossVehicleMass> + <IdlingSpeed>600</IdlingSpeed> + <RetarderType>None</RetarderType> + <AngledriveType>Separate Angledrive</AngledriveType> + <PTO> + <PTOShaftsGearWheels>none</PTOShaftsGearWheels> + <PTOOtherElements>none</PTOOtherElements> + </PTO> + <Components> + <Engine> + <Data id="ENG-Generic220kW7.7lEngine"> + <Manufacturer>Generic</Manufacturer> + <Model>Generic 220kW 7.7l Engine</Model> + <CertificationNumber>ENG-Generic 220kW 7.7l Engine</CertificationNumber> + <Date>2018-09-05T07:21:04.6673826Z</Date> + <AppVersion>VectoCore</AppVersion> + <Displacement>7700</Displacement> + <IdlingSpeed>600</IdlingSpeed> + <RatedSpeed>2200</RatedSpeed> + <RatedPower>219774</RatedPower> + <MaxEngineTorque>1200</MaxEngineTorque> + <WHTCUrban>1.0300</WHTCUrban> + <WHTCRural>1.0100</WHTCRural> + <WHTCMotorway>1.0000</WHTCMotorway> + <BFColdHot>1.0000</BFColdHot> + <CFRegPer>1.0000</CFRegPer> + <CFNCV>1.0000</CFNCV> + <FuelType>Diesel CI</FuelType> + <FuelConsumptionMap> + <Entry engineSpeed="600.00" torque="-144.58" fuelConsumption="0.00"/> + <Entry engineSpeed="600.00" torque="-44.58" fuelConsumption="0.00"/> + <Entry engineSpeed="600.00" torque="0.00" fuelConsumption="638.00"/> + <Entry engineSpeed="600.00" torque="70.00" fuelConsumption="1601.24"/> + <Entry engineSpeed="600.00" torque="100.00" fuelConsumption="2020.04"/> + <Entry engineSpeed="600.00" torque="200.00" fuelConsumption="3330.71"/> + <Entry engineSpeed="600.00" torque="300.00" fuelConsumption="4651.64"/> + <Entry engineSpeed="600.00" torque="400.00" fuelConsumption="5962.41"/> + <Entry engineSpeed="600.00" torque="500.00" fuelConsumption="7979.12"/> + <Entry engineSpeed="600.00" torque="600.00" fuelConsumption="10025.12"/> + <Entry engineSpeed="800.00" torque="-154.66" fuelConsumption="0.00"/> + <Entry engineSpeed="800.00" torque="-54.66" fuelConsumption="0.00"/> + <Entry engineSpeed="800.00" torque="0.00" fuelConsumption="914.26"/> + <Entry engineSpeed="800.00" torque="70.00" fuelConsumption="1862.24"/> + <Entry engineSpeed="800.00" torque="100.00" fuelConsumption="2367.75"/> + <Entry engineSpeed="800.00" torque="200.00" fuelConsumption="4006.79"/> + <Entry engineSpeed="800.00" torque="300.00" fuelConsumption="5667.98"/> + <Entry engineSpeed="800.00" torque="400.00" fuelConsumption="7335.35"/> + <Entry engineSpeed="800.00" torque="500.00" fuelConsumption="9511.02"/> + <Entry engineSpeed="800.00" torque="600.00" fuelConsumption="11650.65"/> + <Entry engineSpeed="800.00" torque="700.00" fuelConsumption="13773.98"/> + <Entry engineSpeed="800.00" torque="800.00" fuelConsumption="15797.43"/> + <Entry engineSpeed="800.00" torque="836.00" fuelConsumption="16529.92"/> + <Entry engineSpeed="1000.00" torque="-163.63" fuelConsumption="0.00"/> + <Entry engineSpeed="1000.00" torque="-63.63" fuelConsumption="0.00"/> + <Entry engineSpeed="1000.00" torque="0.00" fuelConsumption="1190.51"/> + <Entry engineSpeed="1000.00" torque="70.00" fuelConsumption="2123.23"/> + <Entry engineSpeed="1000.00" torque="100.00" fuelConsumption="2715.46"/> + <Entry engineSpeed="1000.00" torque="200.00" fuelConsumption="4682.86"/> + <Entry engineSpeed="1000.00" torque="300.00" fuelConsumption="6684.33"/> + <Entry engineSpeed="1000.00" torque="400.00" fuelConsumption="8708.28"/> + <Entry engineSpeed="1000.00" torque="500.00" fuelConsumption="11042.92"/> + <Entry engineSpeed="1000.00" torque="600.00" fuelConsumption="13276.18"/> + <Entry engineSpeed="1000.00" torque="700.00" fuelConsumption="15477.76"/> + <Entry engineSpeed="1000.00" torque="800.00" fuelConsumption="17682.68"/> + <Entry engineSpeed="1000.00" torque="900.00" fuelConsumption="19910.32"/> + <Entry engineSpeed="1000.00" torque="1000.00" fuelConsumption="22137.47"/> + <Entry engineSpeed="1000.00" torque="1070.00" fuelConsumption="23687.75"/> + <Entry engineSpeed="1200.00" torque="-174.94" fuelConsumption="0.00"/> + <Entry engineSpeed="1200.00" torque="-74.94" fuelConsumption="0.00"/> + <Entry engineSpeed="1200.00" torque="0.00" fuelConsumption="1466.77"/> + <Entry engineSpeed="1200.00" torque="70.00" fuelConsumption="2384.23"/> + <Entry engineSpeed="1200.00" torque="100.00" fuelConsumption="3063.16"/> + <Entry engineSpeed="1200.00" torque="200.00" fuelConsumption="5358.94"/> + <Entry engineSpeed="1200.00" torque="300.00" fuelConsumption="7700.67"/> + <Entry engineSpeed="1200.00" torque="400.00" fuelConsumption="10081.22"/> + <Entry engineSpeed="1200.00" torque="500.00" fuelConsumption="12574.82"/> + <Entry engineSpeed="1200.00" torque="600.00" fuelConsumption="14901.72"/> + <Entry engineSpeed="1200.00" torque="700.00" fuelConsumption="17181.54"/> + <Entry engineSpeed="1200.00" torque="800.00" fuelConsumption="19567.93"/> + <Entry engineSpeed="1200.00" torque="900.00" fuelConsumption="21988.50"/> + <Entry engineSpeed="1200.00" torque="1000.00" fuelConsumption="24410.55"/> + <Entry engineSpeed="1200.00" torque="1100.00" fuelConsumption="26818.12"/> + <Entry engineSpeed="1200.00" torque="1200.00" fuelConsumption="29600.85"/> + <Entry engineSpeed="1400.00" torque="-186.25" fuelConsumption="0.00"/> + <Entry engineSpeed="1400.00" torque="-86.25" fuelConsumption="0.00"/> + <Entry engineSpeed="1400.00" torque="0.00" fuelConsumption="1943.23"/> + <Entry engineSpeed="1400.00" torque="70.00" fuelConsumption="2867.47"/> + <Entry engineSpeed="1400.00" torque="100.00" fuelConsumption="3660.90"/> + <Entry engineSpeed="1400.00" torque="200.00" fuelConsumption="6305.67"/> + <Entry engineSpeed="1400.00" torque="300.00" fuelConsumption="9033.23"/> + <Entry engineSpeed="1400.00" torque="400.00" fuelConsumption="11786.02"/> + <Entry engineSpeed="1400.00" torque="500.00" fuelConsumption="14469.48"/> + <Entry engineSpeed="1400.00" torque="600.00" fuelConsumption="17183.33"/> + <Entry engineSpeed="1400.00" torque="700.00" fuelConsumption="20019.01"/> + <Entry engineSpeed="1400.00" torque="800.00" fuelConsumption="22833.01"/> + <Entry engineSpeed="1400.00" torque="900.00" fuelConsumption="25503.81"/> + <Entry engineSpeed="1400.00" torque="1000.00" fuelConsumption="28133.13"/> + <Entry engineSpeed="1400.00" torque="1100.00" fuelConsumption="30822.69"/> + <Entry engineSpeed="1400.00" torque="1200.00" fuelConsumption="33616.50"/> + <Entry engineSpeed="1600.00" torque="-197.57" fuelConsumption="0.00"/> + <Entry engineSpeed="1600.00" torque="-97.57" fuelConsumption="0.00"/> + <Entry engineSpeed="1600.00" torque="0.00" fuelConsumption="2390.68"/> + <Entry engineSpeed="1600.00" torque="70.00" fuelConsumption="3375.40"/> + <Entry engineSpeed="1600.00" torque="100.00" fuelConsumption="4270.71"/> + <Entry engineSpeed="1600.00" torque="200.00" fuelConsumption="7255.08"/> + <Entry engineSpeed="1600.00" torque="300.00" fuelConsumption="10395.25"/> + <Entry engineSpeed="1600.00" torque="400.00" fuelConsumption="13532.58"/> + <Entry engineSpeed="1600.00" torque="500.00" fuelConsumption="16706.54"/> + <Entry engineSpeed="1600.00" torque="600.00" fuelConsumption="19830.25"/> + <Entry engineSpeed="1600.00" torque="700.00" fuelConsumption="22960.50"/> + <Entry engineSpeed="1600.00" torque="800.00" fuelConsumption="26109.44"/> + <Entry engineSpeed="1600.00" torque="900.00" fuelConsumption="29158.70"/> + <Entry engineSpeed="1600.00" torque="1000.00" fuelConsumption="32050.23"/> + <Entry engineSpeed="1600.00" torque="1100.00" fuelConsumption="35223.83"/> + <Entry engineSpeed="1600.00" torque="1200.00" fuelConsumption="38415.23"/> + <Entry engineSpeed="1800.00" torque="-204.41" fuelConsumption="0.00"/> + <Entry engineSpeed="1800.00" torque="-104.41" fuelConsumption="0.00"/> + <Entry engineSpeed="1800.00" torque="0.00" fuelConsumption="2890.46"/> + <Entry engineSpeed="1800.00" torque="70.00" fuelConsumption="3985.03"/> + <Entry engineSpeed="1800.00" torque="100.00" fuelConsumption="4965.43"/> + <Entry engineSpeed="1800.00" torque="200.00" fuelConsumption="8233.42"/> + <Entry engineSpeed="1800.00" torque="300.00" fuelConsumption="11783.43"/> + <Entry engineSpeed="1800.00" torque="400.00" fuelConsumption="15307.09"/> + <Entry engineSpeed="1800.00" torque="500.00" fuelConsumption="18849.16"/> + <Entry engineSpeed="1800.00" torque="600.00" fuelConsumption="22267.47"/> + <Entry engineSpeed="1800.00" torque="700.00" fuelConsumption="25749.16"/> + <Entry engineSpeed="1800.00" torque="800.00" fuelConsumption="29389.56"/> + <Entry engineSpeed="1800.00" torque="900.00" fuelConsumption="32951.65"/> + <Entry engineSpeed="1800.00" torque="1000.00" fuelConsumption="36567.98"/> + <Entry engineSpeed="1800.00" torque="1100.00" fuelConsumption="40354.88"/> + <Entry engineSpeed="1800.00" torque="1124.00" fuelConsumption="41263.46"/> + <Entry engineSpeed="2000.00" torque="-211.73" fuelConsumption="0.00"/> + <Entry engineSpeed="2000.00" torque="-111.73" fuelConsumption="0.00"/> + <Entry engineSpeed="2000.00" torque="0.00" fuelConsumption="3496.10"/> + <Entry engineSpeed="2000.00" torque="70.00" fuelConsumption="4806.79"/> + <Entry engineSpeed="2000.00" torque="100.00" fuelConsumption="5854.51"/> + <Entry engineSpeed="2000.00" torque="200.00" fuelConsumption="9346.91"/> + <Entry engineSpeed="2000.00" torque="300.00" fuelConsumption="13318.20"/> + <Entry engineSpeed="2000.00" torque="400.00" fuelConsumption="17192.16"/> + <Entry engineSpeed="2000.00" torque="500.00" fuelConsumption="21141.10"/> + <Entry engineSpeed="2000.00" torque="600.00" fuelConsumption="25063.69"/> + <Entry engineSpeed="2000.00" torque="700.00" fuelConsumption="28933.73"/> + <Entry engineSpeed="2000.00" torque="800.00" fuelConsumption="33033.20"/> + <Entry engineSpeed="2000.00" torque="900.00" fuelConsumption="37186.49"/> + <Entry engineSpeed="2000.00" torque="1000.00" fuelConsumption="41216.66"/> + <Entry engineSpeed="2000.00" torque="1038.00" fuelConsumption="42697.63"/> + <Entry engineSpeed="2200.00" torque="-225.56" fuelConsumption="0.00"/> + <Entry engineSpeed="2200.00" torque="-125.56" fuelConsumption="0.00"/> + <Entry engineSpeed="2200.00" torque="0.00" fuelConsumption="4247.18"/> + <Entry engineSpeed="2200.00" torque="70.00" fuelConsumption="5534.02"/> + <Entry engineSpeed="2200.00" torque="100.00" fuelConsumption="6687.77"/> + <Entry engineSpeed="2200.00" torque="200.00" fuelConsumption="10533.61"/> + <Entry engineSpeed="2200.00" torque="300.00" fuelConsumption="14853.02"/> + <Entry engineSpeed="2200.00" torque="400.00" fuelConsumption="19148.40"/> + <Entry engineSpeed="2200.00" torque="500.00" fuelConsumption="23390.99"/> + <Entry engineSpeed="2200.00" torque="600.00" fuelConsumption="27829.44"/> + <Entry engineSpeed="2200.00" torque="700.00" fuelConsumption="32500.75"/> + <Entry engineSpeed="2200.00" torque="800.00" fuelConsumption="37123.63"/> + <Entry engineSpeed="2200.00" torque="900.00" fuelConsumption="41612.31"/> + <Entry engineSpeed="2200.00" torque="955.00" fuelConsumption="44050.20"/> + <Entry engineSpeed="2400.00" torque="-235.72" fuelConsumption="0.00"/> + <Entry engineSpeed="2400.00" torque="-135.72" fuelConsumption="0.00"/> + <Entry engineSpeed="2400.00" torque="0.00" fuelConsumption="4945.10"/> + <Entry engineSpeed="2400.00" torque="70.00" fuelConsumption="6234.18"/> + <Entry engineSpeed="2400.00" torque="100.00" fuelConsumption="7525.66"/> + <Entry engineSpeed="2400.00" torque="200.00" fuelConsumption="11830.60"/> + <Entry engineSpeed="2400.00" torque="300.00" fuelConsumption="16443.47"/> + <Entry engineSpeed="2400.00" torque="400.00" fuelConsumption="21308.19"/> + <Entry engineSpeed="2400.00" torque="500.00" fuelConsumption="26325.66"/> + <Entry engineSpeed="2400.00" torque="600.00" fuelConsumption="31335.42"/> + <Entry engineSpeed="2400.00" torque="700.00" fuelConsumption="36716.19"/> + <Entry engineSpeed="2400.00" torque="800.00" fuelConsumption="42106.80"/> + <Entry engineSpeed="2400.00" torque="815.00" fuelConsumption="42844.11"/> + <Entry engineSpeed="2500.00" torque="-240.18" fuelConsumption="0.00"/> + <Entry engineSpeed="2500.00" torque="-140.18" fuelConsumption="0.00"/> + <Entry engineSpeed="2500.00" torque="0.00" fuelConsumption="5337.87"/> + <Entry engineSpeed="2500.00" torque="70.00" fuelConsumption="6286.76"/> + <Entry engineSpeed="2500.00" torque="100.00" fuelConsumption="7731.93"/> + <Entry engineSpeed="2500.00" torque="200.00" fuelConsumption="12386.92"/> + <Entry engineSpeed="2500.00" torque="300.00" fuelConsumption="17232.61"/> + <Entry engineSpeed="2500.00" torque="400.00" fuelConsumption="22335.99"/> + <Entry engineSpeed="2500.00" torque="500.00" fuelConsumption="27944.55"/> + <Entry engineSpeed="2500.00" torque="600.00" fuelConsumption="33199.92"/> + <Entry engineSpeed="2500.00" torque="710.00" fuelConsumption="39388.78"/> + <Entry engineSpeed="2600.00" torque="-146.13" fuelConsumption="0.00"/> + <Entry engineSpeed="2600.00" torque="0.00" fuelConsumption="5534.25"/> + </FuelConsumptionMap> + <FullLoadAndDragCurve> + <Entry engineSpeed="600.00" maxTorque="600.00" dragTorque="-43.58"/> + <Entry engineSpeed="800.00" maxTorque="836.00" dragTorque="-53.66"/> + <Entry engineSpeed="1000.00" maxTorque="1069.52" dragTorque="-62.03"/> + <Entry engineSpeed="1200.00" maxTorque="1200.00" dragTorque="-73.94"/> + <Entry engineSpeed="1400.00" maxTorque="1200.00" dragTorque="-85.25"/> + <Entry engineSpeed="1600.00" maxTorque="1200.00" dragTorque="-96.57"/> + <Entry engineSpeed="1800.00" maxTorque="1123.62" dragTorque="-103.41"/> + <Entry engineSpeed="2000.00" maxTorque="1037.52" dragTorque="-110.73"/> + <Entry engineSpeed="2200.00" maxTorque="953.95" dragTorque="-124.56"/> + <Entry engineSpeed="2400.00" maxTorque="815.35" dragTorque="-134.72"/> + <Entry engineSpeed="2500.00" maxTorque="711.29" dragTorque="-139.18"/> + <Entry engineSpeed="2600.00" maxTorque="0.00" dragTorque="-145.13"/> + </FullLoadAndDragCurve> + </Data> + <Signature> + <Reference URI="#ENG-Generic220kW7.7lEngine" xmlns="http://www.w3.org/2000/09/xmldsig#"> + <Transforms> + <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithoutComments"/> + <Transform Algorithm="urn:vecto:xml:2017:canonicalization"/> + </Transforms> + <DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> + <DigestValue/> + </Reference> + </Signature> + </Engine> + <Gearbox> + <Data id="GBX-APT-SGenericTqMax1200"> + <Manufacturer>Generic</Manufacturer> + <Model>APT-S Generic TqMax1200</Model> + <CertificationNumber>GBX-APT-S Generic TqMax1200</CertificationNumber> + <Date>2018-09-05T07:21:04.7132954Z</Date> + <AppVersion>VectoCore</AppVersion> + <TransmissionType>APT-S</TransmissionType> + <MainCertificationMethod>Standard values</MainCertificationMethod> + <Gears> + <Gear number="1"> + <Ratio>3.490</Ratio> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="0.00" torqueLoss="48.00"/> + <Entry inputSpeed="0.00" inputTorque="200.00" torqueLoss="56.00"/> + <Entry inputSpeed="0.00" inputTorque="400.00" torqueLoss="64.00"/> + <Entry inputSpeed="0.00" inputTorque="600.00" torqueLoss="72.00"/> + <Entry inputSpeed="0.00" inputTorque="900.00" torqueLoss="84.00"/> + <Entry inputSpeed="0.00" inputTorque="1200.00" torqueLoss="96.00"/> + <Entry inputSpeed="0.00" inputTorque="1600.00" torqueLoss="112.00"/> + <Entry inputSpeed="0.00" inputTorque="2000.00" torqueLoss="128.00"/> + <Entry inputSpeed="0.00" inputTorque="2500.00" torqueLoss="148.00"/> + <Entry inputSpeed="600.00" inputTorque="0.00" torqueLoss="48.00"/> + <Entry inputSpeed="600.00" inputTorque="200.00" torqueLoss="56.00"/> + <Entry inputSpeed="600.00" inputTorque="400.00" torqueLoss="64.00"/> + <Entry inputSpeed="600.00" inputTorque="600.00" torqueLoss="72.00"/> + <Entry inputSpeed="600.00" inputTorque="900.00" torqueLoss="84.00"/> + <Entry inputSpeed="600.00" inputTorque="1200.00" torqueLoss="96.00"/> + <Entry inputSpeed="600.00" inputTorque="1600.00" torqueLoss="112.00"/> + <Entry inputSpeed="600.00" inputTorque="2000.00" torqueLoss="128.00"/> + <Entry inputSpeed="600.00" inputTorque="2500.00" torqueLoss="148.00"/> + <Entry inputSpeed="900.00" inputTorque="0.00" torqueLoss="57.00"/> + <Entry inputSpeed="900.00" inputTorque="200.00" torqueLoss="65.00"/> + <Entry inputSpeed="900.00" inputTorque="400.00" torqueLoss="73.00"/> + <Entry inputSpeed="900.00" inputTorque="600.00" torqueLoss="81.00"/> + <Entry inputSpeed="900.00" inputTorque="900.00" torqueLoss="93.00"/> + <Entry inputSpeed="900.00" inputTorque="1200.00" torqueLoss="105.00"/> + <Entry inputSpeed="900.00" inputTorque="1600.00" torqueLoss="121.00"/> + <Entry inputSpeed="900.00" inputTorque="2000.00" torqueLoss="137.00"/> + <Entry inputSpeed="900.00" inputTorque="2500.00" torqueLoss="157.00"/> + <Entry inputSpeed="1200.00" inputTorque="0.00" torqueLoss="66.00"/> + <Entry inputSpeed="1200.00" inputTorque="200.00" torqueLoss="74.00"/> + <Entry inputSpeed="1200.00" inputTorque="400.00" torqueLoss="82.00"/> + <Entry inputSpeed="1200.00" inputTorque="600.00" torqueLoss="90.00"/> + <Entry inputSpeed="1200.00" inputTorque="900.00" torqueLoss="102.00"/> + <Entry inputSpeed="1200.00" inputTorque="1200.00" torqueLoss="114.00"/> + <Entry inputSpeed="1200.00" inputTorque="1600.00" torqueLoss="130.00"/> + <Entry inputSpeed="1200.00" inputTorque="2000.00" torqueLoss="146.00"/> + <Entry inputSpeed="1200.00" inputTorque="2500.00" torqueLoss="166.00"/> + <Entry inputSpeed="1600.00" inputTorque="0.00" torqueLoss="78.00"/> + <Entry inputSpeed="1600.00" inputTorque="200.00" torqueLoss="86.00"/> + <Entry inputSpeed="1600.00" inputTorque="400.00" torqueLoss="94.00"/> + <Entry inputSpeed="1600.00" inputTorque="600.00" torqueLoss="102.00"/> + <Entry inputSpeed="1600.00" inputTorque="900.00" torqueLoss="114.00"/> + <Entry inputSpeed="1600.00" inputTorque="1200.00" torqueLoss="126.00"/> + <Entry inputSpeed="1600.00" inputTorque="1600.00" torqueLoss="142.00"/> + <Entry inputSpeed="1600.00" inputTorque="2000.00" torqueLoss="158.00"/> + <Entry inputSpeed="1600.00" inputTorque="2500.00" torqueLoss="178.00"/> + <Entry inputSpeed="2000.00" inputTorque="0.00" torqueLoss="90.00"/> + <Entry inputSpeed="2000.00" inputTorque="200.00" torqueLoss="98.00"/> + <Entry inputSpeed="2000.00" inputTorque="400.00" torqueLoss="106.00"/> + <Entry inputSpeed="2000.00" inputTorque="600.00" torqueLoss="114.00"/> + <Entry inputSpeed="2000.00" inputTorque="900.00" torqueLoss="126.00"/> + <Entry inputSpeed="2000.00" inputTorque="1200.00" torqueLoss="138.00"/> + <Entry inputSpeed="2000.00" inputTorque="1600.00" torqueLoss="154.00"/> + <Entry inputSpeed="2000.00" inputTorque="2000.00" torqueLoss="170.00"/> + <Entry inputSpeed="2000.00" inputTorque="2500.00" torqueLoss="190.00"/> + <Entry inputSpeed="2500.00" inputTorque="0.00" torqueLoss="105.00"/> + <Entry inputSpeed="2500.00" inputTorque="200.00" torqueLoss="113.00"/> + <Entry inputSpeed="2500.00" inputTorque="400.00" torqueLoss="121.00"/> + <Entry inputSpeed="2500.00" inputTorque="600.00" torqueLoss="129.00"/> + <Entry inputSpeed="2500.00" inputTorque="900.00" torqueLoss="141.00"/> + <Entry inputSpeed="2500.00" inputTorque="1200.00" torqueLoss="153.00"/> + <Entry inputSpeed="2500.00" inputTorque="1600.00" torqueLoss="169.00"/> + <Entry inputSpeed="2500.00" inputTorque="2000.00" torqueLoss="185.00"/> + <Entry inputSpeed="2500.00" inputTorque="2500.00" torqueLoss="205.00"/> + <Entry inputSpeed="3000.00" inputTorque="0.00" torqueLoss="120.00"/> + <Entry inputSpeed="3000.00" inputTorque="200.00" torqueLoss="128.00"/> + <Entry inputSpeed="3000.00" inputTorque="400.00" torqueLoss="136.00"/> + <Entry inputSpeed="3000.00" inputTorque="600.00" torqueLoss="144.00"/> + <Entry inputSpeed="3000.00" inputTorque="900.00" torqueLoss="156.00"/> + <Entry inputSpeed="3000.00" inputTorque="1200.00" torqueLoss="168.00"/> + <Entry inputSpeed="3000.00" inputTorque="1600.00" torqueLoss="184.00"/> + <Entry inputSpeed="3000.00" inputTorque="2000.00" torqueLoss="200.00"/> + <Entry inputSpeed="3000.00" inputTorque="2500.00" torqueLoss="220.00"/> + <Entry inputSpeed="600.00" inputTorque="0.00" torqueLoss="48.00"/> + <Entry inputSpeed="600.00" inputTorque="-200.00" torqueLoss="56.00"/> + <Entry inputSpeed="600.00" inputTorque="-400.00" torqueLoss="64.00"/> + <Entry inputSpeed="600.00" inputTorque="-600.00" torqueLoss="72.00"/> + <Entry inputSpeed="600.00" inputTorque="-900.00" torqueLoss="84.00"/> + <Entry inputSpeed="600.00" inputTorque="-1200.00" torqueLoss="96.00"/> + <Entry inputSpeed="600.00" inputTorque="-1600.00" torqueLoss="112.00"/> + <Entry inputSpeed="600.00" inputTorque="-2000.00" torqueLoss="128.00"/> + <Entry inputSpeed="600.00" inputTorque="-2500.00" torqueLoss="148.00"/> + <Entry inputSpeed="900.00" inputTorque="0.00" torqueLoss="57.00"/> + <Entry inputSpeed="900.00" inputTorque="-200.00" torqueLoss="65.00"/> + <Entry inputSpeed="900.00" inputTorque="-400.00" torqueLoss="73.00"/> + <Entry inputSpeed="900.00" inputTorque="-600.00" torqueLoss="81.00"/> + <Entry inputSpeed="900.00" inputTorque="-900.00" torqueLoss="93.00"/> + <Entry inputSpeed="900.00" inputTorque="-1200.00" torqueLoss="105.00"/> + <Entry inputSpeed="900.00" inputTorque="-1600.00" torqueLoss="121.00"/> + <Entry inputSpeed="900.00" inputTorque="-2000.00" torqueLoss="137.00"/> + <Entry inputSpeed="900.00" inputTorque="-2500.00" torqueLoss="157.00"/> + <Entry inputSpeed="1200.00" inputTorque="0.00" torqueLoss="66.00"/> + <Entry inputSpeed="1200.00" inputTorque="-200.00" torqueLoss="74.00"/> + <Entry inputSpeed="1200.00" inputTorque="-400.00" torqueLoss="82.00"/> + <Entry inputSpeed="1200.00" inputTorque="-600.00" torqueLoss="90.00"/> + <Entry inputSpeed="1200.00" inputTorque="-900.00" torqueLoss="102.00"/> + <Entry inputSpeed="1200.00" inputTorque="-1200.00" torqueLoss="114.00"/> + <Entry inputSpeed="1200.00" inputTorque="-1600.00" torqueLoss="130.00"/> + <Entry inputSpeed="1200.00" inputTorque="-2000.00" torqueLoss="146.00"/> + <Entry inputSpeed="1200.00" inputTorque="-2500.00" torqueLoss="166.00"/> + <Entry inputSpeed="1600.00" inputTorque="0.00" torqueLoss="78.00"/> + <Entry inputSpeed="1600.00" inputTorque="-200.00" torqueLoss="86.00"/> + <Entry inputSpeed="1600.00" inputTorque="-400.00" torqueLoss="94.00"/> + <Entry inputSpeed="1600.00" inputTorque="-600.00" torqueLoss="102.00"/> + <Entry inputSpeed="1600.00" inputTorque="-900.00" torqueLoss="114.00"/> + <Entry inputSpeed="1600.00" inputTorque="-1200.00" torqueLoss="126.00"/> + <Entry inputSpeed="1600.00" inputTorque="-1600.00" torqueLoss="142.00"/> + <Entry inputSpeed="1600.00" inputTorque="-2000.00" torqueLoss="158.00"/> + <Entry inputSpeed="1600.00" inputTorque="-2500.00" torqueLoss="178.00"/> + <Entry inputSpeed="2000.00" inputTorque="0.00" torqueLoss="90.00"/> + <Entry inputSpeed="2000.00" inputTorque="-200.00" torqueLoss="98.00"/> + <Entry inputSpeed="2000.00" inputTorque="-400.00" torqueLoss="106.00"/> + <Entry inputSpeed="2000.00" inputTorque="-600.00" torqueLoss="114.00"/> + <Entry inputSpeed="2000.00" inputTorque="-900.00" torqueLoss="126.00"/> + <Entry inputSpeed="2000.00" inputTorque="-1200.00" torqueLoss="138.00"/> + <Entry inputSpeed="2000.00" inputTorque="-1600.00" torqueLoss="154.00"/> + <Entry inputSpeed="2000.00" inputTorque="-2000.00" torqueLoss="170.00"/> + <Entry inputSpeed="2000.00" inputTorque="-2500.00" torqueLoss="190.00"/> + <Entry inputSpeed="2500.00" inputTorque="0.00" torqueLoss="105.00"/> + <Entry inputSpeed="2500.00" inputTorque="-200.00" torqueLoss="113.00"/> + <Entry inputSpeed="2500.00" inputTorque="-400.00" torqueLoss="121.00"/> + <Entry inputSpeed="2500.00" inputTorque="-600.00" torqueLoss="129.00"/> + <Entry inputSpeed="2500.00" inputTorque="-900.00" torqueLoss="141.00"/> + <Entry inputSpeed="2500.00" inputTorque="-1200.00" torqueLoss="153.00"/> + <Entry inputSpeed="2500.00" inputTorque="-1600.00" torqueLoss="169.00"/> + <Entry inputSpeed="2500.00" inputTorque="-2000.00" torqueLoss="185.00"/> + <Entry inputSpeed="2500.00" inputTorque="-2500.00" torqueLoss="205.00"/> + <Entry inputSpeed="3000.00" inputTorque="0.00" torqueLoss="120.00"/> + <Entry inputSpeed="3000.00" inputTorque="-200.00" torqueLoss="128.00"/> + <Entry inputSpeed="3000.00" inputTorque="-400.00" torqueLoss="136.00"/> + <Entry inputSpeed="3000.00" inputTorque="-600.00" torqueLoss="144.00"/> + <Entry inputSpeed="3000.00" inputTorque="-900.00" torqueLoss="156.00"/> + <Entry inputSpeed="3000.00" inputTorque="-1200.00" torqueLoss="168.00"/> + <Entry inputSpeed="3000.00" inputTorque="-1600.00" torqueLoss="184.00"/> + <Entry inputSpeed="3000.00" inputTorque="-2000.00" torqueLoss="200.00"/> + <Entry inputSpeed="3000.00" inputTorque="-2500.00" torqueLoss="220.00"/> + <Entry inputSpeed="1300.00" inputTorque="2610.00" torqueLoss="66.00"/> + <Entry inputSpeed="1300.00" inputTorque="2842.00" torqueLoss="71.00"/> + <Entry inputSpeed="1500.00" inputTorque="-812.00" torqueLoss="46.00"/> + <Entry inputSpeed="1500.00" inputTorque="-348.00" torqueLoss="37.00"/> + <Entry inputSpeed="1500.00" inputTorque="0.00" torqueLoss="13.00"/> + <Entry inputSpeed="1500.00" inputTorque="58.00" torqueLoss="16.00"/> + <Entry inputSpeed="1500.00" inputTorque="290.00" torqueLoss="21.00"/> + <Entry inputSpeed="1500.00" inputTorque="522.00" torqueLoss="26.00"/> + <Entry inputSpeed="1500.00" inputTorque="754.00" torqueLoss="30.00"/> + <Entry inputSpeed="1500.00" inputTorque="986.00" torqueLoss="35.00"/> + <Entry inputSpeed="1500.00" inputTorque="1218.00" torqueLoss="39.00"/> + <Entry inputSpeed="1500.00" inputTorque="1450.00" torqueLoss="44.00"/> + <Entry inputSpeed="1500.00" inputTorque="1682.00" torqueLoss="49.00"/> + <Entry inputSpeed="1500.00" inputTorque="1914.00" torqueLoss="53.00"/> + <Entry inputSpeed="1500.00" inputTorque="2146.00" torqueLoss="58.00"/> + <Entry inputSpeed="1500.00" inputTorque="2378.00" torqueLoss="63.00"/> + <Entry inputSpeed="1500.00" inputTorque="2610.00" torqueLoss="67.00"/> + <Entry inputSpeed="1500.00" inputTorque="2842.00" torqueLoss="72.00"/> + <Entry inputSpeed="1700.00" inputTorque="-812.00" torqueLoss="49.00"/> + <Entry inputSpeed="1700.00" inputTorque="-348.00" torqueLoss="39.00"/> + <Entry inputSpeed="1700.00" inputTorque="0.00" torqueLoss="14.00"/> + <Entry inputSpeed="1700.00" inputTorque="58.00" torqueLoss="17.00"/> + <Entry inputSpeed="1700.00" inputTorque="290.00" torqueLoss="22.00"/> + <Entry inputSpeed="1700.00" inputTorque="522.00" torqueLoss="27.00"/> + <Entry inputSpeed="1700.00" inputTorque="754.00" torqueLoss="31.00"/> + <Entry inputSpeed="1700.00" inputTorque="986.00" torqueLoss="36.00"/> + <Entry inputSpeed="1700.00" inputTorque="1218.00" torqueLoss="41.00"/> + <Entry inputSpeed="1700.00" inputTorque="1450.00" torqueLoss="45.00"/> + <Entry inputSpeed="1700.00" inputTorque="1682.00" torqueLoss="50.00"/> + <Entry inputSpeed="1700.00" inputTorque="1914.00" torqueLoss="55.00"/> + <Entry inputSpeed="1700.00" inputTorque="2146.00" torqueLoss="59.00"/> + <Entry inputSpeed="1700.00" inputTorque="2378.00" torqueLoss="64.00"/> + <Entry inputSpeed="1700.00" inputTorque="2610.00" torqueLoss="68.00"/> + <Entry inputSpeed="1700.00" inputTorque="2842.00" torqueLoss="73.00"/> + <Entry inputSpeed="1900.00" inputTorque="-812.00" torqueLoss="51.00"/> + <Entry inputSpeed="1900.00" inputTorque="-348.00" torqueLoss="42.00"/> + <Entry inputSpeed="1900.00" inputTorque="0.00" torqueLoss="15.00"/> + <Entry inputSpeed="1900.00" inputTorque="58.00" torqueLoss="19.00"/> + <Entry inputSpeed="1900.00" inputTorque="290.00" torqueLoss="23.00"/> + <Entry inputSpeed="1900.00" inputTorque="522.00" torqueLoss="28.00"/> + <Entry inputSpeed="1900.00" inputTorque="754.00" torqueLoss="32.00"/> + <Entry inputSpeed="1900.00" inputTorque="986.00" torqueLoss="37.00"/> + <Entry inputSpeed="1900.00" inputTorque="1218.00" torqueLoss="42.00"/> + <Entry inputSpeed="1900.00" inputTorque="1450.00" torqueLoss="46.00"/> + <Entry inputSpeed="1900.00" inputTorque="1682.00" torqueLoss="51.00"/> + <Entry inputSpeed="1900.00" inputTorque="1914.00" torqueLoss="56.00"/> + <Entry inputSpeed="1900.00" inputTorque="2146.00" torqueLoss="60.00"/> + <Entry inputSpeed="1900.00" inputTorque="2378.00" torqueLoss="65.00"/> + <Entry inputSpeed="1900.00" inputTorque="2610.00" torqueLoss="70.00"/> + <Entry inputSpeed="1900.00" inputTorque="2842.00" torqueLoss="74.00"/> + <Entry inputSpeed="2100.00" inputTorque="-812.00" torqueLoss="53.00"/> + <Entry inputSpeed="2100.00" inputTorque="-348.00" torqueLoss="44.00"/> + <Entry inputSpeed="2100.00" inputTorque="0.00" torqueLoss="16.00"/> + <Entry inputSpeed="2100.00" inputTorque="58.00" torqueLoss="20.00"/> + <Entry inputSpeed="2100.00" inputTorque="290.00" torqueLoss="24.00"/> + <Entry inputSpeed="2100.00" inputTorque="522.00" torqueLoss="29.00"/> + <Entry inputSpeed="2100.00" inputTorque="754.00" torqueLoss="34.00"/> + <Entry inputSpeed="2100.00" inputTorque="986.00" torqueLoss="38.00"/> + <Entry inputSpeed="2100.00" inputTorque="1218.00" torqueLoss="43.00"/> + <Entry inputSpeed="2100.00" inputTorque="1450.00" torqueLoss="48.00"/> + <Entry inputSpeed="2100.00" inputTorque="1682.00" torqueLoss="52.00"/> + <Entry inputSpeed="2100.00" inputTorque="1914.00" torqueLoss="57.00"/> + <Entry inputSpeed="2100.00" inputTorque="2146.00" torqueLoss="61.00"/> + <Entry inputSpeed="2100.00" inputTorque="2378.00" torqueLoss="66.00"/> + <Entry inputSpeed="2100.00" inputTorque="2610.00" torqueLoss="71.00"/> + <Entry inputSpeed="2100.00" inputTorque="2842.00" torqueLoss="75.00"/> + </TorqueLossMap> + </Gear> + <Gear number="2"> + <Ratio>1.860</Ratio> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="0.00" torqueLoss="48.00"/> + <Entry inputSpeed="0.00" inputTorque="200.00" torqueLoss="56.00"/> + <Entry inputSpeed="0.00" inputTorque="400.00" torqueLoss="64.00"/> + <Entry inputSpeed="0.00" inputTorque="600.00" torqueLoss="72.00"/> + <Entry inputSpeed="0.00" inputTorque="900.00" torqueLoss="84.00"/> + <Entry inputSpeed="0.00" inputTorque="1200.00" torqueLoss="96.00"/> + <Entry inputSpeed="0.00" inputTorque="1600.00" torqueLoss="112.00"/> + <Entry inputSpeed="0.00" inputTorque="2000.00" torqueLoss="128.00"/> + <Entry inputSpeed="0.00" inputTorque="2500.00" torqueLoss="148.00"/> + <Entry inputSpeed="600.00" inputTorque="0.00" torqueLoss="48.00"/> + <Entry inputSpeed="600.00" inputTorque="200.00" torqueLoss="56.00"/> + <Entry inputSpeed="600.00" inputTorque="400.00" torqueLoss="64.00"/> + <Entry inputSpeed="600.00" inputTorque="600.00" torqueLoss="72.00"/> + <Entry inputSpeed="600.00" inputTorque="900.00" torqueLoss="84.00"/> + <Entry inputSpeed="600.00" inputTorque="1200.00" torqueLoss="96.00"/> + <Entry inputSpeed="600.00" inputTorque="1600.00" torqueLoss="112.00"/> + <Entry inputSpeed="600.00" inputTorque="2000.00" torqueLoss="128.00"/> + <Entry inputSpeed="600.00" inputTorque="2500.00" torqueLoss="148.00"/> + <Entry inputSpeed="900.00" inputTorque="0.00" torqueLoss="57.00"/> + <Entry inputSpeed="900.00" inputTorque="200.00" torqueLoss="65.00"/> + <Entry inputSpeed="900.00" inputTorque="400.00" torqueLoss="73.00"/> + <Entry inputSpeed="900.00" inputTorque="600.00" torqueLoss="81.00"/> + <Entry inputSpeed="900.00" inputTorque="900.00" torqueLoss="93.00"/> + <Entry inputSpeed="900.00" inputTorque="1200.00" torqueLoss="105.00"/> + <Entry inputSpeed="900.00" inputTorque="1600.00" torqueLoss="121.00"/> + <Entry inputSpeed="900.00" inputTorque="2000.00" torqueLoss="137.00"/> + <Entry inputSpeed="900.00" inputTorque="2500.00" torqueLoss="157.00"/> + <Entry inputSpeed="1200.00" inputTorque="0.00" torqueLoss="66.00"/> + <Entry inputSpeed="1200.00" inputTorque="200.00" torqueLoss="74.00"/> + <Entry inputSpeed="1200.00" inputTorque="400.00" torqueLoss="82.00"/> + <Entry inputSpeed="1200.00" inputTorque="600.00" torqueLoss="90.00"/> + <Entry inputSpeed="1200.00" inputTorque="900.00" torqueLoss="102.00"/> + <Entry inputSpeed="1200.00" inputTorque="1200.00" torqueLoss="114.00"/> + <Entry inputSpeed="1200.00" inputTorque="1600.00" torqueLoss="130.00"/> + <Entry inputSpeed="1200.00" inputTorque="2000.00" torqueLoss="146.00"/> + <Entry inputSpeed="1200.00" inputTorque="2500.00" torqueLoss="166.00"/> + <Entry inputSpeed="1600.00" inputTorque="0.00" torqueLoss="78.00"/> + <Entry inputSpeed="1600.00" inputTorque="200.00" torqueLoss="86.00"/> + <Entry inputSpeed="1600.00" inputTorque="400.00" torqueLoss="94.00"/> + <Entry inputSpeed="1600.00" inputTorque="600.00" torqueLoss="102.00"/> + <Entry inputSpeed="1600.00" inputTorque="900.00" torqueLoss="114.00"/> + <Entry inputSpeed="1600.00" inputTorque="1200.00" torqueLoss="126.00"/> + <Entry inputSpeed="1600.00" inputTorque="1600.00" torqueLoss="142.00"/> + <Entry inputSpeed="1600.00" inputTorque="2000.00" torqueLoss="158.00"/> + <Entry inputSpeed="1600.00" inputTorque="2500.00" torqueLoss="178.00"/> + <Entry inputSpeed="2000.00" inputTorque="0.00" torqueLoss="90.00"/> + <Entry inputSpeed="2000.00" inputTorque="200.00" torqueLoss="98.00"/> + <Entry inputSpeed="2000.00" inputTorque="400.00" torqueLoss="106.00"/> + <Entry inputSpeed="2000.00" inputTorque="600.00" torqueLoss="114.00"/> + <Entry inputSpeed="2000.00" inputTorque="900.00" torqueLoss="126.00"/> + <Entry inputSpeed="2000.00" inputTorque="1200.00" torqueLoss="138.00"/> + <Entry inputSpeed="2000.00" inputTorque="1600.00" torqueLoss="154.00"/> + <Entry inputSpeed="2000.00" inputTorque="2000.00" torqueLoss="170.00"/> + <Entry inputSpeed="2000.00" inputTorque="2500.00" torqueLoss="190.00"/> + <Entry inputSpeed="2500.00" inputTorque="0.00" torqueLoss="105.00"/> + <Entry inputSpeed="2500.00" inputTorque="200.00" torqueLoss="113.00"/> + <Entry inputSpeed="2500.00" inputTorque="400.00" torqueLoss="121.00"/> + <Entry inputSpeed="2500.00" inputTorque="600.00" torqueLoss="129.00"/> + <Entry inputSpeed="2500.00" inputTorque="900.00" torqueLoss="141.00"/> + <Entry inputSpeed="2500.00" inputTorque="1200.00" torqueLoss="153.00"/> + <Entry inputSpeed="2500.00" inputTorque="1600.00" torqueLoss="169.00"/> + <Entry inputSpeed="2500.00" inputTorque="2000.00" torqueLoss="185.00"/> + <Entry inputSpeed="2500.00" inputTorque="2500.00" torqueLoss="205.00"/> + <Entry inputSpeed="3000.00" inputTorque="0.00" torqueLoss="120.00"/> + <Entry inputSpeed="3000.00" inputTorque="200.00" torqueLoss="128.00"/> + <Entry inputSpeed="3000.00" inputTorque="400.00" torqueLoss="136.00"/> + <Entry inputSpeed="3000.00" inputTorque="600.00" torqueLoss="144.00"/> + <Entry inputSpeed="3000.00" inputTorque="900.00" torqueLoss="156.00"/> + <Entry inputSpeed="3000.00" inputTorque="1200.00" torqueLoss="168.00"/> + <Entry inputSpeed="3000.00" inputTorque="1600.00" torqueLoss="184.00"/> + <Entry inputSpeed="3000.00" inputTorque="2000.00" torqueLoss="200.00"/> + <Entry inputSpeed="3000.00" inputTorque="2500.00" torqueLoss="220.00"/> + <Entry inputSpeed="600.00" inputTorque="0.00" torqueLoss="48.00"/> + <Entry inputSpeed="600.00" inputTorque="-200.00" torqueLoss="56.00"/> + <Entry inputSpeed="600.00" inputTorque="-400.00" torqueLoss="64.00"/> + <Entry inputSpeed="600.00" inputTorque="-600.00" torqueLoss="72.00"/> + <Entry inputSpeed="600.00" inputTorque="-900.00" torqueLoss="84.00"/> + <Entry inputSpeed="600.00" inputTorque="-1200.00" torqueLoss="96.00"/> + <Entry inputSpeed="600.00" inputTorque="-1600.00" torqueLoss="112.00"/> + <Entry inputSpeed="600.00" inputTorque="-2000.00" torqueLoss="128.00"/> + <Entry inputSpeed="600.00" inputTorque="-2500.00" torqueLoss="148.00"/> + <Entry inputSpeed="900.00" inputTorque="0.00" torqueLoss="57.00"/> + <Entry inputSpeed="900.00" inputTorque="-200.00" torqueLoss="65.00"/> + <Entry inputSpeed="900.00" inputTorque="-400.00" torqueLoss="73.00"/> + <Entry inputSpeed="900.00" inputTorque="-600.00" torqueLoss="81.00"/> + <Entry inputSpeed="900.00" inputTorque="-900.00" torqueLoss="93.00"/> + <Entry inputSpeed="900.00" inputTorque="-1200.00" torqueLoss="105.00"/> + <Entry inputSpeed="900.00" inputTorque="-1600.00" torqueLoss="121.00"/> + <Entry inputSpeed="900.00" inputTorque="-2000.00" torqueLoss="137.00"/> + <Entry inputSpeed="900.00" inputTorque="-2500.00" torqueLoss="157.00"/> + <Entry inputSpeed="1200.00" inputTorque="0.00" torqueLoss="66.00"/> + <Entry inputSpeed="1200.00" inputTorque="-200.00" torqueLoss="74.00"/> + <Entry inputSpeed="1200.00" inputTorque="-400.00" torqueLoss="82.00"/> + <Entry inputSpeed="1200.00" inputTorque="-600.00" torqueLoss="90.00"/> + <Entry inputSpeed="1200.00" inputTorque="-900.00" torqueLoss="102.00"/> + <Entry inputSpeed="1200.00" inputTorque="-1200.00" torqueLoss="114.00"/> + <Entry inputSpeed="1200.00" inputTorque="-1600.00" torqueLoss="130.00"/> + <Entry inputSpeed="1200.00" inputTorque="-2000.00" torqueLoss="146.00"/> + <Entry inputSpeed="1200.00" inputTorque="-2500.00" torqueLoss="166.00"/> + <Entry inputSpeed="1600.00" inputTorque="0.00" torqueLoss="78.00"/> + <Entry inputSpeed="1600.00" inputTorque="-200.00" torqueLoss="86.00"/> + <Entry inputSpeed="1600.00" inputTorque="-400.00" torqueLoss="94.00"/> + <Entry inputSpeed="1600.00" inputTorque="-600.00" torqueLoss="102.00"/> + <Entry inputSpeed="1600.00" inputTorque="-900.00" torqueLoss="114.00"/> + <Entry inputSpeed="1600.00" inputTorque="-1200.00" torqueLoss="126.00"/> + <Entry inputSpeed="1600.00" inputTorque="-1600.00" torqueLoss="142.00"/> + <Entry inputSpeed="1600.00" inputTorque="-2000.00" torqueLoss="158.00"/> + <Entry inputSpeed="1600.00" inputTorque="-2500.00" torqueLoss="178.00"/> + <Entry inputSpeed="2000.00" inputTorque="0.00" torqueLoss="90.00"/> + <Entry inputSpeed="2000.00" inputTorque="-200.00" torqueLoss="98.00"/> + <Entry inputSpeed="2000.00" inputTorque="-400.00" torqueLoss="106.00"/> + <Entry inputSpeed="2000.00" inputTorque="-600.00" torqueLoss="114.00"/> + <Entry inputSpeed="2000.00" inputTorque="-900.00" torqueLoss="126.00"/> + <Entry inputSpeed="2000.00" inputTorque="-1200.00" torqueLoss="138.00"/> + <Entry inputSpeed="2000.00" inputTorque="-1600.00" torqueLoss="154.00"/> + <Entry inputSpeed="2000.00" inputTorque="-2000.00" torqueLoss="170.00"/> + <Entry inputSpeed="2000.00" inputTorque="-2500.00" torqueLoss="190.00"/> + <Entry inputSpeed="2500.00" inputTorque="0.00" torqueLoss="105.00"/> + <Entry inputSpeed="2500.00" inputTorque="-200.00" torqueLoss="113.00"/> + <Entry inputSpeed="2500.00" inputTorque="-400.00" torqueLoss="121.00"/> + <Entry inputSpeed="2500.00" inputTorque="-600.00" torqueLoss="129.00"/> + <Entry inputSpeed="2500.00" inputTorque="-900.00" torqueLoss="141.00"/> + <Entry inputSpeed="2500.00" inputTorque="-1200.00" torqueLoss="153.00"/> + <Entry inputSpeed="2500.00" inputTorque="-1600.00" torqueLoss="169.00"/> + <Entry inputSpeed="2500.00" inputTorque="-2000.00" torqueLoss="185.00"/> + <Entry inputSpeed="2500.00" inputTorque="-2500.00" torqueLoss="205.00"/> + <Entry inputSpeed="3000.00" inputTorque="0.00" torqueLoss="120.00"/> + <Entry inputSpeed="3000.00" inputTorque="-200.00" torqueLoss="128.00"/> + <Entry inputSpeed="3000.00" inputTorque="-400.00" torqueLoss="136.00"/> + <Entry inputSpeed="3000.00" inputTorque="-600.00" torqueLoss="144.00"/> + <Entry inputSpeed="3000.00" inputTorque="-900.00" torqueLoss="156.00"/> + <Entry inputSpeed="3000.00" inputTorque="-1200.00" torqueLoss="168.00"/> + <Entry inputSpeed="3000.00" inputTorque="-1600.00" torqueLoss="184.00"/> + <Entry inputSpeed="3000.00" inputTorque="-2000.00" torqueLoss="200.00"/> + <Entry inputSpeed="3000.00" inputTorque="-2500.00" torqueLoss="220.00"/> + </TorqueLossMap> + </Gear> + <Gear number="3"> + <Ratio>1.410</Ratio> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="0.00" torqueLoss="48.00"/> + <Entry inputSpeed="0.00" inputTorque="200.00" torqueLoss="56.00"/> + <Entry inputSpeed="0.00" inputTorque="400.00" torqueLoss="64.00"/> + <Entry inputSpeed="0.00" inputTorque="600.00" torqueLoss="72.00"/> + <Entry inputSpeed="0.00" inputTorque="900.00" torqueLoss="84.00"/> + <Entry inputSpeed="0.00" inputTorque="1200.00" torqueLoss="96.00"/> + <Entry inputSpeed="0.00" inputTorque="1600.00" torqueLoss="112.00"/> + <Entry inputSpeed="0.00" inputTorque="2000.00" torqueLoss="128.00"/> + <Entry inputSpeed="0.00" inputTorque="2500.00" torqueLoss="148.00"/> + <Entry inputSpeed="600.00" inputTorque="0.00" torqueLoss="48.00"/> + <Entry inputSpeed="600.00" inputTorque="200.00" torqueLoss="56.00"/> + <Entry inputSpeed="600.00" inputTorque="400.00" torqueLoss="64.00"/> + <Entry inputSpeed="600.00" inputTorque="600.00" torqueLoss="72.00"/> + <Entry inputSpeed="600.00" inputTorque="900.00" torqueLoss="84.00"/> + <Entry inputSpeed="600.00" inputTorque="1200.00" torqueLoss="96.00"/> + <Entry inputSpeed="600.00" inputTorque="1600.00" torqueLoss="112.00"/> + <Entry inputSpeed="600.00" inputTorque="2000.00" torqueLoss="128.00"/> + <Entry inputSpeed="600.00" inputTorque="2500.00" torqueLoss="148.00"/> + <Entry inputSpeed="900.00" inputTorque="0.00" torqueLoss="57.00"/> + <Entry inputSpeed="900.00" inputTorque="200.00" torqueLoss="65.00"/> + <Entry inputSpeed="900.00" inputTorque="400.00" torqueLoss="73.00"/> + <Entry inputSpeed="900.00" inputTorque="600.00" torqueLoss="81.00"/> + <Entry inputSpeed="900.00" inputTorque="900.00" torqueLoss="93.00"/> + <Entry inputSpeed="900.00" inputTorque="1200.00" torqueLoss="105.00"/> + <Entry inputSpeed="900.00" inputTorque="1600.00" torqueLoss="121.00"/> + <Entry inputSpeed="900.00" inputTorque="2000.00" torqueLoss="137.00"/> + <Entry inputSpeed="900.00" inputTorque="2500.00" torqueLoss="157.00"/> + <Entry inputSpeed="1200.00" inputTorque="0.00" torqueLoss="66.00"/> + <Entry inputSpeed="1200.00" inputTorque="200.00" torqueLoss="74.00"/> + <Entry inputSpeed="1200.00" inputTorque="400.00" torqueLoss="82.00"/> + <Entry inputSpeed="1200.00" inputTorque="600.00" torqueLoss="90.00"/> + <Entry inputSpeed="1200.00" inputTorque="900.00" torqueLoss="102.00"/> + <Entry inputSpeed="1200.00" inputTorque="1200.00" torqueLoss="114.00"/> + <Entry inputSpeed="1200.00" inputTorque="1600.00" torqueLoss="130.00"/> + <Entry inputSpeed="1200.00" inputTorque="2000.00" torqueLoss="146.00"/> + <Entry inputSpeed="1200.00" inputTorque="2500.00" torqueLoss="166.00"/> + <Entry inputSpeed="1600.00" inputTorque="0.00" torqueLoss="78.00"/> + <Entry inputSpeed="1600.00" inputTorque="200.00" torqueLoss="86.00"/> + <Entry inputSpeed="1600.00" inputTorque="400.00" torqueLoss="94.00"/> + <Entry inputSpeed="1600.00" inputTorque="600.00" torqueLoss="102.00"/> + <Entry inputSpeed="1600.00" inputTorque="900.00" torqueLoss="114.00"/> + <Entry inputSpeed="1600.00" inputTorque="1200.00" torqueLoss="126.00"/> + <Entry inputSpeed="1600.00" inputTorque="1600.00" torqueLoss="142.00"/> + <Entry inputSpeed="1600.00" inputTorque="2000.00" torqueLoss="158.00"/> + <Entry inputSpeed="1600.00" inputTorque="2500.00" torqueLoss="178.00"/> + <Entry inputSpeed="2000.00" inputTorque="0.00" torqueLoss="90.00"/> + <Entry inputSpeed="2000.00" inputTorque="200.00" torqueLoss="98.00"/> + <Entry inputSpeed="2000.00" inputTorque="400.00" torqueLoss="106.00"/> + <Entry inputSpeed="2000.00" inputTorque="600.00" torqueLoss="114.00"/> + <Entry inputSpeed="2000.00" inputTorque="900.00" torqueLoss="126.00"/> + <Entry inputSpeed="2000.00" inputTorque="1200.00" torqueLoss="138.00"/> + <Entry inputSpeed="2000.00" inputTorque="1600.00" torqueLoss="154.00"/> + <Entry inputSpeed="2000.00" inputTorque="2000.00" torqueLoss="170.00"/> + <Entry inputSpeed="2000.00" inputTorque="2500.00" torqueLoss="190.00"/> + <Entry inputSpeed="2500.00" inputTorque="0.00" torqueLoss="105.00"/> + <Entry inputSpeed="2500.00" inputTorque="200.00" torqueLoss="113.00"/> + <Entry inputSpeed="2500.00" inputTorque="400.00" torqueLoss="121.00"/> + <Entry inputSpeed="2500.00" inputTorque="600.00" torqueLoss="129.00"/> + <Entry inputSpeed="2500.00" inputTorque="900.00" torqueLoss="141.00"/> + <Entry inputSpeed="2500.00" inputTorque="1200.00" torqueLoss="153.00"/> + <Entry inputSpeed="2500.00" inputTorque="1600.00" torqueLoss="169.00"/> + <Entry inputSpeed="2500.00" inputTorque="2000.00" torqueLoss="185.00"/> + <Entry inputSpeed="2500.00" inputTorque="2500.00" torqueLoss="205.00"/> + <Entry inputSpeed="3000.00" inputTorque="0.00" torqueLoss="120.00"/> + <Entry inputSpeed="3000.00" inputTorque="200.00" torqueLoss="128.00"/> + <Entry inputSpeed="3000.00" inputTorque="400.00" torqueLoss="136.00"/> + <Entry inputSpeed="3000.00" inputTorque="600.00" torqueLoss="144.00"/> + <Entry inputSpeed="3000.00" inputTorque="900.00" torqueLoss="156.00"/> + <Entry inputSpeed="3000.00" inputTorque="1200.00" torqueLoss="168.00"/> + <Entry inputSpeed="3000.00" inputTorque="1600.00" torqueLoss="184.00"/> + <Entry inputSpeed="3000.00" inputTorque="2000.00" torqueLoss="200.00"/> + <Entry inputSpeed="3000.00" inputTorque="2500.00" torqueLoss="220.00"/> + <Entry inputSpeed="600.00" inputTorque="0.00" torqueLoss="48.00"/> + <Entry inputSpeed="600.00" inputTorque="-200.00" torqueLoss="56.00"/> + <Entry inputSpeed="600.00" inputTorque="-400.00" torqueLoss="64.00"/> + <Entry inputSpeed="600.00" inputTorque="-600.00" torqueLoss="72.00"/> + <Entry inputSpeed="600.00" inputTorque="-900.00" torqueLoss="84.00"/> + <Entry inputSpeed="600.00" inputTorque="-1200.00" torqueLoss="96.00"/> + <Entry inputSpeed="600.00" inputTorque="-1600.00" torqueLoss="112.00"/> + <Entry inputSpeed="600.00" inputTorque="-2000.00" torqueLoss="128.00"/> + <Entry inputSpeed="600.00" inputTorque="-2500.00" torqueLoss="148.00"/> + <Entry inputSpeed="900.00" inputTorque="0.00" torqueLoss="57.00"/> + <Entry inputSpeed="900.00" inputTorque="-200.00" torqueLoss="65.00"/> + <Entry inputSpeed="900.00" inputTorque="-400.00" torqueLoss="73.00"/> + <Entry inputSpeed="900.00" inputTorque="-600.00" torqueLoss="81.00"/> + <Entry inputSpeed="900.00" inputTorque="-900.00" torqueLoss="93.00"/> + <Entry inputSpeed="900.00" inputTorque="-1200.00" torqueLoss="105.00"/> + <Entry inputSpeed="900.00" inputTorque="-1600.00" torqueLoss="121.00"/> + <Entry inputSpeed="900.00" inputTorque="-2000.00" torqueLoss="137.00"/> + <Entry inputSpeed="900.00" inputTorque="-2500.00" torqueLoss="157.00"/> + <Entry inputSpeed="1200.00" inputTorque="0.00" torqueLoss="66.00"/> + <Entry inputSpeed="1200.00" inputTorque="-200.00" torqueLoss="74.00"/> + <Entry inputSpeed="1200.00" inputTorque="-400.00" torqueLoss="82.00"/> + <Entry inputSpeed="1200.00" inputTorque="-600.00" torqueLoss="90.00"/> + <Entry inputSpeed="1200.00" inputTorque="-900.00" torqueLoss="102.00"/> + <Entry inputSpeed="1200.00" inputTorque="-1200.00" torqueLoss="114.00"/> + <Entry inputSpeed="1200.00" inputTorque="-1600.00" torqueLoss="130.00"/> + <Entry inputSpeed="1200.00" inputTorque="-2000.00" torqueLoss="146.00"/> + <Entry inputSpeed="1200.00" inputTorque="-2500.00" torqueLoss="166.00"/> + <Entry inputSpeed="1600.00" inputTorque="0.00" torqueLoss="78.00"/> + <Entry inputSpeed="1600.00" inputTorque="-200.00" torqueLoss="86.00"/> + <Entry inputSpeed="1600.00" inputTorque="-400.00" torqueLoss="94.00"/> + <Entry inputSpeed="1600.00" inputTorque="-600.00" torqueLoss="102.00"/> + <Entry inputSpeed="1600.00" inputTorque="-900.00" torqueLoss="114.00"/> + <Entry inputSpeed="1600.00" inputTorque="-1200.00" torqueLoss="126.00"/> + <Entry inputSpeed="1600.00" inputTorque="-1600.00" torqueLoss="142.00"/> + <Entry inputSpeed="1600.00" inputTorque="-2000.00" torqueLoss="158.00"/> + <Entry inputSpeed="1600.00" inputTorque="-2500.00" torqueLoss="178.00"/> + <Entry inputSpeed="2000.00" inputTorque="0.00" torqueLoss="90.00"/> + <Entry inputSpeed="2000.00" inputTorque="-200.00" torqueLoss="98.00"/> + <Entry inputSpeed="2000.00" inputTorque="-400.00" torqueLoss="106.00"/> + <Entry inputSpeed="2000.00" inputTorque="-600.00" torqueLoss="114.00"/> + <Entry inputSpeed="2000.00" inputTorque="-900.00" torqueLoss="126.00"/> + <Entry inputSpeed="2000.00" inputTorque="-1200.00" torqueLoss="138.00"/> + <Entry inputSpeed="2000.00" inputTorque="-1600.00" torqueLoss="154.00"/> + <Entry inputSpeed="2000.00" inputTorque="-2000.00" torqueLoss="170.00"/> + <Entry inputSpeed="2000.00" inputTorque="-2500.00" torqueLoss="190.00"/> + <Entry inputSpeed="2500.00" inputTorque="0.00" torqueLoss="105.00"/> + <Entry inputSpeed="2500.00" inputTorque="-200.00" torqueLoss="113.00"/> + <Entry inputSpeed="2500.00" inputTorque="-400.00" torqueLoss="121.00"/> + <Entry inputSpeed="2500.00" inputTorque="-600.00" torqueLoss="129.00"/> + <Entry inputSpeed="2500.00" inputTorque="-900.00" torqueLoss="141.00"/> + <Entry inputSpeed="2500.00" inputTorque="-1200.00" torqueLoss="153.00"/> + <Entry inputSpeed="2500.00" inputTorque="-1600.00" torqueLoss="169.00"/> + <Entry inputSpeed="2500.00" inputTorque="-2000.00" torqueLoss="185.00"/> + <Entry inputSpeed="2500.00" inputTorque="-2500.00" torqueLoss="205.00"/> + <Entry inputSpeed="3000.00" inputTorque="0.00" torqueLoss="120.00"/> + <Entry inputSpeed="3000.00" inputTorque="-200.00" torqueLoss="128.00"/> + <Entry inputSpeed="3000.00" inputTorque="-400.00" torqueLoss="136.00"/> + <Entry inputSpeed="3000.00" inputTorque="-600.00" torqueLoss="144.00"/> + <Entry inputSpeed="3000.00" inputTorque="-900.00" torqueLoss="156.00"/> + <Entry inputSpeed="3000.00" inputTorque="-1200.00" torqueLoss="168.00"/> + <Entry inputSpeed="3000.00" inputTorque="-1600.00" torqueLoss="184.00"/> + <Entry inputSpeed="3000.00" inputTorque="-2000.00" torqueLoss="200.00"/> + <Entry inputSpeed="3000.00" inputTorque="-2500.00" torqueLoss="220.00"/> + </TorqueLossMap> + </Gear> + <Gear number="4"> + <Ratio>1.000</Ratio> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="0.00" torqueLoss="48.00"/> + <Entry inputSpeed="0.00" inputTorque="200.00" torqueLoss="50.00"/> + <Entry inputSpeed="0.00" inputTorque="400.00" torqueLoss="52.00"/> + <Entry inputSpeed="0.00" inputTorque="600.00" torqueLoss="54.00"/> + <Entry inputSpeed="0.00" inputTorque="900.00" torqueLoss="57.00"/> + <Entry inputSpeed="0.00" inputTorque="1200.00" torqueLoss="60.00"/> + <Entry inputSpeed="0.00" inputTorque="1600.00" torqueLoss="64.00"/> + <Entry inputSpeed="0.00" inputTorque="2000.00" torqueLoss="68.00"/> + <Entry inputSpeed="0.00" inputTorque="2500.00" torqueLoss="73.00"/> + <Entry inputSpeed="600.00" inputTorque="0.00" torqueLoss="48.00"/> + <Entry inputSpeed="600.00" inputTorque="200.00" torqueLoss="50.00"/> + <Entry inputSpeed="600.00" inputTorque="400.00" torqueLoss="52.00"/> + <Entry inputSpeed="600.00" inputTorque="600.00" torqueLoss="54.00"/> + <Entry inputSpeed="600.00" inputTorque="900.00" torqueLoss="57.00"/> + <Entry inputSpeed="600.00" inputTorque="1200.00" torqueLoss="60.00"/> + <Entry inputSpeed="600.00" inputTorque="1600.00" torqueLoss="64.00"/> + <Entry inputSpeed="600.00" inputTorque="2000.00" torqueLoss="68.00"/> + <Entry inputSpeed="600.00" inputTorque="2500.00" torqueLoss="73.00"/> + <Entry inputSpeed="900.00" inputTorque="0.00" torqueLoss="57.00"/> + <Entry inputSpeed="900.00" inputTorque="200.00" torqueLoss="59.00"/> + <Entry inputSpeed="900.00" inputTorque="400.00" torqueLoss="61.00"/> + <Entry inputSpeed="900.00" inputTorque="600.00" torqueLoss="63.00"/> + <Entry inputSpeed="900.00" inputTorque="900.00" torqueLoss="66.00"/> + <Entry inputSpeed="900.00" inputTorque="1200.00" torqueLoss="69.00"/> + <Entry inputSpeed="900.00" inputTorque="1600.00" torqueLoss="73.00"/> + <Entry inputSpeed="900.00" inputTorque="2000.00" torqueLoss="77.00"/> + <Entry inputSpeed="900.00" inputTorque="2500.00" torqueLoss="82.00"/> + <Entry inputSpeed="1200.00" inputTorque="0.00" torqueLoss="66.00"/> + <Entry inputSpeed="1200.00" inputTorque="200.00" torqueLoss="68.00"/> + <Entry inputSpeed="1200.00" inputTorque="400.00" torqueLoss="70.00"/> + <Entry inputSpeed="1200.00" inputTorque="600.00" torqueLoss="72.00"/> + <Entry inputSpeed="1200.00" inputTorque="900.00" torqueLoss="75.00"/> + <Entry inputSpeed="1200.00" inputTorque="1200.00" torqueLoss="78.00"/> + <Entry inputSpeed="1200.00" inputTorque="1600.00" torqueLoss="82.00"/> + <Entry inputSpeed="1200.00" inputTorque="2000.00" torqueLoss="86.00"/> + <Entry inputSpeed="1200.00" inputTorque="2500.00" torqueLoss="91.00"/> + <Entry inputSpeed="1600.00" inputTorque="0.00" torqueLoss="78.00"/> + <Entry inputSpeed="1600.00" inputTorque="200.00" torqueLoss="80.00"/> + <Entry inputSpeed="1600.00" inputTorque="400.00" torqueLoss="82.00"/> + <Entry inputSpeed="1600.00" inputTorque="600.00" torqueLoss="84.00"/> + <Entry inputSpeed="1600.00" inputTorque="900.00" torqueLoss="87.00"/> + <Entry inputSpeed="1600.00" inputTorque="1200.00" torqueLoss="90.00"/> + <Entry inputSpeed="1600.00" inputTorque="1600.00" torqueLoss="94.00"/> + <Entry inputSpeed="1600.00" inputTorque="2000.00" torqueLoss="98.00"/> + <Entry inputSpeed="1600.00" inputTorque="2500.00" torqueLoss="103.00"/> + <Entry inputSpeed="2000.00" inputTorque="0.00" torqueLoss="90.00"/> + <Entry inputSpeed="2000.00" inputTorque="200.00" torqueLoss="92.00"/> + <Entry inputSpeed="2000.00" inputTorque="400.00" torqueLoss="94.00"/> + <Entry inputSpeed="2000.00" inputTorque="600.00" torqueLoss="96.00"/> + <Entry inputSpeed="2000.00" inputTorque="900.00" torqueLoss="99.00"/> + <Entry inputSpeed="2000.00" inputTorque="1200.00" torqueLoss="102.00"/> + <Entry inputSpeed="2000.00" inputTorque="1600.00" torqueLoss="106.00"/> + <Entry inputSpeed="2000.00" inputTorque="2000.00" torqueLoss="110.00"/> + <Entry inputSpeed="2000.00" inputTorque="2500.00" torqueLoss="115.00"/> + <Entry inputSpeed="2500.00" inputTorque="0.00" torqueLoss="105.00"/> + <Entry inputSpeed="2500.00" inputTorque="200.00" torqueLoss="107.00"/> + <Entry inputSpeed="2500.00" inputTorque="400.00" torqueLoss="109.00"/> + <Entry inputSpeed="2500.00" inputTorque="600.00" torqueLoss="111.00"/> + <Entry inputSpeed="2500.00" inputTorque="900.00" torqueLoss="114.00"/> + <Entry inputSpeed="2500.00" inputTorque="1200.00" torqueLoss="117.00"/> + <Entry inputSpeed="2500.00" inputTorque="1600.00" torqueLoss="121.00"/> + <Entry inputSpeed="2500.00" inputTorque="2000.00" torqueLoss="125.00"/> + <Entry inputSpeed="2500.00" inputTorque="2500.00" torqueLoss="130.00"/> + <Entry inputSpeed="3000.00" inputTorque="0.00" torqueLoss="120.00"/> + <Entry inputSpeed="3000.00" inputTorque="200.00" torqueLoss="122.00"/> + <Entry inputSpeed="3000.00" inputTorque="400.00" torqueLoss="124.00"/> + <Entry inputSpeed="3000.00" inputTorque="600.00" torqueLoss="126.00"/> + <Entry inputSpeed="3000.00" inputTorque="900.00" torqueLoss="129.00"/> + <Entry inputSpeed="3000.00" inputTorque="1200.00" torqueLoss="132.00"/> + <Entry inputSpeed="3000.00" inputTorque="1600.00" torqueLoss="136.00"/> + <Entry inputSpeed="3000.00" inputTorque="2000.00" torqueLoss="140.00"/> + <Entry inputSpeed="3000.00" inputTorque="2500.00" torqueLoss="145.00"/> + <Entry inputSpeed="600.00" inputTorque="0.00" torqueLoss="48.00"/> + <Entry inputSpeed="600.00" inputTorque="-200.00" torqueLoss="50.00"/> + <Entry inputSpeed="600.00" inputTorque="-400.00" torqueLoss="52.00"/> + <Entry inputSpeed="600.00" inputTorque="-600.00" torqueLoss="54.00"/> + <Entry inputSpeed="600.00" inputTorque="-900.00" torqueLoss="57.00"/> + <Entry inputSpeed="600.00" inputTorque="-1200.00" torqueLoss="60.00"/> + <Entry inputSpeed="600.00" inputTorque="-1600.00" torqueLoss="64.00"/> + <Entry inputSpeed="600.00" inputTorque="-2000.00" torqueLoss="68.00"/> + <Entry inputSpeed="600.00" inputTorque="-2500.00" torqueLoss="73.00"/> + <Entry inputSpeed="900.00" inputTorque="0.00" torqueLoss="57.00"/> + <Entry inputSpeed="900.00" inputTorque="-200.00" torqueLoss="59.00"/> + <Entry inputSpeed="900.00" inputTorque="-400.00" torqueLoss="61.00"/> + <Entry inputSpeed="900.00" inputTorque="-600.00" torqueLoss="63.00"/> + <Entry inputSpeed="900.00" inputTorque="-900.00" torqueLoss="66.00"/> + <Entry inputSpeed="900.00" inputTorque="-1200.00" torqueLoss="69.00"/> + <Entry inputSpeed="900.00" inputTorque="-1600.00" torqueLoss="73.00"/> + <Entry inputSpeed="900.00" inputTorque="-2000.00" torqueLoss="77.00"/> + <Entry inputSpeed="900.00" inputTorque="-2500.00" torqueLoss="82.00"/> + <Entry inputSpeed="1200.00" inputTorque="0.00" torqueLoss="66.00"/> + <Entry inputSpeed="1200.00" inputTorque="-200.00" torqueLoss="68.00"/> + <Entry inputSpeed="1200.00" inputTorque="-400.00" torqueLoss="70.00"/> + <Entry inputSpeed="1200.00" inputTorque="-600.00" torqueLoss="72.00"/> + <Entry inputSpeed="1200.00" inputTorque="-900.00" torqueLoss="75.00"/> + <Entry inputSpeed="1200.00" inputTorque="-1200.00" torqueLoss="78.00"/> + <Entry inputSpeed="1200.00" inputTorque="-1600.00" torqueLoss="82.00"/> + <Entry inputSpeed="1200.00" inputTorque="-2000.00" torqueLoss="86.00"/> + <Entry inputSpeed="1200.00" inputTorque="-2500.00" torqueLoss="91.00"/> + <Entry inputSpeed="1600.00" inputTorque="0.00" torqueLoss="78.00"/> + <Entry inputSpeed="1600.00" inputTorque="-200.00" torqueLoss="80.00"/> + <Entry inputSpeed="1600.00" inputTorque="-400.00" torqueLoss="82.00"/> + <Entry inputSpeed="1600.00" inputTorque="-600.00" torqueLoss="84.00"/> + <Entry inputSpeed="1600.00" inputTorque="-900.00" torqueLoss="87.00"/> + <Entry inputSpeed="1600.00" inputTorque="-1200.00" torqueLoss="90.00"/> + <Entry inputSpeed="1600.00" inputTorque="-1600.00" torqueLoss="94.00"/> + <Entry inputSpeed="1600.00" inputTorque="-2000.00" torqueLoss="98.00"/> + <Entry inputSpeed="1600.00" inputTorque="-2500.00" torqueLoss="103.00"/> + <Entry inputSpeed="2000.00" inputTorque="0.00" torqueLoss="90.00"/> + <Entry inputSpeed="2000.00" inputTorque="-200.00" torqueLoss="92.00"/> + <Entry inputSpeed="2000.00" inputTorque="-400.00" torqueLoss="94.00"/> + <Entry inputSpeed="2000.00" inputTorque="-600.00" torqueLoss="96.00"/> + <Entry inputSpeed="2000.00" inputTorque="-900.00" torqueLoss="99.00"/> + <Entry inputSpeed="2000.00" inputTorque="-1200.00" torqueLoss="102.00"/> + <Entry inputSpeed="2000.00" inputTorque="-1600.00" torqueLoss="106.00"/> + <Entry inputSpeed="2000.00" inputTorque="-2000.00" torqueLoss="110.00"/> + <Entry inputSpeed="2000.00" inputTorque="-2500.00" torqueLoss="115.00"/> + <Entry inputSpeed="2500.00" inputTorque="0.00" torqueLoss="105.00"/> + <Entry inputSpeed="2500.00" inputTorque="-200.00" torqueLoss="107.00"/> + <Entry inputSpeed="2500.00" inputTorque="-400.00" torqueLoss="109.00"/> + <Entry inputSpeed="2500.00" inputTorque="-600.00" torqueLoss="111.00"/> + <Entry inputSpeed="2500.00" inputTorque="-900.00" torqueLoss="114.00"/> + <Entry inputSpeed="2500.00" inputTorque="-1200.00" torqueLoss="117.00"/> + <Entry inputSpeed="2500.00" inputTorque="-1600.00" torqueLoss="121.00"/> + <Entry inputSpeed="2500.00" inputTorque="-2000.00" torqueLoss="125.00"/> + <Entry inputSpeed="2500.00" inputTorque="-2500.00" torqueLoss="130.00"/> + <Entry inputSpeed="3000.00" inputTorque="0.00" torqueLoss="120.00"/> + <Entry inputSpeed="3000.00" inputTorque="-200.00" torqueLoss="122.00"/> + <Entry inputSpeed="3000.00" inputTorque="-400.00" torqueLoss="124.00"/> + <Entry inputSpeed="3000.00" inputTorque="-600.00" torqueLoss="126.00"/> + <Entry inputSpeed="3000.00" inputTorque="-900.00" torqueLoss="129.00"/> + <Entry inputSpeed="3000.00" inputTorque="-1200.00" torqueLoss="132.00"/> + <Entry inputSpeed="3000.00" inputTorque="-1600.00" torqueLoss="136.00"/> + <Entry inputSpeed="3000.00" inputTorque="-2000.00" torqueLoss="140.00"/> + <Entry inputSpeed="3000.00" inputTorque="-2500.00" torqueLoss="145.00"/> + </TorqueLossMap> + </Gear> + <Gear number="5"> + <Ratio>0.750</Ratio> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="0.00" torqueLoss="48.00"/> + <Entry inputSpeed="0.00" inputTorque="200.00" torqueLoss="56.00"/> + <Entry inputSpeed="0.00" inputTorque="400.00" torqueLoss="64.00"/> + <Entry inputSpeed="0.00" inputTorque="600.00" torqueLoss="72.00"/> + <Entry inputSpeed="0.00" inputTorque="900.00" torqueLoss="84.00"/> + <Entry inputSpeed="0.00" inputTorque="1200.00" torqueLoss="96.00"/> + <Entry inputSpeed="0.00" inputTorque="1600.00" torqueLoss="112.00"/> + <Entry inputSpeed="0.00" inputTorque="2000.00" torqueLoss="128.00"/> + <Entry inputSpeed="0.00" inputTorque="2500.00" torqueLoss="148.00"/> + <Entry inputSpeed="600.00" inputTorque="0.00" torqueLoss="48.00"/> + <Entry inputSpeed="600.00" inputTorque="200.00" torqueLoss="56.00"/> + <Entry inputSpeed="600.00" inputTorque="400.00" torqueLoss="64.00"/> + <Entry inputSpeed="600.00" inputTorque="600.00" torqueLoss="72.00"/> + <Entry inputSpeed="600.00" inputTorque="900.00" torqueLoss="84.00"/> + <Entry inputSpeed="600.00" inputTorque="1200.00" torqueLoss="96.00"/> + <Entry inputSpeed="600.00" inputTorque="1600.00" torqueLoss="112.00"/> + <Entry inputSpeed="600.00" inputTorque="2000.00" torqueLoss="128.00"/> + <Entry inputSpeed="600.00" inputTorque="2500.00" torqueLoss="148.00"/> + <Entry inputSpeed="900.00" inputTorque="0.00" torqueLoss="57.00"/> + <Entry inputSpeed="900.00" inputTorque="200.00" torqueLoss="65.00"/> + <Entry inputSpeed="900.00" inputTorque="400.00" torqueLoss="73.00"/> + <Entry inputSpeed="900.00" inputTorque="600.00" torqueLoss="81.00"/> + <Entry inputSpeed="900.00" inputTorque="900.00" torqueLoss="93.00"/> + <Entry inputSpeed="900.00" inputTorque="1200.00" torqueLoss="105.00"/> + <Entry inputSpeed="900.00" inputTorque="1600.00" torqueLoss="121.00"/> + <Entry inputSpeed="900.00" inputTorque="2000.00" torqueLoss="137.00"/> + <Entry inputSpeed="900.00" inputTorque="2500.00" torqueLoss="157.00"/> + <Entry inputSpeed="1200.00" inputTorque="0.00" torqueLoss="66.00"/> + <Entry inputSpeed="1200.00" inputTorque="200.00" torqueLoss="74.00"/> + <Entry inputSpeed="1200.00" inputTorque="400.00" torqueLoss="82.00"/> + <Entry inputSpeed="1200.00" inputTorque="600.00" torqueLoss="90.00"/> + <Entry inputSpeed="1200.00" inputTorque="900.00" torqueLoss="102.00"/> + <Entry inputSpeed="1200.00" inputTorque="1200.00" torqueLoss="114.00"/> + <Entry inputSpeed="1200.00" inputTorque="1600.00" torqueLoss="130.00"/> + <Entry inputSpeed="1200.00" inputTorque="2000.00" torqueLoss="146.00"/> + <Entry inputSpeed="1200.00" inputTorque="2500.00" torqueLoss="166.00"/> + <Entry inputSpeed="1600.00" inputTorque="0.00" torqueLoss="78.00"/> + <Entry inputSpeed="1600.00" inputTorque="200.00" torqueLoss="86.00"/> + <Entry inputSpeed="1600.00" inputTorque="400.00" torqueLoss="94.00"/> + <Entry inputSpeed="1600.00" inputTorque="600.00" torqueLoss="102.00"/> + <Entry inputSpeed="1600.00" inputTorque="900.00" torqueLoss="114.00"/> + <Entry inputSpeed="1600.00" inputTorque="1200.00" torqueLoss="126.00"/> + <Entry inputSpeed="1600.00" inputTorque="1600.00" torqueLoss="142.00"/> + <Entry inputSpeed="1600.00" inputTorque="2000.00" torqueLoss="158.00"/> + <Entry inputSpeed="1600.00" inputTorque="2500.00" torqueLoss="178.00"/> + <Entry inputSpeed="2000.00" inputTorque="0.00" torqueLoss="90.00"/> + <Entry inputSpeed="2000.00" inputTorque="200.00" torqueLoss="98.00"/> + <Entry inputSpeed="2000.00" inputTorque="400.00" torqueLoss="106.00"/> + <Entry inputSpeed="2000.00" inputTorque="600.00" torqueLoss="114.00"/> + <Entry inputSpeed="2000.00" inputTorque="900.00" torqueLoss="126.00"/> + <Entry inputSpeed="2000.00" inputTorque="1200.00" torqueLoss="138.00"/> + <Entry inputSpeed="2000.00" inputTorque="1600.00" torqueLoss="154.00"/> + <Entry inputSpeed="2000.00" inputTorque="2000.00" torqueLoss="170.00"/> + <Entry inputSpeed="2000.00" inputTorque="2500.00" torqueLoss="190.00"/> + <Entry inputSpeed="2500.00" inputTorque="0.00" torqueLoss="105.00"/> + <Entry inputSpeed="2500.00" inputTorque="200.00" torqueLoss="113.00"/> + <Entry inputSpeed="2500.00" inputTorque="400.00" torqueLoss="121.00"/> + <Entry inputSpeed="2500.00" inputTorque="600.00" torqueLoss="129.00"/> + <Entry inputSpeed="2500.00" inputTorque="900.00" torqueLoss="141.00"/> + <Entry inputSpeed="2500.00" inputTorque="1200.00" torqueLoss="153.00"/> + <Entry inputSpeed="2500.00" inputTorque="1600.00" torqueLoss="169.00"/> + <Entry inputSpeed="2500.00" inputTorque="2000.00" torqueLoss="185.00"/> + <Entry inputSpeed="2500.00" inputTorque="2500.00" torqueLoss="205.00"/> + <Entry inputSpeed="3000.00" inputTorque="0.00" torqueLoss="120.00"/> + <Entry inputSpeed="3000.00" inputTorque="200.00" torqueLoss="128.00"/> + <Entry inputSpeed="3000.00" inputTorque="400.00" torqueLoss="136.00"/> + <Entry inputSpeed="3000.00" inputTorque="600.00" torqueLoss="144.00"/> + <Entry inputSpeed="3000.00" inputTorque="900.00" torqueLoss="156.00"/> + <Entry inputSpeed="3000.00" inputTorque="1200.00" torqueLoss="168.00"/> + <Entry inputSpeed="3000.00" inputTorque="1600.00" torqueLoss="184.00"/> + <Entry inputSpeed="3000.00" inputTorque="2000.00" torqueLoss="200.00"/> + <Entry inputSpeed="3000.00" inputTorque="2500.00" torqueLoss="220.00"/> + <Entry inputSpeed="600.00" inputTorque="0.00" torqueLoss="48.00"/> + <Entry inputSpeed="600.00" inputTorque="-200.00" torqueLoss="56.00"/> + <Entry inputSpeed="600.00" inputTorque="-400.00" torqueLoss="64.00"/> + <Entry inputSpeed="600.00" inputTorque="-600.00" torqueLoss="72.00"/> + <Entry inputSpeed="600.00" inputTorque="-900.00" torqueLoss="84.00"/> + <Entry inputSpeed="600.00" inputTorque="-1200.00" torqueLoss="96.00"/> + <Entry inputSpeed="600.00" inputTorque="-1600.00" torqueLoss="112.00"/> + <Entry inputSpeed="600.00" inputTorque="-2000.00" torqueLoss="128.00"/> + <Entry inputSpeed="600.00" inputTorque="-2500.00" torqueLoss="148.00"/> + <Entry inputSpeed="900.00" inputTorque="0.00" torqueLoss="57.00"/> + <Entry inputSpeed="900.00" inputTorque="-200.00" torqueLoss="65.00"/> + <Entry inputSpeed="900.00" inputTorque="-400.00" torqueLoss="73.00"/> + <Entry inputSpeed="900.00" inputTorque="-600.00" torqueLoss="81.00"/> + <Entry inputSpeed="900.00" inputTorque="-900.00" torqueLoss="93.00"/> + <Entry inputSpeed="900.00" inputTorque="-1200.00" torqueLoss="105.00"/> + <Entry inputSpeed="900.00" inputTorque="-1600.00" torqueLoss="121.00"/> + <Entry inputSpeed="900.00" inputTorque="-2000.00" torqueLoss="137.00"/> + <Entry inputSpeed="900.00" inputTorque="-2500.00" torqueLoss="157.00"/> + <Entry inputSpeed="1200.00" inputTorque="0.00" torqueLoss="66.00"/> + <Entry inputSpeed="1200.00" inputTorque="-200.00" torqueLoss="74.00"/> + <Entry inputSpeed="1200.00" inputTorque="-400.00" torqueLoss="82.00"/> + <Entry inputSpeed="1200.00" inputTorque="-600.00" torqueLoss="90.00"/> + <Entry inputSpeed="1200.00" inputTorque="-900.00" torqueLoss="102.00"/> + <Entry inputSpeed="1200.00" inputTorque="-1200.00" torqueLoss="114.00"/> + <Entry inputSpeed="1200.00" inputTorque="-1600.00" torqueLoss="130.00"/> + <Entry inputSpeed="1200.00" inputTorque="-2000.00" torqueLoss="146.00"/> + <Entry inputSpeed="1200.00" inputTorque="-2500.00" torqueLoss="166.00"/> + <Entry inputSpeed="1600.00" inputTorque="0.00" torqueLoss="78.00"/> + <Entry inputSpeed="1600.00" inputTorque="-200.00" torqueLoss="86.00"/> + <Entry inputSpeed="1600.00" inputTorque="-400.00" torqueLoss="94.00"/> + <Entry inputSpeed="1600.00" inputTorque="-600.00" torqueLoss="102.00"/> + <Entry inputSpeed="1600.00" inputTorque="-900.00" torqueLoss="114.00"/> + <Entry inputSpeed="1600.00" inputTorque="-1200.00" torqueLoss="126.00"/> + <Entry inputSpeed="1600.00" inputTorque="-1600.00" torqueLoss="142.00"/> + <Entry inputSpeed="1600.00" inputTorque="-2000.00" torqueLoss="158.00"/> + <Entry inputSpeed="1600.00" inputTorque="-2500.00" torqueLoss="178.00"/> + <Entry inputSpeed="2000.00" inputTorque="0.00" torqueLoss="90.00"/> + <Entry inputSpeed="2000.00" inputTorque="-200.00" torqueLoss="98.00"/> + <Entry inputSpeed="2000.00" inputTorque="-400.00" torqueLoss="106.00"/> + <Entry inputSpeed="2000.00" inputTorque="-600.00" torqueLoss="114.00"/> + <Entry inputSpeed="2000.00" inputTorque="-900.00" torqueLoss="126.00"/> + <Entry inputSpeed="2000.00" inputTorque="-1200.00" torqueLoss="138.00"/> + <Entry inputSpeed="2000.00" inputTorque="-1600.00" torqueLoss="154.00"/> + <Entry inputSpeed="2000.00" inputTorque="-2000.00" torqueLoss="170.00"/> + <Entry inputSpeed="2000.00" inputTorque="-2500.00" torqueLoss="190.00"/> + <Entry inputSpeed="2500.00" inputTorque="0.00" torqueLoss="105.00"/> + <Entry inputSpeed="2500.00" inputTorque="-200.00" torqueLoss="113.00"/> + <Entry inputSpeed="2500.00" inputTorque="-400.00" torqueLoss="121.00"/> + <Entry inputSpeed="2500.00" inputTorque="-600.00" torqueLoss="129.00"/> + <Entry inputSpeed="2500.00" inputTorque="-900.00" torqueLoss="141.00"/> + <Entry inputSpeed="2500.00" inputTorque="-1200.00" torqueLoss="153.00"/> + <Entry inputSpeed="2500.00" inputTorque="-1600.00" torqueLoss="169.00"/> + <Entry inputSpeed="2500.00" inputTorque="-2000.00" torqueLoss="185.00"/> + <Entry inputSpeed="2500.00" inputTorque="-2500.00" torqueLoss="205.00"/> + <Entry inputSpeed="3000.00" inputTorque="0.00" torqueLoss="120.00"/> + <Entry inputSpeed="3000.00" inputTorque="-200.00" torqueLoss="128.00"/> + <Entry inputSpeed="3000.00" inputTorque="-400.00" torqueLoss="136.00"/> + <Entry inputSpeed="3000.00" inputTorque="-600.00" torqueLoss="144.00"/> + <Entry inputSpeed="3000.00" inputTorque="-900.00" torqueLoss="156.00"/> + <Entry inputSpeed="3000.00" inputTorque="-1200.00" torqueLoss="168.00"/> + <Entry inputSpeed="3000.00" inputTorque="-1600.00" torqueLoss="184.00"/> + <Entry inputSpeed="3000.00" inputTorque="-2000.00" torqueLoss="200.00"/> + <Entry inputSpeed="3000.00" inputTorque="-2500.00" torqueLoss="220.00"/> + </TorqueLossMap> + </Gear> + <Gear number="6"> + <Ratio>0.650</Ratio> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="0.00" torqueLoss="48.00"/> + <Entry inputSpeed="0.00" inputTorque="200.00" torqueLoss="56.00"/> + <Entry inputSpeed="0.00" inputTorque="400.00" torqueLoss="64.00"/> + <Entry inputSpeed="0.00" inputTorque="600.00" torqueLoss="72.00"/> + <Entry inputSpeed="0.00" inputTorque="900.00" torqueLoss="84.00"/> + <Entry inputSpeed="0.00" inputTorque="1200.00" torqueLoss="96.00"/> + <Entry inputSpeed="0.00" inputTorque="1600.00" torqueLoss="112.00"/> + <Entry inputSpeed="0.00" inputTorque="2000.00" torqueLoss="128.00"/> + <Entry inputSpeed="0.00" inputTorque="2500.00" torqueLoss="148.00"/> + <Entry inputSpeed="600.00" inputTorque="0.00" torqueLoss="48.00"/> + <Entry inputSpeed="600.00" inputTorque="200.00" torqueLoss="56.00"/> + <Entry inputSpeed="600.00" inputTorque="400.00" torqueLoss="64.00"/> + <Entry inputSpeed="600.00" inputTorque="600.00" torqueLoss="72.00"/> + <Entry inputSpeed="600.00" inputTorque="900.00" torqueLoss="84.00"/> + <Entry inputSpeed="600.00" inputTorque="1200.00" torqueLoss="96.00"/> + <Entry inputSpeed="600.00" inputTorque="1600.00" torqueLoss="112.00"/> + <Entry inputSpeed="600.00" inputTorque="2000.00" torqueLoss="128.00"/> + <Entry inputSpeed="600.00" inputTorque="2500.00" torqueLoss="148.00"/> + <Entry inputSpeed="900.00" inputTorque="0.00" torqueLoss="57.00"/> + <Entry inputSpeed="900.00" inputTorque="200.00" torqueLoss="65.00"/> + <Entry inputSpeed="900.00" inputTorque="400.00" torqueLoss="73.00"/> + <Entry inputSpeed="900.00" inputTorque="600.00" torqueLoss="81.00"/> + <Entry inputSpeed="900.00" inputTorque="900.00" torqueLoss="93.00"/> + <Entry inputSpeed="900.00" inputTorque="1200.00" torqueLoss="105.00"/> + <Entry inputSpeed="900.00" inputTorque="1600.00" torqueLoss="121.00"/> + <Entry inputSpeed="900.00" inputTorque="2000.00" torqueLoss="137.00"/> + <Entry inputSpeed="900.00" inputTorque="2500.00" torqueLoss="157.00"/> + <Entry inputSpeed="1200.00" inputTorque="0.00" torqueLoss="66.00"/> + <Entry inputSpeed="1200.00" inputTorque="200.00" torqueLoss="74.00"/> + <Entry inputSpeed="1200.00" inputTorque="400.00" torqueLoss="82.00"/> + <Entry inputSpeed="1200.00" inputTorque="600.00" torqueLoss="90.00"/> + <Entry inputSpeed="1200.00" inputTorque="900.00" torqueLoss="102.00"/> + <Entry inputSpeed="1200.00" inputTorque="1200.00" torqueLoss="114.00"/> + <Entry inputSpeed="1200.00" inputTorque="1600.00" torqueLoss="130.00"/> + <Entry inputSpeed="1200.00" inputTorque="2000.00" torqueLoss="146.00"/> + <Entry inputSpeed="1200.00" inputTorque="2500.00" torqueLoss="166.00"/> + <Entry inputSpeed="1600.00" inputTorque="0.00" torqueLoss="78.00"/> + <Entry inputSpeed="1600.00" inputTorque="200.00" torqueLoss="86.00"/> + <Entry inputSpeed="1600.00" inputTorque="400.00" torqueLoss="94.00"/> + <Entry inputSpeed="1600.00" inputTorque="600.00" torqueLoss="102.00"/> + <Entry inputSpeed="1600.00" inputTorque="900.00" torqueLoss="114.00"/> + <Entry inputSpeed="1600.00" inputTorque="1200.00" torqueLoss="126.00"/> + <Entry inputSpeed="1600.00" inputTorque="1600.00" torqueLoss="142.00"/> + <Entry inputSpeed="1600.00" inputTorque="2000.00" torqueLoss="158.00"/> + <Entry inputSpeed="1600.00" inputTorque="2500.00" torqueLoss="178.00"/> + <Entry inputSpeed="2000.00" inputTorque="0.00" torqueLoss="90.00"/> + <Entry inputSpeed="2000.00" inputTorque="200.00" torqueLoss="98.00"/> + <Entry inputSpeed="2000.00" inputTorque="400.00" torqueLoss="106.00"/> + <Entry inputSpeed="2000.00" inputTorque="600.00" torqueLoss="114.00"/> + <Entry inputSpeed="2000.00" inputTorque="900.00" torqueLoss="126.00"/> + <Entry inputSpeed="2000.00" inputTorque="1200.00" torqueLoss="138.00"/> + <Entry inputSpeed="2000.00" inputTorque="1600.00" torqueLoss="154.00"/> + <Entry inputSpeed="2000.00" inputTorque="2000.00" torqueLoss="170.00"/> + <Entry inputSpeed="2000.00" inputTorque="2500.00" torqueLoss="190.00"/> + <Entry inputSpeed="2500.00" inputTorque="0.00" torqueLoss="105.00"/> + <Entry inputSpeed="2500.00" inputTorque="200.00" torqueLoss="113.00"/> + <Entry inputSpeed="2500.00" inputTorque="400.00" torqueLoss="121.00"/> + <Entry inputSpeed="2500.00" inputTorque="600.00" torqueLoss="129.00"/> + <Entry inputSpeed="2500.00" inputTorque="900.00" torqueLoss="141.00"/> + <Entry inputSpeed="2500.00" inputTorque="1200.00" torqueLoss="153.00"/> + <Entry inputSpeed="2500.00" inputTorque="1600.00" torqueLoss="169.00"/> + <Entry inputSpeed="2500.00" inputTorque="2000.00" torqueLoss="185.00"/> + <Entry inputSpeed="2500.00" inputTorque="2500.00" torqueLoss="205.00"/> + <Entry inputSpeed="3000.00" inputTorque="0.00" torqueLoss="120.00"/> + <Entry inputSpeed="3000.00" inputTorque="200.00" torqueLoss="128.00"/> + <Entry inputSpeed="3000.00" inputTorque="400.00" torqueLoss="136.00"/> + <Entry inputSpeed="3000.00" inputTorque="600.00" torqueLoss="144.00"/> + <Entry inputSpeed="3000.00" inputTorque="900.00" torqueLoss="156.00"/> + <Entry inputSpeed="3000.00" inputTorque="1200.00" torqueLoss="168.00"/> + <Entry inputSpeed="3000.00" inputTorque="1600.00" torqueLoss="184.00"/> + <Entry inputSpeed="3000.00" inputTorque="2000.00" torqueLoss="200.00"/> + <Entry inputSpeed="3000.00" inputTorque="2500.00" torqueLoss="220.00"/> + <Entry inputSpeed="600.00" inputTorque="0.00" torqueLoss="48.00"/> + <Entry inputSpeed="600.00" inputTorque="-200.00" torqueLoss="56.00"/> + <Entry inputSpeed="600.00" inputTorque="-400.00" torqueLoss="64.00"/> + <Entry inputSpeed="600.00" inputTorque="-600.00" torqueLoss="72.00"/> + <Entry inputSpeed="600.00" inputTorque="-900.00" torqueLoss="84.00"/> + <Entry inputSpeed="600.00" inputTorque="-1200.00" torqueLoss="96.00"/> + <Entry inputSpeed="600.00" inputTorque="-1600.00" torqueLoss="112.00"/> + <Entry inputSpeed="600.00" inputTorque="-2000.00" torqueLoss="128.00"/> + <Entry inputSpeed="600.00" inputTorque="-2500.00" torqueLoss="148.00"/> + <Entry inputSpeed="900.00" inputTorque="0.00" torqueLoss="57.00"/> + <Entry inputSpeed="900.00" inputTorque="-200.00" torqueLoss="65.00"/> + <Entry inputSpeed="900.00" inputTorque="-400.00" torqueLoss="73.00"/> + <Entry inputSpeed="900.00" inputTorque="-600.00" torqueLoss="81.00"/> + <Entry inputSpeed="900.00" inputTorque="-900.00" torqueLoss="93.00"/> + <Entry inputSpeed="900.00" inputTorque="-1200.00" torqueLoss="105.00"/> + <Entry inputSpeed="900.00" inputTorque="-1600.00" torqueLoss="121.00"/> + <Entry inputSpeed="900.00" inputTorque="-2000.00" torqueLoss="137.00"/> + <Entry inputSpeed="900.00" inputTorque="-2500.00" torqueLoss="157.00"/> + <Entry inputSpeed="1200.00" inputTorque="0.00" torqueLoss="66.00"/> + <Entry inputSpeed="1200.00" inputTorque="-200.00" torqueLoss="74.00"/> + <Entry inputSpeed="1200.00" inputTorque="-400.00" torqueLoss="82.00"/> + <Entry inputSpeed="1200.00" inputTorque="-600.00" torqueLoss="90.00"/> + <Entry inputSpeed="1200.00" inputTorque="-900.00" torqueLoss="102.00"/> + <Entry inputSpeed="1200.00" inputTorque="-1200.00" torqueLoss="114.00"/> + <Entry inputSpeed="1200.00" inputTorque="-1600.00" torqueLoss="130.00"/> + <Entry inputSpeed="1200.00" inputTorque="-2000.00" torqueLoss="146.00"/> + <Entry inputSpeed="1200.00" inputTorque="-2500.00" torqueLoss="166.00"/> + <Entry inputSpeed="1600.00" inputTorque="0.00" torqueLoss="78.00"/> + <Entry inputSpeed="1600.00" inputTorque="-200.00" torqueLoss="86.00"/> + <Entry inputSpeed="1600.00" inputTorque="-400.00" torqueLoss="94.00"/> + <Entry inputSpeed="1600.00" inputTorque="-600.00" torqueLoss="102.00"/> + <Entry inputSpeed="1600.00" inputTorque="-900.00" torqueLoss="114.00"/> + <Entry inputSpeed="1600.00" inputTorque="-1200.00" torqueLoss="126.00"/> + <Entry inputSpeed="1600.00" inputTorque="-1600.00" torqueLoss="142.00"/> + <Entry inputSpeed="1600.00" inputTorque="-2000.00" torqueLoss="158.00"/> + <Entry inputSpeed="1600.00" inputTorque="-2500.00" torqueLoss="178.00"/> + <Entry inputSpeed="2000.00" inputTorque="0.00" torqueLoss="90.00"/> + <Entry inputSpeed="2000.00" inputTorque="-200.00" torqueLoss="98.00"/> + <Entry inputSpeed="2000.00" inputTorque="-400.00" torqueLoss="106.00"/> + <Entry inputSpeed="2000.00" inputTorque="-600.00" torqueLoss="114.00"/> + <Entry inputSpeed="2000.00" inputTorque="-900.00" torqueLoss="126.00"/> + <Entry inputSpeed="2000.00" inputTorque="-1200.00" torqueLoss="138.00"/> + <Entry inputSpeed="2000.00" inputTorque="-1600.00" torqueLoss="154.00"/> + <Entry inputSpeed="2000.00" inputTorque="-2000.00" torqueLoss="170.00"/> + <Entry inputSpeed="2000.00" inputTorque="-2500.00" torqueLoss="190.00"/> + <Entry inputSpeed="2500.00" inputTorque="0.00" torqueLoss="105.00"/> + <Entry inputSpeed="2500.00" inputTorque="-200.00" torqueLoss="113.00"/> + <Entry inputSpeed="2500.00" inputTorque="-400.00" torqueLoss="121.00"/> + <Entry inputSpeed="2500.00" inputTorque="-600.00" torqueLoss="129.00"/> + <Entry inputSpeed="2500.00" inputTorque="-900.00" torqueLoss="141.00"/> + <Entry inputSpeed="2500.00" inputTorque="-1200.00" torqueLoss="153.00"/> + <Entry inputSpeed="2500.00" inputTorque="-1600.00" torqueLoss="169.00"/> + <Entry inputSpeed="2500.00" inputTorque="-2000.00" torqueLoss="185.00"/> + <Entry inputSpeed="2500.00" inputTorque="-2500.00" torqueLoss="205.00"/> + <Entry inputSpeed="3000.00" inputTorque="0.00" torqueLoss="120.00"/> + <Entry inputSpeed="3000.00" inputTorque="-200.00" torqueLoss="128.00"/> + <Entry inputSpeed="3000.00" inputTorque="-400.00" torqueLoss="136.00"/> + <Entry inputSpeed="3000.00" inputTorque="-600.00" torqueLoss="144.00"/> + <Entry inputSpeed="3000.00" inputTorque="-900.00" torqueLoss="156.00"/> + <Entry inputSpeed="3000.00" inputTorque="-1200.00" torqueLoss="168.00"/> + <Entry inputSpeed="3000.00" inputTorque="-1600.00" torqueLoss="184.00"/> + <Entry inputSpeed="3000.00" inputTorque="-2000.00" torqueLoss="200.00"/> + <Entry inputSpeed="3000.00" inputTorque="-2500.00" torqueLoss="220.00"/> + </TorqueLossMap> + </Gear> + </Gears> + </Data> + <Signature> + <Reference URI="#GBX-APT-SGenericTqMax1200" xmlns="http://www.w3.org/2000/09/xmldsig#"> + <Transforms> + <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithoutComments"/> + <Transform Algorithm="urn:vecto:xml:2017:canonicalization"/> + </Transforms> + <DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> + <DigestValue/> + </Reference> + </Signature> + <TorqueConverter> + <Data id="TC-APT-SGenericTqMax1200"> + <Manufacturer>Generic</Manufacturer> + <Model>APT-S Generic TqMax1200</Model> + <CertificationNumber>N/A</CertificationNumber> + <Date>2018-09-05T07:21:08.9138096Z</Date> + <AppVersion>VectoCore</AppVersion> + <CertificationMethod>Standard values</CertificationMethod> + <Characteristics> + <Entry speedRatio="0.0000" torqueRatio="1.80" inputTorqueRef="404.79"/> + <Entry speedRatio="0.1000" torqueRatio="1.71" inputTorqueRef="391.30"/> + <Entry speedRatio="0.2000" torqueRatio="1.61" inputTorqueRef="377.80"/> + <Entry speedRatio="0.3000" torqueRatio="1.52" inputTorqueRef="364.31"/> + <Entry speedRatio="0.4000" torqueRatio="1.42" inputTorqueRef="350.82"/> + <Entry speedRatio="0.5000" torqueRatio="1.33" inputTorqueRef="337.33"/> + <Entry speedRatio="0.6000" torqueRatio="1.23" inputTorqueRef="323.83"/> + <Entry speedRatio="0.6500" torqueRatio="1.19" inputTorqueRef="303.59"/> + <Entry speedRatio="0.7000" torqueRatio="1.14" inputTorqueRef="283.35"/> + <Entry speedRatio="0.7500" torqueRatio="1.09" inputTorqueRef="263.11"/> + <Entry speedRatio="0.8000" torqueRatio="1.04" inputTorqueRef="242.87"/> + <Entry speedRatio="0.8500" torqueRatio="1.00" inputTorqueRef="222.63"/> + <Entry speedRatio="0.9000" torqueRatio="0.95" inputTorqueRef="202.40"/> + <Entry speedRatio="0.9500" torqueRatio="0.95" inputTorqueRef="101.20"/> + <Entry speedRatio="1.0000" torqueRatio="0.95" inputTorqueRef="0.00"/> + <Entry speedRatio="1.1000" torqueRatio="1.00" inputTorqueRef="-40.34"/> + <Entry speedRatio="1.2220" torqueRatio="1.00" inputTorqueRef="-80.34"/> + <Entry speedRatio="1.3750" torqueRatio="1.00" inputTorqueRef="-136.11"/> + <Entry speedRatio="1.5710" torqueRatio="1.00" inputTorqueRef="-216.52"/> + <Entry speedRatio="1.8330" torqueRatio="1.00" inputTorqueRef="-335.19"/> + <Entry speedRatio="2.2000" torqueRatio="1.00" inputTorqueRef="-528.77"/> + <Entry speedRatio="2.5000" torqueRatio="1.00" inputTorqueRef="-721.00"/> + <Entry speedRatio="3.0000" torqueRatio="1.00" inputTorqueRef="-1122.00"/> + <Entry speedRatio="3.5000" torqueRatio="1.00" inputTorqueRef="-1648.00"/> + <Entry speedRatio="4.0000" torqueRatio="1.00" inputTorqueRef="-2326.00"/> + <Entry speedRatio="4.5000" torqueRatio="1.00" inputTorqueRef="-3182.00"/> + <Entry speedRatio="5.0000" torqueRatio="1.00" inputTorqueRef="-4242.00"/> + </Characteristics> + </Data> + <Signature> + <Reference URI="#TC-APT-SGenericTqMax1200" xmlns="http://www.w3.org/2000/09/xmldsig#"> + <Transforms> + <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithoutComments"/> + <Transform Algorithm="urn:vecto:xml:2017:canonicalization"/> + </Transforms> + <DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> + <DigestValue/> + </Reference> + </Signature> + </TorqueConverter> + </Gearbox> + <Angledrive> + <Data id="ANGL-123"> + <Manufacturer>Generic</Manufacturer> + <Model>Generic</Model> + <CertificationNumber>none</CertificationNumber> + <Date>2018-09-05T07:21:08.917799Z</Date> + <AppVersion>VectoCore</AppVersion> + <Ratio>1.000</Ratio> + <CertificationMethod>Standard values</CertificationMethod> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="-100000.00" torqueLoss="0.00"/> + <Entry inputSpeed="10000.00" inputTorque="-100000.00" torqueLoss="0.00"/> + <Entry inputSpeed="0.00" inputTorque="100000.00" torqueLoss="0.00"/> + <Entry inputSpeed="10000.00" inputTorque="100000.00" torqueLoss="0.00"/> + </TorqueLossMap> + </Data> + <Signature> + <Reference URI="#ANGL-123" xmlns="http://www.w3.org/2000/09/xmldsig#"> + <Transforms> + <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithoutComments"/> + <Transform Algorithm="urn:vecto:xml:2017:canonicalization"/> + </Transforms> + <DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> + <DigestValue/> + </Reference> + </Signature> + </Angledrive> + <Axlegear> + <Data id="AXLGEAR-6.500"> + <Manufacturer>Generic</Manufacturer> + <Model>N.A.</Model> + <CertificationNumber>AXLGEAR-6.500</CertificationNumber> + <Date>2018-09-05T07:21:08.917799Z</Date> + <AppVersion>VectoCore</AppVersion> + <LineType>Single portal axle</LineType> + <Ratio>6.500</Ratio> + <CertificationMethod>Standard values</CertificationMethod> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="31.96" torqueLoss="31.96"/> + <Entry inputSpeed="0.00" inputTorque="70.42" torqueLoss="31.96"/> + <Entry inputSpeed="0.00" inputTorque="110.07" torqueLoss="33.15"/> + <Entry inputSpeed="0.00" inputTorque="149.72" torqueLoss="34.34"/> + <Entry inputSpeed="0.00" inputTorque="189.37" torqueLoss="35.53"/> + <Entry inputSpeed="0.00" inputTorque="268.68" torqueLoss="37.91"/> + <Entry inputSpeed="0.00" inputTorque="347.98" torqueLoss="40.29"/> + <Entry inputSpeed="0.00" inputTorque="506.58" torqueLoss="45.04"/> + <Entry inputSpeed="0.00" inputTorque="665.19" torqueLoss="49.80"/> + <Entry inputSpeed="0.00" inputTorque="823.79" torqueLoss="54.56"/> + <Entry inputSpeed="0.00" inputTorque="982.39" torqueLoss="59.32"/> + <Entry inputSpeed="0.00" inputTorque="1141.00" torqueLoss="64.08"/> + <Entry inputSpeed="0.00" inputTorque="1299.60" torqueLoss="68.83"/> + <Entry inputSpeed="0.00" inputTorque="1458.21" torqueLoss="73.59"/> + <Entry inputSpeed="0.00" inputTorque="1616.81" torqueLoss="78.35"/> + <Entry inputSpeed="0.00" inputTorque="1934.02" torqueLoss="87.87"/> + <Entry inputSpeed="0.00" inputTorque="2251.23" torqueLoss="97.38"/> + <Entry inputSpeed="0.00" inputTorque="2568.44" torqueLoss="106.90"/> + <Entry inputSpeed="0.00" inputTorque="2885.65" torqueLoss="116.42"/> + <Entry inputSpeed="0.00" inputTorque="3202.85" torqueLoss="125.93"/> + <Entry inputSpeed="0.00" inputTorque="3520.06" torqueLoss="135.45"/> + <Entry inputSpeed="0.00" inputTorque="3837.27" torqueLoss="144.96"/> + <Entry inputSpeed="0.00" inputTorque="4154.48" torqueLoss="154.48"/> + <Entry inputSpeed="0.00" inputTorque="4471.69" torqueLoss="164.00"/> + <Entry inputSpeed="0.00" inputTorque="4788.90" torqueLoss="173.51"/> + <Entry inputSpeed="0.00" inputTorque="5106.11" torqueLoss="183.03"/> + <Entry inputSpeed="0.00" inputTorque="5423.31" torqueLoss="192.55"/> + <Entry inputSpeed="0.00" inputTorque="5740.52" torqueLoss="202.06"/> + <Entry inputSpeed="0.00" inputTorque="6057.73" torqueLoss="211.58"/> + <Entry inputSpeed="0.00" inputTorque="6374.94" torqueLoss="221.09"/> + <Entry inputSpeed="0.00" inputTorque="6692.15" torqueLoss="230.61"/> + <Entry inputSpeed="0.00" inputTorque="7009.36" torqueLoss="240.13"/> + <Entry inputSpeed="0.00" inputTorque="7326.57" torqueLoss="249.64"/> + <Entry inputSpeed="0.00" inputTorque="7643.77" torqueLoss="259.16"/> + <Entry inputSpeed="0.00" inputTorque="7960.98" torqueLoss="268.68"/> + <Entry inputSpeed="325.00" inputTorque="31.96" torqueLoss="31.96"/> + <Entry inputSpeed="325.00" inputTorque="70.42" torqueLoss="31.96"/> + <Entry inputSpeed="325.00" inputTorque="110.07" torqueLoss="33.15"/> + <Entry inputSpeed="325.00" inputTorque="149.72" torqueLoss="34.34"/> + <Entry inputSpeed="325.00" inputTorque="189.37" torqueLoss="35.53"/> + <Entry inputSpeed="325.00" inputTorque="268.68" torqueLoss="37.91"/> + <Entry inputSpeed="325.00" inputTorque="347.98" torqueLoss="40.29"/> + <Entry inputSpeed="325.00" inputTorque="506.58" torqueLoss="45.04"/> + <Entry inputSpeed="325.00" inputTorque="665.19" torqueLoss="49.80"/> + <Entry inputSpeed="325.00" inputTorque="823.79" torqueLoss="54.56"/> + <Entry inputSpeed="325.00" inputTorque="982.39" torqueLoss="59.32"/> + <Entry inputSpeed="325.00" inputTorque="1141.00" torqueLoss="64.08"/> + <Entry inputSpeed="325.00" inputTorque="1299.60" torqueLoss="68.83"/> + <Entry inputSpeed="325.00" inputTorque="1458.21" torqueLoss="73.59"/> + <Entry inputSpeed="325.00" inputTorque="1616.81" torqueLoss="78.35"/> + <Entry inputSpeed="325.00" inputTorque="1934.02" torqueLoss="87.87"/> + <Entry inputSpeed="325.00" inputTorque="2251.23" torqueLoss="97.38"/> + <Entry inputSpeed="325.00" inputTorque="2568.44" torqueLoss="106.90"/> + <Entry inputSpeed="325.00" inputTorque="2885.65" torqueLoss="116.42"/> + <Entry inputSpeed="325.00" inputTorque="3202.85" torqueLoss="125.93"/> + <Entry inputSpeed="325.00" inputTorque="3520.06" torqueLoss="135.45"/> + <Entry inputSpeed="325.00" inputTorque="3837.27" torqueLoss="144.96"/> + <Entry inputSpeed="325.00" inputTorque="4154.48" torqueLoss="154.48"/> + <Entry inputSpeed="325.00" inputTorque="4471.69" torqueLoss="164.00"/> + <Entry inputSpeed="325.00" inputTorque="4788.90" torqueLoss="173.51"/> + <Entry inputSpeed="325.00" inputTorque="5106.11" torqueLoss="183.03"/> + <Entry inputSpeed="325.00" inputTorque="5423.31" torqueLoss="192.55"/> + <Entry inputSpeed="325.00" inputTorque="5740.52" torqueLoss="202.06"/> + <Entry inputSpeed="325.00" inputTorque="6057.73" torqueLoss="211.58"/> + <Entry inputSpeed="325.00" inputTorque="6374.94" torqueLoss="221.09"/> + <Entry inputSpeed="325.00" inputTorque="6692.15" torqueLoss="230.61"/> + <Entry inputSpeed="325.00" inputTorque="7009.36" torqueLoss="240.13"/> + <Entry inputSpeed="325.00" inputTorque="7326.57" torqueLoss="249.64"/> + <Entry inputSpeed="325.00" inputTorque="7643.77" torqueLoss="259.16"/> + <Entry inputSpeed="325.00" inputTorque="7960.98" torqueLoss="268.68"/> + <Entry inputSpeed="650.00" inputTorque="31.96" torqueLoss="31.96"/> + <Entry inputSpeed="650.00" inputTorque="70.42" torqueLoss="31.96"/> + <Entry inputSpeed="650.00" inputTorque="110.07" torqueLoss="33.15"/> + <Entry inputSpeed="650.00" inputTorque="149.72" torqueLoss="34.34"/> + <Entry inputSpeed="650.00" inputTorque="189.37" torqueLoss="35.53"/> + <Entry inputSpeed="650.00" inputTorque="268.68" torqueLoss="37.91"/> + <Entry inputSpeed="650.00" inputTorque="347.98" torqueLoss="40.29"/> + <Entry inputSpeed="650.00" inputTorque="506.58" torqueLoss="45.04"/> + <Entry inputSpeed="650.00" inputTorque="665.19" torqueLoss="49.80"/> + <Entry inputSpeed="650.00" inputTorque="823.79" torqueLoss="54.56"/> + <Entry inputSpeed="650.00" inputTorque="982.39" torqueLoss="59.32"/> + <Entry inputSpeed="650.00" inputTorque="1141.00" torqueLoss="64.08"/> + <Entry inputSpeed="650.00" inputTorque="1299.60" torqueLoss="68.83"/> + <Entry inputSpeed="650.00" inputTorque="1458.21" torqueLoss="73.59"/> + <Entry inputSpeed="650.00" inputTorque="1616.81" torqueLoss="78.35"/> + <Entry inputSpeed="650.00" inputTorque="1934.02" torqueLoss="87.87"/> + <Entry inputSpeed="650.00" inputTorque="2251.23" torqueLoss="97.38"/> + <Entry inputSpeed="650.00" inputTorque="2568.44" torqueLoss="106.90"/> + <Entry inputSpeed="650.00" inputTorque="2885.65" torqueLoss="116.42"/> + <Entry inputSpeed="650.00" inputTorque="3202.85" torqueLoss="125.93"/> + <Entry inputSpeed="650.00" inputTorque="3520.06" torqueLoss="135.45"/> + <Entry inputSpeed="650.00" inputTorque="3837.27" torqueLoss="144.96"/> + <Entry inputSpeed="650.00" inputTorque="4154.48" torqueLoss="154.48"/> + <Entry inputSpeed="650.00" inputTorque="4471.69" torqueLoss="164.00"/> + <Entry inputSpeed="650.00" inputTorque="4788.90" torqueLoss="173.51"/> + <Entry inputSpeed="650.00" inputTorque="5106.11" torqueLoss="183.03"/> + <Entry inputSpeed="650.00" inputTorque="5423.31" torqueLoss="192.55"/> + <Entry inputSpeed="650.00" inputTorque="5740.52" torqueLoss="202.06"/> + <Entry inputSpeed="650.00" inputTorque="6057.73" torqueLoss="211.58"/> + <Entry inputSpeed="650.00" inputTorque="6374.94" torqueLoss="221.09"/> + <Entry inputSpeed="650.00" inputTorque="6692.15" torqueLoss="230.61"/> + <Entry inputSpeed="650.00" inputTorque="7009.36" torqueLoss="240.13"/> + <Entry inputSpeed="650.00" inputTorque="7326.57" torqueLoss="249.64"/> + <Entry inputSpeed="650.00" inputTorque="7643.77" torqueLoss="259.16"/> + <Entry inputSpeed="650.00" inputTorque="7960.98" torqueLoss="268.68"/> + <Entry inputSpeed="975.00" inputTorque="31.96" torqueLoss="31.96"/> + <Entry inputSpeed="975.00" inputTorque="70.42" torqueLoss="31.96"/> + <Entry inputSpeed="975.00" inputTorque="110.07" torqueLoss="33.15"/> + <Entry inputSpeed="975.00" inputTorque="149.72" torqueLoss="34.34"/> + <Entry inputSpeed="975.00" inputTorque="189.37" torqueLoss="35.53"/> + <Entry inputSpeed="975.00" inputTorque="268.68" torqueLoss="37.91"/> + <Entry inputSpeed="975.00" inputTorque="347.98" torqueLoss="40.29"/> + <Entry inputSpeed="975.00" inputTorque="506.58" torqueLoss="45.04"/> + <Entry inputSpeed="975.00" inputTorque="665.19" torqueLoss="49.80"/> + <Entry inputSpeed="975.00" inputTorque="823.79" torqueLoss="54.56"/> + <Entry inputSpeed="975.00" inputTorque="982.39" torqueLoss="59.32"/> + <Entry inputSpeed="975.00" inputTorque="1141.00" torqueLoss="64.08"/> + <Entry inputSpeed="975.00" inputTorque="1299.60" torqueLoss="68.83"/> + <Entry inputSpeed="975.00" inputTorque="1458.21" torqueLoss="73.59"/> + <Entry inputSpeed="975.00" inputTorque="1616.81" torqueLoss="78.35"/> + <Entry inputSpeed="975.00" inputTorque="1934.02" torqueLoss="87.87"/> + <Entry inputSpeed="975.00" inputTorque="2251.23" torqueLoss="97.38"/> + <Entry inputSpeed="975.00" inputTorque="2568.44" torqueLoss="106.90"/> + <Entry inputSpeed="975.00" inputTorque="2885.65" torqueLoss="116.42"/> + <Entry inputSpeed="975.00" inputTorque="3202.85" torqueLoss="125.93"/> + <Entry inputSpeed="975.00" inputTorque="3520.06" torqueLoss="135.45"/> + <Entry inputSpeed="975.00" inputTorque="3837.27" torqueLoss="144.96"/> + <Entry inputSpeed="975.00" inputTorque="4154.48" torqueLoss="154.48"/> + <Entry inputSpeed="975.00" inputTorque="4471.69" torqueLoss="164.00"/> + <Entry inputSpeed="975.00" inputTorque="4788.90" torqueLoss="173.51"/> + <Entry inputSpeed="975.00" inputTorque="5106.11" torqueLoss="183.03"/> + <Entry inputSpeed="975.00" inputTorque="5423.31" torqueLoss="192.55"/> + <Entry inputSpeed="975.00" inputTorque="5740.52" torqueLoss="202.06"/> + <Entry inputSpeed="975.00" inputTorque="6057.73" torqueLoss="211.58"/> + <Entry inputSpeed="975.00" inputTorque="6374.94" torqueLoss="221.09"/> + <Entry inputSpeed="975.00" inputTorque="6692.15" torqueLoss="230.61"/> + <Entry inputSpeed="975.00" inputTorque="7009.36" torqueLoss="240.13"/> + <Entry inputSpeed="975.00" inputTorque="7326.57" torqueLoss="249.64"/> + <Entry inputSpeed="975.00" inputTorque="7643.77" torqueLoss="259.16"/> + <Entry inputSpeed="975.00" inputTorque="7960.98" torqueLoss="268.68"/> + <Entry inputSpeed="1300.00" inputTorque="31.96" torqueLoss="31.96"/> + <Entry inputSpeed="1300.00" inputTorque="70.42" torqueLoss="31.96"/> + <Entry inputSpeed="1300.00" inputTorque="110.07" torqueLoss="33.15"/> + <Entry inputSpeed="1300.00" inputTorque="149.72" torqueLoss="34.34"/> + <Entry inputSpeed="1300.00" inputTorque="189.37" torqueLoss="35.53"/> + <Entry inputSpeed="1300.00" inputTorque="268.68" torqueLoss="37.91"/> + <Entry inputSpeed="1300.00" inputTorque="347.98" torqueLoss="40.29"/> + <Entry inputSpeed="1300.00" inputTorque="506.58" torqueLoss="45.04"/> + <Entry inputSpeed="1300.00" inputTorque="665.19" torqueLoss="49.80"/> + <Entry inputSpeed="1300.00" inputTorque="823.79" torqueLoss="54.56"/> + <Entry inputSpeed="1300.00" inputTorque="982.39" torqueLoss="59.32"/> + <Entry inputSpeed="1300.00" inputTorque="1141.00" torqueLoss="64.08"/> + <Entry inputSpeed="1300.00" inputTorque="1299.60" torqueLoss="68.83"/> + <Entry inputSpeed="1300.00" inputTorque="1458.21" torqueLoss="73.59"/> + <Entry inputSpeed="1300.00" inputTorque="1616.81" torqueLoss="78.35"/> + <Entry inputSpeed="1300.00" inputTorque="1934.02" torqueLoss="87.87"/> + <Entry inputSpeed="1300.00" inputTorque="2251.23" torqueLoss="97.38"/> + <Entry inputSpeed="1300.00" inputTorque="2568.44" torqueLoss="106.90"/> + <Entry inputSpeed="1300.00" inputTorque="2885.65" torqueLoss="116.42"/> + <Entry inputSpeed="1300.00" inputTorque="3202.85" torqueLoss="125.93"/> + <Entry inputSpeed="1300.00" inputTorque="3520.06" torqueLoss="135.45"/> + <Entry inputSpeed="1300.00" inputTorque="3837.27" torqueLoss="144.96"/> + <Entry inputSpeed="1300.00" inputTorque="4154.48" torqueLoss="154.48"/> + <Entry inputSpeed="1300.00" inputTorque="4471.69" torqueLoss="164.00"/> + <Entry inputSpeed="1300.00" inputTorque="4788.90" torqueLoss="173.51"/> + <Entry inputSpeed="1300.00" inputTorque="5106.11" torqueLoss="183.03"/> + <Entry inputSpeed="1300.00" inputTorque="5423.31" torqueLoss="192.55"/> + <Entry inputSpeed="1300.00" inputTorque="5740.52" torqueLoss="202.06"/> + <Entry inputSpeed="1300.00" inputTorque="6057.73" torqueLoss="211.58"/> + <Entry inputSpeed="1300.00" inputTorque="6374.94" torqueLoss="221.09"/> + <Entry inputSpeed="1300.00" inputTorque="6692.15" torqueLoss="230.61"/> + <Entry inputSpeed="1300.00" inputTorque="7009.36" torqueLoss="240.13"/> + <Entry inputSpeed="1300.00" inputTorque="7326.57" torqueLoss="249.64"/> + <Entry inputSpeed="1300.00" inputTorque="7643.77" torqueLoss="259.16"/> + <Entry inputSpeed="1300.00" inputTorque="7960.98" torqueLoss="268.68"/> + <Entry inputSpeed="1625.00" inputTorque="31.96" torqueLoss="31.96"/> + <Entry inputSpeed="1625.00" inputTorque="70.42" torqueLoss="31.96"/> + <Entry inputSpeed="1625.00" inputTorque="110.07" torqueLoss="33.15"/> + <Entry inputSpeed="1625.00" inputTorque="149.72" torqueLoss="34.34"/> + <Entry inputSpeed="1625.00" inputTorque="189.37" torqueLoss="35.53"/> + <Entry inputSpeed="1625.00" inputTorque="268.68" torqueLoss="37.91"/> + <Entry inputSpeed="1625.00" inputTorque="347.98" torqueLoss="40.29"/> + <Entry inputSpeed="1625.00" inputTorque="506.58" torqueLoss="45.04"/> + <Entry inputSpeed="1625.00" inputTorque="665.19" torqueLoss="49.80"/> + <Entry inputSpeed="1625.00" inputTorque="823.79" torqueLoss="54.56"/> + <Entry inputSpeed="1625.00" inputTorque="982.39" torqueLoss="59.32"/> + <Entry inputSpeed="1625.00" inputTorque="1141.00" torqueLoss="64.08"/> + <Entry inputSpeed="1625.00" inputTorque="1299.60" torqueLoss="68.83"/> + <Entry inputSpeed="1625.00" inputTorque="1458.21" torqueLoss="73.59"/> + <Entry inputSpeed="1625.00" inputTorque="1616.81" torqueLoss="78.35"/> + <Entry inputSpeed="1625.00" inputTorque="1934.02" torqueLoss="87.87"/> + <Entry inputSpeed="1625.00" inputTorque="2251.23" torqueLoss="97.38"/> + <Entry inputSpeed="1625.00" inputTorque="2568.44" torqueLoss="106.90"/> + <Entry inputSpeed="1625.00" inputTorque="2885.65" torqueLoss="116.42"/> + <Entry inputSpeed="1625.00" inputTorque="3202.85" torqueLoss="125.93"/> + <Entry inputSpeed="1625.00" inputTorque="3520.06" torqueLoss="135.45"/> + <Entry inputSpeed="1625.00" inputTorque="3837.27" torqueLoss="144.96"/> + <Entry inputSpeed="1625.00" inputTorque="4154.48" torqueLoss="154.48"/> + <Entry inputSpeed="1625.00" inputTorque="4471.69" torqueLoss="164.00"/> + <Entry inputSpeed="1625.00" inputTorque="4788.90" torqueLoss="173.51"/> + <Entry inputSpeed="1625.00" inputTorque="5106.11" torqueLoss="183.03"/> + <Entry inputSpeed="1625.00" inputTorque="5423.31" torqueLoss="192.55"/> + <Entry inputSpeed="1625.00" inputTorque="5740.52" torqueLoss="202.06"/> + <Entry inputSpeed="1625.00" inputTorque="6057.73" torqueLoss="211.58"/> + <Entry inputSpeed="1625.00" inputTorque="6374.94" torqueLoss="221.09"/> + <Entry inputSpeed="1625.00" inputTorque="6692.15" torqueLoss="230.61"/> + <Entry inputSpeed="1625.00" inputTorque="7009.36" torqueLoss="240.13"/> + <Entry inputSpeed="1625.00" inputTorque="7326.57" torqueLoss="249.64"/> + <Entry inputSpeed="1625.00" inputTorque="7643.77" torqueLoss="259.16"/> + <Entry inputSpeed="1625.00" inputTorque="7960.98" torqueLoss="268.68"/> + <Entry inputSpeed="1950.00" inputTorque="31.96" torqueLoss="31.96"/> + <Entry inputSpeed="1950.00" inputTorque="70.42" torqueLoss="31.96"/> + <Entry inputSpeed="1950.00" inputTorque="110.07" torqueLoss="33.15"/> + <Entry inputSpeed="1950.00" inputTorque="149.72" torqueLoss="34.34"/> + <Entry inputSpeed="1950.00" inputTorque="189.37" torqueLoss="35.53"/> + <Entry inputSpeed="1950.00" inputTorque="268.68" torqueLoss="37.91"/> + <Entry inputSpeed="1950.00" inputTorque="347.98" torqueLoss="40.29"/> + <Entry inputSpeed="1950.00" inputTorque="506.58" torqueLoss="45.04"/> + <Entry inputSpeed="1950.00" inputTorque="665.19" torqueLoss="49.80"/> + <Entry inputSpeed="1950.00" inputTorque="823.79" torqueLoss="54.56"/> + <Entry inputSpeed="1950.00" inputTorque="982.39" torqueLoss="59.32"/> + <Entry inputSpeed="1950.00" inputTorque="1141.00" torqueLoss="64.08"/> + <Entry inputSpeed="1950.00" inputTorque="1299.60" torqueLoss="68.83"/> + <Entry inputSpeed="1950.00" inputTorque="1458.21" torqueLoss="73.59"/> + <Entry inputSpeed="1950.00" inputTorque="1616.81" torqueLoss="78.35"/> + <Entry inputSpeed="1950.00" inputTorque="1934.02" torqueLoss="87.87"/> + <Entry inputSpeed="1950.00" inputTorque="2251.23" torqueLoss="97.38"/> + <Entry inputSpeed="1950.00" inputTorque="2568.44" torqueLoss="106.90"/> + <Entry inputSpeed="1950.00" inputTorque="2885.65" torqueLoss="116.42"/> + <Entry inputSpeed="1950.00" inputTorque="3202.85" torqueLoss="125.93"/> + <Entry inputSpeed="1950.00" inputTorque="3520.06" torqueLoss="135.45"/> + <Entry inputSpeed="1950.00" inputTorque="3837.27" torqueLoss="144.96"/> + <Entry inputSpeed="1950.00" inputTorque="4154.48" torqueLoss="154.48"/> + <Entry inputSpeed="1950.00" inputTorque="4471.69" torqueLoss="164.00"/> + <Entry inputSpeed="1950.00" inputTorque="4788.90" torqueLoss="173.51"/> + <Entry inputSpeed="1950.00" inputTorque="5106.11" torqueLoss="183.03"/> + <Entry inputSpeed="1950.00" inputTorque="5423.31" torqueLoss="192.55"/> + <Entry inputSpeed="1950.00" inputTorque="5740.52" torqueLoss="202.06"/> + <Entry inputSpeed="1950.00" inputTorque="6057.73" torqueLoss="211.58"/> + <Entry inputSpeed="1950.00" inputTorque="6374.94" torqueLoss="221.09"/> + <Entry inputSpeed="1950.00" inputTorque="6692.15" torqueLoss="230.61"/> + <Entry inputSpeed="1950.00" inputTorque="7009.36" torqueLoss="240.13"/> + <Entry inputSpeed="1950.00" inputTorque="7326.57" torqueLoss="249.64"/> + <Entry inputSpeed="1950.00" inputTorque="7643.77" torqueLoss="259.16"/> + <Entry inputSpeed="1950.00" inputTorque="7960.98" torqueLoss="268.68"/> + <Entry inputSpeed="2275.00" inputTorque="31.96" torqueLoss="31.96"/> + <Entry inputSpeed="2275.00" inputTorque="70.42" torqueLoss="31.96"/> + <Entry inputSpeed="2275.00" inputTorque="110.07" torqueLoss="33.15"/> + <Entry inputSpeed="2275.00" inputTorque="149.72" torqueLoss="34.34"/> + <Entry inputSpeed="2275.00" inputTorque="189.37" torqueLoss="35.53"/> + <Entry inputSpeed="2275.00" inputTorque="268.68" torqueLoss="37.91"/> + <Entry inputSpeed="2275.00" inputTorque="347.98" torqueLoss="40.29"/> + <Entry inputSpeed="2275.00" inputTorque="506.58" torqueLoss="45.04"/> + <Entry inputSpeed="2275.00" inputTorque="665.19" torqueLoss="49.80"/> + <Entry inputSpeed="2275.00" inputTorque="823.79" torqueLoss="54.56"/> + <Entry inputSpeed="2275.00" inputTorque="982.39" torqueLoss="59.32"/> + <Entry inputSpeed="2275.00" inputTorque="1141.00" torqueLoss="64.08"/> + <Entry inputSpeed="2275.00" inputTorque="1299.60" torqueLoss="68.83"/> + <Entry inputSpeed="2275.00" inputTorque="1458.21" torqueLoss="73.59"/> + <Entry inputSpeed="2275.00" inputTorque="1616.81" torqueLoss="78.35"/> + <Entry inputSpeed="2275.00" inputTorque="1934.02" torqueLoss="87.87"/> + <Entry inputSpeed="2275.00" inputTorque="2251.23" torqueLoss="97.38"/> + <Entry inputSpeed="2275.00" inputTorque="2568.44" torqueLoss="106.90"/> + <Entry inputSpeed="2275.00" inputTorque="2885.65" torqueLoss="116.42"/> + <Entry inputSpeed="2275.00" inputTorque="3202.85" torqueLoss="125.93"/> + <Entry inputSpeed="2275.00" inputTorque="3520.06" torqueLoss="135.45"/> + <Entry inputSpeed="2275.00" inputTorque="3837.27" torqueLoss="144.96"/> + <Entry inputSpeed="2275.00" inputTorque="4154.48" torqueLoss="154.48"/> + <Entry inputSpeed="2275.00" inputTorque="4471.69" torqueLoss="164.00"/> + <Entry inputSpeed="2275.00" inputTorque="4788.90" torqueLoss="173.51"/> + <Entry inputSpeed="2275.00" inputTorque="5106.11" torqueLoss="183.03"/> + <Entry inputSpeed="2275.00" inputTorque="5423.31" torqueLoss="192.55"/> + <Entry inputSpeed="2275.00" inputTorque="5740.52" torqueLoss="202.06"/> + <Entry inputSpeed="2275.00" inputTorque="6057.73" torqueLoss="211.58"/> + <Entry inputSpeed="2275.00" inputTorque="6374.94" torqueLoss="221.09"/> + <Entry inputSpeed="2275.00" inputTorque="6692.15" torqueLoss="230.61"/> + <Entry inputSpeed="2275.00" inputTorque="7009.36" torqueLoss="240.13"/> + <Entry inputSpeed="2275.00" inputTorque="7326.57" torqueLoss="249.64"/> + <Entry inputSpeed="2275.00" inputTorque="7643.77" torqueLoss="259.16"/> + <Entry inputSpeed="2275.00" inputTorque="7960.98" torqueLoss="268.68"/> + <Entry inputSpeed="2600.00" inputTorque="31.96" torqueLoss="31.96"/> + <Entry inputSpeed="2600.00" inputTorque="70.42" torqueLoss="31.96"/> + <Entry inputSpeed="2600.00" inputTorque="110.07" torqueLoss="33.15"/> + <Entry inputSpeed="2600.00" inputTorque="149.72" torqueLoss="34.34"/> + <Entry inputSpeed="2600.00" inputTorque="189.37" torqueLoss="35.53"/> + <Entry inputSpeed="2600.00" inputTorque="268.68" torqueLoss="37.91"/> + <Entry inputSpeed="2600.00" inputTorque="347.98" torqueLoss="40.29"/> + <Entry inputSpeed="2600.00" inputTorque="506.58" torqueLoss="45.04"/> + <Entry inputSpeed="2600.00" inputTorque="665.19" torqueLoss="49.80"/> + <Entry inputSpeed="2600.00" inputTorque="823.79" torqueLoss="54.56"/> + <Entry inputSpeed="2600.00" inputTorque="982.39" torqueLoss="59.32"/> + <Entry inputSpeed="2600.00" inputTorque="1141.00" torqueLoss="64.08"/> + <Entry inputSpeed="2600.00" inputTorque="1299.60" torqueLoss="68.83"/> + <Entry inputSpeed="2600.00" inputTorque="1458.21" torqueLoss="73.59"/> + <Entry inputSpeed="2600.00" inputTorque="1616.81" torqueLoss="78.35"/> + <Entry inputSpeed="2600.00" inputTorque="1934.02" torqueLoss="87.87"/> + <Entry inputSpeed="2600.00" inputTorque="2251.23" torqueLoss="97.38"/> + <Entry inputSpeed="2600.00" inputTorque="2568.44" torqueLoss="106.90"/> + <Entry inputSpeed="2600.00" inputTorque="2885.65" torqueLoss="116.42"/> + <Entry inputSpeed="2600.00" inputTorque="3202.85" torqueLoss="125.93"/> + <Entry inputSpeed="2600.00" inputTorque="3520.06" torqueLoss="135.45"/> + <Entry inputSpeed="2600.00" inputTorque="3837.27" torqueLoss="144.96"/> + <Entry inputSpeed="2600.00" inputTorque="4154.48" torqueLoss="154.48"/> + <Entry inputSpeed="2600.00" inputTorque="4471.69" torqueLoss="164.00"/> + <Entry inputSpeed="2600.00" inputTorque="4788.90" torqueLoss="173.51"/> + <Entry inputSpeed="2600.00" inputTorque="5106.11" torqueLoss="183.03"/> + <Entry inputSpeed="2600.00" inputTorque="5423.31" torqueLoss="192.55"/> + <Entry inputSpeed="2600.00" inputTorque="5740.52" torqueLoss="202.06"/> + <Entry inputSpeed="2600.00" inputTorque="6057.73" torqueLoss="211.58"/> + <Entry inputSpeed="2600.00" inputTorque="6374.94" torqueLoss="221.09"/> + <Entry inputSpeed="2600.00" inputTorque="6692.15" torqueLoss="230.61"/> + <Entry inputSpeed="2600.00" inputTorque="7009.36" torqueLoss="240.13"/> + <Entry inputSpeed="2600.00" inputTorque="7326.57" torqueLoss="249.64"/> + <Entry inputSpeed="2600.00" inputTorque="7643.77" torqueLoss="259.16"/> + <Entry inputSpeed="2600.00" inputTorque="7960.98" torqueLoss="268.68"/> + <Entry inputSpeed="2925.00" inputTorque="31.96" torqueLoss="31.96"/> + <Entry inputSpeed="2925.00" inputTorque="70.42" torqueLoss="31.96"/> + <Entry inputSpeed="2925.00" inputTorque="110.07" torqueLoss="33.15"/> + <Entry inputSpeed="2925.00" inputTorque="149.72" torqueLoss="34.34"/> + <Entry inputSpeed="2925.00" inputTorque="189.37" torqueLoss="35.53"/> + <Entry inputSpeed="2925.00" inputTorque="268.68" torqueLoss="37.91"/> + <Entry inputSpeed="2925.00" inputTorque="347.98" torqueLoss="40.29"/> + <Entry inputSpeed="2925.00" inputTorque="506.58" torqueLoss="45.04"/> + <Entry inputSpeed="2925.00" inputTorque="665.19" torqueLoss="49.80"/> + <Entry inputSpeed="2925.00" inputTorque="823.79" torqueLoss="54.56"/> + <Entry inputSpeed="2925.00" inputTorque="982.39" torqueLoss="59.32"/> + <Entry inputSpeed="2925.00" inputTorque="1141.00" torqueLoss="64.08"/> + <Entry inputSpeed="2925.00" inputTorque="1299.60" torqueLoss="68.83"/> + <Entry inputSpeed="2925.00" inputTorque="1458.21" torqueLoss="73.59"/> + <Entry inputSpeed="2925.00" inputTorque="1616.81" torqueLoss="78.35"/> + <Entry inputSpeed="2925.00" inputTorque="1934.02" torqueLoss="87.87"/> + <Entry inputSpeed="2925.00" inputTorque="2251.23" torqueLoss="97.38"/> + <Entry inputSpeed="2925.00" inputTorque="2568.44" torqueLoss="106.90"/> + <Entry inputSpeed="2925.00" inputTorque="2885.65" torqueLoss="116.42"/> + <Entry inputSpeed="2925.00" inputTorque="3202.85" torqueLoss="125.93"/> + <Entry inputSpeed="2925.00" inputTorque="3520.06" torqueLoss="135.45"/> + <Entry inputSpeed="2925.00" inputTorque="3837.27" torqueLoss="144.96"/> + <Entry inputSpeed="2925.00" inputTorque="4154.48" torqueLoss="154.48"/> + <Entry inputSpeed="2925.00" inputTorque="4471.69" torqueLoss="164.00"/> + <Entry inputSpeed="2925.00" inputTorque="4788.90" torqueLoss="173.51"/> + <Entry inputSpeed="2925.00" inputTorque="5106.11" torqueLoss="183.03"/> + <Entry inputSpeed="2925.00" inputTorque="5423.31" torqueLoss="192.55"/> + <Entry inputSpeed="2925.00" inputTorque="5740.52" torqueLoss="202.06"/> + <Entry inputSpeed="2925.00" inputTorque="6057.73" torqueLoss="211.58"/> + <Entry inputSpeed="2925.00" inputTorque="6374.94" torqueLoss="221.09"/> + <Entry inputSpeed="2925.00" inputTorque="6692.15" torqueLoss="230.61"/> + <Entry inputSpeed="2925.00" inputTorque="7009.36" torqueLoss="240.13"/> + <Entry inputSpeed="2925.00" inputTorque="7326.57" torqueLoss="249.64"/> + <Entry inputSpeed="2925.00" inputTorque="7643.77" torqueLoss="259.16"/> + <Entry inputSpeed="2925.00" inputTorque="7960.98" torqueLoss="268.68"/> + <Entry inputSpeed="3250.00" inputTorque="31.96" torqueLoss="31.96"/> + <Entry inputSpeed="3250.00" inputTorque="70.42" torqueLoss="31.96"/> + <Entry inputSpeed="3250.00" inputTorque="110.07" torqueLoss="33.15"/> + <Entry inputSpeed="3250.00" inputTorque="149.72" torqueLoss="34.34"/> + <Entry inputSpeed="3250.00" inputTorque="189.37" torqueLoss="35.53"/> + <Entry inputSpeed="3250.00" inputTorque="268.68" torqueLoss="37.91"/> + <Entry inputSpeed="3250.00" inputTorque="347.98" torqueLoss="40.29"/> + <Entry inputSpeed="3250.00" inputTorque="506.58" torqueLoss="45.04"/> + <Entry inputSpeed="3250.00" inputTorque="665.19" torqueLoss="49.80"/> + <Entry inputSpeed="3250.00" inputTorque="823.79" torqueLoss="54.56"/> + <Entry inputSpeed="3250.00" inputTorque="982.39" torqueLoss="59.32"/> + <Entry inputSpeed="3250.00" inputTorque="1141.00" torqueLoss="64.08"/> + <Entry inputSpeed="3250.00" inputTorque="1299.60" torqueLoss="68.83"/> + <Entry inputSpeed="3250.00" inputTorque="1458.21" torqueLoss="73.59"/> + <Entry inputSpeed="3250.00" inputTorque="1616.81" torqueLoss="78.35"/> + <Entry inputSpeed="3250.00" inputTorque="1934.02" torqueLoss="87.87"/> + <Entry inputSpeed="3250.00" inputTorque="2251.23" torqueLoss="97.38"/> + <Entry inputSpeed="3250.00" inputTorque="2568.44" torqueLoss="106.90"/> + <Entry inputSpeed="3250.00" inputTorque="2885.65" torqueLoss="116.42"/> + <Entry inputSpeed="3250.00" inputTorque="3202.85" torqueLoss="125.93"/> + <Entry inputSpeed="3250.00" inputTorque="3520.06" torqueLoss="135.45"/> + <Entry inputSpeed="3250.00" inputTorque="3837.27" torqueLoss="144.96"/> + <Entry inputSpeed="3250.00" inputTorque="4154.48" torqueLoss="154.48"/> + <Entry inputSpeed="3250.00" inputTorque="4471.69" torqueLoss="164.00"/> + <Entry inputSpeed="3250.00" inputTorque="4788.90" torqueLoss="173.51"/> + <Entry inputSpeed="3250.00" inputTorque="5106.11" torqueLoss="183.03"/> + <Entry inputSpeed="3250.00" inputTorque="5423.31" torqueLoss="192.55"/> + <Entry inputSpeed="3250.00" inputTorque="5740.52" torqueLoss="202.06"/> + <Entry inputSpeed="3250.00" inputTorque="6057.73" torqueLoss="211.58"/> + <Entry inputSpeed="3250.00" inputTorque="6374.94" torqueLoss="221.09"/> + <Entry inputSpeed="3250.00" inputTorque="6692.15" torqueLoss="230.61"/> + <Entry inputSpeed="3250.00" inputTorque="7009.36" torqueLoss="240.13"/> + <Entry inputSpeed="3250.00" inputTorque="7326.57" torqueLoss="249.64"/> + <Entry inputSpeed="3250.00" inputTorque="7643.77" torqueLoss="259.16"/> + <Entry inputSpeed="3250.00" inputTorque="7960.98" torqueLoss="268.68"/> + <Entry inputSpeed="0.00" inputTorque="-31.96" torqueLoss="31.96"/> + <Entry inputSpeed="0.00" inputTorque="-70.42" torqueLoss="31.96"/> + <Entry inputSpeed="0.00" inputTorque="-110.07" torqueLoss="33.15"/> + <Entry inputSpeed="0.00" inputTorque="-149.72" torqueLoss="34.34"/> + <Entry inputSpeed="0.00" inputTorque="-189.37" torqueLoss="35.53"/> + <Entry inputSpeed="0.00" inputTorque="-268.68" torqueLoss="37.91"/> + <Entry inputSpeed="0.00" inputTorque="-347.98" torqueLoss="40.29"/> + <Entry inputSpeed="0.00" inputTorque="-506.58" torqueLoss="45.04"/> + <Entry inputSpeed="0.00" inputTorque="-665.19" torqueLoss="49.80"/> + <Entry inputSpeed="0.00" inputTorque="-823.79" torqueLoss="54.56"/> + <Entry inputSpeed="0.00" inputTorque="-982.39" torqueLoss="59.32"/> + <Entry inputSpeed="0.00" inputTorque="-1141.00" torqueLoss="64.08"/> + <Entry inputSpeed="0.00" inputTorque="-1299.60" torqueLoss="68.83"/> + <Entry inputSpeed="0.00" inputTorque="-1458.21" torqueLoss="73.59"/> + <Entry inputSpeed="0.00" inputTorque="-1616.81" torqueLoss="78.35"/> + <Entry inputSpeed="0.00" inputTorque="-1934.02" torqueLoss="87.87"/> + <Entry inputSpeed="0.00" inputTorque="-2251.23" torqueLoss="97.38"/> + <Entry inputSpeed="0.00" inputTorque="-2568.44" torqueLoss="106.90"/> + <Entry inputSpeed="0.00" inputTorque="-2885.65" torqueLoss="116.42"/> + <Entry inputSpeed="0.00" inputTorque="-3202.85" torqueLoss="125.93"/> + <Entry inputSpeed="0.00" inputTorque="-3520.06" torqueLoss="135.45"/> + <Entry inputSpeed="0.00" inputTorque="-3837.27" torqueLoss="144.96"/> + <Entry inputSpeed="0.00" inputTorque="-4154.48" torqueLoss="154.48"/> + <Entry inputSpeed="0.00" inputTorque="-4471.69" torqueLoss="164.00"/> + <Entry inputSpeed="0.00" inputTorque="-4788.90" torqueLoss="173.51"/> + <Entry inputSpeed="0.00" inputTorque="-5106.11" torqueLoss="183.03"/> + <Entry inputSpeed="0.00" inputTorque="-5423.31" torqueLoss="192.55"/> + <Entry inputSpeed="0.00" inputTorque="-5740.52" torqueLoss="202.06"/> + <Entry inputSpeed="0.00" inputTorque="-6057.73" torqueLoss="211.58"/> + <Entry inputSpeed="0.00" inputTorque="-6374.94" torqueLoss="221.09"/> + <Entry inputSpeed="0.00" inputTorque="-6692.15" torqueLoss="230.61"/> + <Entry inputSpeed="0.00" inputTorque="-7009.36" torqueLoss="240.13"/> + <Entry inputSpeed="0.00" inputTorque="-7326.57" torqueLoss="249.64"/> + <Entry inputSpeed="0.00" inputTorque="-7643.77" torqueLoss="259.16"/> + <Entry inputSpeed="0.00" inputTorque="-7960.98" torqueLoss="268.68"/> + <Entry inputSpeed="325.00" inputTorque="-31.96" torqueLoss="31.96"/> + <Entry inputSpeed="325.00" inputTorque="-70.42" torqueLoss="31.96"/> + <Entry inputSpeed="325.00" inputTorque="-110.07" torqueLoss="33.15"/> + <Entry inputSpeed="325.00" inputTorque="-149.72" torqueLoss="34.34"/> + <Entry inputSpeed="325.00" inputTorque="-189.37" torqueLoss="35.53"/> + <Entry inputSpeed="325.00" inputTorque="-268.68" torqueLoss="37.91"/> + <Entry inputSpeed="325.00" inputTorque="-347.98" torqueLoss="40.29"/> + <Entry inputSpeed="325.00" inputTorque="-506.58" torqueLoss="45.04"/> + <Entry inputSpeed="325.00" inputTorque="-665.19" torqueLoss="49.80"/> + <Entry inputSpeed="325.00" inputTorque="-823.79" torqueLoss="54.56"/> + <Entry inputSpeed="325.00" inputTorque="-982.39" torqueLoss="59.32"/> + <Entry inputSpeed="325.00" inputTorque="-1141.00" torqueLoss="64.08"/> + <Entry inputSpeed="325.00" inputTorque="-1299.60" torqueLoss="68.83"/> + <Entry inputSpeed="325.00" inputTorque="-1458.21" torqueLoss="73.59"/> + <Entry inputSpeed="325.00" inputTorque="-1616.81" torqueLoss="78.35"/> + <Entry inputSpeed="325.00" inputTorque="-1934.02" torqueLoss="87.87"/> + <Entry inputSpeed="325.00" inputTorque="-2251.23" torqueLoss="97.38"/> + <Entry inputSpeed="325.00" inputTorque="-2568.44" torqueLoss="106.90"/> + <Entry inputSpeed="325.00" inputTorque="-2885.65" torqueLoss="116.42"/> + <Entry inputSpeed="325.00" inputTorque="-3202.85" torqueLoss="125.93"/> + <Entry inputSpeed="325.00" inputTorque="-3520.06" torqueLoss="135.45"/> + <Entry inputSpeed="325.00" inputTorque="-3837.27" torqueLoss="144.96"/> + <Entry inputSpeed="325.00" inputTorque="-4154.48" torqueLoss="154.48"/> + <Entry inputSpeed="325.00" inputTorque="-4471.69" torqueLoss="164.00"/> + <Entry inputSpeed="325.00" inputTorque="-4788.90" torqueLoss="173.51"/> + <Entry inputSpeed="325.00" inputTorque="-5106.11" torqueLoss="183.03"/> + <Entry inputSpeed="325.00" inputTorque="-5423.31" torqueLoss="192.55"/> + <Entry inputSpeed="325.00" inputTorque="-5740.52" torqueLoss="202.06"/> + <Entry inputSpeed="325.00" inputTorque="-6057.73" torqueLoss="211.58"/> + <Entry inputSpeed="325.00" inputTorque="-6374.94" torqueLoss="221.09"/> + <Entry inputSpeed="325.00" inputTorque="-6692.15" torqueLoss="230.61"/> + <Entry inputSpeed="325.00" inputTorque="-7009.36" torqueLoss="240.13"/> + <Entry inputSpeed="325.00" inputTorque="-7326.57" torqueLoss="249.64"/> + <Entry inputSpeed="325.00" inputTorque="-7643.77" torqueLoss="259.16"/> + <Entry inputSpeed="325.00" inputTorque="-7960.98" torqueLoss="268.68"/> + <Entry inputSpeed="650.00" inputTorque="-31.96" torqueLoss="31.96"/> + <Entry inputSpeed="650.00" inputTorque="-70.42" torqueLoss="31.96"/> + <Entry inputSpeed="650.00" inputTorque="-110.07" torqueLoss="33.15"/> + <Entry inputSpeed="650.00" inputTorque="-149.72" torqueLoss="34.34"/> + <Entry inputSpeed="650.00" inputTorque="-189.37" torqueLoss="35.53"/> + <Entry inputSpeed="650.00" inputTorque="-268.68" torqueLoss="37.91"/> + <Entry inputSpeed="650.00" inputTorque="-347.98" torqueLoss="40.29"/> + <Entry inputSpeed="650.00" inputTorque="-506.58" torqueLoss="45.04"/> + <Entry inputSpeed="650.00" inputTorque="-665.19" torqueLoss="49.80"/> + <Entry inputSpeed="650.00" inputTorque="-823.79" torqueLoss="54.56"/> + <Entry inputSpeed="650.00" inputTorque="-982.39" torqueLoss="59.32"/> + <Entry inputSpeed="650.00" inputTorque="-1141.00" torqueLoss="64.08"/> + <Entry inputSpeed="650.00" inputTorque="-1299.60" torqueLoss="68.83"/> + <Entry inputSpeed="650.00" inputTorque="-1458.21" torqueLoss="73.59"/> + <Entry inputSpeed="650.00" inputTorque="-1616.81" torqueLoss="78.35"/> + <Entry inputSpeed="650.00" inputTorque="-1934.02" torqueLoss="87.87"/> + <Entry inputSpeed="650.00" inputTorque="-2251.23" torqueLoss="97.38"/> + <Entry inputSpeed="650.00" inputTorque="-2568.44" torqueLoss="106.90"/> + <Entry inputSpeed="650.00" inputTorque="-2885.65" torqueLoss="116.42"/> + <Entry inputSpeed="650.00" inputTorque="-3202.85" torqueLoss="125.93"/> + <Entry inputSpeed="650.00" inputTorque="-3520.06" torqueLoss="135.45"/> + <Entry inputSpeed="650.00" inputTorque="-3837.27" torqueLoss="144.96"/> + <Entry inputSpeed="650.00" inputTorque="-4154.48" torqueLoss="154.48"/> + <Entry inputSpeed="650.00" inputTorque="-4471.69" torqueLoss="164.00"/> + <Entry inputSpeed="650.00" inputTorque="-4788.90" torqueLoss="173.51"/> + <Entry inputSpeed="650.00" inputTorque="-5106.11" torqueLoss="183.03"/> + <Entry inputSpeed="650.00" inputTorque="-5423.31" torqueLoss="192.55"/> + <Entry inputSpeed="650.00" inputTorque="-5740.52" torqueLoss="202.06"/> + <Entry inputSpeed="650.00" inputTorque="-6057.73" torqueLoss="211.58"/> + <Entry inputSpeed="650.00" inputTorque="-6374.94" torqueLoss="221.09"/> + <Entry inputSpeed="650.00" inputTorque="-6692.15" torqueLoss="230.61"/> + <Entry inputSpeed="650.00" inputTorque="-7009.36" torqueLoss="240.13"/> + <Entry inputSpeed="650.00" inputTorque="-7326.57" torqueLoss="249.64"/> + <Entry inputSpeed="650.00" inputTorque="-7643.77" torqueLoss="259.16"/> + <Entry inputSpeed="650.00" inputTorque="-7960.98" torqueLoss="268.68"/> + <Entry inputSpeed="975.00" inputTorque="-31.96" torqueLoss="31.96"/> + <Entry inputSpeed="975.00" inputTorque="-70.42" torqueLoss="31.96"/> + <Entry inputSpeed="975.00" inputTorque="-110.07" torqueLoss="33.15"/> + <Entry inputSpeed="975.00" inputTorque="-149.72" torqueLoss="34.34"/> + <Entry inputSpeed="975.00" inputTorque="-189.37" torqueLoss="35.53"/> + <Entry inputSpeed="975.00" inputTorque="-268.68" torqueLoss="37.91"/> + <Entry inputSpeed="975.00" inputTorque="-347.98" torqueLoss="40.29"/> + <Entry inputSpeed="975.00" inputTorque="-506.58" torqueLoss="45.04"/> + <Entry inputSpeed="975.00" inputTorque="-665.19" torqueLoss="49.80"/> + <Entry inputSpeed="975.00" inputTorque="-823.79" torqueLoss="54.56"/> + <Entry inputSpeed="975.00" inputTorque="-982.39" torqueLoss="59.32"/> + <Entry inputSpeed="975.00" inputTorque="-1141.00" torqueLoss="64.08"/> + <Entry inputSpeed="975.00" inputTorque="-1299.60" torqueLoss="68.83"/> + <Entry inputSpeed="975.00" inputTorque="-1458.21" torqueLoss="73.59"/> + <Entry inputSpeed="975.00" inputTorque="-1616.81" torqueLoss="78.35"/> + <Entry inputSpeed="975.00" inputTorque="-1934.02" torqueLoss="87.87"/> + <Entry inputSpeed="975.00" inputTorque="-2251.23" torqueLoss="97.38"/> + <Entry inputSpeed="975.00" inputTorque="-2568.44" torqueLoss="106.90"/> + <Entry inputSpeed="975.00" inputTorque="-2885.65" torqueLoss="116.42"/> + <Entry inputSpeed="975.00" inputTorque="-3202.85" torqueLoss="125.93"/> + <Entry inputSpeed="975.00" inputTorque="-3520.06" torqueLoss="135.45"/> + <Entry inputSpeed="975.00" inputTorque="-3837.27" torqueLoss="144.96"/> + <Entry inputSpeed="975.00" inputTorque="-4154.48" torqueLoss="154.48"/> + <Entry inputSpeed="975.00" inputTorque="-4471.69" torqueLoss="164.00"/> + <Entry inputSpeed="975.00" inputTorque="-4788.90" torqueLoss="173.51"/> + <Entry inputSpeed="975.00" inputTorque="-5106.11" torqueLoss="183.03"/> + <Entry inputSpeed="975.00" inputTorque="-5423.31" torqueLoss="192.55"/> + <Entry inputSpeed="975.00" inputTorque="-5740.52" torqueLoss="202.06"/> + <Entry inputSpeed="975.00" inputTorque="-6057.73" torqueLoss="211.58"/> + <Entry inputSpeed="975.00" inputTorque="-6374.94" torqueLoss="221.09"/> + <Entry inputSpeed="975.00" inputTorque="-6692.15" torqueLoss="230.61"/> + <Entry inputSpeed="975.00" inputTorque="-7009.36" torqueLoss="240.13"/> + <Entry inputSpeed="975.00" inputTorque="-7326.57" torqueLoss="249.64"/> + <Entry inputSpeed="975.00" inputTorque="-7643.77" torqueLoss="259.16"/> + <Entry inputSpeed="975.00" inputTorque="-7960.98" torqueLoss="268.68"/> + <Entry inputSpeed="1300.00" inputTorque="-31.96" torqueLoss="31.96"/> + <Entry inputSpeed="1300.00" inputTorque="-70.42" torqueLoss="31.96"/> + <Entry inputSpeed="1300.00" inputTorque="-110.07" torqueLoss="33.15"/> + <Entry inputSpeed="1300.00" inputTorque="-149.72" torqueLoss="34.34"/> + <Entry inputSpeed="1300.00" inputTorque="-189.37" torqueLoss="35.53"/> + <Entry inputSpeed="1300.00" inputTorque="-268.68" torqueLoss="37.91"/> + <Entry inputSpeed="1300.00" inputTorque="-347.98" torqueLoss="40.29"/> + <Entry inputSpeed="1300.00" inputTorque="-506.58" torqueLoss="45.04"/> + <Entry inputSpeed="1300.00" inputTorque="-665.19" torqueLoss="49.80"/> + <Entry inputSpeed="1300.00" inputTorque="-823.79" torqueLoss="54.56"/> + <Entry inputSpeed="1300.00" inputTorque="-982.39" torqueLoss="59.32"/> + <Entry inputSpeed="1300.00" inputTorque="-1141.00" torqueLoss="64.08"/> + <Entry inputSpeed="1300.00" inputTorque="-1299.60" torqueLoss="68.83"/> + <Entry inputSpeed="1300.00" inputTorque="-1458.21" torqueLoss="73.59"/> + <Entry inputSpeed="1300.00" inputTorque="-1616.81" torqueLoss="78.35"/> + <Entry inputSpeed="1300.00" inputTorque="-1934.02" torqueLoss="87.87"/> + <Entry inputSpeed="1300.00" inputTorque="-2251.23" torqueLoss="97.38"/> + <Entry inputSpeed="1300.00" inputTorque="-2568.44" torqueLoss="106.90"/> + <Entry inputSpeed="1300.00" inputTorque="-2885.65" torqueLoss="116.42"/> + <Entry inputSpeed="1300.00" inputTorque="-3202.85" torqueLoss="125.93"/> + <Entry inputSpeed="1300.00" inputTorque="-3520.06" torqueLoss="135.45"/> + <Entry inputSpeed="1300.00" inputTorque="-3837.27" torqueLoss="144.96"/> + <Entry inputSpeed="1300.00" inputTorque="-4154.48" torqueLoss="154.48"/> + <Entry inputSpeed="1300.00" inputTorque="-4471.69" torqueLoss="164.00"/> + <Entry inputSpeed="1300.00" inputTorque="-4788.90" torqueLoss="173.51"/> + <Entry inputSpeed="1300.00" inputTorque="-5106.11" torqueLoss="183.03"/> + <Entry inputSpeed="1300.00" inputTorque="-5423.31" torqueLoss="192.55"/> + <Entry inputSpeed="1300.00" inputTorque="-5740.52" torqueLoss="202.06"/> + <Entry inputSpeed="1300.00" inputTorque="-6057.73" torqueLoss="211.58"/> + <Entry inputSpeed="1300.00" inputTorque="-6374.94" torqueLoss="221.09"/> + <Entry inputSpeed="1300.00" inputTorque="-6692.15" torqueLoss="230.61"/> + <Entry inputSpeed="1300.00" inputTorque="-7009.36" torqueLoss="240.13"/> + <Entry inputSpeed="1300.00" inputTorque="-7326.57" torqueLoss="249.64"/> + <Entry inputSpeed="1300.00" inputTorque="-7643.77" torqueLoss="259.16"/> + <Entry inputSpeed="1300.00" inputTorque="-7960.98" torqueLoss="268.68"/> + <Entry inputSpeed="1625.00" inputTorque="-31.96" torqueLoss="31.96"/> + <Entry inputSpeed="1625.00" inputTorque="-70.42" torqueLoss="31.96"/> + <Entry inputSpeed="1625.00" inputTorque="-110.07" torqueLoss="33.15"/> + <Entry inputSpeed="1625.00" inputTorque="-149.72" torqueLoss="34.34"/> + <Entry inputSpeed="1625.00" inputTorque="-189.37" torqueLoss="35.53"/> + <Entry inputSpeed="1625.00" inputTorque="-268.68" torqueLoss="37.91"/> + <Entry inputSpeed="1625.00" inputTorque="-347.98" torqueLoss="40.29"/> + <Entry inputSpeed="1625.00" inputTorque="-506.58" torqueLoss="45.04"/> + <Entry inputSpeed="1625.00" inputTorque="-665.19" torqueLoss="49.80"/> + <Entry inputSpeed="1625.00" inputTorque="-823.79" torqueLoss="54.56"/> + <Entry inputSpeed="1625.00" inputTorque="-982.39" torqueLoss="59.32"/> + <Entry inputSpeed="1625.00" inputTorque="-1141.00" torqueLoss="64.08"/> + <Entry inputSpeed="1625.00" inputTorque="-1299.60" torqueLoss="68.83"/> + <Entry inputSpeed="1625.00" inputTorque="-1458.21" torqueLoss="73.59"/> + <Entry inputSpeed="1625.00" inputTorque="-1616.81" torqueLoss="78.35"/> + <Entry inputSpeed="1625.00" inputTorque="-1934.02" torqueLoss="87.87"/> + <Entry inputSpeed="1625.00" inputTorque="-2251.23" torqueLoss="97.38"/> + <Entry inputSpeed="1625.00" inputTorque="-2568.44" torqueLoss="106.90"/> + <Entry inputSpeed="1625.00" inputTorque="-2885.65" torqueLoss="116.42"/> + <Entry inputSpeed="1625.00" inputTorque="-3202.85" torqueLoss="125.93"/> + <Entry inputSpeed="1625.00" inputTorque="-3520.06" torqueLoss="135.45"/> + <Entry inputSpeed="1625.00" inputTorque="-3837.27" torqueLoss="144.96"/> + <Entry inputSpeed="1625.00" inputTorque="-4154.48" torqueLoss="154.48"/> + <Entry inputSpeed="1625.00" inputTorque="-4471.69" torqueLoss="164.00"/> + <Entry inputSpeed="1625.00" inputTorque="-4788.90" torqueLoss="173.51"/> + <Entry inputSpeed="1625.00" inputTorque="-5106.11" torqueLoss="183.03"/> + <Entry inputSpeed="1625.00" inputTorque="-5423.31" torqueLoss="192.55"/> + <Entry inputSpeed="1625.00" inputTorque="-5740.52" torqueLoss="202.06"/> + <Entry inputSpeed="1625.00" inputTorque="-6057.73" torqueLoss="211.58"/> + <Entry inputSpeed="1625.00" inputTorque="-6374.94" torqueLoss="221.09"/> + <Entry inputSpeed="1625.00" inputTorque="-6692.15" torqueLoss="230.61"/> + <Entry inputSpeed="1625.00" inputTorque="-7009.36" torqueLoss="240.13"/> + <Entry inputSpeed="1625.00" inputTorque="-7326.57" torqueLoss="249.64"/> + <Entry inputSpeed="1625.00" inputTorque="-7643.77" torqueLoss="259.16"/> + <Entry inputSpeed="1625.00" inputTorque="-7960.98" torqueLoss="268.68"/> + <Entry inputSpeed="1950.00" inputTorque="-31.96" torqueLoss="31.96"/> + <Entry inputSpeed="1950.00" inputTorque="-70.42" torqueLoss="31.96"/> + <Entry inputSpeed="1950.00" inputTorque="-110.07" torqueLoss="33.15"/> + <Entry inputSpeed="1950.00" inputTorque="-149.72" torqueLoss="34.34"/> + <Entry inputSpeed="1950.00" inputTorque="-189.37" torqueLoss="35.53"/> + <Entry inputSpeed="1950.00" inputTorque="-268.68" torqueLoss="37.91"/> + <Entry inputSpeed="1950.00" inputTorque="-347.98" torqueLoss="40.29"/> + <Entry inputSpeed="1950.00" inputTorque="-506.58" torqueLoss="45.04"/> + <Entry inputSpeed="1950.00" inputTorque="-665.19" torqueLoss="49.80"/> + <Entry inputSpeed="1950.00" inputTorque="-823.79" torqueLoss="54.56"/> + <Entry inputSpeed="1950.00" inputTorque="-982.39" torqueLoss="59.32"/> + <Entry inputSpeed="1950.00" inputTorque="-1141.00" torqueLoss="64.08"/> + <Entry inputSpeed="1950.00" inputTorque="-1299.60" torqueLoss="68.83"/> + <Entry inputSpeed="1950.00" inputTorque="-1458.21" torqueLoss="73.59"/> + <Entry inputSpeed="1950.00" inputTorque="-1616.81" torqueLoss="78.35"/> + <Entry inputSpeed="1950.00" inputTorque="-1934.02" torqueLoss="87.87"/> + <Entry inputSpeed="1950.00" inputTorque="-2251.23" torqueLoss="97.38"/> + <Entry inputSpeed="1950.00" inputTorque="-2568.44" torqueLoss="106.90"/> + <Entry inputSpeed="1950.00" inputTorque="-2885.65" torqueLoss="116.42"/> + <Entry inputSpeed="1950.00" inputTorque="-3202.85" torqueLoss="125.93"/> + <Entry inputSpeed="1950.00" inputTorque="-3520.06" torqueLoss="135.45"/> + <Entry inputSpeed="1950.00" inputTorque="-3837.27" torqueLoss="144.96"/> + <Entry inputSpeed="1950.00" inputTorque="-4154.48" torqueLoss="154.48"/> + <Entry inputSpeed="1950.00" inputTorque="-4471.69" torqueLoss="164.00"/> + <Entry inputSpeed="1950.00" inputTorque="-4788.90" torqueLoss="173.51"/> + <Entry inputSpeed="1950.00" inputTorque="-5106.11" torqueLoss="183.03"/> + <Entry inputSpeed="1950.00" inputTorque="-5423.31" torqueLoss="192.55"/> + <Entry inputSpeed="1950.00" inputTorque="-5740.52" torqueLoss="202.06"/> + <Entry inputSpeed="1950.00" inputTorque="-6057.73" torqueLoss="211.58"/> + <Entry inputSpeed="1950.00" inputTorque="-6374.94" torqueLoss="221.09"/> + <Entry inputSpeed="1950.00" inputTorque="-6692.15" torqueLoss="230.61"/> + <Entry inputSpeed="1950.00" inputTorque="-7009.36" torqueLoss="240.13"/> + <Entry inputSpeed="1950.00" inputTorque="-7326.57" torqueLoss="249.64"/> + <Entry inputSpeed="1950.00" inputTorque="-7643.77" torqueLoss="259.16"/> + <Entry inputSpeed="1950.00" inputTorque="-7960.98" torqueLoss="268.68"/> + <Entry inputSpeed="2275.00" inputTorque="-31.96" torqueLoss="31.96"/> + <Entry inputSpeed="2275.00" inputTorque="-70.42" torqueLoss="31.96"/> + <Entry inputSpeed="2275.00" inputTorque="-110.07" torqueLoss="33.15"/> + <Entry inputSpeed="2275.00" inputTorque="-149.72" torqueLoss="34.34"/> + <Entry inputSpeed="2275.00" inputTorque="-189.37" torqueLoss="35.53"/> + <Entry inputSpeed="2275.00" inputTorque="-268.68" torqueLoss="37.91"/> + <Entry inputSpeed="2275.00" inputTorque="-347.98" torqueLoss="40.29"/> + <Entry inputSpeed="2275.00" inputTorque="-506.58" torqueLoss="45.04"/> + <Entry inputSpeed="2275.00" inputTorque="-665.19" torqueLoss="49.80"/> + <Entry inputSpeed="2275.00" inputTorque="-823.79" torqueLoss="54.56"/> + <Entry inputSpeed="2275.00" inputTorque="-982.39" torqueLoss="59.32"/> + <Entry inputSpeed="2275.00" inputTorque="-1141.00" torqueLoss="64.08"/> + <Entry inputSpeed="2275.00" inputTorque="-1299.60" torqueLoss="68.83"/> + <Entry inputSpeed="2275.00" inputTorque="-1458.21" torqueLoss="73.59"/> + <Entry inputSpeed="2275.00" inputTorque="-1616.81" torqueLoss="78.35"/> + <Entry inputSpeed="2275.00" inputTorque="-1934.02" torqueLoss="87.87"/> + <Entry inputSpeed="2275.00" inputTorque="-2251.23" torqueLoss="97.38"/> + <Entry inputSpeed="2275.00" inputTorque="-2568.44" torqueLoss="106.90"/> + <Entry inputSpeed="2275.00" inputTorque="-2885.65" torqueLoss="116.42"/> + <Entry inputSpeed="2275.00" inputTorque="-3202.85" torqueLoss="125.93"/> + <Entry inputSpeed="2275.00" inputTorque="-3520.06" torqueLoss="135.45"/> + <Entry inputSpeed="2275.00" inputTorque="-3837.27" torqueLoss="144.96"/> + <Entry inputSpeed="2275.00" inputTorque="-4154.48" torqueLoss="154.48"/> + <Entry inputSpeed="2275.00" inputTorque="-4471.69" torqueLoss="164.00"/> + <Entry inputSpeed="2275.00" inputTorque="-4788.90" torqueLoss="173.51"/> + <Entry inputSpeed="2275.00" inputTorque="-5106.11" torqueLoss="183.03"/> + <Entry inputSpeed="2275.00" inputTorque="-5423.31" torqueLoss="192.55"/> + <Entry inputSpeed="2275.00" inputTorque="-5740.52" torqueLoss="202.06"/> + <Entry inputSpeed="2275.00" inputTorque="-6057.73" torqueLoss="211.58"/> + <Entry inputSpeed="2275.00" inputTorque="-6374.94" torqueLoss="221.09"/> + <Entry inputSpeed="2275.00" inputTorque="-6692.15" torqueLoss="230.61"/> + <Entry inputSpeed="2275.00" inputTorque="-7009.36" torqueLoss="240.13"/> + <Entry inputSpeed="2275.00" inputTorque="-7326.57" torqueLoss="249.64"/> + <Entry inputSpeed="2275.00" inputTorque="-7643.77" torqueLoss="259.16"/> + <Entry inputSpeed="2275.00" inputTorque="-7960.98" torqueLoss="268.68"/> + <Entry inputSpeed="2600.00" inputTorque="-31.96" torqueLoss="31.96"/> + <Entry inputSpeed="2600.00" inputTorque="-70.42" torqueLoss="31.96"/> + <Entry inputSpeed="2600.00" inputTorque="-110.07" torqueLoss="33.15"/> + <Entry inputSpeed="2600.00" inputTorque="-149.72" torqueLoss="34.34"/> + <Entry inputSpeed="2600.00" inputTorque="-189.37" torqueLoss="35.53"/> + <Entry inputSpeed="2600.00" inputTorque="-268.68" torqueLoss="37.91"/> + <Entry inputSpeed="2600.00" inputTorque="-347.98" torqueLoss="40.29"/> + <Entry inputSpeed="2600.00" inputTorque="-506.58" torqueLoss="45.04"/> + <Entry inputSpeed="2600.00" inputTorque="-665.19" torqueLoss="49.80"/> + <Entry inputSpeed="2600.00" inputTorque="-823.79" torqueLoss="54.56"/> + <Entry inputSpeed="2600.00" inputTorque="-982.39" torqueLoss="59.32"/> + <Entry inputSpeed="2600.00" inputTorque="-1141.00" torqueLoss="64.08"/> + <Entry inputSpeed="2600.00" inputTorque="-1299.60" torqueLoss="68.83"/> + <Entry inputSpeed="2600.00" inputTorque="-1458.21" torqueLoss="73.59"/> + <Entry inputSpeed="2600.00" inputTorque="-1616.81" torqueLoss="78.35"/> + <Entry inputSpeed="2600.00" inputTorque="-1934.02" torqueLoss="87.87"/> + <Entry inputSpeed="2600.00" inputTorque="-2251.23" torqueLoss="97.38"/> + <Entry inputSpeed="2600.00" inputTorque="-2568.44" torqueLoss="106.90"/> + <Entry inputSpeed="2600.00" inputTorque="-2885.65" torqueLoss="116.42"/> + <Entry inputSpeed="2600.00" inputTorque="-3202.85" torqueLoss="125.93"/> + <Entry inputSpeed="2600.00" inputTorque="-3520.06" torqueLoss="135.45"/> + <Entry inputSpeed="2600.00" inputTorque="-3837.27" torqueLoss="144.96"/> + <Entry inputSpeed="2600.00" inputTorque="-4154.48" torqueLoss="154.48"/> + <Entry inputSpeed="2600.00" inputTorque="-4471.69" torqueLoss="164.00"/> + <Entry inputSpeed="2600.00" inputTorque="-4788.90" torqueLoss="173.51"/> + <Entry inputSpeed="2600.00" inputTorque="-5106.11" torqueLoss="183.03"/> + <Entry inputSpeed="2600.00" inputTorque="-5423.31" torqueLoss="192.55"/> + <Entry inputSpeed="2600.00" inputTorque="-5740.52" torqueLoss="202.06"/> + <Entry inputSpeed="2600.00" inputTorque="-6057.73" torqueLoss="211.58"/> + <Entry inputSpeed="2600.00" inputTorque="-6374.94" torqueLoss="221.09"/> + <Entry inputSpeed="2600.00" inputTorque="-6692.15" torqueLoss="230.61"/> + <Entry inputSpeed="2600.00" inputTorque="-7009.36" torqueLoss="240.13"/> + <Entry inputSpeed="2600.00" inputTorque="-7326.57" torqueLoss="249.64"/> + <Entry inputSpeed="2600.00" inputTorque="-7643.77" torqueLoss="259.16"/> + <Entry inputSpeed="2600.00" inputTorque="-7960.98" torqueLoss="268.68"/> + <Entry inputSpeed="2925.00" inputTorque="-31.96" torqueLoss="31.96"/> + <Entry inputSpeed="2925.00" inputTorque="-70.42" torqueLoss="31.96"/> + <Entry inputSpeed="2925.00" inputTorque="-110.07" torqueLoss="33.15"/> + <Entry inputSpeed="2925.00" inputTorque="-149.72" torqueLoss="34.34"/> + <Entry inputSpeed="2925.00" inputTorque="-189.37" torqueLoss="35.53"/> + <Entry inputSpeed="2925.00" inputTorque="-268.68" torqueLoss="37.91"/> + <Entry inputSpeed="2925.00" inputTorque="-347.98" torqueLoss="40.29"/> + <Entry inputSpeed="2925.00" inputTorque="-506.58" torqueLoss="45.04"/> + <Entry inputSpeed="2925.00" inputTorque="-665.19" torqueLoss="49.80"/> + <Entry inputSpeed="2925.00" inputTorque="-823.79" torqueLoss="54.56"/> + <Entry inputSpeed="2925.00" inputTorque="-982.39" torqueLoss="59.32"/> + <Entry inputSpeed="2925.00" inputTorque="-1141.00" torqueLoss="64.08"/> + <Entry inputSpeed="2925.00" inputTorque="-1299.60" torqueLoss="68.83"/> + <Entry inputSpeed="2925.00" inputTorque="-1458.21" torqueLoss="73.59"/> + <Entry inputSpeed="2925.00" inputTorque="-1616.81" torqueLoss="78.35"/> + <Entry inputSpeed="2925.00" inputTorque="-1934.02" torqueLoss="87.87"/> + <Entry inputSpeed="2925.00" inputTorque="-2251.23" torqueLoss="97.38"/> + <Entry inputSpeed="2925.00" inputTorque="-2568.44" torqueLoss="106.90"/> + <Entry inputSpeed="2925.00" inputTorque="-2885.65" torqueLoss="116.42"/> + <Entry inputSpeed="2925.00" inputTorque="-3202.85" torqueLoss="125.93"/> + <Entry inputSpeed="2925.00" inputTorque="-3520.06" torqueLoss="135.45"/> + <Entry inputSpeed="2925.00" inputTorque="-3837.27" torqueLoss="144.96"/> + <Entry inputSpeed="2925.00" inputTorque="-4154.48" torqueLoss="154.48"/> + <Entry inputSpeed="2925.00" inputTorque="-4471.69" torqueLoss="164.00"/> + <Entry inputSpeed="2925.00" inputTorque="-4788.90" torqueLoss="173.51"/> + <Entry inputSpeed="2925.00" inputTorque="-5106.11" torqueLoss="183.03"/> + <Entry inputSpeed="2925.00" inputTorque="-5423.31" torqueLoss="192.55"/> + <Entry inputSpeed="2925.00" inputTorque="-5740.52" torqueLoss="202.06"/> + <Entry inputSpeed="2925.00" inputTorque="-6057.73" torqueLoss="211.58"/> + <Entry inputSpeed="2925.00" inputTorque="-6374.94" torqueLoss="221.09"/> + <Entry inputSpeed="2925.00" inputTorque="-6692.15" torqueLoss="230.61"/> + <Entry inputSpeed="2925.00" inputTorque="-7009.36" torqueLoss="240.13"/> + <Entry inputSpeed="2925.00" inputTorque="-7326.57" torqueLoss="249.64"/> + <Entry inputSpeed="2925.00" inputTorque="-7643.77" torqueLoss="259.16"/> + <Entry inputSpeed="2925.00" inputTorque="-7960.98" torqueLoss="268.68"/> + <Entry inputSpeed="3250.00" inputTorque="-31.96" torqueLoss="31.96"/> + <Entry inputSpeed="3250.00" inputTorque="-70.42" torqueLoss="31.96"/> + <Entry inputSpeed="3250.00" inputTorque="-110.07" torqueLoss="33.15"/> + <Entry inputSpeed="3250.00" inputTorque="-149.72" torqueLoss="34.34"/> + <Entry inputSpeed="3250.00" inputTorque="-189.37" torqueLoss="35.53"/> + <Entry inputSpeed="3250.00" inputTorque="-268.68" torqueLoss="37.91"/> + <Entry inputSpeed="3250.00" inputTorque="-347.98" torqueLoss="40.29"/> + <Entry inputSpeed="3250.00" inputTorque="-506.58" torqueLoss="45.04"/> + <Entry inputSpeed="3250.00" inputTorque="-665.19" torqueLoss="49.80"/> + <Entry inputSpeed="3250.00" inputTorque="-823.79" torqueLoss="54.56"/> + <Entry inputSpeed="3250.00" inputTorque="-982.39" torqueLoss="59.32"/> + <Entry inputSpeed="3250.00" inputTorque="-1141.00" torqueLoss="64.08"/> + <Entry inputSpeed="3250.00" inputTorque="-1299.60" torqueLoss="68.83"/> + <Entry inputSpeed="3250.00" inputTorque="-1458.21" torqueLoss="73.59"/> + <Entry inputSpeed="3250.00" inputTorque="-1616.81" torqueLoss="78.35"/> + <Entry inputSpeed="3250.00" inputTorque="-1934.02" torqueLoss="87.87"/> + <Entry inputSpeed="3250.00" inputTorque="-2251.23" torqueLoss="97.38"/> + <Entry inputSpeed="3250.00" inputTorque="-2568.44" torqueLoss="106.90"/> + <Entry inputSpeed="3250.00" inputTorque="-2885.65" torqueLoss="116.42"/> + <Entry inputSpeed="3250.00" inputTorque="-3202.85" torqueLoss="125.93"/> + <Entry inputSpeed="3250.00" inputTorque="-3520.06" torqueLoss="135.45"/> + <Entry inputSpeed="3250.00" inputTorque="-3837.27" torqueLoss="144.96"/> + <Entry inputSpeed="3250.00" inputTorque="-4154.48" torqueLoss="154.48"/> + <Entry inputSpeed="3250.00" inputTorque="-4471.69" torqueLoss="164.00"/> + <Entry inputSpeed="3250.00" inputTorque="-4788.90" torqueLoss="173.51"/> + <Entry inputSpeed="3250.00" inputTorque="-5106.11" torqueLoss="183.03"/> + <Entry inputSpeed="3250.00" inputTorque="-5423.31" torqueLoss="192.55"/> + <Entry inputSpeed="3250.00" inputTorque="-5740.52" torqueLoss="202.06"/> + <Entry inputSpeed="3250.00" inputTorque="-6057.73" torqueLoss="211.58"/> + <Entry inputSpeed="3250.00" inputTorque="-6374.94" torqueLoss="221.09"/> + <Entry inputSpeed="3250.00" inputTorque="-6692.15" torqueLoss="230.61"/> + <Entry inputSpeed="3250.00" inputTorque="-7009.36" torqueLoss="240.13"/> + <Entry inputSpeed="3250.00" inputTorque="-7326.57" torqueLoss="249.64"/> + <Entry inputSpeed="3250.00" inputTorque="-7643.77" torqueLoss="259.16"/> + <Entry inputSpeed="3250.00" inputTorque="-7960.98" torqueLoss="268.68"/> + </TorqueLossMap> + </Data> + <Signature> + <Reference URI="#AXLGEAR-6.500" xmlns="http://www.w3.org/2000/09/xmldsig#"> + <Transforms> + <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithoutComments"/> + <Transform Algorithm="urn:vecto:xml:2017:canonicalization"/> + </Transforms> + <DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> + <DigestValue/> + </Reference> + </Signature> + </Axlegear> + <AxleWheels> + <Data> + <Axles> + <Axle axleNumber="1"> + <AxleType>VehicleNonDriven</AxleType> + <TwinTyres>false</TwinTyres> + <Steered>true</Steered> + <Tyre> + <Data id="TYRE-315_70R22.5"> + <Manufacturer>Generic</Manufacturer> + <Model>315/70 R22.5</Model> + <CertificationNumber>TYRE-315/70 R22.5</CertificationNumber> + <Date>2018-09-05T07:21:08.9357507Z</Date> + <AppVersion>VectoCore</AppVersion> + <Dimension>315/70 R22.5</Dimension> + <RRCDeclared>0.0055</RRCDeclared> + <FzISO>33350</FzISO> + </Data> + <Signature> + <Reference URI="#TYRE-315_70R22.5" xmlns="http://www.w3.org/2000/09/xmldsig#"> + <Transforms> + <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithoutComments"/> + <Transform Algorithm="urn:vecto:xml:2017:canonicalization"/> + </Transforms> + <DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> + <DigestValue/> + </Reference> + </Signature> + </Tyre> + </Axle> + <Axle axleNumber="2"> + <AxleType>VehicleDriven</AxleType> + <TwinTyres>true</TwinTyres> + <Steered>false</Steered> + <Tyre> + <Data id="TYRE-315_70R22.5"> + <Manufacturer>Generic</Manufacturer> + <Model>315/70 R22.5</Model> + <CertificationNumber>TYRE-315/70 R22.5</CertificationNumber> + <Date>2018-09-05T07:21:08.9357507Z</Date> + <AppVersion>VectoCore</AppVersion> + <Dimension>315/70 R22.5</Dimension> + <RRCDeclared>0.0055</RRCDeclared> + <FzISO>33350</FzISO> + </Data> + <Signature> + <Reference URI="#TYRE-315_70R22.5" xmlns="http://www.w3.org/2000/09/xmldsig#"> + <Transforms> + <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithoutComments"/> + <Transform Algorithm="urn:vecto:xml:2017:canonicalization"/> + </Transforms> + <DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> + <DigestValue/> + </Reference> + </Signature> + </Tyre> + </Axle> + <Axle axleNumber="3"> + <AxleType>VehicleNonDriven</AxleType> + <TwinTyres>false</TwinTyres> + <Steered>false</Steered> + <Tyre> + <Data id="TYRE-315_70R22.5"> + <Manufacturer>Generic</Manufacturer> + <Model>315/70 R22.5</Model> + <CertificationNumber>TYRE-315/70 R22.5</CertificationNumber> + <Date>2018-09-05T07:21:08.9357507Z</Date> + <AppVersion>VectoCore</AppVersion> + <Dimension>315/70 R22.5</Dimension> + <RRCDeclared>0.0055</RRCDeclared> + <FzISO>33350</FzISO> + </Data> + <Signature> + <Reference URI="#TYRE-315_70R22.5" xmlns="http://www.w3.org/2000/09/xmldsig#"> + <Transforms> + <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithoutComments"/> + <Transform Algorithm="urn:vecto:xml:2017:canonicalization"/> + </Transforms> + <DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> + <DigestValue/> + </Reference> + </Signature> + </Tyre> + </Axle> + </Axles> + </Data> + </AxleWheels> + <Auxiliaries> + <Data> + <Fan> + <Technology>Belt driven or driven via transm. - Electronically controlled visco clutch</Technology> + </Fan> + <SteeringPump> + <Technology>Fixed displacement</Technology> + </SteeringPump> + <ElectricSystem> + <Technology>Standard technology</Technology> + </ElectricSystem> + <PneumaticSystem> + <Technology>Medium Supply 2-stage + ESS + AMS</Technology> + </PneumaticSystem> + <HVAC> + <Technology>Default</Technology> + </HVAC> + </Data> + </Auxiliaries> + <AirDrag> + <Data id="Airdrag-N.A."> + <Manufacturer>Generic</Manufacturer> + <Model>N.A.</Model> + <CertificationNumber>N.A.</CertificationNumber> + <Date>2018-09-05T07:21:09.0384752Z</Date> + <AppVersion>VectoCore</AppVersion> + <CdxA_0>5.80</CdxA_0> + <TransferredCdxA>5.80</TransferredCdxA> + <DeclaredCdxA>5.80</DeclaredCdxA> + </Data> + <Signature> + <Reference URI="#Airdrag-N.A." xmlns="http://www.w3.org/2000/09/xmldsig#"> + <Transforms> + <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithoutComments"/> + <Transform Algorithm="urn:vecto:xml:2017:canonicalization"/> + </Transforms> + <DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> + <DigestValue/> + </Reference> + </Signature> + </AirDrag> + </Components> + </Vehicle> +</tns:VectoInputDeclaration> diff --git a/VectoCore/VectoCoreTest/VectoCoreTest.csproj b/VectoCore/VectoCoreTest/VectoCoreTest.csproj index fbf584db5dbff8f76f513dfa89325d4681894759..04009babf315ea5b2f2b662095c98136b2583549 100644 --- a/VectoCore/VectoCoreTest/VectoCoreTest.csproj +++ b/VectoCore/VectoCoreTest/VectoCoreTest.csproj @@ -2721,6 +2721,9 @@ </Content> <Content Include="TestData\XML\XMLReaderDeclaration\vecto_engine-sample.xml" /> <Content Include="TestData\XML\XMLReaderDeclaration\vecto_gearbox-sample.xml" /> + <Content Include="TestData\XML\XMLReaderDeclaration\vecto_vehicle-sample_AT.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> <Content Include="TestData\XML\XMLReaderDeclaration\vecto_vehicle-sample_noAirdrag.xml"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content> diff --git a/VectoCore/VectoCoreTest/XML/XMLReportTest.cs b/VectoCore/VectoCoreTest/XML/XMLReportTest.cs index 1c3e85a08d492b4595204d98c94a7deb54257af6..e3ffa997b4d33466ddf6bfd44c684293bfc29ada 100644 --- a/VectoCore/VectoCoreTest/XML/XMLReportTest.cs +++ b/VectoCore/VectoCoreTest/XML/XMLReportTest.cs @@ -46,14 +46,17 @@ namespace TUGraz.VectoCore.Tests.XML public class XMLReportTest { const string SampleVehicleDecl = "TestData/XML/XMLReaderDeclaration/vecto_vehicle-sample.xml"; - + + const string SampleVehicleDeclAT = "TestData/XML/XMLReaderDeclaration/vecto_vehicle-sample_AT.xml"; + [OneTimeSetUp] public void RunBeforeAnyTests() { Directory.SetCurrentDirectory(TestContext.CurrentContext.TestDirectory); } - [TestCase(SampleVehicleDecl)] + [TestCase(SampleVehicleDecl), + TestCase(SampleVehicleDeclAT)] public void RunDeclarationJob(string filename) { var fileWriter = new FileOutputWriter(filename);