diff --git a/VectoCore/VectoCoreTest/Models/Simulation/AuxTests.cs b/VectoCore/VectoCoreTest/Models/Simulation/AuxTests.cs index 1d710ad7fb2bbdbd3376de50c9ac946815a3e11d..adf6dbfddd579485e4990d3e2ed42db5323b69c6 100644 --- a/VectoCore/VectoCoreTest/Models/Simulation/AuxTests.cs +++ b/VectoCore/VectoCoreTest/Models/Simulation/AuxTests.cs @@ -113,6 +113,7 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation modData[ModalResultField.dist] = i.SI<Meter>(); modData[ModalResultField.P_eng_out] = 0.SI<Watt>(); modData[ModalResultField.acc] = 0.SI<MeterPerSquareSecond>(); + modData[ModalResultField.IgnitionOn] = false; container.CommitSimulationStep(t, dt); t += dt; } diff --git a/VectoCore/VectoCoreTest/Models/Simulation/MeasuredSpeedModeTest.cs b/VectoCore/VectoCoreTest/Models/Simulation/MeasuredSpeedModeTest.cs index db95ae24f7f424bfa83239c90494596a612de075..8c58a0af86999246b70090106a6fb8978dd500c2 100644 --- a/VectoCore/VectoCoreTest/Models/Simulation/MeasuredSpeedModeTest.cs +++ b/VectoCore/VectoCoreTest/Models/Simulation/MeasuredSpeedModeTest.cs @@ -257,10 +257,19 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation EngineData = new CombustionEngineData { IdleSpeed = 560.RPMtoRad(), + EngineStartTime = DeclarationData.Engine.DefaultEngineStartTime, + Inertia = 1.SI<KilogramSquareMeter>(), FullLoadCurves = new Dictionary<uint, EngineFullLoadCurve>() { { 0, fullLoadCurve }, { 1, fullLoadCurve } } }, GearboxData = new GearboxData { Gears = new Dictionary<uint, GearData> { { 1, new GearData { Ratio = 6.2 } } } }, - Retarder = new RetarderData() + Retarder = new RetarderData(), + DriverData = new DriverData() { + EngineStopStart = new DriverData.EngineStopStartData() { + UtilityFactor = DeclarationData.Driver.EngineStopStartUtilityFactor, + EngineOffStandStillThreshold = DeclarationData.Driver.EngineOffStandStillThreshold, + MaxEngineOffTimespan = DeclarationData.Driver.MaxEngineOffTimespan + } + } }; // call builder (actual test) @@ -319,6 +328,8 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation AxleGearData = new AxleGearData { AxleGear = new GearData { Ratio = 2.3 } }, EngineData = new CombustionEngineData { IdleSpeed = 560.RPMtoRad(), + Inertia = 1.SI<KilogramSquareMeter>(), + EngineStartTime = DeclarationData.Engine.DefaultEngineStartTime, FullLoadCurves = new Dictionary<uint, EngineFullLoadCurve> { { 0, fullLoadCurve }, { 1, fullLoadCurve }, @@ -334,7 +345,14 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation }, StartSpeed = 2.SI<MeterPerSecond>() }, - Retarder = new RetarderData() + Retarder = new RetarderData(), + DriverData = new DriverData() { + EngineStopStart = new DriverData.EngineStopStartData() { + EngineOffStandStillThreshold = DeclarationData.Driver.EngineOffStandStillThreshold, + UtilityFactor = DeclarationData.Driver.EngineStopStartUtilityFactor, + MaxEngineOffTimespan = DeclarationData.Driver.MaxEngineOffTimespan, + } + } }; // call builder (actual test) diff --git a/VectoCore/VectoCoreTest/Models/Simulation/PwheelModeTests.cs b/VectoCore/VectoCoreTest/Models/Simulation/PwheelModeTests.cs index c48edcbe7ac972e1bd6ba8a28c146066f379ca39..4d436cc724111c5bbb2fd7ad67b3e545dc1b9466 100644 --- a/VectoCore/VectoCoreTest/Models/Simulation/PwheelModeTests.cs +++ b/VectoCore/VectoCoreTest/Models/Simulation/PwheelModeTests.cs @@ -48,6 +48,7 @@ using TUGraz.VectoCore.Models.SimulationComponent.Data.Engine; using TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox; using TUGraz.VectoCore.Models.SimulationComponent.Impl; using NUnit.Framework; +using TUGraz.VectoCore.Models.Declaration; namespace TUGraz.VectoCore.Tests.Models.Simulation { @@ -160,10 +161,19 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation EngineData = new CombustionEngineData { IdleSpeed = 560.RPMtoRad(), + Inertia = 1.SI<KilogramSquareMeter>(), + EngineStartTime = DeclarationData.Engine.DefaultEngineStartTime, FullLoadCurves = new Dictionary<uint, EngineFullLoadCurve>() { { 0, fullLoadCurve }, { 1, fullLoadCurve } } }, GearboxData = new GearboxData { Gears = new Dictionary<uint, GearData> { { 2, new GearData { Ratio = 3.5 } } } }, - Retarder = new RetarderData() + Retarder = new RetarderData(), + DriverData = new DriverData() { + EngineStopStart = new DriverData.EngineStopStartData() { + UtilityFactor = DeclarationData.Driver.EngineStopStartUtilityFactor, + EngineOffStandStillThreshold = DeclarationData.Driver.EngineOffStandStillThreshold, + MaxEngineOffTimespan = DeclarationData.Driver.MaxEngineOffTimespan + } + } }; // call builder (actual test) diff --git a/VectoCore/VectoCoreTest/Models/SimulationComponent/ClutchTest.cs b/VectoCore/VectoCoreTest/Models/SimulationComponent/ClutchTest.cs index 8f51dab84beca86a9335548e74d2ef9907f6f98e..86ee7e8dccfddaad6d4db3737d2730c3cdd2cd78 100644 --- a/VectoCore/VectoCoreTest/Models/SimulationComponent/ClutchTest.cs +++ b/VectoCore/VectoCoreTest/Models/SimulationComponent/ClutchTest.cs @@ -159,7 +159,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent } } - public class MockEngine : VectoSimulationComponent, IEngineInfo + public class MockEngine : VectoSimulationComponent, IEngineInfo, IEngineControl { public MockEngine(IVehicleContainer container) : base(container) {} @@ -203,5 +203,11 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent } protected override void DoCommitSimulationStep() {} + + #region Implementation of IEngineControl + + public bool IgnitionOn { get; set; } + + #endregion } } diff --git a/VectoCore/VectoCoreTest/Models/SimulationComponent/DriverTest.cs b/VectoCore/VectoCoreTest/Models/SimulationComponent/DriverTest.cs index fbf92f816d5495b382198f4a2d1d45bb2d6d5882..b672a7b2c8442253c0ceb31df3b8fea4c9ad0ec0 100644 --- a/VectoCore/VectoCoreTest/Models/SimulationComponent/DriverTest.cs +++ b/VectoCore/VectoCoreTest/Models/SimulationComponent/DriverTest.cs @@ -253,6 +253,8 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent var driverData = MockSimulationDataFactory.CreateDriverDataFromFile(JobFile); var driver = new Driver(vehicleContainer, driverData, new DefaultDriverStrategy()); + new MockEngine(vehicleContainer); + var cycle = new MockDrivingCycle(vehicleContainer, null); driver.Connect(vehicle.OutPort()); @@ -317,6 +319,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent { var vehicleContainer = new VehicleContainer(ExecutionMode.Engineering); var vehicle = new MockVehicle(vehicleContainer); + new MockEngine(vehicleContainer); var driverData = MockSimulationDataFactory.CreateDriverDataFromFile(JobFile); var driver = new Driver(vehicleContainer, driverData, new DefaultDriverStrategy()); diff --git a/VectoCore/VectoCoreTest/Models/SimulationComponentData/ValidationTest.cs b/VectoCore/VectoCoreTest/Models/SimulationComponentData/ValidationTest.cs index 6e63b354eb6e48c613d3846eca242551ffc2081a..0d14a17a7c4696c35e6471dbf6459853e4c815e3 100644 --- a/VectoCore/VectoCoreTest/Models/SimulationComponentData/ValidationTest.cs +++ b/VectoCore/VectoCoreTest/Models/SimulationComponentData/ValidationTest.cs @@ -90,7 +90,8 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponentData WHTCRural = 1, WHTCMotorway = 1, FullLoadCurves = new Dictionary<uint, EngineFullLoadCurve>() { { 0, FullLoadCurveReader.Create(fullLoad) } }, - ConsumptionMap = FuelConsumptionMapReader.Create(fuelConsumption) + ConsumptionMap = FuelConsumptionMapReader.Create(fuelConsumption), + EngineStartTime = 1.SI<Second>() }; data.FullLoadCurves[0].EngineData = data; diff --git a/VectoCore/VectoCoreTest/Reports/SumWriterTest.cs b/VectoCore/VectoCoreTest/Reports/SumWriterTest.cs index 8a70ff010ba6880cc0f5ca037c120b34a4cefac0..c5c63795489ebeecfd3b4be91d5cdf2aefe27854 100644 --- a/VectoCore/VectoCoreTest/Reports/SumWriterTest.cs +++ b/VectoCore/VectoCoreTest/Reports/SumWriterTest.cs @@ -91,7 +91,7 @@ namespace TUGraz.VectoCore.Tests.Reports modData[ModalResultField.P_brake_loss] = 3000.SI<Watt>(); modData[ModalResultField.FCMap] = 1e-4.SI<KilogramPerSecond>(); - + modData[ModalResultField.IgnitionOn] = false; modData[ModalResultField.altitude] = 0.SI<Meter>(); modData[ModalResultField.acc] = 0.SI<MeterPerSquareSecond>(); modData[ModalResultField.P_eng_out] = (i % 2 == 0 ? 1 : -1) * 3000.SI<Watt>(); @@ -159,7 +159,7 @@ namespace TUGraz.VectoCore.Tests.Reports modData[ModalResultField.P_eng_out] = (i % 2 == 0 ? 1 : -1) * powerDemand[i % powerDemand.Length]; modData[ModalResultField.P_eng_fcmap] = 0.SI<Watt>(); - + modData[ModalResultField.IgnitionOn] = false; modData.CommitSimulationStep(); }