From f83679bf24b4863b50cd8014a95d0cda41095587 Mon Sep 17 00:00:00 2001 From: Markus Quaritsch <quaritsch@ivt.tugraz.at> Date: Mon, 15 May 2023 19:17:30 +0200 Subject: [PATCH] calcuclate average voltage in case of a supercap for overload buffer calc --- .../DeclarationModeCompletedBusRunDataFactory.cs | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/CompletedBusRunDataFactory/DeclarationModeCompletedBusRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/CompletedBusRunDataFactory/DeclarationModeCompletedBusRunDataFactory.cs index 73c6fb64d7..42f1430d78 100644 --- a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/CompletedBusRunDataFactory/DeclarationModeCompletedBusRunDataFactory.cs +++ b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/CompletedBusRunDataFactory/DeclarationModeCompletedBusRunDataFactory.cs @@ -654,10 +654,12 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl.DeclarationMode.CompletedBusRun (bs) => rd.BatteryData = bs, (sc) => rd.SuperCapData = sc); + var averageVoltage = rd.BatteryData != null + ? rd.BatteryData.CalculateAverageVoltage() + : (rd.SuperCapData.MaxVoltage - rd.SuperCapData.MinVoltage) / 2.0; - - rd.ElectricMachinesData = DataAdapterGeneric.CreateElectricMachines(PrimaryVehicle.Components.ElectricMachines, - PrimaryVehicle.ElectricMotorTorqueLimits, rd.BatteryData.CalculateAverageVoltage(), null); + rd.ElectricMachinesData = DataAdapterGeneric.CreateElectricMachines(PrimaryVehicle.Components.ElectricMachines, + PrimaryVehicle.ElectricMotorTorqueLimits, averageVoltage, null); @@ -722,8 +724,12 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl.DeclarationMode.CompletedBusRun (bs) => rd.BatteryData = bs, (sc) => rd.SuperCapData = sc); + var averageVoltage = rd.BatteryData != null + ? rd.BatteryData.CalculateAverageVoltage() + : (rd.SuperCapData.MaxVoltage - rd.SuperCapData.MinVoltage) / 2.0; + rd.ElectricMachinesData = DataAdapterGeneric.CreateElectricMachines(PrimaryVehicle.Components.ElectricMachines, - PrimaryVehicle.ElectricMotorTorqueLimits, rd.BatteryData.CalculateAverageVoltage(), null); + PrimaryVehicle.ElectricMotorTorqueLimits, averageVoltage, null); rd.VehicleData = DataAdapterSpecific.CreateVehicleData(PrimaryVehicle, CompletedVehicle, _segment, mission, loading); -- GitLab