From 2b953301cce0c0e3cc430e063761d8a90fb45c3a Mon Sep 17 00:00:00 2001
From: Markus Quaritsch <markus.quaritsch@tugraz.at>
Date: Mon, 20 Apr 2020 10:43:44 +0200
Subject: [PATCH] round generic loss-maps / fc-map to 2 digits

---
 ...DeclarationDataAdapterCompletedBusGeneric.cs |  1 +
 .../GenericModelData/GenericBusEngineData.cs    |  6 +++---
 .../GenericTransmissionComponentData.cs         | 17 +++++++----------
 .../Data/Gearbox/TransmissionLossMap.cs         |  4 ++--
 4 files changed, 13 insertions(+), 15 deletions(-)

diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterCompletedBusGeneric.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterCompletedBusGeneric.cs
index 451b761a54..6880c670fd 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterCompletedBusGeneric.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterCompletedBusGeneric.cs
@@ -14,6 +14,7 @@ using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC;
 using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumatics;
 using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics;
 using TUGraz.VectoCore.Models.Declaration;
+using TUGraz.VectoCore.Models.GenericModelData;
 using TUGraz.VectoCore.Models.Simulation.Data;
 using TUGraz.VectoCore.Models.SimulationComponent;
 using TUGraz.VectoCore.Models.SimulationComponent.Data;
diff --git a/VectoCore/VectoCore/Models/GenericModelData/GenericBusEngineData.cs b/VectoCore/VectoCore/Models/GenericModelData/GenericBusEngineData.cs
index 9498cb77d2..1f64039e29 100644
--- a/VectoCore/VectoCore/Models/GenericModelData/GenericBusEngineData.cs
+++ b/VectoCore/VectoCore/Models/GenericModelData/GenericBusEngineData.cs
@@ -193,9 +193,9 @@ namespace TUGraz.VectoCore.Models.Declaration
 				var fc = DenormalizeFC((string)row[FuelConsumptionMapReader.Fields.FuelConsumption], maxTorque);
 
 				var newRow = result.NewRow();
-				newRow[FuelConsumptionMapReader.Fields.EngineSpeed] = engineSpeed;
-				newRow[FuelConsumptionMapReader.Fields.Torque] = torque;
-				newRow[FuelConsumptionMapReader.Fields.FuelConsumption] = fc;
+				newRow[FuelConsumptionMapReader.Fields.EngineSpeed] = Math.Round(engineSpeed,2, MidpointRounding.AwayFromZero);
+				newRow[FuelConsumptionMapReader.Fields.Torque] = Math.Round(torque, 2, MidpointRounding.AwayFromZero);
+				newRow[FuelConsumptionMapReader.Fields.FuelConsumption] = Math.Round(fc, 2, MidpointRounding.AwayFromZero);
 				result.Rows.Add(newRow);
 			}
 
diff --git a/VectoCore/VectoCore/Models/GenericModelData/GenericTransmissionComponentData.cs b/VectoCore/VectoCore/Models/GenericModelData/GenericTransmissionComponentData.cs
index 2b7b70b406..2630e51ac1 100644
--- a/VectoCore/VectoCore/Models/GenericModelData/GenericTransmissionComponentData.cs
+++ b/VectoCore/VectoCore/Models/GenericModelData/GenericTransmissionComponentData.cs
@@ -6,13 +6,10 @@ using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.Configuration;
 using TUGraz.VectoCore.InputData.Reader.ComponentData;
-using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter;
-using TUGraz.VectoCore.Models.Simulation.Data;
-using TUGraz.VectoCore.Models.SimulationComponent;
 using TUGraz.VectoCore.Models.SimulationComponent.Data;
 using TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox;
 
