From e80432bcde40dad5581b55a9b53eee1dc83a9047 Mon Sep 17 00:00:00 2001
From: "VKMTHD\\haraldmartini" <harald.martini@student.tugraz.at>
Date: Sat, 3 Dec 2022 11:03:10 +0100
Subject: [PATCH] convert power of Efficiency map to watt in json input
 provider

---
 .../FileIO/JSON/JSONElectricMotor.cs          | 23 +++++++++----------
 .../InputData/FileIO/JSON/JSONIEPCData.cs     |  4 +++-
 2 files changed, 14 insertions(+), 13 deletions(-)

diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONElectricMotor.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONElectricMotor.cs
index 0f32c57405..b3a78863ed 100644
--- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONElectricMotor.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONElectricMotor.cs
@@ -1,19 +1,18 @@
 using System;
 using System.Collections.Generic;
-using System.Configuration;
 using System.Linq;
 using Newtonsoft.Json.Linq;
 using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.Configuration;
-using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider;
 using TUGraz.VectoCore.InputData.Impl;
+using TUGraz.VectoCore.InputData.Reader.ComponentData;
 using TUGraz.VectoCore.Utils;
 
-namespace TUGraz.VectoCore.InputData.FileIO.JSON 
+namespace TUGraz.VectoCore.InputData.FileIO.JSON
 {
-	public class JSONElectricMotorV5 : JSONElectricMotorV4
+    public class JSONElectricMotorV5 : JSONElectricMotorV4
 	{
 		public JSONElectricMotorV5(JObject data, string filename, bool tolerateMissing = false) : base(data, filename, tolerateMissing) { }
 
@@ -44,15 +43,16 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON
 				return new List<IElectricMotorPowerMap>() {
 					new JSONElectricMotorPowerMap() {
 						Gear = 0,
-						PowerMap = ReadTableData(entry.GetEx<string>("EfficiencyMap"), "ElectricMotor Map")
+						PowerMap = ReadTableData(entry.GetEx<string>("EfficiencyMap"), "ElectricMotor Map").ApplyFactor(ElectricMotorMapReader.Fields.PowerElectrical, 1000.0)
 					}
 				};
 			}
 
 			return powermap.Select(x => new JSONElectricMotorPowerMap() {
 				Gear = (((JProperty) x).Name).ToInt(),
-				PowerMap = ReadTableData((x as JProperty).Value.Value<string>(), "ElectricMotor Map")
+				PowerMap = ReadTableData((x as JProperty).Value.Value<string>(), "ElectricMotor Map").ApplyFactor(ElectricMotorMapReader.Fields.PowerElectrical, 1000.0)
 			}).Cast<IElectricMotorPowerMap>().ToList();
+
 		}
 
 		#endregion
@@ -63,7 +63,6 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON
 	public class JSONElectricMotorPowerMap : IElectricMotorPowerMap
 	{
 		#region Implementation of IElectricMotorPowerMap
-
 		public int Gear { get; set; }
 		public TableData PowerMap { get; set; }
 
@@ -97,7 +96,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON
 				PowerMap = new List<IElectricMotorPowerMap>() {
 					new JSONElectricMotorPowerMap() {
 						Gear = 0, 
-						PowerMap = ReadTableData(entry.GetEx<string>("EfficiencyMap"), "ElectricMotor Map")
+						PowerMap = ReadTableData(entry.GetEx<string>("EfficiencyMap"), "ElectricMotor Map").ApplyFactor(ElectricMotorMapReader.Fields.PowerElectrical, 1000.0)
 					}
 				},
 				// DragCurve = ReadTableData(entry.GetEx<string>("DragCurve"), "ElectricMotor DragCurve"),
@@ -130,7 +129,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON
 					PowerMap = new List<IElectricMotorPowerMap>() {
 						new JSONElectricMotorPowerMap() {
 							Gear = 0,
-							PowerMap = ReadTableData(Body.GetEx<string>("EfficiencyMap"), "ElectricMotor Map")
+							PowerMap = ReadTableData(Body.GetEx<string>("EfficiencyMap"), "ElectricMotor Map").ApplyFactor(ElectricMotorMapReader.Fields.PowerElectrical, 1000.0)
 						}
 					},// DragCurve = ReadTableData(Body.GetEx<string>("DragCurve"), "ElectricMotor DragCurve"),
 					FullLoadCurve = ReadTableData(Body.GetEx<string>("FullLoadCurve"), "ElectricMotor FullLoadCurve")
@@ -145,7 +144,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON
 					PowerMap = new List<IElectricMotorPowerMap>() {
 						new JSONElectricMotorPowerMap() {
 							Gear = 0,
-							PowerMap = ReadTableData(Body.GetEx<string>("EfficiencyMap"), "ElectricMotor Map")
+							PowerMap = ReadTableData(Body.GetEx<string>("EfficiencyMap"), "ElectricMotor Map").ApplyFactor(ElectricMotorMapReader.Fields.PowerElectrical, 1000.0)
 						}
 					},
 					// DragCurve = ReadTableData(Body.GetEx<string>("DragCurve"), "ElectricMotor DragCurve"),
@@ -184,7 +183,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON
 					PowerMap = new List<IElectricMotorPowerMap>() {
 						new JSONElectricMotorPowerMap() {
 							Gear = 0,
-							PowerMap = ReadTableData(Body.GetEx<string>("EfficiencyMap"), "ElectricMotor Map")
+							PowerMap = ReadTableData(Body.GetEx<string>("EfficiencyMap"), "ElectricMotor Map").ApplyFactor(ElectricMotorMapReader.Fields.PowerElectrical, 1000.0)
 						}
 					},
 					// DragCurve = ReadTableData(Body.GetEx<string>("DragCurve"), "ElectricMotor DragCurve"),
@@ -200,7 +199,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON
 					PowerMap = new List<IElectricMotorPowerMap>() {
 						new JSONElectricMotorPowerMap() {
 							Gear = 0,
-							PowerMap = ReadTableData(Body.GetEx<string>("EfficiencyMap"), "ElectricMotor Map")
+							PowerMap = ReadTableData(Body.GetEx<string>("EfficiencyMap"), "ElectricMotor Map").ApplyFactor(ElectricMotorMapReader.Fields.PowerElectrical, 1000.0)
 						}
 					},
 					// DragCurve = ReadTableData(Body.GetEx<string>("DragCurve"), "ElectricMotor DragCurve"),
diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONIEPCData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONIEPCData.cs
index 2e4141fa84..8dfbb6da4f 100644
--- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONIEPCData.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONIEPCData.cs
@@ -6,6 +6,8 @@ using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.InputData.Impl;
 using TUGraz.VectoCore.Configuration;
+using TUGraz.VectoCore.InputData.Reader.ComponentData;
+using TUGraz.VectoCore.Utils;
 
 namespace TUGraz.VectoCore.InputData.FileIO.JSON
 {
@@ -107,7 +109,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON
 
 				powerMaps.Add(new JSONElectricMotorPowerMap {
 					Gear = Convert.ToInt32(key),
-					PowerMap = ReadTableData(value, "ElectricMotor Power Map")
+					PowerMap = ReadTableData(value, "ElectricMotor Power Map").ApplyFactor(ElectricMotorMapReader.Fields.PowerElectrical, 1000)
 				});
 			}
 
-- 
GitLab