diff --git a/VECTO/GUI/VehicleForm.vb b/VECTO/GUI/VehicleForm.vb index 5270646f979a0a449d12cc3e6baccfa6c3e44060..e2e193e6931125dbf41332c297c74f677d46ae0b 100644 --- a/VECTO/GUI/VehicleForm.vb +++ b/VECTO/GUI/VehicleForm.vb @@ -10,7 +10,6 @@ ' See the LICENSE.txt for the specific language governing permissions and limitations. 'Option Infer On -Imports System.Collections.Generic Imports System.IO Imports System.Linq Imports TUGraz.VectoCommon.InputData @@ -536,7 +535,7 @@ Public Class VehicleForm gbEMTorqueLimits.Enabled = False tpGensetComponents.Visible = False Case VectoSimulationJobType.ParallelHybridVehicle - gbRetarderLosses.Enabled = False + gbRetarderLosses.Enabled = True lblTitle.Text = "Parallel Hybrid Vehicle" cbEmPos.DataSource = EnumHelper.GetKeyValuePairs(Of PowertrainPosition)(Function(t) t.GetLabel, Function(x) x.IsParallelHybrid() Or x = PowertrainPosition.HybridPositionNotSet) @@ -1237,7 +1236,10 @@ Public Class VehicleForm End If If (selectedValue IsNot Nothing) Then - CbRtType.SelectedValue = selectedValue + If Not selectedValue.Equals(CbRtType.SelectedValue) Then + MsgBox("Retarder has changed due to change of electric motor position. Please check.", MsgBoxStyle.Information) + CbRtType.SelectedValue = selectedValue + End If End If End Sub diff --git a/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs b/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs index c034b805960f3207521d48dca02ba526cd96bb07..2ac260ec15fcdadb799e6571b0c5333c378f5201 100644 --- a/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs +++ b/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs @@ -445,11 +445,8 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl var whrCharger = new WHRCharger(container, dcDcConverterEfficiency); es.Connect(whrCharger); engine.WHRCharger = whrCharger; - } - // DistanceBasedDrivingCycle --> driver --> vehicle --> wheels - // --> axleGear --> (retarder) --> gearBox --> (retarder) --> clutch --> engine <-- Aux var cycle = new DistanceBasedDrivingCycle(container, data.Cycle); var idleController = GetIdleController(data.PTO, engine, container); cycle.IdleController = idleController as IdleControllerSwitcher; @@ -1075,10 +1072,10 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl private static ElectricSystem ConnectREESS(VectoRunData data, VehicleContainer container) { if (data.BatteryData != null && data.SuperCapData != null) { - throw new VectoException("Powertrain requires either Battery OR SuperCap, but both are defined."); + throw new VectoException("Powertrain requires either Battery OR SuperCapacitor, but both are defined."); } if (data.BatteryData is null && data.SuperCapData is null) { - throw new VectoException("Powertrain requires either Battery OR SuperCap, but none are defined."); + throw new VectoException("Powertrain requires either Battery OR SuperCapacitor, but none are defined."); } var es = new ElectricSystem(container); diff --git a/VectoCore/VectoCoreTest/Integration/Hybrid/ParallelHybridTest.cs b/VectoCore/VectoCoreTest/Integration/Hybrid/ParallelHybridTest.cs index 6a4223310b0bf3405c9a6a287d486281b8d16821..c97c31755c7392444a8db861b9e15e07793f0a8b 100644 --- a/VectoCore/VectoCoreTest/Integration/Hybrid/ParallelHybridTest.cs +++ b/VectoCore/VectoCoreTest/Integration/Hybrid/ParallelHybridTest.cs @@ -1682,7 +1682,7 @@ namespace TUGraz.VectoCore.Tests.Integration.Hybrid .AddComponent(GetElectricMachine(PowertrainPosition.HybridP3, runData.ElectricMachinesData, container, es, ctl)) .AddComponent(runData.AngledriveData != null ? new Angledrive(container, runData.AngledriveData) : null) .AddComponent(runData.Retarder.Type == RetarderType.TransmissionOutputRetarder ? new Retarder(container, runData.Retarder.LossMap, runData.Retarder.Ratio) : null) - .AddComponent((IGearbox)gearbox, container) + .AddComponent((IGearbox)gearbox) .AddComponent(runData.Retarder.Type == RetarderType.TransmissionInputRetarder ? new Retarder(container, runData.Retarder.LossMap, runData.Retarder.Ratio) : null) .AddComponent(GetElectricMachine(PowertrainPosition.HybridP2, runData.ElectricMachinesData, container, es, ctl)) .AddComponent(clutch) @@ -1768,16 +1768,8 @@ namespace TUGraz.VectoCore.Tests.Integration.Hybrid var container = new VehicleContainer( ExecutionMode.Engineering, modData, x => { sumData?.Write(x, 1, 1, runData); }) { RunData = runData }; - - - var clutch = new SwitchableClutch(container, runData.EngineData); - - var gbxStrategy = new AMTShiftStrategyOptimized(container); - var gearbox = new Gearbox(container, gbxStrategy); - var engine = new StopStartCombustionEngine(container, runData.EngineData); - var idleController = engine.IdleController; var cycle = new DistanceBasedDrivingCycle(container, cycleData); var aux = new ElectricAuxiliary(container); @@ -1785,25 +1777,15 @@ namespace TUGraz.VectoCore.Tests.Integration.Hybrid cycle .AddComponent(new Driver(container, runData.DriverData, new DefaultDriverStrategy(container))) .AddComponent(new Vehicle(container, runData.VehicleData, runData.AirdragData)) - .AddComponent(new Wheels(container, runData.VehicleData.DynamicTyreRadius, - runData.VehicleData.WheelsInertia)) + .AddComponent(new Wheels(container, runData.VehicleData.DynamicTyreRadius, runData.VehicleData.WheelsInertia)) .AddComponent(new Brakes(container)) - //.AddComponent(ctl) - //.AddComponent(GetElectricMachine(PowertrainPosition.HybridP4, runData.ElectricMachinesData, container, - // es, ctl)) .AddComponent(new AxleGear(container, runData.AxleGearData)) - //.AddComponent(GetElectricMachine(PowertrainPosition.HybridP3, runData.ElectricMachinesData, container, - // es, ctl)) .AddComponent(runData.AngledriveData != null ? new Angledrive(container, runData.AngledriveData) : null) .AddComponent(runData.Retarder.Type == RetarderType.TransmissionOutputRetarder ? new Retarder(container, runData.Retarder.LossMap, runData.Retarder.Ratio) : null) - .AddComponent(gearbox, container) + .AddComponent(new Gearbox(container, new AMTShiftStrategyOptimized(container))) .AddComponent(runData.Retarder.Type == RetarderType.TransmissionInputRetarder ? new Retarder(container, runData.Retarder.LossMap, runData.Retarder.Ratio) : null) - //.AddComponent(GetElectricMachine(PowertrainPosition.HybridP2, runData.ElectricMachinesData, container, - // es, ctl)) - .AddComponent(clutch) - //.AddComponent(GetElectricMachine(PowertrainPosition.HybridP1, runData.ElectricMachinesData, container, - // es, ctl)) - .AddComponent(engine, idleController) + .AddComponent(new SwitchableClutch(container, runData.EngineData)) + .AddComponent(engine, engine.IdleController) .AddAuxiliaries(container, runData); return container; diff --git a/VectoCore/VectoCoreTest/Integration/Hybrid/SerialHybridTest.cs b/VectoCore/VectoCoreTest/Integration/Hybrid/SerialHybridTest.cs index 4a661e437190861fdd1fd0758acfc3d84b9a549f..eecebf5b50f48b9c8a1db58bd28865958be8607a 100644 --- a/VectoCore/VectoCoreTest/Integration/Hybrid/SerialHybridTest.cs +++ b/VectoCore/VectoCoreTest/Integration/Hybrid/SerialHybridTest.cs @@ -634,11 +634,9 @@ namespace TUGraz.VectoCore.Tests.Integration.Hybrid ? (IHybridControlledGearbox)new ATGearbox(container, ctl.ShiftStrategy) : new Gearbox(container, ctl.ShiftStrategy); powertrain = powertrain.AddComponent(new AxleGear(container, runData.AxleGearData)) - .AddComponent(runData.AngledriveData != null - ? new Angledrive(container, runData.AngledriveData) - : null) + .AddComponent(runData.AngledriveData != null ? new Angledrive(container, runData.AngledriveData) : null) .AddComponent(runData.Retarder.Type == RetarderType.TransmissionOutputRetarder ? new Retarder(container, runData.Retarder.LossMap, runData.Retarder.Ratio) : null) - .AddComponent((IGearbox)gearbox, container) + .AddComponent((IGearbox)gearbox) .AddComponent(runData.Retarder.Type == RetarderType.TransmissionInputRetarder ? new Retarder(container, runData.Retarder.LossMap, runData.Retarder.Ratio) : null) .AddComponent(GetElectricMachine(PowertrainPosition.BatteryElectricE2, runData.ElectricMachinesData, container, @@ -649,7 +647,7 @@ namespace TUGraz.VectoCore.Tests.Integration.Hybrid case PowertrainPosition.BatteryElectricE3: powertrain = powertrain.AddComponent(new AxleGear(container, runData.AxleGearData)) - .AddComponent(runData.Retarder.Type == RetarderType.AxlegearInputRetarder ? new Retarder(container, runData.Retarder.LossMap, runData.Retarder.Ratio):null) + .AddComponent(runData.Retarder.Type == RetarderType.AxlegearInputRetarder ? new Retarder(container, runData.Retarder.LossMap, runData.Retarder.Ratio) : null) .AddComponent(GetElectricMachine(PowertrainPosition.BatteryElectricE3, runData.ElectricMachinesData, container, es, ctl)); new DummyGearboxInfo(container, new GearshiftPosition(0));