-namespace TUGraz.VectoCore.Models.Declaration
+namespace TUGraz.VectoCore.Models.GenericModelData
 {
 	public class GenericTransmissionComponentData
 	{
@@ -35,7 +32,7 @@ namespace TUGraz.VectoCore.Models.Declaration
 			var ratio = axlegearData.Ratio;
 
 			var outputLossMap = CreateAxlegearOutputLossMap(ratio);
-			var axleGearInputLossMap = CalculateAxleInputLossMap(outputLossMap, ratio, 1.0);
+			var axleGearInputLossMap = CalculateTransmissionLossMapInput(outputLossMap, ratio, 1.0);
 
 			var transmissionData = new TransmissionData
 			{
@@ -59,7 +56,7 @@ namespace TUGraz.VectoCore.Models.Declaration
 			};
 
 			var outputLossMap = CreateAxlegearOutputLossMap(angledriveData.Ratio);
-			var axleGearInputLossMap = CalculateAxleInputLossMap(outputLossMap, angledriveData.Ratio, Constants.GenericLossMapSettings.FactorAngleDrive);
+			var axleGearInputLossMap = CalculateTransmissionLossMapInput(outputLossMap, angledriveData.Ratio, Constants.GenericLossMapSettings.FactorAngleDrive);
 
 			var transmissionData = new TransmissionData {
 				Ratio = angledriveData.Ratio,
@@ -126,7 +123,7 @@ namespace TUGraz.VectoCore.Models.Declaration
 			return td0_ + td150_ * outputspeed / td_n + ouputTorque / efficiency - ouputTorque;
 		}
 
-		private DataTable CalculateAxleInputLossMap(DataTable outputLossMap, double axleRatio, double lossCorrectionFactor)
+		private DataTable CalculateTransmissionLossMapInput(DataTable outputLossMap, double axleRatio, double lossCorrectionFactor)
 		{
 			var inputLossMap = new DataTable();
 
@@ -141,9 +138,9 @@ namespace TUGraz.VectoCore.Models.Declaration
 				var outputLoss = row[2].ToString().ToDouble();
 
 				var newRow = inputLossMap.NewRow();
-				newRow[0] = GetInputSpeed(outputSpeed, axleRatio);
-				newRow[1] = GetInputTorque(outputTorque, outputLoss, axleRatio);
-				newRow[2] = GetInputTorqueLoss(outputLoss, axleRatio, lossCorrectionFactor);
+				newRow[0] = Math.Round(GetInputSpeed(outputSpeed, axleRatio), 2, MidpointRounding.AwayFromZero);
+				newRow[1] = Math.Round(GetInputTorque(outputTorque, outputLoss, axleRatio), 2, MidpointRounding.AwayFromZero);
+				newRow[2] = Math.Round(GetInputTorqueLoss(outputLoss, axleRatio, lossCorrectionFactor), 2, MidpointRounding.AwayFromZero);
 				inputLossMap.Rows.Add(newRow);
 			}
 
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Data/Gearbox/TransmissionLossMap.cs b/VectoCore/VectoCore/Models/SimulationComponent/Data/Gearbox/TransmissionLossMap.cs
index 976887505f..af164e6a75 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Data/Gearbox/TransmissionLossMap.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Data/Gearbox/TransmissionLossMap.cs
@@ -151,13 +151,13 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox
 		[DebuggerDisplay("GearLossMapEntry({InputSpeed}, {InputTorque}, {TorqueLoss})")]
 		public class GearLossMapEntry
 		{
-			[Required, SIRange(0, 10000 * Constants.RPMToRad)]
+			[Required, SIRange(0, 1000000 * Constants.RPMToRad)]
 			public PerSecond InputSpeed { get; private set; }
 
 			//[Required, SIRange(-100000, 100000)]
 			public NewtonMeter InputTorque { get; private set; }
 
-			[Required, SIRange(0, 100000)]
+			[Required, SIRange(0, 1000000)]
 			public NewtonMeter TorqueLoss { get; private set; }
 
 			public GearLossMapEntry(PerSecond inputSpeed, NewtonMeter inputTorque, NewtonMeter torqueLoss)
-- 
GitLab