diff --git a/VectoCore/VectoCore/Models/Simulation/Data/ModalResultField.cs b/VectoCore/VectoCore/Models/Simulation/Data/ModalResultField.cs index 4f07a71129cab22df0bbf67b6270fb204dad3762..bd64deffcbce45f302914033871229458b072be3 100644 --- a/VectoCore/VectoCore/Models/Simulation/Data/ModalResultField.cs +++ b/VectoCore/VectoCore/Models/Simulation/Data/ModalResultField.cs @@ -433,9 +433,7 @@ namespace TUGraz.VectoCore.Models.Simulation.Data [ModalResultField(typeof(SI), caption: "U_reess_terminal [V]")] U_reess_terminal, [ModalResultField(typeof(SI), caption: "U_0_reess [V]")] U0_reess, [ModalResultField(typeof(SI), caption: "I_reess [A]")] I_reess, - - [ModalResultField(typeof(SI), caption: "E_reess [kWh]", outputFactor: 1/3600e3)] E_RESS, - } + } [AttributeUsage(AttributeTargets.Field)] public class ModalResultFieldAttribute : Attribute diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/Battery.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/Battery.cs index 6c97bcff2cc269ee8ca54c63bda755dd9499bf41..98c95a97d4103d5d78fc822c78735e623c5faf9d 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/Battery.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/Battery.cs @@ -157,9 +157,6 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl container[ModalResultField.P_reess_loss] = CurrentState.BatteryLoss; container[ModalResultField.P_reess_charge_max] = CurrentState.MaxChargePower; container[ModalResultField.P_reess_discharge_max] = CurrentState.MaxDischargePower; - - container[ModalResultField.E_RESS] = CurrentState.StateOfCharge * cellVoltage * ModelData.Capacity; - } protected override void DoCommitSimulationStep(Second time, Second simulationInterval) diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/SuperCap.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/SuperCap.cs index ab26393427fde4811816a5f9bdb222ce3daf94f5..621be6e2a44d38fe28677393286b092a6f5f1f6f 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/SuperCap.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/SuperCap.cs @@ -191,8 +191,6 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl container[ModalResultField.P_reess_loss] = CurrentState.InternalLoss; container[ModalResultField.P_reess_charge_max] = CurrentState.MaxChargePower; container[ModalResultField.P_reess_discharge_max] = CurrentState.MaxDischargePower; - - container[ModalResultField.E_RESS] = CurrentState.Charge * CurrentState.Charge / ModelData.Capacity / 2.0; } protected override void DoCommitSimulationStep(Second time, Second simulationInterval) diff --git a/VectoCore/VectoCore/OutputData/IModalDataContainer.cs b/VectoCore/VectoCore/OutputData/IModalDataContainer.cs index 8659e62b7a410bd1ab5deac9267c314b0e192554..2f40b5daf46e3205956588d7466a891f0acc42b4 100644 --- a/VectoCore/VectoCore/OutputData/IModalDataContainer.cs +++ b/VectoCore/VectoCore/OutputData/IModalDataContainer.cs @@ -141,8 +141,6 @@ namespace TUGraz.VectoCore.OutputData double BatteryStartSoC(); double REESSEndSoC(); WattSecond REESSLoss(); - WattSecond REESSEnergyEnd(); - } public static class ModalDataContainerExtensions diff --git a/VectoCore/VectoCore/OutputData/ModalDataContainer.cs b/VectoCore/VectoCore/OutputData/ModalDataContainer.cs index 22131e5438c5a34917e4922c4c4d3ef1d78f8488..8288dae00fd355e5786325498b7c6fcb5b2f4f46 100644 --- a/VectoCore/VectoCore/OutputData/ModalDataContainer.cs +++ b/VectoCore/VectoCore/OutputData/ModalDataContainer.cs @@ -504,12 +504,6 @@ namespace TUGraz.VectoCore.OutputData return TimeIntegral<WattSecond>(ModalResultField.P_reess_loss); } - public WattSecond REESSEnergyEnd() - { - return Data.AsEnumerable().Cast<DataRow>().Last().Field<SI>(ModalResultField.E_RESS.GetName()) - .Cast<WattSecond>(); - } - public void CalculateAggregateValues() { var duration = Duration; @@ -714,7 +708,6 @@ namespace TUGraz.VectoCore.OutputData ModalResultField.U_reess_terminal, ModalResultField.U0_reess, ModalResultField.I_reess, - ModalResultField.E_RESS }.Select(x => x.GetName())); foreach (var em in ElectricMotors.OrderBy(x => x).Reverse()) { dataColumns.AddRange(_electricMotorColumns.Select(emCol => diff --git a/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs b/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs index 070f5628483290d46ff8f5c4b1d320aa96275bf1..e5f8add557861975e1bece57d1fbb0f807bee965 100644 --- a/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs +++ b/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs @@ -786,25 +786,15 @@ namespace TUGraz.VectoCore.OutputData if (runData.BatteryData != null) { row[Fields.REESS_StartSoC] = runData.BatteryData.InitialSoC * 100; row[Fields.REESS_EndSoC] = modData.REESSEndSoC(); - var cellVoltage = runData.BatteryData.SOCMap.Lookup(runData.BatteryData.InitialSoC); - row[Fields.REESS_DeltaSoC] = - (modData.REESSEnergyEnd() - - (runData.BatteryData.InitialSoC * runData.BatteryData.Capacity * cellVoltage).Cast<WattSecond>()).ConvertToKiloWattHour(); + row[Fields.REESS_DeltaSoC] = modData.TimeIntegral<WattSecond>(ModalResultField.P_reess_int.GetName()) + .ConvertToKiloWattHour(); - } if (runData.SuperCapData != null) { row[Fields.REESS_StartSoC] = runData.SuperCapData.InitialSoC * 100; row[Fields.REESS_EndSoC] = modData.REESSEndSoC(); - var initialCharge = runData.SuperCapData.Capacity * - ((runData.SuperCapData.MaxVoltage - runData.SuperCapData.MinVoltage) * - runData.SuperCapData.InitialSoC + - runData.SuperCapData.MinVoltage); - row[Fields.REESS_DeltaSoC] = - (modData.REESSEnergyEnd() - - (initialCharge * initialCharge / runData.SuperCapData.Capacity / 2.0).Cast<WattSecond>()).ConvertToKiloWattHour(); - - + row[Fields.REESS_DeltaSoC] = modData.TimeIntegral<WattSecond>(ModalResultField.P_reess_int.GetName()) + .ConvertToKiloWattHour(); } } @@ -1338,10 +1328,10 @@ namespace TUGraz.VectoCore.OutputData public const string E_EM_LOSS_FORMAT = "E_EM_{0}_loss [kWh]"; + public const string REESS_CAPACITY = "REESS Capacity"; public const string REESS_StartSoC = "REESS Start SoC [%]"; public const string REESS_EndSoC = "REESS End SoC [%]"; - public const string REESS_DeltaSoC = "REESS Delta SoC [kWh]"; - public const string REESS_CAPACITY = "REESS Capacity"; + public const string REESS_DeltaSoC = "ΔE_REESS [kWh]"; public const string E_REESS_LOSS = "E_REESS_loss [kWh]"; public const string E_REESS_T_chg = "E_REESS_T_chg [kWh]";