From 073b1c6a06def39597b968395b565a8ded5165fd Mon Sep 17 00:00:00 2001
From: "VKMTHD\\haraldmartini" <harald.martini@student.tugraz.at>
Date: Thu, 9 Mar 2023 15:58:54 +0100
Subject: [PATCH] fixed bug in target soc determination

---
 .../HybridStrategyParameterDataAdapter.cs             | 11 +++++++----
 1 file changed, 7 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 53ec8bc7e3..7fcd4e108c 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/SimulationComponents/StrategyDataAdapter/HybridStrategyParameterDataAdapter.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/SimulationComponents/StrategyDataAdapter/HybridStrategyParameterDataAdapter.cs
@@ -194,13 +194,13 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.SimulationComponen
 				var tmpBatterySystem = new BatterySystem(null, batterySystemData);
 				result.MinSoC = tmpBatterySystem.MinSoC;
 				result.MaxSoC = tmpBatterySystem.MaxSoC;
-				result.TargetSoC = (result.MaxSoC - result.MinSoC) / 2;
+				result.TargetSoC = (result.MaxSoC + result.MinSoC) / 2    ;
 				result.InitialSoc = batterySystemData.InitialSoC;
 			} else {
 				result.MinSoC = superCap.MinVoltage / superCap.MaxVoltage;
 				result.MaxSoC = 1;// superCap.MaxVoltage / superCap.MaxVoltage;
 				
-				result.TargetSoC = Math.Sqrt(Math.Pow(superCap.MaxVoltage.Value(), 2) - Math.Pow(superCap.MinVoltage.Value(), 2)) /
+				result.TargetSoC = Math.Sqrt(Math.Pow(superCap.MaxVoltage.Value(), 2) + Math.Pow(superCap.MinVoltage.Value(), 2)) /
 									superCap.MaxVoltage.Value();
 				result.InitialSoc = superCap.InitialSoC;
 			}
@@ -223,11 +223,14 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.SimulationComponen
 						vehicleClass, loading, result.MaxSoC - result.MinSoC);
 			} else {
 				result.EquivalenceFactor = DeclarationData.HEVStrategyParameters.PHEVChargeDepletingEquivalenceFactor;
+
+
 			}
 
 
-			result.EquivalenceFactorCharge = result.EquivalenceFactor * 0.85;
-			result.EquivalenceFactorDischarge = result.EquivalenceFactor / 0.85;
+			var genericEMEfficiency = 0.85;
+			result.EquivalenceFactorCharge = result.EquivalenceFactor * genericEMEfficiency;
+			result.EquivalenceFactorDischarge = result.EquivalenceFactor / genericEMEfficiency;
 			
 
 			return result;
-- 
GitLab