From 61e22ad34540469a0157dcaab25dc9c11ccf3466 Mon Sep 17 00:00:00 2001
From: "VKMTHD\\haraldmartini" <harald.martini@student.tugraz.at>
Date: Thu, 2 Feb 2023 15:23:07 +0100
Subject: [PATCH] set Equivalence factor to 0.01 for P-HEV  in charge depleting
 mode

---
 .../HybridStrategyParameterDataAdapter.cs           | 13 +++++++++----
 .../Models/Declaration/InitEquivalenceFactors.cs    |  8 +++++---
 2 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/SimulationComponents/StrategyDataAdapter/HybridStrategyParameterDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/SimulationComponents/StrategyDataAdapter/HybridStrategyParameterDataAdapter.cs
index 10e1f7f2c1..27504f7576 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/SimulationComponents/StrategyDataAdapter/HybridStrategyParameterDataAdapter.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/SimulationComponents/StrategyDataAdapter/HybridStrategyParameterDataAdapter.cs
@@ -56,11 +56,16 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.SimulationComponen
 			result.MinICEOnTime = 10.SI<Second>();
 			result.ICEStartPenaltyFactor = 0.1;
 			result.CostFactorSOCExponent = 1;
-			
 
-			result.EquivalenceFactor =
-				DeclarationData.HEVStrategyParameters.LookupEquivalenceFactor(missionType,
-					vehicleClass, loading, result.MaxSoC - result.MinSoC);
+			if (ovcMode == VectoRunData.OvcHevMode.ChargeSustaining) {
+				result.EquivalenceFactor =
+					DeclarationData.HEVStrategyParameters.LookupEquivalenceFactor(missionType,
+						vehicleClass, loading, result.MaxSoC - result.MinSoC);
+			} else {
+				result.EquivalenceFactor = DeclarationData.HEVStrategyParameters.PHEVChargeDepletingEquivalenceFactor;
+			}
+
+
 			result.EquivalenceFactorCharge = result.EquivalenceFactor * 0.85;
 			result.EquivalenceFactorDischarge = result.EquivalenceFactor / 0.85;
 			
diff --git a/VectoCore/VectoCore/Models/Declaration/InitEquivalenceFactors.cs b/VectoCore/VectoCore/Models/Declaration/InitEquivalenceFactors.cs
index 6369ed54c3..ecffa11367 100644
--- a/VectoCore/VectoCore/Models/Declaration/InitEquivalenceFactors.cs
+++ b/VectoCore/VectoCore/Models/Declaration/InitEquivalenceFactors.cs
@@ -24,8 +24,8 @@ namespace TUGraz.VectoCore.Models.Declaration
 			new Dictionary<int, InitEquivalenceFactors>(3);
 
 		private readonly IList<int> _socRanges = new List<int>{ 10, 20, 40 };
-
-		private readonly Slope _slope;
+		public double PHEVChargeDepletingEquivalenceFactor => 0.01;
+        private readonly Slope _slope;
 
         protected HEVStrategyParameters(string vehicle)
 		{
@@ -37,7 +37,9 @@ namespace TUGraz.VectoCore.Models.Declaration
 			_slope = new Slope(vehicle);
 		}
 
-        /// <summary>
+
+
+		/// <summary>
         /// Looks up the initial equivalence factor.
         /// </summary>
         /// <param name="mission"></param>
-- 
GitLab