diff --git a/VECTO/Input Files/Vehicle.vb b/VECTO/Input Files/Vehicle.vb index 254fea169a06f628743c6b5c14f663cfc36a8b5e..5af6047346975aa21182261841c59c249ca1eef1 100644 --- a/VECTO/Input Files/Vehicle.vb +++ b/VECTO/Input Files/Vehicle.vb @@ -802,6 +802,12 @@ Public Class Vehicle Public Property EcoRollReleaseLockupClutch As Boolean + Public ReadOnly Property NumSteeredAxles As Integer? Implements IAxlesDeclarationInputData.NumSteeredAxles + get + return nothing + End Get + End Property + Public ReadOnly Property IAxlesEngineeringInputData_DataSource As DataSource Implements IAxlesEngineeringInputData.DataSource get Return New DataSource() With {.SourceType = DataSourceType.JSONFile} diff --git a/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs b/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs index 2421cbe2065bc3ec2b34889b725abf4a11e94bc9..af7bc5200ecf3444f5c062e8e4dcfc5f312768a0 100644 --- a/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs +++ b/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs @@ -201,6 +201,8 @@ namespace TUGraz.VectoCommon.InputData /// cf. VECTO Input Parameters.xlsx /// </summary> IList<IAxleDeclarationInputData> AxlesDeclaration { get; } + + int? NumSteeredAxles { get; } } public interface IAdvancedDriverAssistantSystemDeclarationInputData @@ -370,6 +372,8 @@ namespace TUGraz.VectoCommon.InputData ITyreDeclarationInputData Tyre { get; } + bool Steered { get; } + DataSource DataSource { get; } } diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs index be3ecca2512156b4eb389e0ba3900657f196dfc7..43f1205544d04391c4b77299c52c8b022e8f5d9f 100644 --- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs @@ -388,6 +388,8 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON public virtual Watt MaxNetPower2 { get { return null; } } + public int? NumSteeredAxles => null; + IVehicleComponentsDeclaration IVehicleDeclarationInputData.Components { get { return this; } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAxleDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAxleDataProvider.cs index a07ffe3a345b5d9cb92ea9cc8cbdb5c50cf346f8..2f11975df472a4b9e88526b429c898e6c0209c5e 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAxleDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAxleDataProvider.cs @@ -52,6 +52,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider protected ITyreDeclarationInputData _tyre; protected bool? _twinTyre; protected AxleType? _axleType; + private bool? _steered; public XMLDeclarationAxleDataProviderV10(IXMLDeclarationVehicleData vehicle, XmlNode componentNode, string sourceFile) : base(componentNode, sourceFile) @@ -80,6 +81,9 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider get { return _tyre ?? (_tyre = Reader.Tyre); } } + public bool Steered => + _steered ?? (_steered = XmlConvert.ToBoolean(GetString(XMLNames.AxleWheels_Axles_Axle_Steered))).Value; + #endregion diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAxlesDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAxlesDataProvider.cs index a0edec339ca65c2d438ca08db62027bdb68e2698..0473b13816982df3d2d762bf3cf5ec9c01d56cbf 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAxlesDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAxlesDataProvider.cs @@ -30,6 +30,7 @@ */ using System.Collections.Generic; +using System.Linq; using System.Xml; using System.Xml.Linq; using TUGraz.VectoCommon.Exceptions; @@ -48,7 +49,8 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider public const string XSD_TYPE = "AxleWheelsDataDeclarationType"; - public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); + public static readonly string QUALIFIED_XSD_TYPE = + XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); protected IAxleDeclarationInputData[] _axles; @@ -67,7 +69,8 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider public virtual IList<IAxleDeclarationInputData> AxlesDeclaration { - get { + get + { if (_axles != null) { return _axles; } @@ -83,6 +86,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider if (axleNumber < 1 || axleNumber > _axles.Length) { throw new VectoException("Axle #{0} exceeds axle count", axleNumber); } + if (_axles[axleNumber - 1] != null) { throw new VectoException("Axle #{0} defined multiple times!", axleNumber); } @@ -94,6 +98,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider } } + public int? NumSteeredAxles + { + get { return AxlesDeclaration.Count(x => x.Steered); } + } + #endregion #region Implementation of IXMLResource diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs index d1385740a198f56240eaa3141b990efc4346c03e..4e7e1eaa94c666542c9a47205918f5ade4b5b41e 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs @@ -422,7 +422,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter public IList<VectoRunData.AuxData> CreateAuxiliaryData(IAuxiliariesDeclarationInputData auxInputData, - MissionType mission, VehicleClass hvdClass) + MissionType mission, VehicleClass hvdClass, int? numSteeredAxles) { if (!auxInputData.SavedInDeclarationMode) { WarnDeclarationMode("AuxiliariesData"); @@ -453,6 +453,9 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter aux.ID = Constants.Auxiliaries.IDs.Fan; break; case AuxiliaryType.SteeringPump: + if (numSteeredAxles.HasValue && auxData.Technology.Count != numSteeredAxles.Value) { + throw new VectoException($"Number of steering pump technologies does not match number of steered axles ({numSteeredAxles.Value}, {auxData.Technology.Count})"); + } aux.PowerDemand = DeclarationData.SteeringPump.Lookup(mission, hvdClass, auxData.Technology); aux.ID = Constants.Auxiliaries.IDs.SteeringPump; break; diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeVectoRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeVectoRunDataFactory.cs index c24aefdf5bd7ae4ff92d44038e8a14a375f9901d..9a9222af851eee7dcdd62010f563444368c96162 100644 --- a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeVectoRunDataFactory.cs +++ b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeVectoRunDataFactory.cs @@ -253,7 +253,7 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl AxleGearData = _axlegearData, AngledriveData = _angledriveData, Aux = _dao.CreateAuxiliaryData(vehicle.Components.AuxiliaryInputData, mission.MissionType, - _segment.VehicleClass), + _segment.VehicleClass, vehicle.Components.AxleWheels.NumSteeredAxles), Cycle = new DrivingCycleProxy(cycle, mission.MissionType.ToString()), Retarder = _retarderData, DriverData = _driverdata, diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactory.cs index 644710f86c35b802aeb2636a926c2c273c3fb5b5..95b9a88f4d4d96b732ad7d83412b0d0a20185e84 100644 --- a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactory.cs +++ b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactory.cs @@ -100,7 +100,8 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl Dao.CreateAuxiliaryData( JobInputData.Vehicle.Components.AuxiliaryInputData, Segment.Missions.First().MissionType, - Segment.VehicleClass), + Segment.VehicleClass, + JobInputData.Vehicle.Components.AxleWheels.NumSteeredAxles), }; powertrainConfig.VehicleData.VehicleClass = Segment.VehicleClass; Report.InputDataHash = JobInputData.VectoJobHash; @@ -181,7 +182,8 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl runData.Cycle = new DrivingCycleProxy(cycle, mission.MissionType.ToString()); runData.DriverData = Driverdata; runData.Aux = Dao.CreateAuxiliaryData( - JobInputData.Vehicle.Components.AuxiliaryInputData, mission.MissionType, Segment.VehicleClass); + JobInputData.Vehicle.Components.AuxiliaryInputData, mission.MissionType, Segment.VehicleClass, + JobInputData.Vehicle.Components.AxleWheels.NumSteeredAxles); runData.ExecutionMode = ExecutionMode.Declaration; runData.SimulationType = SimulationType.DistanceCycle; runData.Mission = mission; @@ -258,22 +260,23 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl protected virtual List<VectoRunData.AuxData> CreateVTPAuxData(IVehicleDeclarationInputData vehicle) { + var numSteered = vehicle.Components.AxleWheels.NumSteeredAxles; var auxRD = Dao.CreateAuxiliaryData( - vehicle.Components.AuxiliaryInputData, MissionType.RegionalDelivery, Segment.VehicleClass) + vehicle.Components.AuxiliaryInputData, MissionType.RegionalDelivery, Segment.VehicleClass, numSteered) .ToList(); foreach (var entry in auxRD) { entry.MissionType = MissionType.RegionalDelivery; } var auxLH = Dao.CreateAuxiliaryData( - vehicle.Components.AuxiliaryInputData, MissionType.LongHaul, Segment.VehicleClass) + vehicle.Components.AuxiliaryInputData, MissionType.LongHaul, Segment.VehicleClass, numSteered) .ToList(); foreach (var entry in auxLH) { entry.MissionType = MissionType.LongHaul; } var auxUD = Dao.CreateAuxiliaryData( - vehicle.Components.AuxiliaryInputData, MissionType.UrbanDelivery, Segment.VehicleClass) + vehicle.Components.AuxiliaryInputData, MissionType.UrbanDelivery, Segment.VehicleClass, numSteered) .ToList(); foreach (var entry in auxUD) { entry.MissionType = MissionType.UrbanDelivery; diff --git a/VectoCore/VectoCoreTest/Models/Declaration/InputDataSanityChecks.cs b/VectoCore/VectoCoreTest/Models/Declaration/InputDataSanityChecks.cs new file mode 100644 index 0000000000000000000000000000000000000000..1f1e149a2c55c99feebefe22226c2c1bca9649b8 --- /dev/null +++ b/VectoCore/VectoCoreTest/Models/Declaration/InputDataSanityChecks.cs @@ -0,0 +1,108 @@ +using System.IO; +using System.Linq; +using System.Xml; +using Ninject; +using NUnit.Framework; +using TUGraz.VectoCommon.Exceptions; +using TUGraz.VectoCommon.InputData; +using TUGraz.VectoCommon.Models; +using TUGraz.VectoCore.InputData.FileIO.XML; +using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider; +using TUGraz.VectoCore.Models.Simulation.Impl; +using TUGraz.VectoCore.OutputData.FileIO; +using TUGraz.VectoCore.Tests.Utils; + +namespace TUGraz.VectoCore.Tests.Models.Declaration +{ + [TestFixture] + public class InputDataSanityChecks + { + public const string HeavyLorryConventional = @"TestData\Integration\DeclarationMode\SteeringPumpCount\Group5_EngineStopStart.xml"; + + private IXMLInputDataReader _xmlInputReader; + + [OneTimeSetUp] + public void RunBeforeAnyTests() + { + Directory.SetCurrentDirectory(TestContext.CurrentContext.TestDirectory); + var kernel = new StandardKernel(new VectoNinjectModule()); + _xmlInputReader = kernel.Get<IXMLInputDataReader>(); + } + + [ + TestCase(HeavyLorryConventional, 1, "Fixed displacement"), + TestCase(HeavyLorryConventional, 2, "Fixed displacement", "Dual displacement"), + TestCase(HeavyLorryConventional, 2, "Fixed displacement", "Electric"), + TestCase(HeavyLorryConventional, 1, "Fixed displacement"), + ] + public void TestCorrectNumberSteeredAxles(string jobFile, int numStreeredAxles, params string[] steeringPumpTechnologies) + { + var modified = GetModifiedXML(jobFile, numStreeredAxles, steeringPumpTechnologies); + + var writer = new FileOutputWriter("SanityCheckTest"); + + var factory = new SimulatorFactory(ExecutionMode.Declaration, modified, writer); + factory.WriteModalResults = true; + factory.Validate = false; + + var runs = factory.DataReader.NextRun().ToList(); + + Assert.IsTrue(runs.Count > 0); + } + + [ + TestCase(HeavyLorryConventional, 2, "Fixed displacement"), + TestCase(HeavyLorryConventional, 1, "Fixed displacement", "Dual displacement"), + TestCase(HeavyLorryConventional, 1, "Electric", "Electric"), + TestCase(HeavyLorryConventional, 1, "Fixed displacement", "Dual displacement", "Electric"), + ] + public void TestWrongNumberSteeredAxles(string jobFile, int numStreeredAxles, params string[] steeringPumpTechnologies) + { + var modified = GetModifiedXML(jobFile, numStreeredAxles, steeringPumpTechnologies); + + var writer = new FileOutputWriter("SanityCheckTest"); + + var factory = new SimulatorFactory(ExecutionMode.Declaration, modified, writer); + factory.WriteModalResults = true; + factory.Validate = false; + + AssertHelper.Exception<VectoException>(() => { + var runs = factory.DataReader.NextRun().ToList(); + }, messageContains: $"Number of steering pump technologies does not match number of steered axles ({numStreeredAxles}, {steeringPumpTechnologies.Length})"); + + } + + private IInputDataProvider GetModifiedXML(string jobFile, int numStreeredAxles, string[] steeringPumpTechnologies) + { + var inputXml = new XmlDocument(); + inputXml.Load(jobFile); + + var axleNodesSteered = inputXml.SelectNodes("//*[local-name()='Axle']/*[local-name()='Steered']"); + + var cnt = 0; + foreach (XmlNode steered in axleNodesSteered) { + steered.InnerText = cnt++ < numStreeredAxles ? "true" : "false"; + } + + var steeringPumpNode = inputXml.SelectSingleNode("//*[local-name()='SteeringPump']"); + steeringPumpNode.RemoveAll(); + cnt = 1; + foreach (var steeringPumpTechnology in steeringPumpTechnologies) { + var tech = inputXml.CreateElement("Technology", "urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0"); + var val = inputXml.CreateTextNode(steeringPumpTechnology); + //var attr = inputXml.CreateAttribute("axleNumber"); + //var attrVal = inputXml.CreateTextNode(cnt.ToString()); + //attr.AppendChild(attrVal); + //tech.Attributes.Append(attr); + tech.AppendChild(val); + + steeringPumpNode.AppendChild(tech); + cnt++; + } + + var modified = XmlReader.Create(new StringReader(inputXml.OuterXml)); + + return _xmlInputReader.CreateDeclaration(modified); + } + } +} \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/SteeringPumpCount/Group5_EngineStopStart.xml b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/SteeringPumpCount/Group5_EngineStopStart.xml new file mode 100644 index 0000000000000000000000000000000000000000..917583a3f8bf6f3243b71964393274c322296efe --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/SteeringPumpCount/Group5_EngineStopStart.xml @@ -0,0 +1,576 @@ +<?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-Class5"> + <Manufacturer>Generic Vendor</Manufacturer> + <ManufacturerAddress>N.A.</ManufacturerAddress> + <Model>N.A.</Model> + <VIN>N/A</VIN> + <Date>2017-07-06T15:06:08.3093609Z</Date> + <LegislativeClass>N3</LegislativeClass> + <VehicleCategory>Tractor</VehicleCategory> + <AxleConfiguration>4x2</AxleConfiguration> + <CurbMassChassis>8229</CurbMassChassis> + <GrossVehicleMass>18000</GrossVehicleMass> + <IdlingSpeed>600</IdlingSpeed> + <RetarderType>Transmission Output Retarder</RetarderType> + <RetarderRatio>1.000</RetarderRatio> + <AngledriveType>None</AngledriveType> + <PTO> + <PTOShaftsGearWheels>none</PTOShaftsGearWheels> + <PTOOtherElements>none</PTOOtherElements> + </PTO> + <ZeroEmissionVehicle>false</ZeroEmissionVehicle> + <VocationalVehicle>false</VocationalVehicle> + <SleeperCab>false</SleeperCab> + <ADAS> + <EngineStopStart>true</EngineStopStart> + <EcoRollWithoutEngineStop>false</EcoRollWithoutEngineStop> + <EcoRollWithEngineStop>false</EcoRollWithEngineStop> + <PredictiveCruiseControl>none</PredictiveCruiseControl> + </ADAS> + <Components> + <Engine> + <Data id="ENG-N.A."> + <Manufacturer>Generic Vendor</Manufacturer> + <Model>N.A.</Model> + <CertificationNumber>ENG-N.A.</CertificationNumber> + <Date>2017-07-06T15:06:08.3103609Z</Date> + <AppVersion>VectoCore</AppVersion> + <Displacement>12740</Displacement> + <IdlingSpeed>600</IdlingSpeed> + <RatedSpeed>1736</RatedSpeed> + <RatedPower>325032</RatedPower> + <MaxEngineTorque>2134</MaxEngineTorque> + <WHTCUrban>1.0000</WHTCUrban> + <WHTCRural>1.0000</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="-139.00" fuelConsumption="0.00" /> + <Entry engineSpeed="600.00" torque="0.00" fuelConsumption="1355.00" /> + <Entry engineSpeed="600.00" torque="186.00" fuelConsumption="3118.00" /> + <Entry engineSpeed="600.00" torque="371.00" fuelConsumption="5105.00" /> + <Entry engineSpeed="600.00" torque="557.00" fuelConsumption="7522.00" /> + <Entry engineSpeed="600.00" torque="743.00" fuelConsumption="9298.00" /> + <Entry engineSpeed="600.00" torque="928.00" fuelConsumption="11208.00" /> + <Entry engineSpeed="600.00" torque="1114.00" fuelConsumption="13370.00" /> + <Entry engineSpeed="600.00" torque="1190.00" fuelConsumption="14252.00" /> + <Entry engineSpeed="800.00" torque="-144.00" fuelConsumption="0.00" /> + <Entry engineSpeed="800.00" torque="0.00" fuelConsumption="1745.00" /> + <Entry engineSpeed="800.00" torque="186.00" fuelConsumption="3979.00" /> + <Entry engineSpeed="800.00" torque="371.00" fuelConsumption="6824.00" /> + <Entry engineSpeed="800.00" torque="557.00" fuelConsumption="9340.00" /> + <Entry engineSpeed="800.00" torque="743.00" fuelConsumption="12150.00" /> + <Entry engineSpeed="800.00" torque="928.00" fuelConsumption="14870.00" /> + <Entry engineSpeed="800.00" torque="1114.00" fuelConsumption="17863.00" /> + <Entry engineSpeed="800.00" torque="1300.00" fuelConsumption="20822.00" /> + <Entry engineSpeed="800.00" torque="1486.00" fuelConsumption="23769.00" /> + <Entry engineSpeed="800.00" torque="1663.00" fuelConsumption="26838.00" /> + <Entry engineSpeed="1000.00" torque="-153.00" fuelConsumption="0.00" /> + <Entry engineSpeed="1000.00" torque="0.00" fuelConsumption="2660.00" /> + <Entry engineSpeed="1000.00" torque="186.00" fuelConsumption="5536.00" /> + <Entry engineSpeed="1000.00" torque="371.00" fuelConsumption="8540.00" /> + <Entry engineSpeed="1000.00" torque="557.00" fuelConsumption="11470.00" /> + <Entry engineSpeed="1000.00" torque="743.00" fuelConsumption="14823.00" /> + <Entry engineSpeed="1000.00" torque="928.00" fuelConsumption="18443.00" /> + <Entry engineSpeed="1000.00" torque="1114.00" fuelConsumption="21847.00" /> + <Entry engineSpeed="1000.00" torque="1300.00" fuelConsumption="25256.00" /> + <Entry engineSpeed="1000.00" torque="1486.00" fuelConsumption="28936.00" /> + <Entry engineSpeed="1000.00" torque="1671.00" fuelConsumption="32592.00" /> + <Entry engineSpeed="1000.00" torque="1857.00" fuelConsumption="36545.00" /> + <Entry engineSpeed="1000.00" torque="2043.00" fuelConsumption="40964.00" /> + <Entry engineSpeed="1000.00" torque="2135.00" fuelConsumption="43486.00" /> + <Entry engineSpeed="1200.00" torque="-166.00" fuelConsumption="0.00" /> + <Entry engineSpeed="1200.00" torque="0.00" fuelConsumption="3070.00" /> + <Entry engineSpeed="1200.00" torque="186.00" fuelConsumption="6404.00" /> + <Entry engineSpeed="1200.00" torque="371.00" fuelConsumption="9889.00" /> + <Entry engineSpeed="1200.00" torque="557.00" fuelConsumption="13598.00" /> + <Entry engineSpeed="1200.00" torque="743.00" fuelConsumption="17748.00" /> + <Entry engineSpeed="1200.00" torque="928.00" fuelConsumption="21984.00" /> + <Entry engineSpeed="1200.00" torque="1114.00" fuelConsumption="26164.00" /> + <Entry engineSpeed="1200.00" torque="1300.00" fuelConsumption="30111.00" /> + <Entry engineSpeed="1200.00" torque="1486.00" fuelConsumption="34354.00" /> + <Entry engineSpeed="1200.00" torque="1671.00" fuelConsumption="38709.00" /> + <Entry engineSpeed="1200.00" torque="1857.00" fuelConsumption="43559.00" /> + <Entry engineSpeed="1200.00" torque="2043.00" fuelConsumption="48079.00" /> + <Entry engineSpeed="1200.00" torque="2135.00" fuelConsumption="51003.00" /> + <Entry engineSpeed="1400.00" torque="-188.00" fuelConsumption="0.00" /> + <Entry engineSpeed="1400.00" torque="0.00" fuelConsumption="3998.00" /> + <Entry engineSpeed="1400.00" torque="186.00" fuelConsumption="7561.00" /> + <Entry engineSpeed="1400.00" torque="371.00" fuelConsumption="11813.00" /> + <Entry engineSpeed="1400.00" torque="557.00" fuelConsumption="16270.00" /> + <Entry engineSpeed="1400.00" torque="743.00" fuelConsumption="20694.00" /> + <Entry engineSpeed="1400.00" torque="928.00" fuelConsumption="25155.00" /> + <Entry engineSpeed="1400.00" torque="1114.00" fuelConsumption="30209.00" /> + <Entry engineSpeed="1400.00" torque="1300.00" fuelConsumption="35046.00" /> + <Entry engineSpeed="1400.00" torque="1486.00" fuelConsumption="40105.00" /> + <Entry engineSpeed="1400.00" torque="1671.00" fuelConsumption="45916.00" /> + <Entry engineSpeed="1400.00" torque="1857.00" fuelConsumption="51762.00" /> + <Entry engineSpeed="1400.00" torque="2043.00" fuelConsumption="56704.00" /> + <Entry engineSpeed="1400.00" torque="2135.00" fuelConsumption="59772.00" /> + <Entry engineSpeed="1600.00" torque="-218.00" fuelConsumption="0.00" /> + <Entry engineSpeed="1600.00" torque="0.00" fuelConsumption="4836.00" /> + <Entry engineSpeed="1600.00" torque="186.00" fuelConsumption="8977.00" /> + <Entry engineSpeed="1600.00" torque="371.00" fuelConsumption="13777.00" /> + <Entry engineSpeed="1600.00" torque="557.00" fuelConsumption="18687.00" /> + <Entry engineSpeed="1600.00" torque="743.00" fuelConsumption="24042.00" /> + <Entry engineSpeed="1600.00" torque="928.00" fuelConsumption="29369.00" /> + <Entry engineSpeed="1600.00" torque="1114.00" fuelConsumption="34584.00" /> + <Entry engineSpeed="1600.00" torque="1300.00" fuelConsumption="40342.00" /> + <Entry engineSpeed="1600.00" torque="1486.00" fuelConsumption="46194.00" /> + <Entry engineSpeed="1600.00" torque="1671.00" fuelConsumption="52942.00" /> + <Entry engineSpeed="1600.00" torque="1857.00" fuelConsumption="59343.00" /> + <Entry engineSpeed="1600.00" torque="1930.00" fuelConsumption="61762.00" /> + <Entry engineSpeed="1800.00" torque="-245.00" fuelConsumption="0.00" /> + <Entry engineSpeed="1800.00" torque="0.00" fuelConsumption="5951.00" /> + <Entry engineSpeed="1800.00" torque="186.00" fuelConsumption="10935.00" /> + <Entry engineSpeed="1800.00" torque="371.00" fuelConsumption="16081.00" /> + <Entry engineSpeed="1800.00" torque="557.00" fuelConsumption="21721.00" /> + <Entry engineSpeed="1800.00" torque="743.00" fuelConsumption="28319.00" /> + <Entry engineSpeed="1800.00" torque="928.00" fuelConsumption="33776.00" /> + <Entry engineSpeed="1800.00" torque="1114.00" fuelConsumption="39998.00" /> + <Entry engineSpeed="1800.00" torque="1300.00" fuelConsumption="46656.00" /> + <Entry engineSpeed="1800.00" torque="1486.00" fuelConsumption="53328.00" /> + <Entry engineSpeed="1800.00" torque="1671.00" fuelConsumption="60497.00" /> + <Entry engineSpeed="1800.00" torque="1724.00" fuelConsumption="62741.00" /> + <Entry engineSpeed="2000.00" torque="-279.00" fuelConsumption="0.00" /> + <Entry engineSpeed="2000.00" torque="0.00" fuelConsumption="8474.00" /> + <Entry engineSpeed="2000.00" torque="186.00" fuelConsumption="13762.00" /> + <Entry engineSpeed="2000.00" torque="371.00" fuelConsumption="19178.00" /> + <Entry engineSpeed="2000.00" torque="557.00" fuelConsumption="25139.00" /> + <Entry engineSpeed="2000.00" torque="743.00" fuelConsumption="31743.00" /> + <Entry engineSpeed="2000.00" torque="928.00" fuelConsumption="39773.00" /> + <Entry engineSpeed="2000.00" torque="1114.00" fuelConsumption="47369.00" /> + <Entry engineSpeed="2000.00" torque="1255.00" fuelConsumption="52568.00" /> + <Entry engineSpeed="2100.00" torque="-297.00" fuelConsumption="0.00" /> + <Entry engineSpeed="2100.00" torque="0.00" fuelConsumption="9721.00" /> + <Entry engineSpeed="2100.00" torque="186.00" fuelConsumption="15164.00" /> + <Entry engineSpeed="2100.00" torque="371.00" fuelConsumption="20794.00" /> + <Entry engineSpeed="2100.00" torque="557.00" fuelConsumption="26846.00" /> + <Entry engineSpeed="2100.00" torque="743.00" fuelConsumption="33162.00" /> + <Entry engineSpeed="2100.00" torque="928.00" fuelConsumption="42378.00" /> + <Entry engineSpeed="2100.00" torque="1021.00" fuelConsumption="47030.00" /> + <Entry engineSpeed="2200.00" torque="-315.00" fuelConsumption="0.00" /> + <Entry engineSpeed="2200.00" torque="0.00" fuelConsumption="12483.00" /> + </FuelConsumptionMap> + <FullLoadAndDragCurve> + <Entry engineSpeed="600.00" maxTorque="1188.00" dragTorque="-138.00" /> + <Entry engineSpeed="800.00" maxTorque="1661.00" dragTorque="-143.00" /> + <Entry engineSpeed="1000.00" maxTorque="2134.00" dragTorque="-152.00" /> + <Entry engineSpeed="1200.00" maxTorque="2134.00" dragTorque="-165.00" /> + <Entry engineSpeed="1400.00" maxTorque="2134.00" dragTorque="-187.00" /> + <Entry engineSpeed="1600.00" maxTorque="1928.00" dragTorque="-217.00" /> + <Entry engineSpeed="1800.00" maxTorque="1722.00" dragTorque="-244.00" /> + <Entry engineSpeed="2000.00" maxTorque="1253.00" dragTorque="-278.00" /> + <Entry engineSpeed="2100.00" maxTorque="1019.00" dragTorque="-296.00" /> + <Entry engineSpeed="2200.00" maxTorque="0.00" dragTorque="-314.00" /> + </FullLoadAndDragCurve> + </Data> + <Signature> + <Reference URI="#ENG-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></DigestValue> + </Reference> + </Signature> + </Engine> + <Gearbox> + <Data id="GBX-N.A."> + <Manufacturer>Generic Vendor</Manufacturer> + <Model>N.A.</Model> + <CertificationNumber>GBX-N.A.</CertificationNumber> + <Date>2017-07-06T15:06:08.3133609Z</Date> + <AppVersion>VectoCore</AppVersion> + <TransmissionType>AMT</TransmissionType> + <MainCertificationMethod>Standard values</MainCertificationMethod> + <Gears> + <Gear number="1"> + <Ratio>14.930</Ratio> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="-10000.00" torqueLoss="400.00" /> + <Entry inputSpeed="0.00" inputTorque="-125.00" torqueLoss="5.00" /> + <Entry inputSpeed="0.00" inputTorque="0.00" torqueLoss="5.00" /> + <Entry inputSpeed="0.00" inputTorque="125.00" torqueLoss="5.00" /> + <Entry inputSpeed="0.00" inputTorque="10000.00" torqueLoss="400.00" /> + <Entry inputSpeed="5000.00" inputTorque="-10000.00" torqueLoss="400.00" /> + <Entry inputSpeed="5000.00" inputTorque="-780.00" torqueLoss="31.00" /> + <Entry inputSpeed="5000.00" inputTorque="0.00" torqueLoss="31.00" /> + <Entry inputSpeed="5000.00" inputTorque="780.00" torqueLoss="31.00" /> + <Entry inputSpeed="5000.00" inputTorque="10000.00" torqueLoss="400.00" /> + </TorqueLossMap> + </Gear> + <Gear number="2"> + <Ratio>11.640</Ratio> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="-10000.00" torqueLoss="400.00" /> + <Entry inputSpeed="0.00" inputTorque="-125.00" torqueLoss="5.00" /> + <Entry inputSpeed="0.00" inputTorque="0.00" torqueLoss="5.00" /> + <Entry inputSpeed="0.00" inputTorque="125.00" torqueLoss="5.00" /> + <Entry inputSpeed="0.00" inputTorque="10000.00" torqueLoss="400.00" /> + <Entry inputSpeed="5000.00" inputTorque="-10000.00" torqueLoss="400.00" /> + <Entry inputSpeed="5000.00" inputTorque="-780.00" torqueLoss="31.00" /> + <Entry inputSpeed="5000.00" inputTorque="0.00" torqueLoss="31.00" /> + <Entry inputSpeed="5000.00" inputTorque="780.00" torqueLoss="31.00" /> + <Entry inputSpeed="5000.00" inputTorque="10000.00" torqueLoss="400.00" /> + </TorqueLossMap> + </Gear> + <Gear number="3"> + <Ratio>9.020</Ratio> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="-10000.00" torqueLoss="400.00" /> + <Entry inputSpeed="0.00" inputTorque="-125.00" torqueLoss="5.00" /> + <Entry inputSpeed="0.00" inputTorque="0.00" torqueLoss="5.00" /> + <Entry inputSpeed="0.00" inputTorque="125.00" torqueLoss="5.00" /> + <Entry inputSpeed="0.00" inputTorque="10000.00" torqueLoss="400.00" /> + <Entry inputSpeed="5000.00" inputTorque="-10000.00" torqueLoss="400.00" /> + <Entry inputSpeed="5000.00" inputTorque="-780.00" torqueLoss="31.00" /> + <Entry inputSpeed="5000.00" inputTorque="0.00" torqueLoss="31.00" /> + <Entry inputSpeed="5000.00" inputTorque="780.00" torqueLoss="31.00" /> + <Entry inputSpeed="5000.00" inputTorque="10000.00" torqueLoss="400.00" /> + </TorqueLossMap> + </Gear> + <Gear number="4"> + <Ratio>7.040</Ratio> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="-10000.00" torqueLoss="400.00" /> + <Entry inputSpeed="0.00" inputTorque="-125.00" torqueLoss="5.00" /> + <Entry inputSpeed="0.00" inputTorque="0.00" torqueLoss="5.00" /> + <Entry inputSpeed="0.00" inputTorque="125.00" torqueLoss="5.00" /> + <Entry inputSpeed="0.00" inputTorque="10000.00" torqueLoss="400.00" /> + <Entry inputSpeed="5000.00" inputTorque="-10000.00" torqueLoss="400.00" /> + <Entry inputSpeed="5000.00" inputTorque="-780.00" torqueLoss="31.00" /> + <Entry inputSpeed="5000.00" inputTorque="0.00" torqueLoss="31.00" /> + <Entry inputSpeed="5000.00" inputTorque="780.00" torqueLoss="31.00" /> + <Entry inputSpeed="5000.00" inputTorque="10000.00" torqueLoss="400.00" /> + </TorqueLossMap> + </Gear> + <Gear number="5"> + <Ratio>5.640</Ratio> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="-10000.00" torqueLoss="400.00" /> + <Entry inputSpeed="0.00" inputTorque="-125.00" torqueLoss="5.00" /> + <Entry inputSpeed="0.00" inputTorque="0.00" torqueLoss="5.00" /> + <Entry inputSpeed="0.00" inputTorque="125.00" torqueLoss="5.00" /> + <Entry inputSpeed="0.00" inputTorque="10000.00" torqueLoss="400.00" /> + <Entry inputSpeed="5000.00" inputTorque="-10000.00" torqueLoss="400.00" /> + <Entry inputSpeed="5000.00" inputTorque="-780.00" torqueLoss="31.00" /> + <Entry inputSpeed="5000.00" inputTorque="0.00" torqueLoss="31.00" /> + <Entry inputSpeed="5000.00" inputTorque="780.00" torqueLoss="31.00" /> + <Entry inputSpeed="5000.00" inputTorque="10000.00" torqueLoss="400.00" /> + </TorqueLossMap> + </Gear> + <Gear number="6"> + <Ratio>4.400</Ratio> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="-10000.00" torqueLoss="400.00" /> + <Entry inputSpeed="0.00" inputTorque="-125.00" torqueLoss="5.00" /> + <Entry inputSpeed="0.00" inputTorque="0.00" torqueLoss="5.00" /> + <Entry inputSpeed="0.00" inputTorque="125.00" torqueLoss="5.00" /> + <Entry inputSpeed="0.00" inputTorque="10000.00" torqueLoss="400.00" /> + <Entry inputSpeed="5000.00" inputTorque="-10000.00" torqueLoss="400.00" /> + <Entry inputSpeed="5000.00" inputTorque="-780.00" torqueLoss="31.00" /> + <Entry inputSpeed="5000.00" inputTorque="0.00" torqueLoss="31.00" /> + <Entry inputSpeed="5000.00" inputTorque="780.00" torqueLoss="31.00" /> + <Entry inputSpeed="5000.00" inputTorque="10000.00" torqueLoss="400.00" /> + </TorqueLossMap> + </Gear> + <Gear number="7"> + <Ratio>3.390</Ratio> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="-10000.00" torqueLoss="400.00" /> + <Entry inputSpeed="0.00" inputTorque="-125.00" torqueLoss="5.00" /> + <Entry inputSpeed="0.00" inputTorque="0.00" torqueLoss="5.00" /> + <Entry inputSpeed="0.00" inputTorque="125.00" torqueLoss="5.00" /> + <Entry inputSpeed="0.00" inputTorque="10000.00" torqueLoss="400.00" /> + <Entry inputSpeed="5000.00" inputTorque="-10000.00" torqueLoss="400.00" /> + <Entry inputSpeed="5000.00" inputTorque="-780.00" torqueLoss="31.00" /> + <Entry inputSpeed="5000.00" inputTorque="0.00" torqueLoss="31.00" /> + <Entry inputSpeed="5000.00" inputTorque="780.00" torqueLoss="31.00" /> + <Entry inputSpeed="5000.00" inputTorque="10000.00" torqueLoss="400.00" /> + </TorqueLossMap> + </Gear> + <Gear number="8"> + <Ratio>2.650</Ratio> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="-10000.00" torqueLoss="400.00" /> + <Entry inputSpeed="0.00" inputTorque="-125.00" torqueLoss="5.00" /> + <Entry inputSpeed="0.00" inputTorque="0.00" torqueLoss="5.00" /> + <Entry inputSpeed="0.00" inputTorque="125.00" torqueLoss="5.00" /> + <Entry inputSpeed="0.00" inputTorque="10000.00" torqueLoss="400.00" /> + <Entry inputSpeed="5000.00" inputTorque="-10000.00" torqueLoss="400.00" /> + <Entry inputSpeed="5000.00" inputTorque="-780.00" torqueLoss="31.00" /> + <Entry inputSpeed="5000.00" inputTorque="0.00" torqueLoss="31.00" /> + <Entry inputSpeed="5000.00" inputTorque="780.00" torqueLoss="31.00" /> + <Entry inputSpeed="5000.00" inputTorque="10000.00" torqueLoss="400.00" /> + </TorqueLossMap> + </Gear> + <Gear number="9"> + <Ratio>2.050</Ratio> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="-10000.00" torqueLoss="400.00" /> + <Entry inputSpeed="0.00" inputTorque="-125.00" torqueLoss="5.00" /> + <Entry inputSpeed="0.00" inputTorque="0.00" torqueLoss="5.00" /> + <Entry inputSpeed="0.00" inputTorque="125.00" torqueLoss="5.00" /> + <Entry inputSpeed="0.00" inputTorque="10000.00" torqueLoss="400.00" /> + <Entry inputSpeed="5000.00" inputTorque="-10000.00" torqueLoss="400.00" /> + <Entry inputSpeed="5000.00" inputTorque="-780.00" torqueLoss="31.00" /> + <Entry inputSpeed="5000.00" inputTorque="0.00" torqueLoss="31.00" /> + <Entry inputSpeed="5000.00" inputTorque="780.00" torqueLoss="31.00" /> + <Entry inputSpeed="5000.00" inputTorque="10000.00" torqueLoss="400.00" /> + </TorqueLossMap> + </Gear> + <Gear number="10"> + <Ratio>1.600</Ratio> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="-10000.00" torqueLoss="400.00" /> + <Entry inputSpeed="0.00" inputTorque="-125.00" torqueLoss="5.00" /> + <Entry inputSpeed="0.00" inputTorque="0.00" torqueLoss="5.00" /> + <Entry inputSpeed="0.00" inputTorque="125.00" torqueLoss="5.00" /> + <Entry inputSpeed="0.00" inputTorque="10000.00" torqueLoss="400.00" /> + <Entry inputSpeed="5000.00" inputTorque="-10000.00" torqueLoss="400.00" /> + <Entry inputSpeed="5000.00" inputTorque="-780.00" torqueLoss="31.00" /> + <Entry inputSpeed="5000.00" inputTorque="0.00" torqueLoss="31.00" /> + <Entry inputSpeed="5000.00" inputTorque="780.00" torqueLoss="31.00" /> + <Entry inputSpeed="5000.00" inputTorque="10000.00" torqueLoss="400.00" /> + </TorqueLossMap> + </Gear> + <Gear number="11"> + <Ratio>1.280</Ratio> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="-10000.00" torqueLoss="400.00" /> + <Entry inputSpeed="0.00" inputTorque="-125.00" torqueLoss="5.00" /> + <Entry inputSpeed="0.00" inputTorque="0.00" torqueLoss="5.00" /> + <Entry inputSpeed="0.00" inputTorque="125.00" torqueLoss="5.00" /> + <Entry inputSpeed="0.00" inputTorque="10000.00" torqueLoss="400.00" /> + <Entry inputSpeed="5000.00" inputTorque="-10000.00" torqueLoss="400.00" /> + <Entry inputSpeed="5000.00" inputTorque="-780.00" torqueLoss="31.00" /> + <Entry inputSpeed="5000.00" inputTorque="0.00" torqueLoss="31.00" /> + <Entry inputSpeed="5000.00" inputTorque="780.00" torqueLoss="31.00" /> + <Entry inputSpeed="5000.00" inputTorque="10000.00" torqueLoss="400.00" /> + </TorqueLossMap> + </Gear> + <Gear number="12"> + <Ratio>1.000</Ratio> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="-10000.00" torqueLoss="200.00" /> + <Entry inputSpeed="0.00" inputTorque="-250.00" torqueLoss="5.00" /> + <Entry inputSpeed="0.00" inputTorque="0.00" torqueLoss="5.00" /> + <Entry inputSpeed="0.00" inputTorque="250.00" torqueLoss="5.00" /> + <Entry inputSpeed="0.00" inputTorque="10000.00" torqueLoss="200.00" /> + <Entry inputSpeed="5000.00" inputTorque="-10000.00" torqueLoss="200.00" /> + <Entry inputSpeed="5000.00" inputTorque="-845.00" torqueLoss="17.00" /> + <Entry inputSpeed="5000.00" inputTorque="0.00" torqueLoss="17.00" /> + <Entry inputSpeed="5000.00" inputTorque="845.00" torqueLoss="17.00" /> + <Entry inputSpeed="5000.00" inputTorque="10000.00" torqueLoss="200.00" /> + </TorqueLossMap> + </Gear> + </Gears> + </Data> + <Signature> + <Reference URI="#GBX-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></DigestValue> + </Reference> + </Signature> + </Gearbox> + <Retarder> + <Data id="RET-N.A."> + <Manufacturer>Generic Vendor</Manufacturer> + <Model>N.A.</Model> + <CertificationNumber>N/A</CertificationNumber> + <Date>2017-07-06T15:06:08.3133609Z</Date> + <AppVersion>VectoCore</AppVersion> + <CertificationMethod>Standard values</CertificationMethod> + <RetarderLossMap> + <Entry retarderSpeed="0.00" torqueLoss="10.00" /> + <Entry retarderSpeed="100.00" torqueLoss="10.00" /> + <Entry retarderSpeed="200.00" torqueLoss="10.10" /> + <Entry retarderSpeed="300.00" torqueLoss="10.20" /> + <Entry retarderSpeed="400.00" torqueLoss="10.30" /> + <Entry retarderSpeed="500.00" torqueLoss="10.50" /> + <Entry retarderSpeed="600.00" torqueLoss="10.70" /> + <Entry retarderSpeed="700.00" torqueLoss="11.00" /> + <Entry retarderSpeed="800.00" torqueLoss="11.30" /> + <Entry retarderSpeed="900.00" torqueLoss="11.60" /> + <Entry retarderSpeed="1000.00" torqueLoss="12.00" /> + <Entry retarderSpeed="1100.00" torqueLoss="12.40" /> + <Entry retarderSpeed="1200.00" torqueLoss="12.90" /> + <Entry retarderSpeed="1300.00" torqueLoss="13.40" /> + <Entry retarderSpeed="1400.00" torqueLoss="13.90" /> + <Entry retarderSpeed="1500.00" torqueLoss="14.50" /> + <Entry retarderSpeed="1600.00" torqueLoss="15.10" /> + <Entry retarderSpeed="1700.00" torqueLoss="15.80" /> + <Entry retarderSpeed="1800.00" torqueLoss="16.50" /> + <Entry retarderSpeed="1900.00" torqueLoss="17.20" /> + <Entry retarderSpeed="2000.00" torqueLoss="18.00" /> + <Entry retarderSpeed="2100.00" torqueLoss="18.80" /> + <Entry retarderSpeed="2200.00" torqueLoss="19.70" /> + <Entry retarderSpeed="2300.00" torqueLoss="20.60" /> + <Entry retarderSpeed="2400.00" torqueLoss="21.50" /> + <Entry retarderSpeed="2500.00" torqueLoss="22.50" /> + <Entry retarderSpeed="2600.00" torqueLoss="23.50" /> + <Entry retarderSpeed="2700.00" torqueLoss="24.60" /> + <Entry retarderSpeed="2800.00" torqueLoss="25.70" /> + <Entry retarderSpeed="2900.00" torqueLoss="26.80" /> + <Entry retarderSpeed="3000.00" torqueLoss="28.00" /> + </RetarderLossMap> + </Data> + <Signature> + <Reference URI="#RET-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></DigestValue> + </Reference> + </Signature> + </Retarder> + <Axlegear> + <Data id="AXLGEAR-2.640"> + <Manufacturer>Generic Vendor</Manufacturer> + <Model>N.A.</Model> + <CertificationNumber>AXLGEAR-2.640</CertificationNumber> + <Date>2017-07-06T15:06:08.3153609Z</Date> + <AppVersion>VectoCore</AppVersion> + <LineType>Single portal axle</LineType> + <Ratio>2.640</Ratio> + <CertificationMethod>Standard values</CertificationMethod> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="-50000.00" torqueLoss="2000.00" /> + <Entry inputSpeed="0.00" inputTorque="-50.00" torqueLoss="2.00" /> + <Entry inputSpeed="0.00" inputTorque="0.00" torqueLoss="0.00" /> + <Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="2.00" /> + <Entry inputSpeed="0.00" inputTorque="50000.00" torqueLoss="2000.00" /> + <Entry inputSpeed="5000.00" inputTorque="-50000.00" torqueLoss="2000.00" /> + <Entry inputSpeed="5000.00" inputTorque="-50.00" torqueLoss="2.00" /> + <Entry inputSpeed="5000.00" inputTorque="0.00" torqueLoss="0.00" /> + <Entry inputSpeed="5000.00" inputTorque="50.00" torqueLoss="2.00" /> + <Entry inputSpeed="5000.00" inputTorque="50000.00" torqueLoss="2000.00" /> + </TorqueLossMap> + </Data> + <Signature> + <Reference URI="#AXLGEAR-2.640" 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></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 Vendor</Manufacturer> + <Model>315/70 R22.5</Model> + <CertificationNumber>TYRE-315/70 R22.5</CertificationNumber> + <Date>2017-07-06T15:06:08.3153609Z</Date> + <AppVersion>VectoCore</AppVersion> + <Dimension>315/70 R22.5</Dimension> + <RRCDeclared>0.0051</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></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 Vendor</Manufacturer> + <Model>315/70 R22.5</Model> + <CertificationNumber>TYRE-315/70 R22.5</CertificationNumber> + <Date>2017-07-06T15:06:08.3153609Z</Date> + <AppVersion>VectoCore</AppVersion> + <Dimension>315/70 R22.5</Dimension> + <RRCDeclared>0.0061</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></DigestValue> + </Reference> + </Signature> + </Tyre> + </Axle> + </Axles> + </Data> + </AxleWheels> + <Auxiliaries> + <Data> + <Fan> + <Technology>Crankshaft mounted - Electronically controlled visco clutch</Technology> + </Fan> + <SteeringPump> + <Technology>Fixed displacement</Technology> + </SteeringPump> + <ElectricSystem> + <Technology>Standard technology</Technology> + </ElectricSystem> + <PneumaticSystem> + <Technology>Small</Technology> + </PneumaticSystem> + <HVAC> + <Technology>None</Technology> + </HVAC> + </Data> + </Auxiliaries> + <AirDrag> + <Data id="Airdrag-N.A."> + <Manufacturer>Generic Vendor</Manufacturer> + <Model>N.A.</Model> + <CertificationNumber>N.A.</CertificationNumber> + <Date>2017-07-06T15:06:08.3163609Z</Date> + <AppVersion>VectoCore</AppVersion> + <CdxA_0>5.45</CdxA_0> + <TransferredCdxA>5.45</TransferredCdxA> + <DeclaredCdxA>5.45</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></DigestValue> + </Reference> + </Signature> + </AirDrag> + </Components> + </Vehicle> +</tns:VectoInputDeclaration> \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/VectoCoreTest.csproj b/VectoCore/VectoCoreTest/VectoCoreTest.csproj index 68bc2d2fd9e219c7f4a04c3942a41baaa8484f57..a99b093025cbe5ff8d37fff40ef662468607f7b1 100644 --- a/VectoCore/VectoCoreTest/VectoCoreTest.csproj +++ b/VectoCore/VectoCoreTest/VectoCoreTest.csproj @@ -127,6 +127,7 @@ <Compile Include="Models\Declaration\DataAdapter\DeclarationDataAdapterTest_Class5.cs" /> <Compile Include="Models\Declaration\DataAdapter\DeclarationDataAdapterTest_Class2.cs" /> <Compile Include="Models\Declaration\DataAdapter\DeclarationDataAdapterTest_Class9.cs" /> + <Compile Include="Models\Declaration\InputDataSanityChecks.cs" /> <Compile Include="Models\Declaration\ShiftPolygonTest.cs" /> <Compile Include="Models\SimulationComponentData\TorqueConverterDataTest.cs" /> <Compile Include="Models\SimulationComponentData\ValidationTest.cs" /> @@ -3670,6 +3671,9 @@ <Content Include="TestData\Integration\DeclarationMode\ExemptedVehicle\vecto_vehicle-sample_exempted.xml"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content> + <Content Include="TestData\Integration\DeclarationMode\SteeringPumpCount\Group5_EngineStopStart.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> <Content Include="TestData\Integration\ShiftStrategyV2\SampleVehicles\Rigid Truck_4x2_vehicle-class-1_EURO6_2018.xml"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content>