From 5b25c025b04c8dd72cfe6d702f13b030454ec381 Mon Sep 17 00:00:00 2001 From: "VKMTHD\\haraldmartini" <harald.martini@student.tugraz.at> Date: Wed, 8 Feb 2023 15:24:50 +0100 Subject: [PATCH] simulate pevs with AT as APTN --- .../DeclarationDataAdapterHeavyLorry.cs | 2 +- .../GearBoxDataAdapter.cs | 26 ++++++++++++------- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/DeclarationDataAdapterHeavyLorry.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/DeclarationDataAdapterHeavyLorry.cs index 7cfda40672..3e03afd4ea 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/DeclarationDataAdapterHeavyLorry.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/DeclarationDataAdapterHeavyLorry.cs @@ -449,7 +449,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry public override GearboxData CreateGearboxData(IVehicleDeclarationInputData inputData, VectoRunData runData, IShiftPolygonCalculator shiftPolygonCalc) { - return _gearboxDataAdapter.CreateGearboxData(inputData, runData, shiftPolygonCalc, new[] { GearboxType.AMT }); + return _gearboxDataAdapter.CreateGearboxData(inputData, runData, shiftPolygonCalc, SupportedGearboxTypes); } public override ShiftStrategyParameters CreateGearshiftData(double axleRatio, PerSecond engineIdlingSpeed, GearboxType gearboxType, int gearsCount) diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/SimulationComponents/GearBoxDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/SimulationComponents/GearBoxDataAdapter.cs index 82dbae6f59..8a52754cb8 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/SimulationComponents/GearBoxDataAdapter.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/SimulationComponents/GearBoxDataAdapter.cs @@ -78,18 +78,17 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.SimulationComponen gearData.TorqueConverterShiftPolygon = shiftPolygon; } - protected virtual void CreateATGearData( - IGearboxDeclarationInputData gearbox, uint i, GearData gearData, + protected virtual void CreateATGearData(GearboxType gearboxType, uint i, GearData gearData, ShiftPolygon tcShiftPolygon, double gearDifferenceRatio, Dictionary<uint, GearData> gears, VehicleCategory vehicleCategory) { - if (gearbox.Type == GearboxType.ATPowerSplit && i == 0) + if (gearboxType == GearboxType.ATPowerSplit && i == 0) { // powersplit transmission: torque converter already contains ratio and losses CretateTCFirstGearATPowerSplit(gearData, i, tcShiftPolygon); } - if (gearbox.Type == GearboxType.ATSerial) + if (gearboxType == GearboxType.ATSerial) { if (i == 0) { @@ -296,10 +295,17 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.SimulationComponen var retVal = SetCommonGearboxData(gearbox); - //if (adas != null && retVal.Type.AutomaticTransmission() && adas.EcoRoll != EcoRollType.None && - // !adas.ATEcoRollReleaseLockupClutch.HasValue) { - // throw new VectoException("Input parameter ATEcoRollReleaseLockupClutch required for AT transmission"); - //} + if (adas != null && retVal.Type.AutomaticTransmission() && adas.EcoRoll != EcoRollType.None && + !adas.ATEcoRollReleaseLockupClutch.HasValue) + { + throw new VectoException("Input parameter ATEcoRollReleaseLockupClutch required for AT transmission"); + } + if ((inputData.VehicleType == VectoSimulationJobType.BatteryElectricVehicle || inputData.VehicleType == VectoSimulationJobType.SerialHybridVehicle) && + gearbox.Type.AutomaticTransmission()) + { + // PEV with APT-S or APT-P transmission are simulated as APT-N + retVal.Type = GearboxType.APTN; + } retVal.ATEcoRollReleaseLockupClutch = adas != null && adas.EcoRoll != EcoRollType.None && retVal.Type.AutomaticTransmission() @@ -308,7 +314,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.SimulationComponen if (!supportedGearboxTypes.Contains(gearbox.Type)) { - throw new VectoSimulationException("Unsupported gearbox type: {0}!", retVal.Type); + throw new VectoSimulationException("Unsupported gearbox type: {0}!", gearbox.Type); } var gearsInput = FilterDisabledGears(inputData.TorqueLimits, gearbox); //gearbox.Gears; @@ -354,7 +360,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.SimulationComponen LossMap = lossMap, }; - CreateATGearData(gearbox, i, gearData, tcShiftPolygon, gearDifferenceRatio, gears, + CreateATGearData(retVal.Type, i, gearData, tcShiftPolygon, gearDifferenceRatio, gears, runData.VehicleData.VehicleCategory); gears.Add(i + 1, gearData); } -- GitLab