diff --git a/Documentation/User Manual/1-user-interface/N_IEPC.md b/Documentation/User Manual/1-user-interface/N_IEPC.md index 44a780d95230eda67c203ee3f48c33b3a32e35de..72de151a220e69b76de1af6cc313c27aeeb38dd1 100644 --- a/Documentation/User Manual/1-user-interface/N_IEPC.md +++ b/Documentation/User Manual/1-user-interface/N_IEPC.md @@ -24,7 +24,7 @@ Make and Model : Free text defining the gearbox model, type, etc. Inertia \[kgm²\] -: Rotational inertia of the gearbox (constant for all gears). (Engineering mode only) +: Rotational inertia of the electric machine at the output shaft of the EM. (Engineering mode only) Gears : Gear ratios of the transmission steps of the IEPC @@ -48,7 +48,7 @@ Thermal Overload Recovery Factor : The accumulated overload energy has to be below the max. overload capacity multiplied by this factor so that the peak power is available again. Drag Torque Curve -: The motor's drag torque over engine speed when the motor is not energized. The torque values in the drag curve have to be negative. (see [IEPO Drag Curve File (.viepcd)](#iepc-drag-curve-file-.viepcd)) +: The motor's drag torque over engine speed when the motor is not energized. The torque values in the drag curve have to be negative. (see [IEPC Drag Curve File (.viepcd)](#iepc-drag-curve-file-.viepcd)) Max. Drive and Max. Generation Torque Curve : Torque over engine speed the electric motor can apply on its output shaft. (see [IEPC Max Torque File (.vemp)](#iepc-max-torque-file-.viepcp)). The max drive and max generation torque have to be provided for two different voltage levels. diff --git a/VECTO/GUI/BusAuxiliariesEngParametersForm.vb b/VECTO/GUI/BusAuxiliariesEngParametersForm.vb index bfbd54f7b6a59325ead82d65c1a32a6f407e6b6c..3f940a3a26eb6cab9fced786297cdbad6933a102 100644 --- a/VECTO/GUI/BusAuxiliariesEngParametersForm.vb +++ b/VECTO/GUI/BusAuxiliariesEngParametersForm.vb @@ -2,6 +2,7 @@ Imports System.IO Imports System.Linq +Imports TUGraz.VECTO.Input_Files Imports TUGraz.VectoCommon.InputData Imports TUGraz.VectoCommon.Models Imports TUGraz.VectoCommon.Utils @@ -66,6 +67,7 @@ Public Class BusAuxiliariesEngParametersForm select case JobType case VectoSimulationJobType.BatteryElectricVehicle: + case VectoSimulationJobType.IEPC_E: bgPneumaticSystem.Enabled = False gbHVAC.Enabled = False cbES_HEVREESS.Checked = True @@ -262,7 +264,12 @@ Public Class BusAuxiliariesEngParametersForm busAuxParams.DCDCEfficiency = tbDCDCEff.Text.ToDouble(0) busAuxParams.SupplyESFromHEVREESS = cbES_HEVREESS.Checked - busAuxParams.PathCompressorMap = tbCompressorMap.Text + if (JobType = VectoSimulationJobType.IEPC_E OrElse JobType = VectoSimulationJobType.BatteryElectricVehicle) then + busAuxParams.CompressorMap = Nothing + Else + busAuxParams.CompressorMap = new SubPath() + busAuxParams.PathCompressorMap = tbCompressorMap.Text + End If busAuxParams.AverageAirDemand = tbAverageAirDemand.Text.ToDouble(0) busAuxParams.GearRatio = tbCompressorRatio.Text.ToDouble(0) busAuxParams.SmartCompression = cbSmartCompressor.Checked diff --git a/VECTO/GUI/GearboxForm.vb b/VECTO/GUI/GearboxForm.vb index 3d9d82cfbea95dcaac89a9a45569a788baeccb4d..6f2a7700558dd99feebb0c91fa41213ab90b471f 100644 --- a/VECTO/GUI/GearboxForm.vb +++ b/VECTO/GUI/GearboxForm.vb @@ -89,7 +89,7 @@ Public Class GearboxForm Else CbGStype.DataSource = [Enum].GetValues(GetType(GearboxType)) _ .Cast(Of GearboxType)() _ - .Where(Function(type) type.ManualTransmission() OrElse type.AutomaticTransmission() OrElse type = GearboxType.IHPC) _ + .Where(Function(type) type.ManualTransmission() OrElse type.AutomaticTransmission() OrElse type = GearboxType.IHPC OrElse type = GearboxType.IEPC) _ .Select(Function(type) New With {Key .Value = type, .Label = type.GetLabel()}).ToList() End If DeclInit() diff --git a/VECTO/Input Files/BusParamsEngineering.vb b/VECTO/Input Files/BusParamsEngineering.vb index cb53823f079791f699238a4485630da2d6c706c5..0bebd1d4f986517744e9001b0c6ac7ffc02c7b4c 100644 --- a/VECTO/Input Files/BusParamsEngineering.vb +++ b/VECTO/Input Files/BusParamsEngineering.vb @@ -72,7 +72,7 @@ Public Class BusAuxEngineeringParams writer.SaveBusAuxEngineeringParameters(Me, _filePath, Cfg.DeclMode) Catch ex As Exception - MsgBox("Failed to write Strategy Parameters file: " + ex.Message) + MsgBox("Failed to write auxiliary parameters file: " + ex.Message) Return False End Try Return True diff --git a/VectoCommon/VectoCommon/Models/GearboxType.cs b/VectoCommon/VectoCommon/Models/GearboxType.cs index c00d2504d1e301660e323a96ce709de46bf1fa83..bedc03bf0a1f245ac0031fde00238a33269366b8 100644 --- a/VectoCommon/VectoCommon/Models/GearboxType.cs +++ b/VectoCommon/VectoCommon/Models/GearboxType.cs @@ -43,6 +43,7 @@ namespace TUGraz.VectoCommon.Models ATPowerSplit, APTN, // Automatic Power Transmission - No Torque Converter IHPC, // Integrated Hybrid Powertrain Component - Transmission part + IEPC, // not a real gearbox type, only used for GUI and validation DrivingCycle, NoGearbox } @@ -58,6 +59,7 @@ namespace TUGraz.VectoCommon.Models case GearboxType.ATPowerSplit: return "Automatic Transmission - PowerSplit (AT-P)";//todo mk20211210 shouldn't we call it APT-P? case GearboxType.APTN: return "Automatic Transmission - No Torque Converter (APT-N)"; case GearboxType.IHPC: return "IHPC Transmission"; + case GearboxType.IEPC: return "IEPC Transmission - dummy entry"; case GearboxType.DrivingCycle: return "Gear from Driving Cycle"; default: throw new ArgumentOutOfRangeException("GearboxType", type, null); } diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputData.cs index 366537cc58991ab0e3f35aa163660eeb55154cd1..83a7e4610fca506f989e3002ca75e98a2671b7e0 100644 --- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputData.cs @@ -1153,7 +1153,9 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON } if (Body[JsonKeys.Vehicle_GearboxFile] != null && !string.IsNullOrWhiteSpace(Body[JsonKeys.Vehicle_GearboxFile].Value<string>())) { - AxleGear = ReadGearbox() as IAxleGearInputData; + //AxleGear = ReadGearbox() as IAxleGearInputData; + Gearbox = ReadGearbox(); // gearbox is not used, but required by GUI + AxleGear = Gearbox as IAxleGearInputData; } } diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs index 570e232cbe3bf8db691f0df70057d1c9ebbc53ec..b4099bce7110123711fd37563883652be267ef2b 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs @@ -316,6 +316,16 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter } retVal.ATEcoRollReleaseLockupClutch = adas != null && adas.EcoRoll != EcoRollType.None && retVal.Type.AutomaticTransmission() ? adas.ATEcoRollReleaseLockupClutch.Value : false; + if (retVal.Type == GearboxType.IEPC) { + if (gearbox.Gears.Count > 0) { + throw new VectoSimulationException("No gears are allowed for IEPC gearbox."); + } + + retVal.Inertia = 0.SI<KilogramSquareMeter>(); + retVal.TractionInterruption = 0.SI<Second>(); + return retVal; + } + //var gears = gearbox.Gears; if (gearbox.Gears.Count < 2) { throw new VectoSimulationException("At least two Gear-Entries must be defined in Gearbox!");