From f10d0e3a1fee74208ee3e645b81df2be6cbb3df9 Mon Sep 17 00:00:00 2001 From: Michael Krisper <michael.krisper@tugraz.at> Date: Fri, 10 Dec 2021 17:47:58 +0100 Subject: [PATCH] Improved check for APT-N Gearbox when used in SimplePowertrain --- .../Models/Simulation/Impl/PowertrainBuilder.cs | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs b/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs index aaa292d53e..d54f649789 100644 --- a/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs +++ b/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs @@ -1040,16 +1040,17 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl return new ATShiftStrategyOptimized(container); //return new ATShiftStrategy(runData, container); case GearboxType.APTN: - if (container.IsTestPowertrain - || runData.JobType == VectoSimulationJobType.ParallelHybridVehicle - || runData.JobType == VectoSimulationJobType.SerialHybridVehicle - || runData.JobType == VectoSimulationJobType.BatteryElectricVehicle - ) { + switch (runData.JobType) { + case VectoSimulationJobType.ParallelHybridVehicle: + case VectoSimulationJobType.SerialHybridVehicle: + case VectoSimulationJobType.BatteryElectricVehicle: runData.ShiftStrategy = APTNShiftStrategy.Name; return new APTNShiftStrategy(container); - } + case VectoSimulationJobType.ConventionalVehicle when container.IsTestPowertrain: + return null; + default: throw new ArgumentException("APT-N Gearbox is only applicable on hybrids and battery electric vehicles."); - + } default: throw new ArgumentOutOfRangeException("GearboxType", $"Unknown Gearbox Type {runData.GearboxData.Type}"); -- GitLab