diff --git a/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs b/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs index aaa292d53e8dd97ea2e591737e18b876827b6f49..d54f649789812e9f1ec13490b7f2431443a6c49f 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}");