diff --git a/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs b/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs index af7bc5200ecf3444f5c062e8e4dcfc5f312768a0..dcf6e1f23e3cdab25a23c3c278a5fead52077b95 100644 --- a/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs +++ b/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs @@ -128,6 +128,10 @@ namespace TUGraz.VectoCommon.InputData ///// </summary> //string Rim { get; } // deprecated + /// <summary> + /// P196, P197 TorqueLimits: Gear [-], MaxTorque [Nm] + /// cf. VECTO Input Parameters.xlsx + /// </summary> IList<ITorqueLimitInputData> TorqueLimits { get; } /// <summary> diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs index 4e7e1eaa94c666542c9a47205918f5ade4b5b41e..69f50a00e9b0b1fb68fbc4b4fd64f8a20a2c2032 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs @@ -236,29 +236,55 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter retVal.Inertia = DeclarationData.Engine.EngineInertia(retVal.Displacement, gearbox.Type); retVal.EngineStartTime = DeclarationData.Engine.DefaultEngineStartTime; var limits = vehicle.TorqueLimits.ToDictionary(e => e.Gear); - var numGears = gearbox.Gears.Count; + var gears = FilterDisabledGears(gearbox.Gears, limits); + var numGears = gears.Count; var fullLoadCurves = new Dictionary<uint, EngineFullLoadCurve>(numGears + 1); fullLoadCurves[0] = FullLoadCurveReader.Create(mode.FullLoadCurve, true); fullLoadCurves[0].EngineData = retVal; - foreach (var gear in gearbox.Gears) { + foreach (var gear in gears) { var maxTorque = VectoMath.Min( GbxMaxTorque(gear, numGears, fullLoadCurves[0].MaxTorque), - VehMaxTorque(gear, numGears, limits, fullLoadCurves[0].MaxTorque)); + VehMaxTorque(gear, numGears, vehicle.TorqueLimits.FirstOrDefault(e => e.Gear == gear.Gear)?.MaxTorque, + fullLoadCurves[0].MaxTorque)); fullLoadCurves[(uint)gear.Gear] = IntersectFullLoadCurves(fullLoadCurves[0], maxTorque); } retVal.FullLoadCurves = fullLoadCurves; return retVal; } - private static NewtonMeter VehMaxTorque(ITransmissionInputData gear, int numGears, - Dictionary<int, ITorqueLimitInputData> limits, + /// <summary> + /// Filters the gears based on disabling rule: If the last (or the second last) torque limit on vehicle level is 0, then the gear should be disabled. + /// </summary> + /// <remarks>VECTO-1628</remarks> + internal static IList<ITransmissionInputData> FilterDisabledGears(IList<ITransmissionInputData> gears, Dictionary<int, ITorqueLimitInputData> limits) { + if (gears != null && gears.Count > 0) { + var lastGear = gears.Last().Gear; + if (limits.ContainsKey(lastGear) && limits[lastGear].MaxTorque.IsEqual(0)) { + gears.Remove(gears.Last()); + limits.Remove(lastGear); + lastGear = gears.Last().Gear; + if (limits.ContainsKey(lastGear) && limits[lastGear].MaxTorque.IsEqual(0)) { + gears.Remove(gears.Last()); + limits.Remove(lastGear); + } + } + + foreach (var l in limits) { + if (l.Value.MaxTorque.IsEqual(0)) + throw new VectoException($"Vehicle TorqueLimits: MaxTorque for Gear {l.Key} must not be 0."); + } + } + + return gears; + } + + private static NewtonMeter VehMaxTorque(ITransmissionInputData gear, int numGears, NewtonMeter maxGearTorque, NewtonMeter maxEngineTorque) { if (gear.Gear - 1 >= numGears / 2) { // only upper half of gears can limit if max-torque <= 0.95 of engine max torque - if (limits.ContainsKey(gear.Gear) && - limits[gear.Gear].MaxTorque <= DeclarationData.Engine.TorqueLimitVehicleFactor * maxEngineTorque) { - return limits[gear.Gear].MaxTorque; + if (maxGearTorque != null && maxGearTorque <= DeclarationData.Engine.TorqueLimitVehicleFactor * maxEngineTorque) { + return maxGearTorque; } } return null; @@ -308,7 +334,9 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter if (!SupportedGearboxTypes.Contains(gearbox.Type)) { throw new VectoSimulationException("Unsupported gearbox type: {0}!", retVal.Type); } - var gearsInput = gearbox.Gears; + + var limits = inputData.TorqueLimits?.ToDictionary(e => e.Gear) ?? new Dictionary<int, ITorqueLimitInputData>(); + var gearsInput = FilterDisabledGears(gearbox.Gears, limits); if (gearsInput.Count < 1) { throw new VectoSimulationException( "At least one Gear-Entry must be defined in Gearbox!"); @@ -316,8 +344,8 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter SetDeclarationData(retVal); - var gearDifferenceRatio = gearbox.Type.AutomaticTransmission() && gearbox.Gears.Count > 2 - ? gearbox.Gears[0].Ratio / gearbox.Gears[1].Ratio + var gearDifferenceRatio = gearbox.Type.AutomaticTransmission() && gearsInput.Count > 2 + ? gearsInput[0].Ratio / gearsInput[1].Ratio : 1.0; var gears = new Dictionary<uint, GearData>(); @@ -332,7 +360,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter var shiftPolygon = shiftPolygonCalc != null ? shiftPolygonCalc.ComputeDeclarationShiftPolygon( - gearbox.Type, (int)i, engine.FullLoadCurves[i + 1], gearbox.Gears, engine, axlegearRatio, dynamicTyreRadius) + gearbox.Type, (int)i, engine.FullLoadCurves[i + 1], gearsInput, engine, axlegearRatio, dynamicTyreRadius) : DeclarationData.Gearbox.ComputeShiftPolygon( gearbox.Type, (int)i, engine.FullLoadCurves[i + 1], gearsInput, engine, diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs index 9d3ab376043e0b5f3406a34b42c08ee0201b0a41..3a7284df2b79c9de5d37e0df11b3f7aa9d847c0c 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs @@ -160,7 +160,6 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter { var engine = vehicle.Components.EngineInputData; var gbx = vehicle.Components.GearboxInputData; - var torqueLimits = vehicle.TorqueLimits; var torqueConverter = vehicle.Components.TorqueConverterInputData; var tankSystem = vehicle.TankSystem; @@ -182,13 +181,17 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter retVal.Inertia = engine.Inertia + (gbx != null && gbx.Type.AutomaticTransmission() ? torqueConverter.Inertia : 0.SI<KilogramSquareMeter>()); retVal.EngineStartTime = engine.EngineStartTime ?? DeclarationData.Engine.DefaultEngineStartTime; - var limits = torqueLimits.ToDictionary(e => e.Gear); - var numGears = gbx == null ? 0 : gbx.Gears.Count; + var limits = vehicle.TorqueLimits?.ToDictionary(e => e.Gear) ?? new Dictionary<int, ITorqueLimitInputData>(); + IList<ITransmissionInputData> gears = null; + if (gbx != null){ + gears = DeclarationDataAdapter.FilterDisabledGears(gbx.Gears, limits); + } + var numGears = gbx == null ? 0 : gears.Count; var fullLoadCurves = new Dictionary<uint, EngineFullLoadCurve>(numGears + 1); fullLoadCurves[0] = FullLoadCurveReader.Create(engine.EngineModes.First().FullLoadCurve); fullLoadCurves[0].EngineData = retVal; if (gbx != null) { - foreach (var gear in gbx.Gears) { + foreach (var gear in gears) { var maxTorque = VectoMath.Min(gear.MaxTorque, limits.ContainsKey(gear.Gear) ? limits[gear.Gear].MaxTorque : null); fullLoadCurves[(uint)gear.Gear] = IntersectFullLoadCurves(fullLoadCurves[0], maxTorque); } @@ -278,15 +281,20 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter } retVal.ATEcoRollReleaseLockupClutch = adas != null && adas.EcoRoll != EcoRollType.None && retVal.Type.AutomaticTransmission() ? adas.ATEcoRollReleaseLockupClutch.Value : false; - //var gears = gearbox.Gears; - if (gearbox.Gears.Count < 2) { + var limits = inputData.JobInputData.Vehicle.TorqueLimits.ToDictionary(e => e.Gear); + var gearsInput = DeclarationDataAdapter.FilterDisabledGears(gearbox.Gears, limits); + if (gearsInput.Count < 2) { + throw new VectoSimulationException("At least two Gear-Entries must be defined in Gearbox!"); + } + + if (gearsInput.Count < 2) { throw new VectoSimulationException("At least two Gear-Entries must be defined in Gearbox!"); } SetEngineeringData(gearbox, gearshiftData, retVal); - var gearDifferenceRatio = gearbox.Type.AutomaticTransmission() && gearbox.Gears.Count > 2 - ? gearbox.Gears[0].Ratio / gearbox.Gears[1].Ratio + var gearDifferenceRatio = gearbox.Type.AutomaticTransmission() && gearsInput.Count > 2 + ? gearsInput[0].Ratio / gearsInput[1].Ratio : 1.0; var gears = new Dictionary<uint, GearData>(); @@ -296,19 +304,19 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter ? ShiftPolygonReader.Create(torqueConverter.ShiftPolygon) : DeclarationData.TorqueConverter.ComputeShiftPolygon(engineData.FullLoadCurves[0]); } - for (uint i = 0; i < gearbox.Gears.Count; i++) { - var gear = gearbox.Gears[(int)i]; + for (uint i = 0; i < gearsInput.Count; i++) { + var gear = gearsInput[(int)i]; var lossMap = CreateGearLossMap(gear, i, true, VehicleCategory.Unknown, gearbox.Type); var shiftPolygon = gear.ShiftPolygon != null && gear.ShiftPolygon.SourceType != DataSourceType.Missing ? ShiftPolygonReader.Create(gear.ShiftPolygon) : shiftPolygonCalc != null ? shiftPolygonCalc.ComputeDeclarationShiftPolygon( - gearbox.Type, (int)i, engineData?.FullLoadCurves[i + 1], gearbox.Gears, + gearbox.Type, (int)i, engineData?.FullLoadCurves[i + 1], gearsInput, engineData, axlegearRatio, dynamicTyreRadius) : DeclarationData.Gearbox.ComputeShiftPolygon( - gearbox.Type, (int)i, engineData?.FullLoadCurves[i + 1], gearbox.Gears, + gearbox.Type, (int)i, engineData?.FullLoadCurves[i + 1], gearsInput, engineData, axlegearRatio, dynamicTyreRadius); var gearData = new GearData { diff --git a/VectoCore/VectoCoreTest/Integration/TorqueLimitsTest.cs b/VectoCore/VectoCoreTest/Integration/TorqueLimitsTest.cs index 5e0781a47bc08a8869a578cd7eeaa4beb848b0ce..1e371c9efddc246539b0aebc0137e0f82515b229 100644 --- a/VectoCore/VectoCoreTest/Integration/TorqueLimitsTest.cs +++ b/VectoCore/VectoCoreTest/Integration/TorqueLimitsTest.cs @@ -35,6 +35,7 @@ using System.IO; using System.Linq; using Ninject; using NUnit.Framework; +using TUGraz.VectoCommon.Exceptions; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.InputData.FileIO.JSON; @@ -43,6 +44,7 @@ using TUGraz.VectoCore.InputData.FileIO.XML.Declaration; using TUGraz.VectoCore.Models.Simulation.Impl; using TUGraz.VectoCore.OutputData; using TUGraz.VectoCore.OutputData.FileIO; +using TUGraz.VectoCore.Tests.Utils; using Assert = NUnit.Framework.Assert; namespace TUGraz.VectoCore.Tests.Integration @@ -76,6 +78,13 @@ namespace TUGraz.VectoCore.Tests.Integration private const string DeclarationVehicle9GearsFord = @"TestData\Integration\DeclarationMode\EngineSpeedTooHigh\vecto_vehicle-sample_9gears.xml"; + const string VehicleLimitJobDecl_disableGear6 = @"Testdata\Integration\DeclarationMode\Class2_RigidTruck_4x2_VehTorqueLimits\Class2_RigidTruck_vehTqLimit-disableGear6.vecto"; + const string VehicleLimitJobDecl_disableGear6and5 = @"Testdata\Integration\DeclarationMode\Class2_RigidTruck_4x2_VehTorqueLimits\Class2_RigidTruck_vehTqLimit-disableGear6and5.vecto"; + const string VehicleLimitJobDecl_disableGear5invalid = @"Testdata\Integration\DeclarationMode\Class2_RigidTruck_4x2_VehTorqueLimits\Class2_RigidTruck_vehTqLimit-disableGear5invalid.vecto"; + const string VehicleLimitJobDecl_disableGear4invalid = @"Testdata\Integration\DeclarationMode\Class2_RigidTruck_4x2_VehTorqueLimits\Class2_RigidTruck_vehTqLimit-disableGear4invalid.vecto"; + const string VehicleLimitJobDecl_disableGear6and4invalid = @"Testdata\Integration\DeclarationMode\Class2_RigidTruck_4x2_VehTorqueLimits\Class2_RigidTruck_vehTqLimit-disableGear6and4invalid.vecto"; + const string VehicleLimitJobDecl_disableGear1invalid = @"Testdata\Integration\DeclarationMode\Class2_RigidTruck_4x2_VehTorqueLimits\Class2_RigidTruck_vehTqLimit-disableGear1invalid.vecto"; + protected IXMLInputDataReader xmlInputReader; private IKernel _kernel; @@ -220,6 +229,45 @@ namespace TUGraz.VectoCore.Tests.Integration Assert.IsTrue(jobContainer.Runs.All(r => r.Success), string.Concat(jobContainer.Runs.Select(r => r.ExecException))); } + + [Category("LongRunning"), + TestCase(VehicleLimitJobDecl_disableGear6), + TestCase(VehicleLimitJobDecl_disableGear6and5)] + public void TestRunDisableGearsWithTorqueLimitSimulations(string file) + { + var fileWriter = new FileOutputWriter(file); + var sumData = new SummaryDataContainer(fileWriter); + var inputDataProvider = JSONInputDataFactory.ReadJsonJob(file); + var factory = new SimulatorFactory(ExecutionMode.Declaration, inputDataProvider, fileWriter) { + WriteModalResults = true + }; + + + var jobContainer = new JobContainer(sumData); + jobContainer.AddRuns(factory); + + jobContainer.Execute(); + jobContainer.WaitFinished(); + + Assert.IsTrue(jobContainer.Runs.All(r => r.Success), string.Concat(jobContainer.Runs.Select(r => r.ExecException))); + } + + + [TestCase(VehicleLimitJobDecl_disableGear5invalid), + TestCase(VehicleLimitJobDecl_disableGear4invalid), + TestCase(VehicleLimitJobDecl_disableGear6and4invalid), + TestCase(VehicleLimitJobDecl_disableGear1invalid)] + public void TestRunDisableGearsInvalid(string file) + { + var fileWriter = new FileOutputWriter(file); + var sumData = new SummaryDataContainer(fileWriter); + var inputDataProvider = JSONInputDataFactory.ReadJsonJob(file); + var factory = new SimulatorFactory(ExecutionMode.Declaration, inputDataProvider, fileWriter); + + var jobContainer = new JobContainer(sumData); + AssertHelper.Exception<VectoException>(() => jobContainer.AddRuns(factory), messageContains:"Vehicle TorqueLimits: MaxTorque for Gear "); + } + [Category("LongRunning"), TestCase(GearboxSpeedLimitJobDecl)] public void TestRunGbxSpeedLimitedSimulations(string file) { diff --git a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/Class2_RigidTruck_4x2_VehTorqueLimits/Class2_RigidTruck_tqLimit-disableGear1invalid.vveh b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/Class2_RigidTruck_4x2_VehTorqueLimits/Class2_RigidTruck_tqLimit-disableGear1invalid.vveh new file mode 100644 index 0000000000000000000000000000000000000000..8549bfb7a25366306b0d0b1ea24d20b53edd5185 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/Class2_RigidTruck_4x2_VehTorqueLimits/Class2_RigidTruck_tqLimit-disableGear1invalid.vveh @@ -0,0 +1,59 @@ +{ + "Header": { + "CreatedBy": " ()", + "Date": "2016-10-13T10:06:43.0936564Z", + "AppVersion": "3", + "FileVersion": 7 + }, + "Body": { + "SavedInDeclMode": true, + "VehCat": "RigidTruck", + "CurbWeight": 4670.0, + "CurbWeightExtra": 0.0, + "Loading": 0.0, + "MassMax": 11.99, + "CdA": 4.83, + "rdyn": 0.0, + "CdCorrMode": "CdofVdecl", + "CdCorrFile": "", + "Retarder": { + "Type": "None", + "Ratio": 0.0, + "File": "" + }, + "Angledrive": { + "Type": "None", + "Ratio": 0.0, + "LossMap": "" + }, + "PTO": { + "Type": "None", + "LossMap": "", + "Cycle": "" + }, + "TorqueLimits": { + "1": 0 + }, + "AxleConfig": { + "Type": "4x2", + "Axles": [ + { + "Inertia": 6.5, + "Wheels": "265/70 R19.5", + "AxleWeightShare": 0.0, + "TwinTyres": false, + "RRCISO": 0.0065, + "FzISO": 20850.0 + }, + { + "Inertia": 6.5, + "Wheels": "265/70 R19.5", + "AxleWeightShare": 0.0, + "TwinTyres": true, + "RRCISO": 0.0075, + "FzISO": 20850.0 + } + ] + } + } +} \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/Class2_RigidTruck_4x2_VehTorqueLimits/Class2_RigidTruck_tqLimit-disableGear4invalid.vveh b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/Class2_RigidTruck_4x2_VehTorqueLimits/Class2_RigidTruck_tqLimit-disableGear4invalid.vveh new file mode 100644 index 0000000000000000000000000000000000000000..a2c4e6d8ea486da3001529ec23ad069a2730e95a --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/Class2_RigidTruck_4x2_VehTorqueLimits/Class2_RigidTruck_tqLimit-disableGear4invalid.vveh @@ -0,0 +1,59 @@ +{ + "Header": { + "CreatedBy": " ()", + "Date": "2016-10-13T10:06:43.0936564Z", + "AppVersion": "3", + "FileVersion": 7 + }, + "Body": { + "SavedInDeclMode": true, + "VehCat": "RigidTruck", + "CurbWeight": 4670.0, + "CurbWeightExtra": 0.0, + "Loading": 0.0, + "MassMax": 11.99, + "CdA": 4.83, + "rdyn": 0.0, + "CdCorrMode": "CdofVdecl", + "CdCorrFile": "", + "Retarder": { + "Type": "None", + "Ratio": 0.0, + "File": "" + }, + "Angledrive": { + "Type": "None", + "Ratio": 0.0, + "LossMap": "" + }, + "PTO": { + "Type": "None", + "LossMap": "", + "Cycle": "" + }, + "TorqueLimits": { + "4": 0 + }, + "AxleConfig": { + "Type": "4x2", + "Axles": [ + { + "Inertia": 6.5, + "Wheels": "265/70 R19.5", + "AxleWeightShare": 0.0, + "TwinTyres": false, + "RRCISO": 0.0065, + "FzISO": 20850.0 + }, + { + "Inertia": 6.5, + "Wheels": "265/70 R19.5", + "AxleWeightShare": 0.0, + "TwinTyres": true, + "RRCISO": 0.0075, + "FzISO": 20850.0 + } + ] + } + } +} \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/Class2_RigidTruck_4x2_VehTorqueLimits/Class2_RigidTruck_tqLimit-disableGear5invalid.vveh b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/Class2_RigidTruck_4x2_VehTorqueLimits/Class2_RigidTruck_tqLimit-disableGear5invalid.vveh new file mode 100644 index 0000000000000000000000000000000000000000..78c46e88c5f193362a7e946b42f560fb2a4f7620 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/Class2_RigidTruck_4x2_VehTorqueLimits/Class2_RigidTruck_tqLimit-disableGear5invalid.vveh @@ -0,0 +1,59 @@ +{ + "Header": { + "CreatedBy": " ()", + "Date": "2016-10-13T10:06:43.0936564Z", + "AppVersion": "3", + "FileVersion": 7 + }, + "Body": { + "SavedInDeclMode": true, + "VehCat": "RigidTruck", + "CurbWeight": 4670.0, + "CurbWeightExtra": 0.0, + "Loading": 0.0, + "MassMax": 11.99, + "CdA": 4.83, + "rdyn": 0.0, + "CdCorrMode": "CdofVdecl", + "CdCorrFile": "", + "Retarder": { + "Type": "None", + "Ratio": 0.0, + "File": "" + }, + "Angledrive": { + "Type": "None", + "Ratio": 0.0, + "LossMap": "" + }, + "PTO": { + "Type": "None", + "LossMap": "", + "Cycle": "" + }, + "TorqueLimits": { + "5": 0 + }, + "AxleConfig": { + "Type": "4x2", + "Axles": [ + { + "Inertia": 6.5, + "Wheels": "265/70 R19.5", + "AxleWeightShare": 0.0, + "TwinTyres": false, + "RRCISO": 0.0065, + "FzISO": 20850.0 + }, + { + "Inertia": 6.5, + "Wheels": "265/70 R19.5", + "AxleWeightShare": 0.0, + "TwinTyres": true, + "RRCISO": 0.0075, + "FzISO": 20850.0 + } + ] + } + } +} \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/Class2_RigidTruck_4x2_VehTorqueLimits/Class2_RigidTruck_tqLimit-disableGear6.vveh b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/Class2_RigidTruck_4x2_VehTorqueLimits/Class2_RigidTruck_tqLimit-disableGear6.vveh new file mode 100644 index 0000000000000000000000000000000000000000..612fec3e785c0fd6990b03da6a5ac01e92b413d3 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/Class2_RigidTruck_4x2_VehTorqueLimits/Class2_RigidTruck_tqLimit-disableGear6.vveh @@ -0,0 +1,59 @@ +{ + "Header": { + "CreatedBy": " ()", + "Date": "2016-10-13T10:06:43.0936564Z", + "AppVersion": "3", + "FileVersion": 7 + }, + "Body": { + "SavedInDeclMode": true, + "VehCat": "RigidTruck", + "CurbWeight": 4670.0, + "CurbWeightExtra": 0.0, + "Loading": 0.0, + "MassMax": 11.99, + "CdA": 4.83, + "rdyn": 0.0, + "CdCorrMode": "CdofVdecl", + "CdCorrFile": "", + "Retarder": { + "Type": "None", + "Ratio": 0.0, + "File": "" + }, + "Angledrive": { + "Type": "None", + "Ratio": 0.0, + "LossMap": "" + }, + "PTO": { + "Type": "None", + "LossMap": "", + "Cycle": "" + }, + "TorqueLimits": { + "6": 0 + }, + "AxleConfig": { + "Type": "4x2", + "Axles": [ + { + "Inertia": 6.5, + "Wheels": "265/70 R19.5", + "AxleWeightShare": 0.0, + "TwinTyres": false, + "RRCISO": 0.0065, + "FzISO": 20850.0 + }, + { + "Inertia": 6.5, + "Wheels": "265/70 R19.5", + "AxleWeightShare": 0.0, + "TwinTyres": true, + "RRCISO": 0.0075, + "FzISO": 20850.0 + } + ] + } + } +} \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/Class2_RigidTruck_4x2_VehTorqueLimits/Class2_RigidTruck_tqLimit-disableGear6and4invalid.vveh b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/Class2_RigidTruck_4x2_VehTorqueLimits/Class2_RigidTruck_tqLimit-disableGear6and4invalid.vveh new file mode 100644 index 0000000000000000000000000000000000000000..1ca045ec131b28f44b34f206806b23637fd61ec5 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/Class2_RigidTruck_4x2_VehTorqueLimits/Class2_RigidTruck_tqLimit-disableGear6and4invalid.vveh @@ -0,0 +1,60 @@ +{ + "Header": { + "CreatedBy": " ()", + "Date": "2016-10-13T10:06:43.0936564Z", + "AppVersion": "3", + "FileVersion": 7 + }, + "Body": { + "SavedInDeclMode": true, + "VehCat": "RigidTruck", + "CurbWeight": 4670.0, + "CurbWeightExtra": 0.0, + "Loading": 0.0, + "MassMax": 11.99, + "CdA": 4.83, + "rdyn": 0.0, + "CdCorrMode": "CdofVdecl", + "CdCorrFile": "", + "Retarder": { + "Type": "None", + "Ratio": 0.0, + "File": "" + }, + "Angledrive": { + "Type": "None", + "Ratio": 0.0, + "LossMap": "" + }, + "PTO": { + "Type": "None", + "LossMap": "", + "Cycle": "" + }, + "TorqueLimits": { + "4": 0, + "6": 0 + }, + "AxleConfig": { + "Type": "4x2", + "Axles": [ + { + "Inertia": 6.5, + "Wheels": "265/70 R19.5", + "AxleWeightShare": 0.0, + "TwinTyres": false, + "RRCISO": 0.0065, + "FzISO": 20850.0 + }, + { + "Inertia": 6.5, + "Wheels": "265/70 R19.5", + "AxleWeightShare": 0.0, + "TwinTyres": true, + "RRCISO": 0.0075, + "FzISO": 20850.0 + } + ] + } + } +} \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/Class2_RigidTruck_4x2_VehTorqueLimits/Class2_RigidTruck_tqLimit-disableGear6and5.vveh b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/Class2_RigidTruck_4x2_VehTorqueLimits/Class2_RigidTruck_tqLimit-disableGear6and5.vveh new file mode 100644 index 0000000000000000000000000000000000000000..c2a7815b4f25b8475aa62ee87a283c2d330cd867 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/Class2_RigidTruck_4x2_VehTorqueLimits/Class2_RigidTruck_tqLimit-disableGear6and5.vveh @@ -0,0 +1,60 @@ +{ + "Header": { + "CreatedBy": " ()", + "Date": "2016-10-13T10:06:43.0936564Z", + "AppVersion": "3", + "FileVersion": 7 + }, + "Body": { + "SavedInDeclMode": true, + "VehCat": "RigidTruck", + "CurbWeight": 4670.0, + "CurbWeightExtra": 0.0, + "Loading": 0.0, + "MassMax": 11.99, + "CdA": 4.83, + "rdyn": 0.0, + "CdCorrMode": "CdofVdecl", + "CdCorrFile": "", + "Retarder": { + "Type": "None", + "Ratio": 0.0, + "File": "" + }, + "Angledrive": { + "Type": "None", + "Ratio": 0.0, + "LossMap": "" + }, + "PTO": { + "Type": "None", + "LossMap": "", + "Cycle": "" + }, + "TorqueLimits": { + "5": 0, + "6": 0 + }, + "AxleConfig": { + "Type": "4x2", + "Axles": [ + { + "Inertia": 6.5, + "Wheels": "265/70 R19.5", + "AxleWeightShare": 0.0, + "TwinTyres": false, + "RRCISO": 0.0065, + "FzISO": 20850.0 + }, + { + "Inertia": 6.5, + "Wheels": "265/70 R19.5", + "AxleWeightShare": 0.0, + "TwinTyres": true, + "RRCISO": 0.0075, + "FzISO": 20850.0 + } + ] + } + } +} \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/Class2_RigidTruck_4x2_VehTorqueLimits/Class2_RigidTruck_vehTqLimit-disableGear1invalid.vecto b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/Class2_RigidTruck_4x2_VehTorqueLimits/Class2_RigidTruck_vehTqLimit-disableGear1invalid.vecto new file mode 100644 index 0000000000000000000000000000000000000000..396c9fa4a750becb7b70aaa61a176704328c0942 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/Class2_RigidTruck_4x2_VehTorqueLimits/Class2_RigidTruck_vehTqLimit-disableGear1invalid.vecto @@ -0,0 +1,67 @@ +{ + "Header": { + "CreatedBy": " ()", + "Date": "2016-10-13T15:21:02.8206564Z", + "AppVersion": "3", + "FileVersion": 3 + }, + "Body": { + "SavedInDeclMode": true, + "EngineOnlyMode": false, + "VehicleFile": "Class2_RigidTruck_tqLimit-disableGear1invalid.vveh", + "EngineFile": "Engine_175kW_6.8l.veng", + "GearboxFile": "MT_6.vgbx", + "AuxiliaryAssembly": "Classic", + "AuxiliaryVersion": "CLASSIC", + "AdvancedAuxiliaryFilePath": "", + "Aux": [ + { + "ID": "FAN", + "Type": "Fan", + "Technology": [ + "Belt driven or driven via transm. - Electronically controlled visco clutch" + ] + }, + { + "ID": "STP", + "Type": "Steering pump", + "Technology": [ + "Fixed displacement with elec. control" + ] + }, + { + "ID": "AC", + "Type": "HVAC", + "Technology": [ + "Default" + ] + }, + { + "ID": "ES", + "Type": "Electric System", + "Technology": [ + "Standard technology" + ] + }, + { + "ID": "PS", + "Type": "Pneumatic System", + "Technology": [ + "Medium Supply 1-stage + ESS + AMS" + ] + } + ], + "StartStop": { + "Enabled": false, + "MaxSpeed": 5.0, + "MinTime": 5.0, + "Delay": 5.0 + }, + "OverSpeedEcoRoll": { + "Mode": "Overspeed", + "MinSpeed": 50.0, + "OverSpeed": 5.0, + "UnderSpeed": 5.0 + } + } +} \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/Class2_RigidTruck_4x2_VehTorqueLimits/Class2_RigidTruck_vehTqLimit-disableGear4invalid.vecto b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/Class2_RigidTruck_4x2_VehTorqueLimits/Class2_RigidTruck_vehTqLimit-disableGear4invalid.vecto new file mode 100644 index 0000000000000000000000000000000000000000..bd045b2144fd8b7b38ba228c607db575e358a4ac --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/Class2_RigidTruck_4x2_VehTorqueLimits/Class2_RigidTruck_vehTqLimit-disableGear4invalid.vecto @@ -0,0 +1,67 @@ +{ + "Header": { + "CreatedBy": " ()", + "Date": "2016-10-13T15:21:02.8206564Z", + "AppVersion": "3", + "FileVersion": 3 + }, + "Body": { + "SavedInDeclMode": true, + "EngineOnlyMode": false, + "VehicleFile": "Class2_RigidTruck_tqLimit-disableGear4invalid.vveh", + "EngineFile": "Engine_175kW_6.8l.veng", + "GearboxFile": "MT_6.vgbx", + "AuxiliaryAssembly": "Classic", + "AuxiliaryVersion": "CLASSIC", + "AdvancedAuxiliaryFilePath": "", + "Aux": [ + { + "ID": "FAN", + "Type": "Fan", + "Technology": [ + "Belt driven or driven via transm. - Electronically controlled visco clutch" + ] + }, + { + "ID": "STP", + "Type": "Steering pump", + "Technology": [ + "Fixed displacement with elec. control" + ] + }, + { + "ID": "AC", + "Type": "HVAC", + "Technology": [ + "Default" + ] + }, + { + "ID": "ES", + "Type": "Electric System", + "Technology": [ + "Standard technology" + ] + }, + { + "ID": "PS", + "Type": "Pneumatic System", + "Technology": [ + "Medium Supply 1-stage + ESS + AMS" + ] + } + ], + "StartStop": { + "Enabled": false, + "MaxSpeed": 5.0, + "MinTime": 5.0, + "Delay": 5.0 + }, + "OverSpeedEcoRoll": { + "Mode": "Overspeed", + "MinSpeed": 50.0, + "OverSpeed": 5.0, + "UnderSpeed": 5.0 + } + } +} \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/Class2_RigidTruck_4x2_VehTorqueLimits/Class2_RigidTruck_vehTqLimit-disableGear5invalid.vecto b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/Class2_RigidTruck_4x2_VehTorqueLimits/Class2_RigidTruck_vehTqLimit-disableGear5invalid.vecto new file mode 100644 index 0000000000000000000000000000000000000000..9c42db30703b8a84e58a2b17d35cc52f0b480132 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/Class2_RigidTruck_4x2_VehTorqueLimits/Class2_RigidTruck_vehTqLimit-disableGear5invalid.vecto @@ -0,0 +1,67 @@ +{ + "Header": { + "CreatedBy": " ()", + "Date": "2016-10-13T15:21:02.8206564Z", + "AppVersion": "3", + "FileVersion": 3 + }, + "Body": { + "SavedInDeclMode": true, + "EngineOnlyMode": false, + "VehicleFile": "Class2_RigidTruck_tqLimit-disableGear5invalid.vveh", + "EngineFile": "Engine_175kW_6.8l.veng", + "GearboxFile": "MT_6.vgbx", + "AuxiliaryAssembly": "Classic", + "AuxiliaryVersion": "CLASSIC", + "AdvancedAuxiliaryFilePath": "", + "Aux": [ + { + "ID": "FAN", + "Type": "Fan", + "Technology": [ + "Belt driven or driven via transm. - Electronically controlled visco clutch" + ] + }, + { + "ID": "STP", + "Type": "Steering pump", + "Technology": [ + "Fixed displacement with elec. control" + ] + }, + { + "ID": "AC", + "Type": "HVAC", + "Technology": [ + "Default" + ] + }, + { + "ID": "ES", + "Type": "Electric System", + "Technology": [ + "Standard technology" + ] + }, + { + "ID": "PS", + "Type": "Pneumatic System", + "Technology": [ + "Medium Supply 1-stage + ESS + AMS" + ] + } + ], + "StartStop": { + "Enabled": false, + "MaxSpeed": 5.0, + "MinTime": 5.0, + "Delay": 5.0 + }, + "OverSpeedEcoRoll": { + "Mode": "Overspeed", + "MinSpeed": 50.0, + "OverSpeed": 5.0, + "UnderSpeed": 5.0 + } + } +} \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/Class2_RigidTruck_4x2_VehTorqueLimits/Class2_RigidTruck_vehTqLimit-disableGear6.vecto b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/Class2_RigidTruck_4x2_VehTorqueLimits/Class2_RigidTruck_vehTqLimit-disableGear6.vecto new file mode 100644 index 0000000000000000000000000000000000000000..9d0307bccbc05e55f73456d5dcf8378ef6d23447 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/Class2_RigidTruck_4x2_VehTorqueLimits/Class2_RigidTruck_vehTqLimit-disableGear6.vecto @@ -0,0 +1,67 @@ +{ + "Header": { + "CreatedBy": " ()", + "Date": "2016-10-13T15:21:02.8206564Z", + "AppVersion": "3", + "FileVersion": 3 + }, + "Body": { + "SavedInDeclMode": true, + "EngineOnlyMode": false, + "VehicleFile": "Class2_RigidTruck_tqLimit-disableGear6.vveh", + "EngineFile": "Engine_175kW_6.8l.veng", + "GearboxFile": "MT_6.vgbx", + "AuxiliaryAssembly": "Classic", + "AuxiliaryVersion": "CLASSIC", + "AdvancedAuxiliaryFilePath": "", + "Aux": [ + { + "ID": "FAN", + "Type": "Fan", + "Technology": [ + "Belt driven or driven via transm. - Electronically controlled visco clutch" + ] + }, + { + "ID": "STP", + "Type": "Steering pump", + "Technology": [ + "Fixed displacement with elec. control" + ] + }, + { + "ID": "AC", + "Type": "HVAC", + "Technology": [ + "Default" + ] + }, + { + "ID": "ES", + "Type": "Electric System", + "Technology": [ + "Standard technology" + ] + }, + { + "ID": "PS", + "Type": "Pneumatic System", + "Technology": [ + "Medium Supply 1-stage + ESS + AMS" + ] + } + ], + "StartStop": { + "Enabled": false, + "MaxSpeed": 5.0, + "MinTime": 5.0, + "Delay": 5.0 + }, + "OverSpeedEcoRoll": { + "Mode": "Overspeed", + "MinSpeed": 50.0, + "OverSpeed": 5.0, + "UnderSpeed": 5.0 + } + } +} \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/Class2_RigidTruck_4x2_VehTorqueLimits/Class2_RigidTruck_vehTqLimit-disableGear6and4invalid.vecto b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/Class2_RigidTruck_4x2_VehTorqueLimits/Class2_RigidTruck_vehTqLimit-disableGear6and4invalid.vecto new file mode 100644 index 0000000000000000000000000000000000000000..f28a71095e0a5fe82cf05d8d29c5c27279ecb689 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/Class2_RigidTruck_4x2_VehTorqueLimits/Class2_RigidTruck_vehTqLimit-disableGear6and4invalid.vecto @@ -0,0 +1,67 @@ +{ + "Header": { + "CreatedBy": " ()", + "Date": "2016-10-13T15:21:02.8206564Z", + "AppVersion": "3", + "FileVersion": 3 + }, + "Body": { + "SavedInDeclMode": true, + "EngineOnlyMode": false, + "VehicleFile": "Class2_RigidTruck_tqLimit-disableGear6and4invalid.vveh", + "EngineFile": "Engine_175kW_6.8l.veng", + "GearboxFile": "MT_6.vgbx", + "AuxiliaryAssembly": "Classic", + "AuxiliaryVersion": "CLASSIC", + "AdvancedAuxiliaryFilePath": "", + "Aux": [ + { + "ID": "FAN", + "Type": "Fan", + "Technology": [ + "Belt driven or driven via transm. - Electronically controlled visco clutch" + ] + }, + { + "ID": "STP", + "Type": "Steering pump", + "Technology": [ + "Fixed displacement with elec. control" + ] + }, + { + "ID": "AC", + "Type": "HVAC", + "Technology": [ + "Default" + ] + }, + { + "ID": "ES", + "Type": "Electric System", + "Technology": [ + "Standard technology" + ] + }, + { + "ID": "PS", + "Type": "Pneumatic System", + "Technology": [ + "Medium Supply 1-stage + ESS + AMS" + ] + } + ], + "StartStop": { + "Enabled": false, + "MaxSpeed": 5.0, + "MinTime": 5.0, + "Delay": 5.0 + }, + "OverSpeedEcoRoll": { + "Mode": "Overspeed", + "MinSpeed": 50.0, + "OverSpeed": 5.0, + "UnderSpeed": 5.0 + } + } +} \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/Class2_RigidTruck_4x2_VehTorqueLimits/Class2_RigidTruck_vehTqLimit-disableGear6and5.vecto b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/Class2_RigidTruck_4x2_VehTorqueLimits/Class2_RigidTruck_vehTqLimit-disableGear6and5.vecto new file mode 100644 index 0000000000000000000000000000000000000000..fe4be887ed15bc1b0284782ac19dd66dfdfd1205 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/Class2_RigidTruck_4x2_VehTorqueLimits/Class2_RigidTruck_vehTqLimit-disableGear6and5.vecto @@ -0,0 +1,67 @@ +{ + "Header": { + "CreatedBy": " ()", + "Date": "2016-10-13T15:21:02.8206564Z", + "AppVersion": "3", + "FileVersion": 3 + }, + "Body": { + "SavedInDeclMode": true, + "EngineOnlyMode": false, + "VehicleFile": "Class2_RigidTruck_tqLimit-disableGear6and5.vveh", + "EngineFile": "Engine_175kW_6.8l.veng", + "GearboxFile": "MT_6.vgbx", + "AuxiliaryAssembly": "Classic", + "AuxiliaryVersion": "CLASSIC", + "AdvancedAuxiliaryFilePath": "", + "Aux": [ + { + "ID": "FAN", + "Type": "Fan", + "Technology": [ + "Belt driven or driven via transm. - Electronically controlled visco clutch" + ] + }, + { + "ID": "STP", + "Type": "Steering pump", + "Technology": [ + "Fixed displacement with elec. control" + ] + }, + { + "ID": "AC", + "Type": "HVAC", + "Technology": [ + "Default" + ] + }, + { + "ID": "ES", + "Type": "Electric System", + "Technology": [ + "Standard technology" + ] + }, + { + "ID": "PS", + "Type": "Pneumatic System", + "Technology": [ + "Medium Supply 1-stage + ESS + AMS" + ] + } + ], + "StartStop": { + "Enabled": false, + "MaxSpeed": 5.0, + "MinTime": 5.0, + "Delay": 5.0 + }, + "OverSpeedEcoRoll": { + "Mode": "Overspeed", + "MinSpeed": 50.0, + "OverSpeed": 5.0, + "UnderSpeed": 5.0 + } + } +} \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/VectoCoreTest.csproj b/VectoCore/VectoCoreTest/VectoCoreTest.csproj index a99b093025cbe5ff8d37fff40ef662468607f7b1..b48c778c727d3083ad13b17c4322d73f00f92f62 100644 --- a/VectoCore/VectoCoreTest/VectoCoreTest.csproj +++ b/VectoCore/VectoCoreTest/VectoCoreTest.csproj @@ -1399,12 +1399,48 @@ <None Include="TestData\Integration\DeclarationMode\Class2_RigidTruck_4x2_VehTorqueLimits\Class2_RigidTruck_tqLimit-910.vveh"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </None> + <None Include="TestData\Integration\DeclarationMode\Class2_RigidTruck_4x2_VehTorqueLimits\Class2_RigidTruck_tqLimit-disableGear1invalid.vveh"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="TestData\Integration\DeclarationMode\Class2_RigidTruck_4x2_VehTorqueLimits\Class2_RigidTruck_tqLimit-disableGear4invalid.vveh"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="TestData\Integration\DeclarationMode\Class2_RigidTruck_4x2_VehTorqueLimits\Class2_RigidTruck_tqLimit-disableGear5invalid.vveh"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="TestData\Integration\DeclarationMode\Class2_RigidTruck_4x2_VehTorqueLimits\Class2_RigidTruck_tqLimit-disableGear6.vveh"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="TestData\Integration\DeclarationMode\Class2_RigidTruck_4x2_VehTorqueLimits\Class2_RigidTruck_tqLimit-disableGear6and4invalid.vveh"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="TestData\Integration\DeclarationMode\Class2_RigidTruck_4x2_VehTorqueLimits\Class2_RigidTruck_tqLimit-disableGear6and5.vveh"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> <None Include="TestData\Integration\DeclarationMode\Class2_RigidTruck_4x2_VehTorqueLimits\Class2_RigidTruck_vehTqLimit-850_DECL.vecto"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </None> <None Include="TestData\Integration\DeclarationMode\Class2_RigidTruck_4x2_VehTorqueLimits\Class2_RigidTruck_vehTqLimit-910_DECL.vecto"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </None> + <None Include="TestData\Integration\DeclarationMode\Class2_RigidTruck_4x2_VehTorqueLimits\Class2_RigidTruck_vehTqLimit-disableGear1invalid.vecto"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="TestData\Integration\DeclarationMode\Class2_RigidTruck_4x2_VehTorqueLimits\Class2_RigidTruck_vehTqLimit-disableGear4invalid.vecto"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="TestData\Integration\DeclarationMode\Class2_RigidTruck_4x2_VehTorqueLimits\Class2_RigidTruck_vehTqLimit-disableGear5invalid.vecto"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="TestData\Integration\DeclarationMode\Class2_RigidTruck_4x2_VehTorqueLimits\Class2_RigidTruck_vehTqLimit-disableGear6.vecto"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="TestData\Integration\DeclarationMode\Class2_RigidTruck_4x2_VehTorqueLimits\Class2_RigidTruck_vehTqLimit-disableGear6and4invalid.vecto"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="TestData\Integration\DeclarationMode\Class2_RigidTruck_4x2_VehTorqueLimits\Class2_RigidTruck_vehTqLimit-disableGear6and5.vecto"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> <None Include="TestData\Integration\DeclarationMode\Class2_RigidTruck_4x2_VehTorqueLimits\Engine_175kW_6.8l.veng"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </None>