From 30e9372c279ddd5812eab736f03665eddf053777 Mon Sep 17 00:00:00 2001 From: Markus Quaritsch <quaritsch@ivt.tugraz.at> Date: Fri, 3 Mar 2023 16:25:29 +0100 Subject: [PATCH] correct serial hybrid strategy parameters: target soc is 1% below inital soc, avoid unit conversion in calculating deltaSoC --- .../HybridStrategyParameterDataAdapter.cs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/SimulationComponents/StrategyDataAdapter/HybridStrategyParameterDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/SimulationComponents/StrategyDataAdapter/HybridStrategyParameterDataAdapter.cs index b81ad5070f..53ec8bc7e3 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/SimulationComponents/StrategyDataAdapter/HybridStrategyParameterDataAdapter.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/SimulationComponents/StrategyDataAdapter/HybridStrategyParameterDataAdapter.cs @@ -344,7 +344,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.SimulationComponen result.TargetSoC = reessMaxSoc - 1 * deltaSoc; result.MinSoC = reessMinSoc + 2 * deltaSoc; if (reessMinSoc >= result.TargetSoC) { - throw new VectoException("Min SOC higher than Target SOC"); + throw new VectoException("Min SOC higher than Target SOC - probably the battery capacity is too small"); } } @@ -355,7 +355,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.SimulationComponen break; case VectoRunData.OvcHevMode.ChargeDepleting: result.InitialSoc = (tmpSystem.MaxSoC + tmpSystem.MinSoC) / 2; - result.TargetSoC = result.InitialSoc - 1; + result.TargetSoC = result.InitialSoc - 0.01; // target SoC is 1% below initial SoC break; default: throw new ArgumentOutOfRangeException(nameof(ovcMode), ovcMode, null); @@ -367,8 +367,9 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.SimulationComponen { var v_nom = tmpSystem.NominalVoltage; - var c_nom = tmpSystem.Capacity.AsAmpHour; - var result = KineticEnergy(vehicleMass, v).ConvertToWattHour() / v_nom / c_nom; + var c_nom = tmpSystem.Capacity; + //var result = KineticEnergy(vehicleMass, v).ConvertToWattHour() / v_nom / c_nom; + var result = KineticEnergy(vehicleMass, v) / v_nom / c_nom; return result.Value(); } -- GitLab