diff --git a/VectoCore/VectoCore/Models/Simulation/Data/ModalResult.cs b/VectoCore/VectoCore/Models/Simulation/Data/ModalResult.cs index 25a003a7c49f2edf0b6f52342f754cb51d6f905e..e8328466d7aee731fb059d979c9793174b6fba2e 100644 --- a/VectoCore/VectoCore/Models/Simulation/Data/ModalResult.cs +++ b/VectoCore/VectoCore/Models/Simulation/Data/ModalResult.cs @@ -378,6 +378,10 @@ namespace TUGraz.VectoCore.Models.Simulation.Data ? GearboxSignals_AT : GearboxSignals); break; + case IGearbox g when g is BEVCycleGearbox && runData.JobType == VectoSimulationJobType.IEPC_E: + CreateColumns(GearboxSignals_AT); + CreateColumns(TorqueConverterSignals); + break; case IGearbox _ when runData.JobType == VectoSimulationJobType.IEPC_E: case IGearbox _ when runData.JobType == VectoSimulationJobType.IEPC_S: CreateColumns(IEPCTransmissionSignals); diff --git a/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs b/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs index 6846e0f0d3d7ee3227d6113fa81bad67063c163a..810efc2ed2e533c7d7ea89359f1a62e8df25f921 100644 --- a/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs +++ b/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs @@ -80,14 +80,14 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl /// </summary> public static class PowertrainBuilder { - private static readonly Dictionary<CycleType, Dictionary<VectoSimulationJobType, Func<VectoRunData, IModalDataContainer, WriteSumData, IVehicleContainer>>> _builders; + private static readonly Dictionary<CycleType, Dictionary<VectoSimulationJobType, Func<VectoRunData, IModalDataContainer, ISumData, IVehicleContainer>>> _builders; private static readonly Dictionary<PowertrainPosition, Func<VectoRunData, VehicleContainer, ElectricSystem, IPowerTrainComponent, IElectricMotor>> _MeasuredSpeedBEVBuilders; private static readonly Dictionary<PowertrainPosition, Func<VectoRunData, VehicleContainer, ElectricSystem, PWheelCycle, IElectricMotor>> _PWheelBEVBuilders; static PowertrainBuilder() { - var distanceBuilders = new Dictionary<VectoSimulationJobType, Func<VectoRunData, IModalDataContainer, WriteSumData, IVehicleContainer>>() + var distanceBuilders = new Dictionary<VectoSimulationJobType, Func<VectoRunData, IModalDataContainer, ISumData, IVehicleContainer>>() { { VectoSimulationJobType.ConventionalVehicle, BuildFullPowertrainConventional }, { VectoSimulationJobType.ParallelHybridVehicle, BuildFullPowertrainParallelHybrid }, @@ -98,38 +98,38 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl { VectoSimulationJobType.IEPC_S, BuildFullPowertrainIEPCSerial } }; - var pWheelBuilders = new Dictionary<VectoSimulationJobType, Func<VectoRunData, IModalDataContainer, WriteSumData, IVehicleContainer>>() + var pWheelBuilders = new Dictionary<VectoSimulationJobType, Func<VectoRunData, IModalDataContainer, ISumData, IVehicleContainer>>() { { VectoSimulationJobType.ConventionalVehicle, BuildPWheelConventional }, { VectoSimulationJobType.BatteryElectricVehicle, BuildPWheelBatteryElectric }, { VectoSimulationJobType.IEPC_E, BuildPWheelBatteryElectric } }; - var measuredSpeedGearBuilders = new Dictionary<VectoSimulationJobType, Func<VectoRunData, IModalDataContainer, WriteSumData, IVehicleContainer>>() + var measuredSpeedGearBuilders = new Dictionary<VectoSimulationJobType, Func<VectoRunData, IModalDataContainer, ISumData, IVehicleContainer>>() { { VectoSimulationJobType.ConventionalVehicle, BuildMeasuredSpeedGearConventional }, { VectoSimulationJobType.BatteryElectricVehicle, BuildMeasuredSpeedGearBatteryElectric }, { VectoSimulationJobType.IEPC_E, BuildMeasuredSpeedGearIEPC } }; - var measuredSpeedBuilders = new Dictionary<VectoSimulationJobType, Func<VectoRunData, IModalDataContainer, WriteSumData, IVehicleContainer>>() + var measuredSpeedBuilders = new Dictionary<VectoSimulationJobType, Func<VectoRunData, IModalDataContainer, ISumData, IVehicleContainer>>() { { VectoSimulationJobType.ConventionalVehicle, BuildMeasuredSpeedConventional }, { VectoSimulationJobType.BatteryElectricVehicle, BuildMeasuredSpeedBatteryElectric }, { VectoSimulationJobType.IEPC_E, BuildMeasuredSpeedBatteryElectric } }; - var vtpBuilders = new Dictionary<VectoSimulationJobType, Func<VectoRunData, IModalDataContainer, WriteSumData, IVehicleContainer>>() + var vtpBuilders = new Dictionary<VectoSimulationJobType, Func<VectoRunData, IModalDataContainer, ISumData, IVehicleContainer>>() { { VectoSimulationJobType.ConventionalVehicle, BuildVTPConventional } }; - var engineOnlyBuilders = new Dictionary<VectoSimulationJobType, Func<VectoRunData, IModalDataContainer, WriteSumData, IVehicleContainer>>() + var engineOnlyBuilders = new Dictionary<VectoSimulationJobType, Func<VectoRunData, IModalDataContainer, ISumData, IVehicleContainer>>() { { VectoSimulationJobType.ConventionalVehicle, BuildEngineOnly } }; - _builders = new Dictionary<CycleType, Dictionary<VectoSimulationJobType, Func<VectoRunData, IModalDataContainer, WriteSumData, IVehicleContainer>>>() + _builders = new Dictionary<CycleType, Dictionary<VectoSimulationJobType, Func<VectoRunData, IModalDataContainer, ISumData, IVehicleContainer>>>() { { CycleType.DistanceBased, distanceBuilders }, { CycleType.PWheel, pWheelBuilders }, @@ -832,7 +832,7 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl return container; } - private static IVehicleContainer BuildPWheelBatteryElectric(VectoRunData data, IModalDataContainer modData, WriteSumData sumWriter) + private static IVehicleContainer BuildPWheelBatteryElectric(VectoRunData data, IModalDataContainer modData, ISumData sumWriter) { VerifyCycleType(data, CycleType.PWheel); ValidateBatteryElectric(data); @@ -985,7 +985,7 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl return pto; } - private static IVehicleContainer BuildMeasuredSpeedBatteryElectric(VectoRunData data, IModalDataContainer modData, WriteSumData sumWriter) + private static IVehicleContainer BuildMeasuredSpeedBatteryElectric(VectoRunData data, IModalDataContainer modData, ISumData sumWriter) { VerifyCycleType(data, CycleType.MeasuredSpeed); ValidateBatteryElectric(data); @@ -1117,7 +1117,7 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl em.BusAux = busAux; } - private static IVehicleContainer BuildMeasuredSpeedGearBatteryElectric(VectoRunData data, IModalDataContainer modData, WriteSumData sumWriter) + private static IVehicleContainer BuildMeasuredSpeedGearBatteryElectric(VectoRunData data, IModalDataContainer modData, ISumData sumWriter) { VerifyCycleType(data, CycleType.MeasuredSpeedGear); ValidateBatteryElectric(data); @@ -1157,7 +1157,7 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl return container; } - private static IVehicleContainer BuildMeasuredSpeedGearIEPC(VectoRunData data, IModalDataContainer modData, WriteSumData sumWriter) + private static IVehicleContainer BuildMeasuredSpeedGearIEPC(VectoRunData data, IModalDataContainer modData, ISumData sumWriter) { VerifyCycleType(data, CycleType.MeasuredSpeedGear); ValidateBatteryElectric(data); diff --git a/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs b/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs index 800df96ab134eb76a3b2aecfb6c1e74c05a23895..1e7fc58c4f8e20492ea34419939edcfb83517075 100644 --- a/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs +++ b/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs @@ -665,6 +665,17 @@ namespace TUGraz.VectoCore.OutputData }); cols.AddRange(GearColumns.OrderBy(x => x)); + cols.AddRange(new[] { + SumDataFields.REESS_StartSoC, + SumDataFields.REESS_EndSoC, + SumDataFields.REESS_DeltaEnergy, + SumDataFields.E_REESS_LOSS, + SumDataFields.E_REESS_T_chg, + SumDataFields.E_REESS_T_dischg, + SumDataFields.E_REESS_int_chg, + SumDataFields.E_REESS_int_dischg, + }); + return cols.Where(x => Table.Columns.Contains(x)).ToArray(); } diff --git a/VectoCore/VectoCoreTest/Integration/BatteryElectric/BEVTimeRunTest.cs b/VectoCore/VectoCoreTest/Integration/BatteryElectric/BEVTimeRunTest.cs index ceb362d0b9c9e70a3c9d21be47dbf6be8839b698..3db8325f12e0085292f7e922e200f3569dbadf76 100644 --- a/VectoCore/VectoCoreTest/Integration/BatteryElectric/BEVTimeRunTest.cs +++ b/VectoCore/VectoCoreTest/Integration/BatteryElectric/BEVTimeRunTest.cs @@ -112,8 +112,8 @@ namespace TUGraz.VectoCore.Tests.Integration.BatteryElectric { Dictionary<string, double> metrics = new Dictionary<string, double>() { - { SummaryDataContainer.Fields.E_REESS_T_chg, charge }, - { SummaryDataContainer.Fields.E_REESS_T_dischg, discharge } + { SumDataFields.E_REESS_T_chg, charge }, + { SumDataFields.E_REESS_T_dischg, discharge } }; RunBEVTimeRunCycle(jobFile, cycleIdx, distanceCycleIdx, metrics); @@ -140,8 +140,8 @@ namespace TUGraz.VectoCore.Tests.Integration.BatteryElectric { Dictionary<string, double> metrics = new Dictionary<string, double>() { - { SummaryDataContainer.Fields.E_REESS_T_chg, double.NaN }, - { SummaryDataContainer.Fields.E_REESS_T_dischg, double.NaN } + { SumDataFields.E_REESS_T_chg, double.NaN }, + { SumDataFields.E_REESS_T_dischg, double.NaN } }; RunBEVDistanceRunCycle(jobFile, cycleIdx, metrics);