From 1b0b39a194f3be3a091560abd4bbade8371201a4 Mon Sep 17 00:00:00 2001 From: Markus Quaritsch <markus.quaritsch@tugraz.at> Date: Mon, 28 Sep 2015 15:50:46 +0200 Subject: [PATCH] finished engineIdleController --- VectoCore/Configuration/Constants.cs | 4 + .../ICombustionEngineIdleController.cs | 2 + .../Models/SimulationComponent/Impl/Clutch.cs | 3 + .../Impl/CombustionEngine.cs | 74 +- .../CombustionEngineTest.cs | 173 ++- .../Cycle_Accelerate_0_85_level_5kWAux.vdri | 1002 +++++++++++++++++ .../40t_Long_Haul_Truck_EngineIdle.vecto | 36 + .../40t_Long_Haul_Truck_EngineIdle.vgbx | 118 ++ 8 files changed, 1359 insertions(+), 53 deletions(-) create mode 100644 VectoCoreTest/TestData/Integration/DriverStrategy/Cycles/Cycle_Accelerate_0_85_level_5kWAux.vdri create mode 100644 VectoCoreTest/TestData/Integration/DriverStrategy/Vecto2.2/40t Truck/40t_Long_Haul_Truck_EngineIdle.vecto create mode 100644 VectoCoreTest/TestData/Integration/DriverStrategy/Vecto2.2/40t Truck/40t_Long_Haul_Truck_EngineIdle.vgbx diff --git a/VectoCore/Configuration/Constants.cs b/VectoCore/Configuration/Constants.cs index 4e2fa82177..7d535c09fa 100644 --- a/VectoCore/Configuration/Constants.cs +++ b/VectoCore/Configuration/Constants.cs @@ -81,6 +81,10 @@ namespace TUGraz.VectoCore.Configuration /// The initial search interval for the operating point search in the driver. /// </summary> public static MeterPerSquareSecond OperatingPointInitialSearchIntervalAccelerating = 0.1.SI<MeterPerSquareSecond>(); + + public static PerSecond EngineIdlingSearchInterval = 10.SI<PerSecond>(); + + public const int EngineSearchLoopThreshold = 100; } } } \ No newline at end of file diff --git a/VectoCore/Models/SimulationComponent/ICombustionEngineIdleController.cs b/VectoCore/Models/SimulationComponent/ICombustionEngineIdleController.cs index 41dcc182b9..e1466b6a71 100644 --- a/VectoCore/Models/SimulationComponent/ICombustionEngineIdleController.cs +++ b/VectoCore/Models/SimulationComponent/ICombustionEngineIdleController.cs @@ -6,5 +6,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent public interface ICombustionEngineIdleController : ITnOutPort { ITnOutPort RequestPort { set; } + + void Reset(); } } \ No newline at end of file diff --git a/VectoCore/Models/SimulationComponent/Impl/Clutch.cs b/VectoCore/Models/SimulationComponent/Impl/Clutch.cs index 791a25fc7b..76ec416160 100644 --- a/VectoCore/Models/SimulationComponent/Impl/Clutch.cs +++ b/VectoCore/Models/SimulationComponent/Impl/Clutch.cs @@ -70,6 +70,9 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl retval.ClutchPowerRequest = 0.SI<Watt>(); return retval; } + if (IdleController != null) { + IdleController.Reset(); + } NewtonMeter torqueIn; PerSecond engineSpeedIn; AddClutchLoss(torque, angularVelocity, out torqueIn, out engineSpeedIn); diff --git a/VectoCore/Models/SimulationComponent/Impl/CombustionEngine.cs b/VectoCore/Models/SimulationComponent/Impl/CombustionEngine.cs index ecedaa8117..f99650743f 100644 --- a/VectoCore/Models/SimulationComponent/Impl/CombustionEngine.cs +++ b/VectoCore/Models/SimulationComponent/Impl/CombustionEngine.cs @@ -1,5 +1,7 @@ using System; +using System.Collections.Generic; using System.Diagnostics; +using System.Linq; using System.Resources; using TUGraz.VectoCore.Configuration; using TUGraz.VectoCore.Exceptions; @@ -441,7 +443,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl #endregion - protected class CombustionEngineIdleController : ICombustionEngineIdleController + protected class CombustionEngineIdleController : LoggingObject, ICombustionEngineIdleController { protected readonly double PeDropSlope = -0.75; protected readonly double PeDropOffset = 1.0; @@ -458,12 +460,20 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl public ITnOutPort RequestPort { private get; set; } + public void Reset() + { + IdleStart = null; + } + public IResponse Request(Second absTime, Second dt, NewtonMeter torque, PerSecond angularVelocity, bool dryRun = false) { if (angularVelocity != null) { throw new VectoException("IdleController can only handle idle requests, i.e. angularVelocity == null!"); } + if (!torque.IsEqual(0)) { + throw new VectoException("Torque has to be 0 for idle requests!"); + } if (IdleStart == null) { IdleStart = absTime; LastEnginePower = Engine.PreviousState.EnginePower; @@ -472,7 +482,10 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl var idleTime = absTime - IdleStart + dt; var prevEngineSpeed = Engine.PreviousState.EngineSpeed; - var nextEnginePower = ComputeNextEngineSpeed(idleTime, prevEngineSpeed); + var dragLoad = Engine.Data.FullLoadCurve.DragLoadStationaryPower(prevEngineSpeed); + + var nextEnginePower = (LastEnginePower - dragLoad) * VectoMath.Max(idleTime.Value() * PeDropSlope + PeDropOffset, 0) + + dragLoad; var auxDemandResponse = RequestPort.Request(absTime, dt, torque, prevEngineSpeed, true); @@ -486,6 +499,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl return retVal; } + nextAngularSpeed = prevEngineSpeed + deltaAngularSpeed; if (nextAngularSpeed < Engine.Data.IdleSpeed) { // search for EnginePower such that nextAngularSpeed == Engine.Data.IdleSpeed @@ -495,15 +509,63 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl } retVal = RequestPort.Request(absTime, dt, torque, nextAngularSpeed); + retVal.Switch(). + Case<ResponseSuccess>(). + Case<ResponseUnderload>(r => { + retVal = RequestPort.Request(absTime, dt, torque, nextAngularSpeed); + retVal = SearchIdlingSpeed(absTime, dt, torque, nextAngularSpeed, r); + }). + Default(r => { + throw new UnexpectedResponseException("searching Idling point", r); + }); + return retVal; } - protected Watt ComputeNextEngineSpeed(Second idleTime, PerSecond angularVelocity) + private IResponse SearchIdlingSpeed(Second absTime, Second dt, NewtonMeter torque, PerSecond angularSpeed, + ResponseUnderload responseUnderload) { - var dragLoad = Engine.Data.FullLoadCurve.DragLoadStationaryPower(angularVelocity); - var totalPower = LastEnginePower - dragLoad; + var prevEngineSpeed = Engine.PreviousState.EngineSpeed; - return totalPower * VectoMath.Max(idleTime.Value() * PeDropSlope + PeDropOffset, 0) + dragLoad; + var searchInterval = Constants.SimulationSettings.EngineIdlingSearchInterval; + var intervalFactor = 1.0; + + var debug = new List<dynamic>(); + + var origDelta = responseUnderload.Delta; + var delta = origDelta; + var nextAngularSpeed = angularSpeed; + + debug.Add(new { engineSpeed = angularSpeed, searchInterval, delta }); + var retryCount = 0; + do { + nextAngularSpeed -= searchInterval * delta.Sign(); + + + var response = (ResponseDryRun)RequestPort.Request(absTime, dt, torque, nextAngularSpeed, true); + delta = response.DeltaDragLoad; + debug.Add(new { engineSpeed = nextAngularSpeed, searchInterval, delta }); + if (delta.IsEqual(0, Constants.SimulationSettings.EnginePowerSearchTolerance)) { + Log.Debug("found operating point in {0} iterations. engine speed: {1}, delta: {2}", retryCount, nextAngularSpeed, + delta); + return RequestPort.Request(absTime, dt, torque, nextAngularSpeed); + } + + if (origDelta.Sign() != delta.Sign()) { + intervalFactor = 0.5; + } + searchInterval *= intervalFactor; + } while (retryCount++ < Constants.SimulationSettings.EngineSearchLoopThreshold); + + Log.Warn("Exceeded max iterations when searching for idling point!"); + Log.Warn("acceleration: {0} ... {1}", ", ".Join(debug.Take(5).Select(x => x.acceleration)), + ", ".Join(debug.Slice(-6).Select(x => x.acceleration))); + Log.Warn("exceeded: {0} ... {1}", ", ".Join(debug.Take(5).Select(x => x.delta)), + ", ".Join(debug.Slice(-6).Select(x => x.delta))); + Log.Error("Failed to find operating point! absTime: {0}", absTime); + throw new VectoSimulationException("Failed to find operating point! exceeded: {0} ... {1}", + ", ".Join(debug.Take(5).Select(x => x.delta)), + ", ".Join(debug.Slice(-6).Select(x => x.delta))); } public IResponse Initialize(NewtonMeter torque, PerSecond angularVelocity) diff --git a/VectoCoreTest/Models/SimulationComponent/CombustionEngineTest.cs b/VectoCoreTest/Models/SimulationComponent/CombustionEngineTest.cs index ca481e3770..577cc66758 100644 --- a/VectoCoreTest/Models/SimulationComponent/CombustionEngineTest.cs +++ b/VectoCoreTest/Models/SimulationComponent/CombustionEngineTest.cs @@ -8,6 +8,7 @@ using Microsoft.VisualStudio.TestTools.UnitTesting; using TUGraz.VectoCore.Configuration; using TUGraz.VectoCore.Exceptions; using TUGraz.VectoCore.FileIO.Reader.Impl; +using TUGraz.VectoCore.Models.Connector.Ports; using TUGraz.VectoCore.Models.Connector.Ports.Impl; using TUGraz.VectoCore.Models.Simulation.Data; using TUGraz.VectoCore.Models.Simulation.Impl; @@ -24,6 +25,9 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent protected double Tolerance = 1E-3; private const string CoachEngine = @"TestData\Components\24t Coach.veng"; + + private const string TruckEngine = @"TestData\Components\40t_Long_Haul_Truck.veng"; + public TestContext TestContext { get; set; } [ClassInitialize] @@ -269,35 +273,13 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent } [TestMethod] - public void EngineIdleControllerTest() + public void EngineIdleControllerTestCoach() { - var container = new VehicleContainer(); - var gearbox = new MockGearbox(container); - var engineData = EngineeringModeSimulationDataReader.CreateEngineDataFromFile(CoachEngine); + VehicleContainer container; + CombustionEngine engine; + ITnOutPort requestPort; + VehicleContainer(CoachEngine, out container, out engine, out requestPort); - var engine = new CombustionEngine(container, engineData); - var clutch = new Clutch(container, engineData, engine.IdleController); - - var driver = new MockDriver(container); - - var aux = new Auxiliary(container); - aux.AddConstant("", 5000.SI<Watt>()); - - gearbox.Gear = 1; - - //gearbox.InPort().Connect(engine.OutPort()); - gearbox.InPort().Connect(clutch.OutPort()); - clutch.InPort().Connect(aux.OutPort()); - aux.InPort().Connect(engine.OutPort()); - - // has to be done after connecting components! - engine.IdleController.RequestPort = clutch.IdleControlPort; - - var requestPort = gearbox.OutPort(); - - //vehicleContainer.DataWriter = new ModalDataWriter("engine_idle_test.csv"); - var dataWriter = new MockModalDataWriter(); - container.DataWriter = dataWriter; var absTime = 0.SI<Second>(); var dt = Constants.SimulationSettings.TargetTimeInterval; @@ -314,36 +296,100 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent container.CommitSimulationStep(absTime, dt); absTime += dt; - // --------- first 'idle request' - torque = 0.SI<NewtonMeter>(); + var engineSpeed = new PerSecond[] { 800.RPMtoRad(), 800.RPMtoRad(), 560.RPMtoRad(), 560.RPMtoRad() }; + var enginePower = new Watt[] { 5000.SI<Watt>(), 5000.SI<Watt>(), -8601.6308.SI<Watt>(), 5000.SI<Watt>() }; - response = requestPort.Request(absTime, dt, torque, null); - container.CommitSimulationStep(absTime, dt); - absTime += dt; + for (var i = 0; i < engineSpeed.Count(); i++) { + torque = 0.SI<NewtonMeter>(); - Assert.IsInstanceOfType(response, typeof(ResponseSuccess)); - Assert.AreEqual(800.RPMtoRad(), engine.PreviousState.EngineSpeed); - Assert.AreEqual(5000.SI<Watt>(), engine.PreviousState.EnginePower); + response = requestPort.Request(absTime, dt, torque, null); + container.CommitSimulationStep(absTime, dt); + absTime += dt; - // --------- second 'idle request' - response = requestPort.Request(absTime, dt, torque, null); - container.CommitSimulationStep(absTime, dt); - absTime += dt; + Assert.IsInstanceOfType(response, typeof(ResponseSuccess)); + Assert.AreEqual(engineSpeed[i].Value(), engine.PreviousState.EngineSpeed.Value(), Tolerance); + Assert.AreEqual(enginePower[i].Value(), engine.PreviousState.EnginePower.Value(), Tolerance); + } + } + + +/* + * VECTO 2.2 +| time [s] | Pe_eng [kW] | n [1/min] | Tq_eng [Nm] | Gear [-] | +| 59.5 | 349.981 | 1679.281 | 1990.181 | 8 | +| 60.5 | 5 | 1679.281 | 28.43269 | 0 | +| 61.5 | -19.47213 | 1397.271 | -133.0774 | 0 | +| 62.5 | -18.11888 | 1064.296 | -162.5699 | 0 | +| 63.5 | -11.11163 | 714.1923 | -148.571 | 0 | +| 64.5 | -0.5416708 | 560 | -9.236741 | 0 | +| 65.5 | 5 | 560 | 85.26157 | 0 | +| 66.5 | 5 | 560 | 85.26157 | 0 | +| 67.5 | 5 | 560 | 85.26157 | 0 | +| 68.5 | 5 | 560 | 85.26157 | 0 | +| 69.5 | 5 | 560 | 85.26157 | 0 | +| 70.5 | 308.729 | 1284.139 | 2295.815 | 9 | + */ + + [TestMethod] + public void EngineIdleControllerTestTruck() + { + VehicleContainer container; + CombustionEngine engine; + ITnOutPort requestPort; + VehicleContainer(TruckEngine, out container, out engine, out requestPort); + + //var dataWriter = new ModalDataWriter("EngienIdle.vmod"); + //container.DataWriter = dataWriter; + + var absTime = 0.SI<Second>(); + var dt = Constants.SimulationSettings.TargetTimeInterval; + + var angularVelocity = 1680.RPMtoRad(); + var torque = 345000.SI<Watt>() / angularVelocity; + var response = requestPort.Initialize(torque, angularVelocity); Assert.IsInstanceOfType(response, typeof(ResponseSuccess)); - Assert.AreEqual(800.RPMtoRad(), engine.PreviousState.EngineSpeed); - Assert.AreEqual(5000.SI<Watt>(), engine.PreviousState.EnginePower); - // --------- third 'idle request' - response = requestPort.Request(absTime, dt, torque, null); + response = requestPort.Request(absTime, dt, torque, angularVelocity); + Assert.IsInstanceOfType(response, typeof(ResponseSuccess)); + Assert.AreEqual(350000, response.EnginePowerRequest.Value(), Tolerance); container.CommitSimulationStep(absTime, dt); absTime += dt; - Assert.IsInstanceOfType(response, typeof(ResponseSuccess)); - Assert.AreEqual(560.RPMtoRad(), engine.PreviousState.EngineSpeed); - Assert.AreEqual(-8601.6308, engine.PreviousState.EnginePower.Value(), Tolerance); - } + var engineSpeed = new PerSecond[] { + 1680.RPMtoRad(), 1680.RPMtoRad(), 1467.014.RPMtoRad(), 1272.8658.RPMtoRad(), 1090.989.RPMtoRad(), + 915.3533.RPMtoRad(), 738.599.RPMtoRad(), 560.RPMtoRad(), 560.RPMtoRad(), 560.RPMtoRad(), 560.RPMtoRad(), + 560.RPMtoRad(), 560.RPMtoRad(), 560.RPMtoRad(), 560.RPMtoRad(), 560.RPMtoRad(), 560.RPMtoRad(), 560.RPMtoRad(), + 560.RPMtoRad() + }; + var enginePower = new Watt[] { + 5000.SI<Watt>(), 5000.SI<Watt>(), -32832.8834.SI<Watt>(), -25025.1308.SI<Watt>(), -19267.0360.SI<Watt>(), + -14890.1962.SI<Watt>(), -11500.7991.SI<Watt>(), -8091.0577.SI<Watt>(), 5000.SI<Watt>(), 5000.SI<Watt>(), + 5000.SI<Watt>(), 5000.SI<Watt>(), 5000.SI<Watt>(), 5000.SI<Watt>(), 5000.SI<Watt>(), 5000.SI<Watt>(), + 5000.SI<Watt>(), 5000.SI<Watt>(), 5000.SI<Watt>(), 5000.SI<Watt>() + }; + + var engSpeedResults = new List<dynamic>(); + for (var i = 0; i < engineSpeed.Count(); i++) { + torque = 0.SI<NewtonMeter>(); + + response = requestPort.Request(absTime, dt, torque, null); + Assert.IsInstanceOfType(response, typeof(ResponseSuccess)); + + container.CommitSimulationStep(absTime, dt); + + engSpeedResults.Add(new { + absTime, + engine.PreviousState.EngineSpeed, + engine.PreviousState.EnginePower + }); + Assert.AreEqual(engineSpeed[i].Value(), engine.PreviousState.EngineSpeed.Value(), Tolerance); + Assert.AreEqual(enginePower[i].Value(), engine.PreviousState.EnginePower.Value(), Tolerance); + absTime += dt; + } + //dataWriter.Finish(); + } [TestMethod, Ignore] public void TestWriteToFile() @@ -383,5 +429,38 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent Assert.AreEqual(58.6430628670095, idle.Value(), 0.000001); Assert.IsTrue(idle.HasEqualUnit(0.SI<PerSecond>())); } + + + private static void VehicleContainer(string engineFile, out VehicleContainer container, out CombustionEngine engine, + out ITnOutPort requestPort) + { + container = new VehicleContainer(); + var gearbox = new MockGearbox(container); + var engineData = EngineeringModeSimulationDataReader.CreateEngineDataFromFile(engineFile); + + engine = new CombustionEngine(container, engineData); + var clutch = new Clutch(container, engineData, engine.IdleController); + + var driver = new MockDriver(container); + + var aux = new Auxiliary(container); + aux.AddConstant("", 5000.SI<Watt>()); + + gearbox.Gear = 1; + + //gearbox.InPort().Connect(engine.OutPort()); + gearbox.InPort().Connect(clutch.OutPort()); + clutch.InPort().Connect(aux.OutPort()); + aux.InPort().Connect(engine.OutPort()); + + // has to be done after connecting components! + engine.IdleController.RequestPort = clutch.IdleControlPort; + + requestPort = gearbox.OutPort(); + + //vehicleContainer.DataWriter = new ModalDataWriter("engine_idle_test.csv"); + var dataWriter = new MockModalDataWriter(); + container.DataWriter = dataWriter; + } } } \ No newline at end of file diff --git a/VectoCoreTest/TestData/Integration/DriverStrategy/Cycles/Cycle_Accelerate_0_85_level_5kWAux.vdri b/VectoCoreTest/TestData/Integration/DriverStrategy/Cycles/Cycle_Accelerate_0_85_level_5kWAux.vdri new file mode 100644 index 0000000000..1f9c904ae2 --- /dev/null +++ b/VectoCoreTest/TestData/Integration/DriverStrategy/Cycles/Cycle_Accelerate_0_85_level_5kWAux.vdri @@ -0,0 +1,1002 @@ +<s>,<v>,<grad>,<stop>,<Padd> +0,0,0,2,5 +1,85,0,0,5 +2,85,0,0,5 +3,85,0,0,5 +4,85,0,0,5 +5,85,0,0,5 +6,85,0,0,5 +7,85,0,0,5 +8,85,0,0,5 +9,85,0,0,5 +10,85,0,0,5 +11,85,0,0,5 +12,85,0,0,5 +13,85,0,0,5 +14,85,0,0,5 +15,85,0,0,5 +16,85,0,0,5 +17,85,0,0,5 +18,85,0,0,5 +19,85,0,0,5 +20,85,0,0,5 +21,85,0,0,5 +22,85,0,0,5 +23,85,0,0,5 +24,85,0,0,5 +25,85,0,0,5 +26,85,0,0,5 +27,85,0,0,5 +28,85,0,0,5 +29,85,0,0,5 +30,85,0,0,5 +31,85,0,0,5 +32,85,0,0,5 +33,85,0,0,5 +34,85,0,0,5 +35,85,0,0,5 +36,85,0,0,5 +37,85,0,0,5 +38,85,0,0,5 +39,85,0,0,5 +40,85,0,0,5 +41,85,0,0,5 +42,85,0,0,5 +43,85,0,0,5 +44,85,0,0,5 +45,85,0,0,5 +46,85,0,0,5 +47,85,0,0,5 +48,85,0,0,5 +49,85,0,0,5 +50,85,0,0,5 +51,85,0,0,5 +52,85,0,0,5 +53,85,0,0,5 +54,85,0,0,5 +55,85,0,0,5 +56,85,0,0,5 +57,85,0,0,5 +58,85,0,0,5 +59,85,0,0,5 +60,85,0,0,5 +61,85,0,0,5 +62,85,0,0,5 +63,85,0,0,5 +64,85,0,0,5 +65,85,0,0,5 +66,85,0,0,5 +67,85,0,0,5 +68,85,0,0,5 +69,85,0,0,5 +70,85,0,0,5 +71,85,0,0,5 +72,85,0,0,5 +73,85,0,0,5 +74,85,0,0,5 +75,85,0,0,5 +76,85,0,0,5 +77,85,0,0,5 +78,85,0,0,5 +79,85,0,0,5 +80,85,0,0,5 +81,85,0,0,5 +82,85,0,0,5 +83,85,0,0,5 +84,85,0,0,5 +85,85,0,0,5 +86,85,0,0,5 +87,85,0,0,5 +88,85,0,0,5 +89,85,0,0,5 +90,85,0,0,5 +91,85,0,0,5 +92,85,0,0,5 +93,85,0,0,5 +94,85,0,0,5 +95,85,0,0,5 +96,85,0,0,5 +97,85,0,0,5 +98,85,0,0,5 +99,85,0,0,5 +100,85,0,0,5 +101,85,0,0,5 +102,85,0,0,5 +103,85,0,0,5 +104,85,0,0,5 +105,85,0,0,5 +106,85,0,0,5 +107,85,0,0,5 +108,85,0,0,5 +109,85,0,0,5 +110,85,0,0,5 +111,85,0,0,5 +112,85,0,0,5 +113,85,0,0,5 +114,85,0,0,5 +115,85,0,0,5 +116,85,0,0,5 +117,85,0,0,5 +118,85,0,0,5 +119,85,0,0,5 +120,85,0,0,5 +121,85,0,0,5 +122,85,0,0,5 +123,85,0,0,5 +124,85,0,0,5 +125,85,0,0,5 +126,85,0,0,5 +127,85,0,0,5 +128,85,0,0,5 +129,85,0,0,5 +130,85,0,0,5 +131,85,0,0,5 +132,85,0,0,5 +133,85,0,0,5 +134,85,0,0,5 +135,85,0,0,5 +136,85,0,0,5 +137,85,0,0,5 +138,85,0,0,5 +139,85,0,0,5 +140,85,0,0,5 +141,85,0,0,5 +142,85,0,0,5 +143,85,0,0,5 +144,85,0,0,5 +145,85,0,0,5 +146,85,0,0,5 +147,85,0,0,5 +148,85,0,0,5 +149,85,0,0,5 +150,85,0,0,5 +151,85,0,0,5 +152,85,0,0,5 +153,85,0,0,5 +154,85,0,0,5 +155,85,0,0,5 +156,85,0,0,5 +157,85,0,0,5 +158,85,0,0,5 +159,85,0,0,5 +160,85,0,0,5 +161,85,0,0,5 +162,85,0,0,5 +163,85,0,0,5 +164,85,0,0,5 +165,85,0,0,5 +166,85,0,0,5 +167,85,0,0,5 +168,85,0,0,5 +169,85,0,0,5 +170,85,0,0,5 +171,85,0,0,5 +172,85,0,0,5 +173,85,0,0,5 +174,85,0,0,5 +175,85,0,0,5 +176,85,0,0,5 +177,85,0,0,5 +178,85,0,0,5 +179,85,0,0,5 +180,85,0,0,5 +181,85,0,0,5 +182,85,0,0,5 +183,85,0,0,5 +184,85,0,0,5 +185,85,0,0,5 +186,85,0,0,5 +187,85,0,0,5 +188,85,0,0,5 +189,85,0,0,5 +190,85,0,0,5 +191,85,0,0,5 +192,85,0,0,5 +193,85,0,0,5 +194,85,0,0,5 +195,85,0,0,5 +196,85,0,0,5 +197,85,0,0,5 +198,85,0,0,5 +199,85,0,0,5 +200,85,0,0,5 +201,85,0,0,5 +202,85,0,0,5 +203,85,0,0,5 +204,85,0,0,5 +205,85,0,0,5 +206,85,0,0,5 +207,85,0,0,5 +208,85,0,0,5 +209,85,0,0,5 +210,85,0,0,5 +211,85,0,0,5 +212,85,0,0,5 +213,85,0,0,5 +214,85,0,0,5 +215,85,0,0,5 +216,85,0,0,5 +217,85,0,0,5 +218,85,0,0,5 +219,85,0,0,5 +220,85,0,0,5 +221,85,0,0,5 +222,85,0,0,5 +223,85,0,0,5 +224,85,0,0,5 +225,85,0,0,5 +226,85,0,0,5 +227,85,0,0,5 +228,85,0,0,5 +229,85,0,0,5 +230,85,0,0,5 +231,85,0,0,5 +232,85,0,0,5 +233,85,0,0,5 +234,85,0,0,5 +235,85,0,0,5 +236,85,0,0,5 +237,85,0,0,5 +238,85,0,0,5 +239,85,0,0,5 +240,85,0,0,5 +241,85,0,0,5 +242,85,0,0,5 +243,85,0,0,5 +244,85,0,0,5 +245,85,0,0,5 +246,85,0,0,5 +247,85,0,0,5 +248,85,0,0,5 +249,85,0,0,5 +250,85,0,0,5 +251,85,0,0,5 +252,85,0,0,5 +253,85,0,0,5 +254,85,0,0,5 +255,85,0,0,5 +256,85,0,0,5 +257,85,0,0,5 +258,85,0,0,5 +259,85,0,0,5 +260,85,0,0,5 +261,85,0,0,5 +262,85,0,0,5 +263,85,0,0,5 +264,85,0,0,5 +265,85,0,0,5 +266,85,0,0,5 +267,85,0,0,5 +268,85,0,0,5 +269,85,0,0,5 +270,85,0,0,5 +271,85,0,0,5 +272,85,0,0,5 +273,85,0,0,5 +274,85,0,0,5 +275,85,0,0,5 +276,85,0,0,5 +277,85,0,0,5 +278,85,0,0,5 +279,85,0,0,5 +280,85,0,0,5 +281,85,0,0,5 +282,85,0,0,5 +283,85,0,0,5 +284,85,0,0,5 +285,85,0,0,5 +286,85,0,0,5 +287,85,0,0,5 +288,85,0,0,5 +289,85,0,0,5 +290,85,0,0,5 +291,85,0,0,5 +292,85,0,0,5 +293,85,0,0,5 +294,85,0,0,5 +295,85,0,0,5 +296,85,0,0,5 +297,85,0,0,5 +298,85,0,0,5 +299,85,0,0,5 +300,85,0,0,5 +301,85,0,0,5 +302,85,0,0,5 +303,85,0,0,5 +304,85,0,0,5 +305,85,0,0,5 +306,85,0,0,5 +307,85,0,0,5 +308,85,0,0,5 +309,85,0,0,5 +310,85,0,0,5 +311,85,0,0,5 +312,85,0,0,5 +313,85,0,0,5 +314,85,0,0,5 +315,85,0,0,5 +316,85,0,0,5 +317,85,0,0,5 +318,85,0,0,5 +319,85,0,0,5 +320,85,0,0,5 +321,85,0,0,5 +322,85,0,0,5 +323,85,0,0,5 +324,85,0,0,5 +325,85,0,0,5 +326,85,0,0,5 +327,85,0,0,5 +328,85,0,0,5 +329,85,0,0,5 +330,85,0,0,5 +331,85,0,0,5 +332,85,0,0,5 +333,85,0,0,5 +334,85,0,0,5 +335,85,0,0,5 +336,85,0,0,5 +337,85,0,0,5 +338,85,0,0,5 +339,85,0,0,5 +340,85,0,0,5 +341,85,0,0,5 +342,85,0,0,5 +343,85,0,0,5 +344,85,0,0,5 +345,85,0,0,5 +346,85,0,0,5 +347,85,0,0,5 +348,85,0,0,5 +349,85,0,0,5 +350,85,0,0,5 +351,85,0,0,5 +352,85,0,0,5 +353,85,0,0,5 +354,85,0,0,5 +355,85,0,0,5 +356,85,0,0,5 +357,85,0,0,5 +358,85,0,0,5 +359,85,0,0,5 +360,85,0,0,5 +361,85,0,0,5 +362,85,0,0,5 +363,85,0,0,5 +364,85,0,0,5 +365,85,0,0,5 +366,85,0,0,5 +367,85,0,0,5 +368,85,0,0,5 +369,85,0,0,5 +370,85,0,0,5 +371,85,0,0,5 +372,85,0,0,5 +373,85,0,0,5 +374,85,0,0,5 +375,85,0,0,5 +376,85,0,0,5 +377,85,0,0,5 +378,85,0,0,5 +379,85,0,0,5 +380,85,0,0,5 +381,85,0,0,5 +382,85,0,0,5 +383,85,0,0,5 +384,85,0,0,5 +385,85,0,0,5 +386,85,0,0,5 +387,85,0,0,5 +388,85,0,0,5 +389,85,0,0,5 +390,85,0,0,5 +391,85,0,0,5 +392,85,0,0,5 +393,85,0,0,5 +394,85,0,0,5 +395,85,0,0,5 +396,85,0,0,5 +397,85,0,0,5 +398,85,0,0,5 +399,85,0,0,5 +400,85,0,0,5 +401,85,0,0,5 +402,85,0,0,5 +403,85,0,0,5 +404,85,0,0,5 +405,85,0,0,5 +406,85,0,0,5 +407,85,0,0,5 +408,85,0,0,5 +409,85,0,0,5 +410,85,0,0,5 +411,85,0,0,5 +412,85,0,0,5 +413,85,0,0,5 +414,85,0,0,5 +415,85,0,0,5 +416,85,0,0,5 +417,85,0,0,5 +418,85,0,0,5 +419,85,0,0,5 +420,85,0,0,5 +421,85,0,0,5 +422,85,0,0,5 +423,85,0,0,5 +424,85,0,0,5 +425,85,0,0,5 +426,85,0,0,5 +427,85,0,0,5 +428,85,0,0,5 +429,85,0,0,5 +430,85,0,0,5 +431,85,0,0,5 +432,85,0,0,5 +433,85,0,0,5 +434,85,0,0,5 +435,85,0,0,5 +436,85,0,0,5 +437,85,0,0,5 +438,85,0,0,5 +439,85,0,0,5 +440,85,0,0,5 +441,85,0,0,5 +442,85,0,0,5 +443,85,0,0,5 +444,85,0,0,5 +445,85,0,0,5 +446,85,0,0,5 +447,85,0,0,5 +448,85,0,0,5 +449,85,0,0,5 +450,85,0,0,5 +451,85,0,0,5 +452,85,0,0,5 +453,85,0,0,5 +454,85,0,0,5 +455,85,0,0,5 +456,85,0,0,5 +457,85,0,0,5 +458,85,0,0,5 +459,85,0,0,5 +460,85,0,0,5 +461,85,0,0,5 +462,85,0,0,5 +463,85,0,0,5 +464,85,0,0,5 +465,85,0,0,5 +466,85,0,0,5 +467,85,0,0,5 +468,85,0,0,5 +469,85,0,0,5 +470,85,0,0,5 +471,85,0,0,5 +472,85,0,0,5 +473,85,0,0,5 +474,85,0,0,5 +475,85,0,0,5 +476,85,0,0,5 +477,85,0,0,5 +478,85,0,0,5 +479,85,0,0,5 +480,85,0,0,5 +481,85,0,0,5 +482,85,0,0,5 +483,85,0,0,5 +484,85,0,0,5 +485,85,0,0,5 +486,85,0,0,5 +487,85,0,0,5 +488,85,0,0,5 +489,85,0,0,5 +490,85,0,0,5 +491,85,0,0,5 +492,85,0,0,5 +493,85,0,0,5 +494,85,0,0,5 +495,85,0,0,5 +496,85,0,0,5 +497,85,0,0,5 +498,85,0,0,5 +499,85,0,0,5 +500,85,0,0,5 +501,85,0,0,5 +502,85,0,0,5 +503,85,0,0,5 +504,85,0,0,5 +505,85,0,0,5 +506,85,0,0,5 +507,85,0,0,5 +508,85,0,0,5 +509,85,0,0,5 +510,85,0,0,5 +511,85,0,0,5 +512,85,0,0,5 +513,85,0,0,5 +514,85,0,0,5 +515,85,0,0,5 +516,85,0,0,5 +517,85,0,0,5 +518,85,0,0,5 +519,85,0,0,5 +520,85,0,0,5 +521,85,0,0,5 +522,85,0,0,5 +523,85,0,0,5 +524,85,0,0,5 +525,85,0,0,5 +526,85,0,0,5 +527,85,0,0,5 +528,85,0,0,5 +529,85,0,0,5 +530,85,0,0,5 +531,85,0,0,5 +532,85,0,0,5 +533,85,0,0,5 +534,85,0,0,5 +535,85,0,0,5 +536,85,0,0,5 +537,85,0,0,5 +538,85,0,0,5 +539,85,0,0,5 +540,85,0,0,5 +541,85,0,0,5 +542,85,0,0,5 +543,85,0,0,5 +544,85,0,0,5 +545,85,0,0,5 +546,85,0,0,5 +547,85,0,0,5 +548,85,0,0,5 +549,85,0,0,5 +550,85,0,0,5 +551,85,0,0,5 +552,85,0,0,5 +553,85,0,0,5 +554,85,0,0,5 +555,85,0,0,5 +556,85,0,0,5 +557,85,0,0,5 +558,85,0,0,5 +559,85,0,0,5 +560,85,0,0,5 +561,85,0,0,5 +562,85,0,0,5 +563,85,0,0,5 +564,85,0,0,5 +565,85,0,0,5 +566,85,0,0,5 +567,85,0,0,5 +568,85,0,0,5 +569,85,0,0,5 +570,85,0,0,5 +571,85,0,0,5 +572,85,0,0,5 +573,85,0,0,5 +574,85,0,0,5 +575,85,0,0,5 +576,85,0,0,5 +577,85,0,0,5 +578,85,0,0,5 +579,85,0,0,5 +580,85,0,0,5 +581,85,0,0,5 +582,85,0,0,5 +583,85,0,0,5 +584,85,0,0,5 +585,85,0,0,5 +586,85,0,0,5 +587,85,0,0,5 +588,85,0,0,5 +589,85,0,0,5 +590,85,0,0,5 +591,85,0,0,5 +592,85,0,0,5 +593,85,0,0,5 +594,85,0,0,5 +595,85,0,0,5 +596,85,0,0,5 +597,85,0,0,5 +598,85,0,0,5 +599,85,0,0,5 +600,85,0,0,5 +601,85,0,0,5 +602,85,0,0,5 +603,85,0,0,5 +604,85,0,0,5 +605,85,0,0,5 +606,85,0,0,5 +607,85,0,0,5 +608,85,0,0,5 +609,85,0,0,5 +610,85,0,0,5 +611,85,0,0,5 +612,85,0,0,5 +613,85,0,0,5 +614,85,0,0,5 +615,85,0,0,5 +616,85,0,0,5 +617,85,0,0,5 +618,85,0,0,5 +619,85,0,0,5 +620,85,0,0,5 +621,85,0,0,5 +622,85,0,0,5 +623,85,0,0,5 +624,85,0,0,5 +625,85,0,0,5 +626,85,0,0,5 +627,85,0,0,5 +628,85,0,0,5 +629,85,0,0,5 +630,85,0,0,5 +631,85,0,0,5 +632,85,0,0,5 +633,85,0,0,5 +634,85,0,0,5 +635,85,0,0,5 +636,85,0,0,5 +637,85,0,0,5 +638,85,0,0,5 +639,85,0,0,5 +640,85,0,0,5 +641,85,0,0,5 +642,85,0,0,5 +643,85,0,0,5 +644,85,0,0,5 +645,85,0,0,5 +646,85,0,0,5 +647,85,0,0,5 +648,85,0,0,5 +649,85,0,0,5 +650,85,0,0,5 +651,85,0,0,5 +652,85,0,0,5 +653,85,0,0,5 +654,85,0,0,5 +655,85,0,0,5 +656,85,0,0,5 +657,85,0,0,5 +658,85,0,0,5 +659,85,0,0,5 +660,85,0,0,5 +661,85,0,0,5 +662,85,0,0,5 +663,85,0,0,5 +664,85,0,0,5 +665,85,0,0,5 +666,85,0,0,5 +667,85,0,0,5 +668,85,0,0,5 +669,85,0,0,5 +670,85,0,0,5 +671,85,0,0,5 +672,85,0,0,5 +673,85,0,0,5 +674,85,0,0,5 +675,85,0,0,5 +676,85,0,0,5 +677,85,0,0,5 +678,85,0,0,5 +679,85,0,0,5 +680,85,0,0,5 +681,85,0,0,5 +682,85,0,0,5 +683,85,0,0,5 +684,85,0,0,5 +685,85,0,0,5 +686,85,0,0,5 +687,85,0,0,5 +688,85,0,0,5 +689,85,0,0,5 +690,85,0,0,5 +691,85,0,0,5 +692,85,0,0,5 +693,85,0,0,5 +694,85,0,0,5 +695,85,0,0,5 +696,85,0,0,5 +697,85,0,0,5 +698,85,0,0,5 +699,85,0,0,5 +700,85,0,0,5 +701,85,0,0,5 +702,85,0,0,5 +703,85,0,0,5 +704,85,0,0,5 +705,85,0,0,5 +706,85,0,0,5 +707,85,0,0,5 +708,85,0,0,5 +709,85,0,0,5 +710,85,0,0,5 +711,85,0,0,5 +712,85,0,0,5 +713,85,0,0,5 +714,85,0,0,5 +715,85,0,0,5 +716,85,0,0,5 +717,85,0,0,5 +718,85,0,0,5 +719,85,0,0,5 +720,85,0,0,5 +721,85,0,0,5 +722,85,0,0,5 +723,85,0,0,5 +724,85,0,0,5 +725,85,0,0,5 +726,85,0,0,5 +727,85,0,0,5 +728,85,0,0,5 +729,85,0,0,5 +730,85,0,0,5 +731,85,0,0,5 +732,85,0,0,5 +733,85,0,0,5 +734,85,0,0,5 +735,85,0,0,5 +736,85,0,0,5 +737,85,0,0,5 +738,85,0,0,5 +739,85,0,0,5 +740,85,0,0,5 +741,85,0,0,5 +742,85,0,0,5 +743,85,0,0,5 +744,85,0,0,5 +745,85,0,0,5 +746,85,0,0,5 +747,85,0,0,5 +748,85,0,0,5 +749,85,0,0,5 +750,85,0,0,5 +751,85,0,0,5 +752,85,0,0,5 +753,85,0,0,5 +754,85,0,0,5 +755,85,0,0,5 +756,85,0,0,5 +757,85,0,0,5 +758,85,0,0,5 +759,85,0,0,5 +760,85,0,0,5 +761,85,0,0,5 +762,85,0,0,5 +763,85,0,0,5 +764,85,0,0,5 +765,85,0,0,5 +766,85,0,0,5 +767,85,0,0,5 +768,85,0,0,5 +769,85,0,0,5 +770,85,0,0,5 +771,85,0,0,5 +772,85,0,0,5 +773,85,0,0,5 +774,85,0,0,5 +775,85,0,0,5 +776,85,0,0,5 +777,85,0,0,5 +778,85,0,0,5 +779,85,0,0,5 +780,85,0,0,5 +781,85,0,0,5 +782,85,0,0,5 +783,85,0,0,5 +784,85,0,0,5 +785,85,0,0,5 +786,85,0,0,5 +787,85,0,0,5 +788,85,0,0,5 +789,85,0,0,5 +790,85,0,0,5 +791,85,0,0,5 +792,85,0,0,5 +793,85,0,0,5 +794,85,0,0,5 +795,85,0,0,5 +796,85,0,0,5 +797,85,0,0,5 +798,85,0,0,5 +799,85,0,0,5 +800,85,0,0,5 +801,85,0,0,5 +802,85,0,0,5 +803,85,0,0,5 +804,85,0,0,5 +805,85,0,0,5 +806,85,0,0,5 +807,85,0,0,5 +808,85,0,0,5 +809,85,0,0,5 +810,85,0,0,5 +811,85,0,0,5 +812,85,0,0,5 +813,85,0,0,5 +814,85,0,0,5 +815,85,0,0,5 +816,85,0,0,5 +817,85,0,0,5 +818,85,0,0,5 +819,85,0,0,5 +820,85,0,0,5 +821,85,0,0,5 +822,85,0,0,5 +823,85,0,0,5 +824,85,0,0,5 +825,85,0,0,5 +826,85,0,0,5 +827,85,0,0,5 +828,85,0,0,5 +829,85,0,0,5 +830,85,0,0,5 +831,85,0,0,5 +832,85,0,0,5 +833,85,0,0,5 +834,85,0,0,5 +835,85,0,0,5 +836,85,0,0,5 +837,85,0,0,5 +838,85,0,0,5 +839,85,0,0,5 +840,85,0,0,5 +841,85,0,0,5 +842,85,0,0,5 +843,85,0,0,5 +844,85,0,0,5 +845,85,0,0,5 +846,85,0,0,5 +847,85,0,0,5 +848,85,0,0,5 +849,85,0,0,5 +850,85,0,0,5 +851,85,0,0,5 +852,85,0,0,5 +853,85,0,0,5 +854,85,0,0,5 +855,85,0,0,5 +856,85,0,0,5 +857,85,0,0,5 +858,85,0,0,5 +859,85,0,0,5 +860,85,0,0,5 +861,85,0,0,5 +862,85,0,0,5 +863,85,0,0,5 +864,85,0,0,5 +865,85,0,0,5 +866,85,0,0,5 +867,85,0,0,5 +868,85,0,0,5 +869,85,0,0,5 +870,85,0,0,5 +871,85,0,0,5 +872,85,0,0,5 +873,85,0,0,5 +874,85,0,0,5 +875,85,0,0,5 +876,85,0,0,5 +877,85,0,0,5 +878,85,0,0,5 +879,85,0,0,5 +880,85,0,0,5 +881,85,0,0,5 +882,85,0,0,5 +883,85,0,0,5 +884,85,0,0,5 +885,85,0,0,5 +886,85,0,0,5 +887,85,0,0,5 +888,85,0,0,5 +889,85,0,0,5 +890,85,0,0,5 +891,85,0,0,5 +892,85,0,0,5 +893,85,0,0,5 +894,85,0,0,5 +895,85,0,0,5 +896,85,0,0,5 +897,85,0,0,5 +898,85,0,0,5 +899,85,0,0,5 +900,85,0,0,5 +901,85,0,0,5 +902,85,0,0,5 +903,85,0,0,5 +904,85,0,0,5 +905,85,0,0,5 +906,85,0,0,5 +907,85,0,0,5 +908,85,0,0,5 +909,85,0,0,5 +910,85,0,0,5 +911,85,0,0,5 +912,85,0,0,5 +913,85,0,0,5 +914,85,0,0,5 +915,85,0,0,5 +916,85,0,0,5 +917,85,0,0,5 +918,85,0,0,5 +919,85,0,0,5 +920,85,0,0,5 +921,85,0,0,5 +922,85,0,0,5 +923,85,0,0,5 +924,85,0,0,5 +925,85,0,0,5 +926,85,0,0,5 +927,85,0,0,5 +928,85,0,0,5 +929,85,0,0,5 +930,85,0,0,5 +931,85,0,0,5 +932,85,0,0,5 +933,85,0,0,5 +934,85,0,0,5 +935,85,0,0,5 +936,85,0,0,5 +937,85,0,0,5 +938,85,0,0,5 +939,85,0,0,5 +940,85,0,0,5 +941,85,0,0,5 +942,85,0,0,5 +943,85,0,0,5 +944,85,0,0,5 +945,85,0,0,5 +946,85,0,0,5 +947,85,0,0,5 +948,85,0,0,5 +949,85,0,0,5 +950,85,0,0,5 +951,85,0,0,5 +952,85,0,0,5 +953,85,0,0,5 +954,85,0,0,5 +955,85,0,0,5 +956,85,0,0,5 +957,85,0,0,5 +958,85,0,0,5 +959,85,0,0,5 +960,85,0,0,5 +961,85,0,0,5 +962,85,0,0,5 +963,85,0,0,5 +964,85,0,0,5 +965,85,0,0,5 +966,85,0,0,5 +967,85,0,0,5 +968,85,0,0,5 +969,85,0,0,5 +970,85,0,0,5 +971,85,0,0,5 +972,85,0,0,5 +973,85,0,0,5 +974,85,0,0,5 +975,85,0,0,5 +976,85,0,0,5 +977,85,0,0,5 +978,85,0,0,5 +979,85,0,0,5 +980,85,0,0,5 +981,85,0,0,5 +982,85,0,0,5 +983,85,0,0,5 +984,85,0,0,5 +985,85,0,0,5 +986,85,0,0,5 +987,85,0,0,5 +988,85,0,0,5 +989,85,0,0,5 +990,85,0,0,5 +991,85,0,0,5 +992,85,0,0,5 +993,85,0,0,5 +994,85,0,0,5 +995,85,0,0,5 +996,85,0,0,5 +997,85,0,0,5 +998,85,0,0,5 +999,85,0,0,5 +1000,85,0,0,5 \ No newline at end of file diff --git a/VectoCoreTest/TestData/Integration/DriverStrategy/Vecto2.2/40t Truck/40t_Long_Haul_Truck_EngineIdle.vecto b/VectoCoreTest/TestData/Integration/DriverStrategy/Vecto2.2/40t Truck/40t_Long_Haul_Truck_EngineIdle.vecto new file mode 100644 index 0000000000..c1376af912 --- /dev/null +++ b/VectoCoreTest/TestData/Integration/DriverStrategy/Vecto2.2/40t Truck/40t_Long_Haul_Truck_EngineIdle.vecto @@ -0,0 +1,36 @@ +{ + "Header": { + "CreatedBy": " ()", + "Date": "9/28/2015 8:54:35 AM", + "AppVersion": "2.2", + "FileVersion": 2 + }, + "Body": { + "SavedInDeclMode": false, + "VehicleFile": "40t_Long_Haul_Truck.vveh", + "EngineFile": "40t_Long_Haul_Truck.veng", + "GearboxFile": "40t_Long_Haul_Truck_EngineIdle.vgbx", + "Cycles": [ + "C:\\Workspaces\\VisualStudio\\VECTO_quam\\VectoCoreTest\\TestData\\Integration\\DriverStrategy\\Cycles\\Cycle_Accelerate_0_85_level_5kWAux.vdri" + ], + "VACC": "Truck.vacc", + "EngineOnlyMode": false, + "StartStop": { + "Enabled": false, + "MaxSpeed": 5.0, + "MinTime": 5.0, + "Delay": 5 + }, + "LAC": { + "Enabled": true, + "Dec": -0.5, + "MinSpeed": 50.0 + }, + "OverSpeedEcoRoll": { + "Mode": "Off", + "MinSpeed": 50.0, + "OverSpeed": 5.0, + "UnderSpeed": 5.0 + } + } +} \ No newline at end of file diff --git a/VectoCoreTest/TestData/Integration/DriverStrategy/Vecto2.2/40t Truck/40t_Long_Haul_Truck_EngineIdle.vgbx b/VectoCoreTest/TestData/Integration/DriverStrategy/Vecto2.2/40t Truck/40t_Long_Haul_Truck_EngineIdle.vgbx new file mode 100644 index 0000000000..78293971c0 --- /dev/null +++ b/VectoCoreTest/TestData/Integration/DriverStrategy/Vecto2.2/40t Truck/40t_Long_Haul_Truck_EngineIdle.vgbx @@ -0,0 +1,118 @@ +{ + "Header": { + "CreatedBy": " ()", + "Date": "9/28/2015 8:54:32 AM", + "AppVersion": "2.2", + "FileVersion": 5 + }, + "Body": { + "SavedInDeclMode": false, + "ModelName": "Generic 40t Long Haul Truck", + "Inertia": 0.0, + "TracInt": 10.0, + "Gears": [ + { + "Ratio": 2.59, + "LossMap": "Axle 40t Truck.vtlm" + }, + { + "Ratio": 14.93, + "LossMap": "Indirect Gear.vtlm", + "TCactive": false, + "ShiftPolygon": "ShiftPolygons.vgbs", + "FullLoadCurve": "<NOFILE>" + }, + { + "Ratio": 11.64, + "LossMap": "Indirect Gear.vtlm", + "TCactive": false, + "ShiftPolygon": "ShiftPolygons.vgbs", + "FullLoadCurve": "<NOFILE>" + }, + { + "Ratio": 9.02, + "LossMap": "Indirect Gear.vtlm", + "TCactive": false, + "ShiftPolygon": "ShiftPolygons.vgbs", + "FullLoadCurve": "<NOFILE>" + }, + { + "Ratio": 7.04, + "LossMap": "Indirect Gear.vtlm", + "TCactive": false, + "ShiftPolygon": "ShiftPolygons.vgbs", + "FullLoadCurve": "<NOFILE>" + }, + { + "Ratio": 5.64, + "LossMap": "Indirect Gear.vtlm", + "TCactive": false, + "ShiftPolygon": "ShiftPolygons.vgbs", + "FullLoadCurve": "<NOFILE>" + }, + { + "Ratio": 4.4, + "LossMap": "Indirect Gear.vtlm", + "TCactive": false, + "ShiftPolygon": "ShiftPolygons.vgbs", + "FullLoadCurve": "<NOFILE>" + }, + { + "Ratio": 3.39, + "LossMap": "Indirect Gear.vtlm", + "TCactive": false, + "ShiftPolygon": "ShiftPolygons.vgbs", + "FullLoadCurve": "<NOFILE>" + }, + { + "Ratio": 2.65, + "LossMap": "Indirect Gear.vtlm", + "TCactive": false, + "ShiftPolygon": "ShiftPolygons.vgbs", + "FullLoadCurve": "<NOFILE>" + }, + { + "Ratio": 2.05, + "LossMap": "Indirect Gear.vtlm", + "TCactive": false, + "ShiftPolygon": "ShiftPolygons.vgbs", + "FullLoadCurve": "<NOFILE>" + }, + { + "Ratio": 1.6, + "LossMap": "Indirect Gear.vtlm", + "TCactive": false, + "ShiftPolygon": "ShiftPolygons.vgbs", + "FullLoadCurve": "<NOFILE>" + }, + { + "Ratio": 1.28, + "LossMap": "Indirect Gear.vtlm", + "TCactive": false, + "ShiftPolygon": "ShiftPolygons.vgbs", + "FullLoadCurve": "<NOFILE>" + }, + { + "Ratio": 1.0, + "LossMap": "Indirect Gear.vtlm", + "TCactive": false, + "ShiftPolygon": "ShiftPolygons.vgbs", + "FullLoadCurve": "<NOFILE>" + } + ], + "TqReserve": 20.0, + "SkipGears": true, + "ShiftTime": 2, + "EaryShiftUp": true, + "StartTqReserve": 20.0, + "StartSpeed": 2.0, + "StartAcc": 0.6, + "GearboxType": "AMT", + "TorqueConverter": { + "Enabled": false, + "File": "<NOFILE>", + "RefRPM": 0.0, + "Inertia": 0.0 + } + } +} \ No newline at end of file -- GitLab