From 66eacc8b02f4028c457f5684057f889edbfc9a9f Mon Sep 17 00:00:00 2001
From: Markus Quaritsch <quaritsch@ivt.tugraz.at>
Date: Mon, 8 May 2023 09:37:04 +0200
Subject: [PATCH] make hev strategy parameters applicable for multiple groups
 (primary and completed/single)

---
 .../Declaration/InitEquivalenceFactors.cs     |  6 ++--
 .../HEVParameters/Bus/Gradient_40.csv         | 32 +++++++------------
 .../HEV_Strategy_Parameters_fequiv_10soc.csv  | 32 +++++++------------
 .../HEV_Strategy_Parameters_fequiv_20soc.csv  | 32 +++++++------------
 .../HEV_Strategy_Parameters_fequiv_40soc.csv  | 32 +++++++------------
 5 files changed, 47 insertions(+), 87 deletions(-)

diff --git a/VectoCore/VectoCore/Models/Declaration/InitEquivalenceFactors.cs b/VectoCore/VectoCore/Models/Declaration/InitEquivalenceFactors.cs
index 53bdbf4924..d22131b604 100644
--- a/VectoCore/VectoCore/Models/Declaration/InitEquivalenceFactors.cs
+++ b/VectoCore/VectoCore/Models/Declaration/InitEquivalenceFactors.cs
@@ -94,7 +94,7 @@ namespace TUGraz.VectoCore.Models.Declaration
 
 		public virtual double LookupSlope(MissionType mission, VehicleClass hdvClass, LoadingType loading)
 		{
-			return _slope.Lookup( hdvClass.GetClassNumber(), mission.GetNonEMSMissionType().GetName().ToLowerInvariant(),
+			return _slope.Lookup( hdvClass.GetClassNumberWithoutSubSuffix(), mission.GetNonEMSMissionType().GetName().ToLowerInvariant(),
                 loading);
 		}
 
@@ -117,7 +117,7 @@ namespace TUGraz.VectoCore.Models.Declaration
             }
             public double LookupEquivalenceFactor(MissionType mission, VehicleClass hdvClass, LoadingType loading)
             {
-                var entry = Lookup(hdvClass.GetClassNumber()).cycleDict[mission.GetNonEMSMissionType()];
+                var entry = Lookup(hdvClass.GetClassNumberWithoutSubSuffix()).cycleDict[mission.GetNonEMSMissionType()];
 
                 switch (loading)
                 {
@@ -157,7 +157,7 @@ namespace TUGraz.VectoCore.Models.Declaration
 					foreach (string vehClass in vehicleGroups.Split('/')) {
                         var newEntry = new Entry
                         {
-                            VehicleGroup = vehClass,
+                            VehicleGroup = vehClass.Trim(),
                             cycleDict = new Dictionary<MissionType, Tuple<double, double>>()
                         };
 
diff --git a/VectoCore/VectoCore/Resources/Declaration/HEVParameters/Bus/Gradient_40.csv b/VectoCore/VectoCore/Resources/Declaration/HEVParameters/Bus/Gradient_40.csv
index da30d8b7e6..d76c5300d4 100644
--- a/VectoCore/VectoCore/Resources/Declaration/HEVParameters/Bus/Gradient_40.csv
+++ b/VectoCore/VectoCore/Resources/Declaration/HEVParameters/Bus/Gradient_40.csv
@@ -1,21 +1,11 @@
-vehiclegroup , heavyurban    , suburban     , urban         , interurban , coach
-P31SD        , 0.0995/0.0925 , 0.0873/0.104 , 0.0983/0.0931 , 0.9/0.9    ,
-P31DD        , 0.0995/0.0925 , 0.0873/0.104 , 0.0983/0.0931 , 0.9/0.9    ,
-P32SD        ,               ,              ,               , 0.9/0.9    , 0.9/0.9
-P32DD        ,               ,              ,               , 0.9/0.9    , 0.9/0.9
-P33SD        , 0.0995/0.0925 , 0.0873/0.104 , 0.0983/0.0931 , 0.9/0.9    ,
-P33DD        , 0.0995/0.0925 , 0.0873/0.104 , 0.0983/0.0931 , 0.9/0.9    ,
-P34SD        ,               ,              ,               , 0.9/0.9    , 0.9/0.9
-P34DD        ,               ,              ,               , 0.9/0.9    , 0.9/0.9
-P35SD        , 0.0995/0.0925 , 0.0873/0.104 , 0.0983/0.0931 , 0.9/0.9    ,
-P35DD        , 0.0995/0.0925 , 0.0873/0.104 , 0.0983/0.0931 , 0.9/0.9    ,
-P36SD        ,               ,              ,               , 0.9/0.9    , 0.9/0.9
-P36DD        ,               ,              ,               , 0.9/0.9    , 0.9/0.9
-P37SD        , 0.0995/0.0925 , 0.0873/0.104 , 0.0983/0.0931 , 0.9/0.9    ,
-P37DD        , 0.0995/0.0925 , 0.0873/0.104 , 0.0983/0.0931 , 0.9/0.9    ,
-P38SD        ,               ,              ,               , 0.9/0.9    , 0.9/0.9
-P38DD        ,               ,              ,               , 0.9/0.9    , 0.9/0.9
-P39SD        , 0.0995/0.0925 , 0.0873/0.104 , 0.0983/0.0931 , 0.9/0.9    ,
-P39DD        , 0.0995/0.0925 , 0.0873/0.104 , 0.0983/0.0931 , 0.9/0.9    ,
-P40SD        ,               ,              ,               , 0.9/0.9    , 0.9/0.9
-P40DD        ,               ,              ,               , 0.9/0.9    , 0.9/0.9
+vehiclegroup       , heavyurban    , suburban     , urban         , interurban , coach
+31 / P31SD / P31DD , 0.0995/0.0925 , 0.0873/0.104 , 0.0983/0.0931 , 0.9/0.9    ,
+32 / P32SD / P32DD ,               ,              ,               , 0.9/0.9    , 0.9/0.9
+33 / P33SD / P33DD , 0.0995/0.0925 , 0.0873/0.104 , 0.0983/0.0931 , 0.9/0.9    ,
+34 / P34SD / P34DD ,               ,              ,               , 0.9/0.9    , 0.9/0.9
+35 / P35SD / P35DD , 0.0995/0.0925 , 0.0873/0.104 , 0.0983/0.0931 , 0.9/0.9    ,
+36 / P36SD / P36DD ,               ,              ,               , 0.9/0.9    , 0.9/0.9
+37 / P37SD / P37DD , 0.0995/0.0925 , 0.0873/0.104 , 0.0983/0.0931 , 0.9/0.9    ,
+38 / P38SD / P38DD ,               ,              ,               , 0.9/0.9    , 0.9/0.9
+39 / P39SD / P39DD , 0.0995/0.0925 , 0.0873/0.104 , 0.0983/0.0931 , 0.9/0.9    ,
+40 / P40SD / P40DD ,               ,              ,               , 0.9/0.9    , 0.9/0.9
diff --git a/VectoCore/VectoCore/Resources/Declaration/HEVParameters/Bus/HEV_Strategy_Parameters_fequiv_10soc.csv b/VectoCore/VectoCore/Resources/Declaration/HEVParameters/Bus/HEV_Strategy_Parameters_fequiv_10soc.csv
index fc6c767847..56a5e5149b 100644
--- a/VectoCore/VectoCore/Resources/Declaration/HEVParameters/Bus/HEV_Strategy_Parameters_fequiv_10soc.csv
+++ b/VectoCore/VectoCore/Resources/Declaration/HEVParameters/Bus/HEV_Strategy_Parameters_fequiv_10soc.csv
@@ -1,21 +1,11 @@
-vehiclegroup , heavyurban  , suburban    , urban       , interurban  , coach
-P31SD        , 2.50 / 2.20 , 2.00 / 1.50 , 2.80 / 2.60 , 0.10 / 0.10 ,
-P31DD        , 2.50 / 2.20 , 2.00 / 1.50 , 2.80 / 2.60 , 0.10 / 0.10 ,
-P32SD        ,             ,             ,             , 0.10 / 0.10 , 1.80 / 1.70
-P32DD        ,             ,             ,             , 0.10 / 0.10 , 1.80 / 1.70
-P33SD        , 2.50 / 2.20 , 2.00 / 1.50 , 2.80 / 2.60 , 0.10 / 0.10 ,
-P33DD        , 2.50 / 2.20 , 2.00 / 1.50 , 2.80 / 2.60 , 0.10 / 0.10 ,
-P34SD        ,             ,             ,             , 0.10 / 0.10 , 1.80 / 1.70
-P34DD        ,             ,             ,             , 0.10 / 0.10 , 1.80 / 1.70
-P35SD        , 2.50 / 2.20 , 2.00 / 1.50 , 2.80 / 2.60 , 0.10 / 0.10 ,
-P35DD        , 2.50 / 2.20 , 2.00 / 1.50 , 2.80 / 2.60 , 0.10 / 0.10 ,
-P36SD        ,             ,             ,             , 0.10 / 0.10 , 1.80 / 1.70
-P36DD        ,             ,             ,             , 0.10 / 0.10 , 1.80 / 1.70
-P37SD        , 2.50 / 2.20 , 2.00 / 1.50 , 2.80 / 2.60 , 0.10 / 0.10 ,
-P37DD        , 2.50 / 2.20 , 2.00 / 1.50 , 2.80 / 2.60 , 0.10 / 0.10 ,
-P38SD        ,             ,             ,             , 0.10 / 0.10 , 1.80 / 1.70
-P38DD        ,             ,             ,             , 0.10 / 0.10 , 1.80 / 1.70
-P39SD        , 2.50 / 2.20 , 2.00 / 1.50 , 2.80 / 2.60 , 0.10 / 0.10 ,
-P39DD        , 2.50 / 2.20 , 2.00 / 1.50 , 2.80 / 2.60 , 0.10 / 0.10 ,
-P40SD        ,             ,             ,             , 0.10 / 0.10 , 1.80 / 1.70
-P40DD        ,             ,             ,             , 0.10 / 0.10 , 1.80 / 1.70
+vehiclegroup       , heavyurban  , suburban    , urban       , interurban  , coach
+31 / P31SD / P31DD , 2.50 / 2.20 , 2.00 / 1.50 , 2.80 / 2.60 , 0.10 / 0.10 ,
+32 / P32SD / P32DD ,             ,             ,             , 0.10 / 0.10 , 1.80 / 1.70
+33 / P33SD / P33DD , 2.50 / 2.20 , 2.00 / 1.50 , 2.80 / 2.60 , 0.10 / 0.10 ,
+34 / P34SD / P34DD ,             ,             ,             , 0.10 / 0.10 , 1.80 / 1.70
+35 / P35SD / P35DD , 2.50 / 2.20 , 2.00 / 1.50 , 2.80 / 2.60 , 0.10 / 0.10 ,
+36 / P36SD / P36DD ,             ,             ,             , 0.10 / 0.10 , 1.80 / 1.70
+37 / P37SD / P37DD , 2.50 / 2.20 , 2.00 / 1.50 , 2.80 / 2.60 , 0.10 / 0.10 ,
+38 / P38SD / P38DD ,             ,             ,             , 0.10 / 0.10 , 1.80 / 1.70
+39 / P39SD / P39DD , 2.50 / 2.20 , 2.00 / 1.50 , 2.80 / 2.60 , 0.10 / 0.10 ,
+40 / P40SD / P40DD ,             ,             ,             , 0.10 / 0.10 , 1.80 / 1.70
diff --git a/VectoCore/VectoCore/Resources/Declaration/HEVParameters/Bus/HEV_Strategy_Parameters_fequiv_20soc.csv b/VectoCore/VectoCore/Resources/Declaration/HEVParameters/Bus/HEV_Strategy_Parameters_fequiv_20soc.csv
index 1872058299..430ede88e1 100644
--- a/VectoCore/VectoCore/Resources/Declaration/HEVParameters/Bus/HEV_Strategy_Parameters_fequiv_20soc.csv
+++ b/VectoCore/VectoCore/Resources/Declaration/HEVParameters/Bus/HEV_Strategy_Parameters_fequiv_20soc.csv
@@ -1,21 +1,11 @@
-vehiclegroup , heavyurban  , suburban    , urban       , interurban  , coach
-P31SD        , 2.80 / 2.50 , 2.30 / 1.90 , 3.00 / 2.80 , 0.10 / 0.10 ,
-P31DD        , 2.80 / 2.50 , 2.30 / 1.90 , 3.00 / 2.80 , 0.10 / 0.10 ,
-P32SD        ,             ,             ,             , 0.10 / 0.10 , 1.80 / 1.70
-P32DD        ,             ,             ,             , 0.10 / 0.10 , 1.80 / 1.70
-P33SD        , 2.80 / 2.50 , 2.30 / 1.90 , 3.00 / 2.80 , 0.10 / 0.10 ,
-P33DD        , 2.80 / 2.50 , 2.30 / 1.90 , 3.00 / 2.80 , 0.10 / 0.10 ,
-P34SD        ,             ,             ,             , 0.10 / 0.10 , 1.80 / 1.70
-P34DD        ,             ,             ,             , 0.10 / 0.10 , 1.80 / 1.70
-P35SD        , 2.80 / 2.50 , 2.30 / 1.90 , 3.00 / 2.80 , 0.10 / 0.10 ,
-P35DD        , 2.80 / 2.50 , 2.30 / 1.90 , 3.00 / 2.80 , 0.10 / 0.10 ,
-P36SD        ,             ,             ,             , 0.10 / 0.10 , 1.80 / 1.70
-P36DD        ,             ,             ,             , 0.10 / 0.10 , 1.80 / 1.70
-P37SD        , 2.80 / 2.50 , 2.30 / 1.90 , 3.00 / 2.80 , 0.10 / 0.10 ,
-P37DD        , 2.80 / 2.50 , 2.30 / 1.90 , 3.00 / 2.80 , 0.10 / 0.10 ,
-P38SD        ,             ,             ,             , 0.10 / 0.10 , 1.80 / 1.70
-P38DD        ,             ,             ,             , 0.10 / 0.10 , 1.80 / 1.70
-P39SD        , 2.80 / 2.50 , 2.30 / 1.90 , 3.00 / 2.80 , 0.10 / 0.10 ,
-P39DD        , 2.80 / 2.50 , 2.30 / 1.90 , 3.00 / 2.80 , 0.10 / 0.10 ,
-P40SD        ,             ,             ,             , 0.10 / 0.10 , 1.80 / 1.70
-P40DD        ,             ,             ,             , 0.10 / 0.10 , 1.80 / 1.70
+vehiclegroup       , heavyurban  , suburban    , urban       , interurban  , coach
+31 / P31SD / P31DD , 2.80 / 2.50 , 2.30 / 1.90 , 3.00 / 2.80 , 0.10 / 0.10 ,
+32 / P32SD / P32DD ,             ,             ,             , 0.10 / 0.10 , 1.80 / 1.70
+33 / P33SD / P33DD , 2.80 / 2.50 , 2.30 / 1.90 , 3.00 / 2.80 , 0.10 / 0.10 ,
+34 / P34SD / P34DD ,             ,             ,             , 0.10 / 0.10 , 1.80 / 1.70
+35 / P35SD / P35DD , 2.80 / 2.50 , 2.30 / 1.90 , 3.00 / 2.80 , 0.10 / 0.10 ,
+36 / P36SD / P36DD ,             ,             ,             , 0.10 / 0.10 , 1.80 / 1.70
+37 / P37SD / P37DD , 2.80 / 2.50 , 2.30 / 1.90 , 3.00 / 2.80 , 0.10 / 0.10 ,
+38 / P38SD / P38DD ,             ,             ,             , 0.10 / 0.10 , 1.80 / 1.70
+39 / P39SD / P39DD , 2.80 / 2.50 , 2.30 / 1.90 , 3.00 / 2.80 , 0.10 / 0.10 ,
+40 / P40SD / P40DD ,             ,             ,             , 0.10 / 0.10 , 1.80 / 1.70
diff --git a/VectoCore/VectoCore/Resources/Declaration/HEVParameters/Bus/HEV_Strategy_Parameters_fequiv_40soc.csv b/VectoCore/VectoCore/Resources/Declaration/HEVParameters/Bus/HEV_Strategy_Parameters_fequiv_40soc.csv
index d2379f0af1..d49627a580 100644
--- a/VectoCore/VectoCore/Resources/Declaration/HEVParameters/Bus/HEV_Strategy_Parameters_fequiv_40soc.csv
+++ b/VectoCore/VectoCore/Resources/Declaration/HEVParameters/Bus/HEV_Strategy_Parameters_fequiv_40soc.csv
@@ -1,21 +1,11 @@
-vehiclegroup , heavyurban  , suburban    , urban       , interurban  , coach
-P31SD        , 2.90 / 2.70 , 2.40 / 2.20 , 3.00 / 2.80 , 0.10 / 0.10 ,
-P31DD        , 2.90 / 2.70 , 2.40 / 2.20 , 3.00 / 2.80 , 0.10 / 0.10 ,
-P32SD        ,             ,             ,             , 0.10 / 0.10 , 1.80 / 1.70
-P32DD        ,             ,             ,             , 0.10 / 0.10 , 1.80 / 1.70
-P33SD        , 2.90 / 2.70 , 2.40 / 2.20 , 3.00 / 2.80 , 0.10 / 0.10 ,
-P33DD        , 2.90 / 2.70 , 2.40 / 2.20 , 3.00 / 2.80 , 0.10 / 0.10 ,
-P34SD        ,             ,             ,             , 0.10 / 0.10 , 1.80 / 1.70
-P34DD        ,             ,             ,             , 0.10 / 0.10 , 1.80 / 1.70
-P35SD        , 2.90 / 2.70 , 2.40 / 2.20 , 3.00 / 2.80 , 0.10 / 0.10 ,
-P35DD        , 2.90 / 2.70 , 2.40 / 2.20 , 3.00 / 2.80 , 0.10 / 0.10 ,
-P36SD        ,             ,             ,             , 0.10 / 0.10 , 1.80 / 1.70
-P36DD        ,             ,             ,             , 0.10 / 0.10 , 1.80 / 1.70
-P37SD        , 2.90 / 2.70 , 2.40 / 2.20 , 3.00 / 2.80 , 0.10 / 0.10 ,
-P37DD        , 2.90 / 2.70 , 2.40 / 2.20 , 3.00 / 2.80 , 0.10 / 0.10 ,
-P38SD        ,             ,             ,             , 0.10 / 0.10 , 1.80 / 1.70
-P38DD        ,             ,             ,             , 0.10 / 0.10 , 1.80 / 1.70
-P39SD        , 2.90 / 2.70 , 2.40 / 2.20 , 3.00 / 2.80 , 0.10 / 0.10 ,
-P39DD        , 2.90 / 2.70 , 2.40 / 2.20 , 3.00 / 2.80 , 0.10 / 0.10 ,
-P40SD        ,             ,             ,             , 0.10 / 0.10 , 1.80 / 1.70
-P40DD        ,             ,             ,             , 0.10 / 0.10 , 1.80 / 1.70
+vehiclegroup       , heavyurban  , suburban    , urban       , interurban  , coach
+31 / P31SD / P31DD , 2.90 / 2.70 , 2.40 / 2.20 , 3.00 / 2.80 , 0.10 / 0.10 ,
+32 / P32SD / P32DD ,             ,             ,             , 0.10 / 0.10 , 1.80 / 1.70
+33 / P33SD / P33DD , 2.90 / 2.70 , 2.40 / 2.20 , 3.00 / 2.80 , 0.10 / 0.10 ,
+34 / P34SD / P34DD ,             ,             ,             , 0.10 / 0.10 , 1.80 / 1.70
+35 / P35SD / P35DD , 2.90 / 2.70 , 2.40 / 2.20 , 3.00 / 2.80 , 0.10 / 0.10 ,
+36 / P36SD / P36DD ,             ,             ,             , 0.10 / 0.10 , 1.80 / 1.70
+37 / P37SD / P37DD , 2.90 / 2.70 , 2.40 / 2.20 , 3.00 / 2.80 , 0.10 / 0.10 ,
+38 / P38SD / P38DD ,             ,             ,             , 0.10 / 0.10 , 1.80 / 1.70
+39 / P39SD / P39DD , 2.90 / 2.70 , 2.40 / 2.20 , 3.00 / 2.80 , 0.10 / 0.10 ,
+40 / P40SD / P40DD ,             ,             ,             , 0.10 / 0.10 , 1.80 / 1.70
-- 
GitLab