diff --git a/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs b/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs index f1f7084bd143f5297278fd63bb6892a00a26a835..31f5be7aaee836ec86afed7391e79a86ba783bc3 100644 --- a/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs +++ b/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs @@ -1512,7 +1512,7 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl throw new VectoException("Wrong CycleType for SimplePowertrain"); } - var engine = new CombustionEngine(container, data.EngineData); + var engine = new StopStartCombustionEngine(container, data.EngineData); vehicle.AddComponent(new Wheels(container, data.VehicleData.DynamicTyreRadius, data.VehicleData.WheelsInertia)) .AddComponent(new Brakes(container)) .AddComponent(new AxleGear(container, data.AxleGearData)) diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/HybridController.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/HybridController.cs index 0dde71041254d03ee3230460dc438f7d21e2082d..8938ade47e6cb56e445dc7c4d4a9df140629772e 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/HybridController.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/HybridController.cs @@ -403,7 +403,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl true); var inAngularSpeed = outAngularVelocity * GearboxModelData.Gears[gear.Gear].Ratio; - var fullLoadPower = DataBus.EngineInfo.EngineStationaryFullPower(response.Engine.EngineSpeed); + var fullLoadPower = TestPowertrain.CombustionEngine.EngineStationaryFullPower(response.Engine.EngineSpeed); var reserve = 1 - response.Engine.PowerRequest / fullLoadPower; var inTorque = response.Clutch.PowerRequest / inAngularSpeed; diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/Shiftstrategies/AMTShiftStrategy.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/Shiftstrategies/AMTShiftStrategy.cs index 4471dd5e060d83993e46d9b76f2d0cf786c56e81..5bab4a423b21d3d95b3e204b3610b98c3cf0b362 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/Shiftstrategies/AMTShiftStrategy.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/Shiftstrategies/AMTShiftStrategy.cs @@ -165,7 +165,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl true); var inAngularSpeed = outAngularVelocity * GearboxModelData.Gears[gear.Gear].Ratio; - var fullLoadPower = DataBus.EngineInfo.EngineStationaryFullPower(response.Engine.EngineSpeed); + var fullLoadPower = TestPowertrain.CombustionEngine.EngineStationaryFullPower(response.Engine.EngineSpeed); var reserve = 1 - response.Engine.PowerRequest / fullLoadPower; var inTorque = response.Clutch.PowerRequest / inAngularSpeed; diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/Vehicle.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/Vehicle.cs index b526d5762a75f6d0e3e4abf85b2cd627a383ca05..ffd2b1e6759b86849f5c713ca61cd6052fdee091 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/Vehicle.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/Vehicle.cs @@ -58,7 +58,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl { ModelData = modelData; AirdragData = airdrag; - if (AirdragData.CrossWindCorrectionCurve != null) { + if (AirdragData?.CrossWindCorrectionCurve != null) { AirdragData.CrossWindCorrectionCurve.SetDataBus(container); } var model = container.RunData; diff --git a/VectoCore/VectoCoreTest/Integration/CoachAdvancedAuxPowertrain.cs b/VectoCore/VectoCoreTest/Integration/CoachAdvancedAuxPowertrain.cs index 73faa3a9a71cdbdabfd91aa9fe40997e1449e738..1ad856509208b9e2a92ae0520b3f1ca1ae8f781f 100644 --- a/VectoCore/VectoCoreTest/Integration/CoachAdvancedAuxPowertrain.cs +++ b/VectoCore/VectoCoreTest/Integration/CoachAdvancedAuxPowertrain.cs @@ -99,6 +99,8 @@ namespace TUGraz.VectoCore.Tests.Integration SimulationType = SimulationType.DistanceCycle, Cycle = cycleData, DriverData = driverData, + Retarder = new RetarderData() { Type = RetarderType.None }, + Aux = new List<VectoRunData.AuxData>(), BusAuxiliaries = BusAuxiliaryInputData.ReadBusAuxiliaries(AdvancedAuxFile, vehicleData) }; var fileWriter = new FileOutputWriter(modFileName); diff --git a/VectoCore/VectoCoreTest/Integration/CoachPowerTrain.cs b/VectoCore/VectoCoreTest/Integration/CoachPowerTrain.cs index b8b79b6e1157d7c5959ba0d7561ce40a1a95cbe8..de977099d7031bb320adb9a7422d754631458cd6 100644 --- a/VectoCore/VectoCoreTest/Integration/CoachPowerTrain.cs +++ b/VectoCore/VectoCoreTest/Integration/CoachPowerTrain.cs @@ -98,6 +98,8 @@ namespace TUGraz.VectoCore.Tests.Integration AirdragData = airDragData, SimulationType = SimulationType.DistanceCycle, Cycle = cycleData, + Retarder = new RetarderData() { Type = RetarderType.None}, + Aux = new List<VectoRunData.AuxData>(), DriverData = driverData }; var fileWriter = new FileOutputWriter(modFileName); diff --git a/VectoCore/VectoCoreTest/Integration/SimulationRuns/FullPowertrain.cs b/VectoCore/VectoCoreTest/Integration/SimulationRuns/FullPowertrain.cs index 2e96e7ad0d6165d5fae4bca65a3669d1d4761ca5..2127a1961f01ecd743099ec0d8c056fc9c0a1dac 100644 --- a/VectoCore/VectoCoreTest/Integration/SimulationRuns/FullPowertrain.cs +++ b/VectoCore/VectoCoreTest/Integration/SimulationRuns/FullPowertrain.cs @@ -97,6 +97,9 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns GearshiftParameters = CreateGearshiftData(), VehicleData = vehicleData, AirdragData = airDragData, + Retarder = new RetarderData() { Type = RetarderType.None}, + Cycle = cycleData, + Aux = new List<VectoRunData.AuxData>(), SimulationType = SimulationType.DistanceCycle, ElectricMachinesData = new List<Tuple<PowertrainPosition, ElectricMotorData>>() }; @@ -262,7 +265,10 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns GearboxData = gearboxData, GearshiftParameters = CreateGearshiftData(), AirdragData = airDragData, + Retarder = new RetarderData() { Type = RetarderType.None}, DriverData = driverData, + Cycle = cycleData, + Aux = new List<VectoRunData.AuxData>(), ElectricMachinesData = new List<Tuple<PowertrainPosition, ElectricMotorData>>() }; var fileWriter = new FileOutputWriter("Coach_FullPowertrain_LowSpeed"); diff --git a/VectoCore/VectoCoreTest/Integration/Truck40tPowerTrain.cs b/VectoCore/VectoCoreTest/Integration/Truck40tPowerTrain.cs index 7a080834409c2f3aef269be3ea46a51595371199..1f988ec23bbb248e3bdfa8f79e6050857302fbc0 100644 --- a/VectoCore/VectoCoreTest/Integration/Truck40tPowerTrain.cs +++ b/VectoCore/VectoCoreTest/Integration/Truck40tPowerTrain.cs @@ -102,6 +102,8 @@ namespace TUGraz.VectoCore.Tests.Integration AirdragData = airdragData, AxleGearData = axleGearData, GearboxData = gearboxData, + Retarder = new RetarderData() { Type = RetarderType.None}, + Aux = new List<VectoRunData.AuxData>(), GearshiftParameters = CreateGearshiftData(), SimulationType = SimulationType.DistanceCycle, Cycle = cycleData, diff --git a/VectoCore/VectoCoreTest/Models/SimulationComponent/GearboxTest.cs b/VectoCore/VectoCoreTest/Models/SimulationComponent/GearboxTest.cs index b9b343ed3b5042c203fbebf18b3bb3b6efbed95e..c11b7dc668746d8c0474d3bbb14ebe2107f846c8 100644 --- a/VectoCore/VectoCoreTest/Models/SimulationComponent/GearboxTest.cs +++ b/VectoCore/VectoCoreTest/Models/SimulationComponent/GearboxTest.cs @@ -263,6 +263,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent var engineData = new CombustionEngineData() { IdleSpeed = 600.RPMtoRad(), Inertia = 0.SI<KilogramSquareMeter>(), + EngineStartTime = 1.SI<Second>(), }; var fullLoadCurves = new Dictionary<uint, EngineFullLoadCurve>(); fullLoadCurves[0] = FullLoadCurveReader.Create( @@ -276,13 +277,23 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent engineData.FullLoadCurves = fullLoadCurves; return new VectoRunData() { VehicleData = new VehicleData() { - DynamicTyreRadius = 0.492.SI<Meter>() + DynamicTyreRadius = 0.492.SI<Meter>(), + CurbMass = 10000.SI<Kilogram>(), + AxleData = new List<Axle>() { + new Axle() { + AxleWeightShare = 1, + Inertia = 0.SI<KilogramSquareMeter>(), + RollResistanceCoefficient = 0.0055, + TyreTestLoad = 33500.SI<Newton>(), + } + } }, AxleGearData = new AxleGearData() { AxleGear = new GearData() { Ratio = 2.64 } }, + Retarder = new RetarderData() { Type = RetarderType.None }, EngineData = engineData, GearboxData = gearboxData, GearshiftParameters = new ShiftStrategyParameters() { @@ -292,6 +303,9 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent DownshiftAfterUpshiftDelay = DeclarationData.Gearbox.DownshiftAfterUpshiftDelay, UpshiftAfterDownshiftDelay = DeclarationData.Gearbox.UpshiftAfterDownshiftDelay, UpshiftMinAcceleration = DeclarationData.Gearbox.UpshiftMinAcceleration, + }, + Cycle = new DrivingCycleData() { + CycleType = CycleType.EngineOnly } }; } diff --git a/VectoCore/VectoCoreTest/Reports/GearshiftCountTest.cs b/VectoCore/VectoCoreTest/Reports/GearshiftCountTest.cs index a0a23f9a149819d6eab5d216fc2310c572a77cbd..330808a4f2e691da84fbbe76e5e9594ec5b211bd 100644 --- a/VectoCore/VectoCoreTest/Reports/GearshiftCountTest.cs +++ b/VectoCore/VectoCoreTest/Reports/GearshiftCountTest.cs @@ -32,6 +32,7 @@ using NUnit.Framework; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Models.Simulation.Data; +using TUGraz.VectoCore.Models.SimulationComponent.Data; using TUGraz.VectoCore.OutputData; namespace TUGraz.VectoCore.Tests.Reports @@ -44,7 +45,8 @@ namespace TUGraz.VectoCore.Tests.Reports public void TestGearshiftCountTractionInterruptionShiftup() { var rundata = new VectoRunData() { - JobName = "GearshiftRun" + JobName = "GearshiftRun", + GearboxData = new GearboxData() }; var modData = new ModalDataContainer(rundata, null, null); modData.Data.CreateColumns(ModalResults.DistanceCycleSignals); @@ -72,7 +74,8 @@ namespace TUGraz.VectoCore.Tests.Reports { var rundata = new VectoRunData() { - JobName = "GearshiftRun" + JobName = "GearshiftRun", + GearboxData = new GearboxData() }; var modData = new ModalDataContainer(rundata, null, null); modData.Data.CreateColumns(ModalResults.DistanceCycleSignals); @@ -100,7 +103,8 @@ namespace TUGraz.VectoCore.Tests.Reports { var rundata = new VectoRunData() { - JobName = "GearshiftRun" + JobName = "GearshiftRun", + GearboxData = new GearboxData() }; var modData = new ModalDataContainer(rundata, null, null); modData.Data.CreateColumns(ModalResults.DistanceCycleSignals); @@ -129,7 +133,8 @@ namespace TUGraz.VectoCore.Tests.Reports { var rundata = new VectoRunData() { - JobName = "GearshiftRun" + JobName = "GearshiftRun", + GearboxData = new GearboxData() }; var modData = new ModalDataContainer(rundata, null, null); modData.Data.CreateColumns(ModalResults.DistanceCycleSignals); @@ -157,7 +162,8 @@ namespace TUGraz.VectoCore.Tests.Reports { var rundata = new VectoRunData() { - JobName = "GearshiftRun" + JobName = "GearshiftRun", + GearboxData = new GearboxData() }; var modData = new ModalDataContainer(rundata, null, null); modData.Data.CreateColumns(ModalResults.DistanceCycleSignals); @@ -187,7 +193,8 @@ namespace TUGraz.VectoCore.Tests.Reports { var rundata = new VectoRunData() { - JobName = "GearshiftRun" + JobName = "GearshiftRun", + GearboxData = new GearboxData() }; var modData = new ModalDataContainer(rundata, null, null); modData.Data.CreateColumns(ModalResults.DistanceCycleSignals); @@ -216,7 +223,8 @@ namespace TUGraz.VectoCore.Tests.Reports { var rundata = new VectoRunData() { - JobName = "GearshiftRun" + JobName = "GearshiftRun", + GearboxData = new GearboxData() }; var modData = new ModalDataContainer(rundata, null, null); modData.Data.CreateColumns(ModalResults.DistanceCycleSignals);