From 80b906b50b59edaecbf77398a083c7362cb08da4 Mon Sep 17 00:00:00 2001 From: Michael Krisper <michael.krisper@tugraz.at> Date: Wed, 31 Aug 2016 17:27:10 +0200 Subject: [PATCH] AddComponent for Engine, removed container and idleController is default null (and will be taken from Engine) --- .../AbstractSimulationDataAdapter.cs | 2 ++ .../Models/Simulation/Impl/PowertrainBuilder.cs | 8 ++++---- .../Impl/PowertrainDrivingCycle.cs | 2 +- VectoCore/VectoCore/Utils/ProviderExtensions.cs | 6 +++++- .../VectoCoreTest/Integration/ATPowerTrain.cs | 2 +- .../Integration/CoachAdvancedAuxPowertrain.cs | 2 +- .../VectoCoreTest/Integration/CoachPowerTrain.cs | 2 +- .../Integration/SimulationRuns/FullPowertrain.cs | 6 +++--- .../SimulationRuns/MinimalPowertrain.cs | 6 +++--- .../Integration/Truck40tPowerTrain.cs | 2 +- .../Simulation/LossMapRangeValidationTest.cs | 16 ++++++++-------- 11 files changed, 30 insertions(+), 24 deletions(-) diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs index bea99479f4..adb2f1401b 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs @@ -143,6 +143,8 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter if (data.LossMap == null && useEfficiencyFallback) { axleLossMap = TransmissionLossMapReader.Create(data.Efficiency, data.Ratio, "AxleGear"); } else { + if (data.LossMap == null) + throw new Exception("LossMap for AxleGear is missing."); axleLossMap = TransmissionLossMapReader.Create(data.LossMap, data.Ratio, "AxleGear"); } if (axleLossMap == null) { diff --git a/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs b/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs index 96dfeee458..532aee372e 100644 --- a/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs +++ b/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs @@ -115,7 +115,7 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl var engine = new CombustionEngine(container, data.EngineData, pt1Disabled: true); var idleController = GetIdleController(data.PTO, engine); - powertrain.AddComponent(engine, idleController, container) + powertrain.AddComponent(engine, idleController) .AddAuxiliaries(container, data); return container; @@ -146,7 +146,7 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl var engine = new CombustionEngine(container, data.EngineData); var idleController = GetIdleController(data.PTO, engine); - powertrain.AddComponent(engine, idleController, container) + powertrain.AddComponent(engine, idleController) .AddAuxiliaries(container, data); _modData.HasTorqueConverter = data.GearboxData.Type.AutomaticTransmission(); @@ -173,7 +173,7 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl .AddComponent(new CycleClutch(container)); var engine = new CombustionEngine(container, data.EngineData); - powertrain.AddComponent(engine, GetIdleController(data.PTO, engine), container) + powertrain.AddComponent(engine, GetIdleController(data.PTO, engine)) .AddAuxiliaries(container, data); return container; @@ -205,7 +205,7 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl var idleController = GetIdleController(data.PTO, engine); cycle.IdleController = idleController as IdleControllerSwitcher; - powertrain.AddComponent(engine, idleController, container) + powertrain.AddComponent(engine, idleController) .AddAuxiliaries(container, data); _modData.HasTorqueConverter = data.GearboxData.Type.AutomaticTransmission(); diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/PowertrainDrivingCycle.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/PowertrainDrivingCycle.cs index 60dd67a49f..f399f17c7e 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/PowertrainDrivingCycle.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/PowertrainDrivingCycle.cs @@ -49,7 +49,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl /// </summary> public class PowertrainDrivingCycle : StatefulProviderComponent<PowertrainDrivingCycle.DummyState, ISimulationOutPort, ITnInPort, ITnOutPort>, - IDrivingCycleInfo, ISimulationOutPort, ITnInProvider + IDrivingCycleInfo, ISimulationOutPort, ITnInProvider, ITnInPort { public class DummyState {} diff --git a/VectoCore/VectoCore/Utils/ProviderExtensions.cs b/VectoCore/VectoCore/Utils/ProviderExtensions.cs index 0eb11c65e2..2da24048ab 100644 --- a/VectoCore/VectoCore/Utils/ProviderExtensions.cs +++ b/VectoCore/VectoCore/Utils/ProviderExtensions.cs @@ -94,10 +94,14 @@ namespace TUGraz.VectoCore.Utils } public static CombustionEngine AddComponent(this IPowerTrainComponent prev, CombustionEngine next, - IIdleController idleController, IVehicleContainer container) + IIdleController idleController = null) { prev.InPort().Connect(next.OutPort()); + if (idleController == null) { + idleController = next.IdleController; + } + var clutch = prev as IClutch; if (clutch != null) { clutch.IdleController = idleController; diff --git a/VectoCore/VectoCoreTest/Integration/ATPowerTrain.cs b/VectoCore/VectoCoreTest/Integration/ATPowerTrain.cs index 5ec64c0977..92dd53ef33 100644 --- a/VectoCore/VectoCoreTest/Integration/ATPowerTrain.cs +++ b/VectoCore/VectoCoreTest/Integration/ATPowerTrain.cs @@ -71,7 +71,7 @@ namespace TUGraz.VectoCore.Tests.Integration .AddComponent(new AxleGear(container, axleGearData)) .AddComponent(new DummyRetarder(container)) .AddComponent(new ATGearbox(container, gearboxData, new ATShiftStrategy(gearboxData, container))) - .AddComponent(engine, null, container); + .AddComponent(engine); var aux = new EngineAuxiliary(container); aux.AddConstant("", 0.SI<Watt>()); diff --git a/VectoCore/VectoCoreTest/Integration/CoachAdvancedAuxPowertrain.cs b/VectoCore/VectoCoreTest/Integration/CoachAdvancedAuxPowertrain.cs index 58c13d773a..a5b06d00f6 100644 --- a/VectoCore/VectoCoreTest/Integration/CoachAdvancedAuxPowertrain.cs +++ b/VectoCore/VectoCoreTest/Integration/CoachAdvancedAuxPowertrain.cs @@ -95,7 +95,7 @@ namespace TUGraz.VectoCore.Tests.Integration .AddComponent(new DummyRetarder(container)) .AddComponent(new Gearbox(container, gearboxData, new AMTShiftStrategy(gearboxData, container))) .AddComponent(new Clutch(container, engineData)) - .AddComponent(engine, null, container); + .AddComponent(engine); var aux = new BusAuxiliariesAdapter(container, AdvancedAuxFile, "Coach", vehicleData.TotalVehicleWeight(), engineData.ConsumptionMap, engineData.IdleSpeed); diff --git a/VectoCore/VectoCoreTest/Integration/CoachPowerTrain.cs b/VectoCore/VectoCoreTest/Integration/CoachPowerTrain.cs index 163f6a9949..e766329acc 100644 --- a/VectoCore/VectoCoreTest/Integration/CoachPowerTrain.cs +++ b/VectoCore/VectoCoreTest/Integration/CoachPowerTrain.cs @@ -98,7 +98,7 @@ namespace TUGraz.VectoCore.Tests.Integration .AddComponent(new DummyRetarder(container)) .AddComponent(new Gearbox(container, gearboxData, new AMTShiftStrategy(gearboxData, container))) .AddComponent(clutch) - .AddComponent(engine, null, container); + .AddComponent(engine); var aux = new EngineAuxiliary(container); aux.AddConstant("", 0.SI<Watt>()); diff --git a/VectoCore/VectoCoreTest/Integration/SimulationRuns/FullPowertrain.cs b/VectoCore/VectoCoreTest/Integration/SimulationRuns/FullPowertrain.cs index c40bb4b769..0c72d1788b 100644 --- a/VectoCore/VectoCoreTest/Integration/SimulationRuns/FullPowertrain.cs +++ b/VectoCore/VectoCoreTest/Integration/SimulationRuns/FullPowertrain.cs @@ -90,7 +90,7 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns .AddComponent(new AxleGear(container, axleGearData)) .AddComponent(new Gearbox(container, gearboxData, new AMTShiftStrategy(gearboxData, container))) .AddComponent(new Clutch(container, engineData)) - .AddComponent(new CombustionEngine(container, engineData), null, container); + .AddComponent(new CombustionEngine(container, engineData)); cyclePort.Initialize(); @@ -146,7 +146,7 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns .AddComponent(new AxleGear(container, axleGearData)) .AddComponent(new Gearbox(container, gearboxData, new AMTShiftStrategy(gearboxData, container))) .AddComponent(new Clutch(container, engineData)) - .AddComponent(new CombustionEngine(container, engineData), null, container); + .AddComponent(new CombustionEngine(container, engineData)); cyclePort.Initialize(); @@ -216,7 +216,7 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns .AddComponent(new AxleGear(container, axleGearData)) .AddComponent(new Gearbox(container, gearboxData, new AMTShiftStrategy(gearboxData, container))) .AddComponent(new Clutch(container, engineData)) - .AddComponent(new CombustionEngine(container, engineData), null, container); + .AddComponent(new CombustionEngine(container, engineData)); cyclePort.Initialize(); diff --git a/VectoCore/VectoCoreTest/Integration/SimulationRuns/MinimalPowertrain.cs b/VectoCore/VectoCoreTest/Integration/SimulationRuns/MinimalPowertrain.cs index cd4ae9eb25..50d20f6e7f 100644 --- a/VectoCore/VectoCoreTest/Integration/SimulationRuns/MinimalPowertrain.cs +++ b/VectoCore/VectoCoreTest/Integration/SimulationRuns/MinimalPowertrain.cs @@ -83,7 +83,7 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns .AddComponent(new Wheels(container, vehicleData.DynamicTyreRadius, vehicleData.WheelsInertia)) .AddComponent(new AxleGear(container, axleGearData)) .AddComponent(new Clutch(container, engineData)) - .AddComponent(engine, null, container); + .AddComponent(engine); var gbx = new MockGearbox(container); @@ -131,7 +131,7 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns .AddComponent(new Brakes(container)) .AddComponent(new AxleGear(container, axleGearData)) .AddComponent(new Clutch(container, engineData)) - .AddComponent(new CombustionEngine(container, engineData), null, container); + .AddComponent(new CombustionEngine(container, engineData)); //engine.IdleController.RequestPort = clutch.IdleControlPort; var gbx = new MockGearbox(container); @@ -202,7 +202,7 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns .AddComponent(new Brakes(container)) .AddComponent(new AxleGear(container, axleGearData)) .AddComponent(new Clutch(container, engineData)) - .AddComponent(new CombustionEngine(container, engineData), null, container); + .AddComponent(new CombustionEngine(container, engineData)); //engine.IdleController.RequestPort = clutch.IdleControlPort; var gbx = new MockGearbox(container); diff --git a/VectoCore/VectoCoreTest/Integration/Truck40tPowerTrain.cs b/VectoCore/VectoCoreTest/Integration/Truck40tPowerTrain.cs index 6704bad3a4..83d65c1a60 100644 --- a/VectoCore/VectoCoreTest/Integration/Truck40tPowerTrain.cs +++ b/VectoCore/VectoCoreTest/Integration/Truck40tPowerTrain.cs @@ -119,7 +119,7 @@ namespace TUGraz.VectoCore.Tests.Integration .AddComponent(new DummyRetarder(container)) .AddComponent(new Gearbox(container, gearboxData, gbxStrategy)) .AddComponent(clutch) - .AddComponent(engine, null, container); + .AddComponent(engine); var aux = new EngineAuxiliary(container); aux.AddConstant("", 0.SI<Watt>()); diff --git a/VectoCore/VectoCoreTest/Models/Simulation/LossMapRangeValidationTest.cs b/VectoCore/VectoCoreTest/Models/Simulation/LossMapRangeValidationTest.cs index 8d23f7038b..2642fba0c9 100644 --- a/VectoCore/VectoCoreTest/Models/Simulation/LossMapRangeValidationTest.cs +++ b/VectoCore/VectoCoreTest/Models/Simulation/LossMapRangeValidationTest.cs @@ -174,14 +174,14 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation var ratios = new[] { 14.93, 11.64, 9.02, 7.04, 5.64, 4.4, 3.39, 2.65, 2.05, 1.6, 1.28, 1.0 }; return new GearboxData { Gears = ratios.Select((ratio, i) => - Tuple.Create((uint)i, - new GearData { - MaxTorque = 2300.SI<NewtonMeter>(), - LossMap = TransmissionLossMapReader.ReadFromFile(!ratio.IsEqual(1.0) ? directlossMap : indirectLossMap, ratio, - string.Format("Gear {0}", i)), - Ratio = ratio, - ShiftPolygon = ShiftPolygonReader.ReadFromFile(ShiftPolygonFile) - })) + Tuple.Create((uint)i, + new GearData { + MaxTorque = 2300.SI<NewtonMeter>(), + LossMap = TransmissionLossMapReader.ReadFromFile(!ratio.IsEqual(1.0) ? directlossMap : indirectLossMap, ratio, + string.Format("Gear {0}", i)), + Ratio = ratio, + ShiftPolygon = ShiftPolygonReader.ReadFromFile(ShiftPolygonFile) + })) .ToDictionary(k => k.Item1 + 1, v => v.Item2) }; } -- GitLab