From 40a286b25673226ecb543370a6466f5c761abd9c Mon Sep 17 00:00:00 2001
From: Markus Quaritsch <markus.quaritsch@tugraz.at>
Date: Mon, 14 Dec 2015 16:34:34 +0100
Subject: [PATCH] removed aerodynamicDragArea from vehicledata, only use
 lookup-table for airdrag

---
 VectoCore/InputData/InputData.cs                       |  2 +-
 .../Reader/DataObjectAdaper/DeclarationDataAdapter.cs  |  4 ++--
 .../Reader/DataObjectAdaper/EngineeringDataAdapter.cs  |  9 ++++-----
 .../Models/SimulationComponent/Data/VehicleData.cs     |  1 -
 VectoCoreTest/Integration/CoachPowerTrain.cs           |  2 +-
 .../Integration/SimulationRuns/FullPowertrain.cs       |  2 --
 .../Integration/SimulationRuns/MinimalPowertrain.cs    |  2 --
 VectoCoreTest/Models/SimulationComponent/DriverTest.cs |  2 --
 .../Models/SimulationComponent/VehicleTest.cs          | 10 +++++-----
 9 files changed, 13 insertions(+), 21 deletions(-)

diff --git a/VectoCore/InputData/InputData.cs b/VectoCore/InputData/InputData.cs
index 39cede266b..3712584e98 100644
--- a/VectoCore/InputData/InputData.cs
+++ b/VectoCore/InputData/InputData.cs
@@ -168,7 +168,7 @@ namespace TUGraz.VectoCore.InputData
 	{
 		bool Enabled { get; }
 
-		RoundsPerMinute ReferenceRPM { get; }
+		PerSecond ReferenceRPM { get; }
 
 		KilogramSquareMeter Inertia { get; }
 
diff --git a/VectoCore/InputData/Reader/DataObjectAdaper/DeclarationDataAdapter.cs b/VectoCore/InputData/Reader/DataObjectAdaper/DeclarationDataAdapter.cs
index 661d0ba6f0..7d6f46610d 100644
--- a/VectoCore/InputData/Reader/DataObjectAdaper/DeclarationDataAdapter.cs
+++ b/VectoCore/InputData/Reader/DataObjectAdaper/DeclarationDataAdapter.cs
@@ -81,11 +81,11 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdaper
 			retVal.DynamicTyreRadius =
 				DeclarationData.DynamicTyreRadius(data.Axles[DeclarationData.PoweredAxle()].Wheels, data.Rim);
 
-			retVal.AerodynamicDragAera = mission.UseCdA2
+			var aerodynamicDragAera = mission.UseCdA2
 				? data.AirDragAreaRigidTruck
 				: data.AirDragArea;
 
-			retVal.CrossWindCorrectionCurve = GetDeclarationAirResistanceCurve(retVal.VehicleCategory, retVal.AerodynamicDragAera);
+			retVal.CrossWindCorrectionCurve = GetDeclarationAirResistanceCurve(retVal.VehicleCategory, aerodynamicDragAera);
 			var axles = data.Axles;
 			if (axles.Count < mission.AxleWeightDistribution.Length) {
 				throw new VectoException("Vehicle does not contain sufficient axles. {0} axles defined, {1} axles required",
diff --git a/VectoCore/InputData/Reader/DataObjectAdaper/EngineeringDataAdapter.cs b/VectoCore/InputData/Reader/DataObjectAdaper/EngineeringDataAdapter.cs
index 883d324411..fd70959ff1 100644
--- a/VectoCore/InputData/Reader/DataObjectAdaper/EngineeringDataAdapter.cs
+++ b/VectoCore/InputData/Reader/DataObjectAdaper/EngineeringDataAdapter.cs
@@ -25,26 +25,25 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdaper
 			retVal.CurbWeigthExtra = data.CurbWeightExtra;
 			retVal.Loading = data.Loading;
 			retVal.DynamicTyreRadius = data.DynamicTyreRadius;
-
 			switch (data.CrossWindCorrectionMode) {
 				case CrossWindCorrectionMode.NoCorrection:
-					retVal.CrossWindCorrectionCurve = CrossWindCorrectionCurve.GetNoCorrectionCurve(retVal.AerodynamicDragAera);
+					retVal.CrossWindCorrectionCurve = CrossWindCorrectionCurve.GetNoCorrectionCurve(data.AirDragArea);
 					break;
 				case CrossWindCorrectionMode.SpeedDependentCorrectionFactor:
 					retVal.CrossWindCorrectionCurve =
 						CrossWindCorrectionCurve.ReadSpeedDependentCorrectionCurve(data.CrosswindCorrectionMap,
-							retVal.AerodynamicDragAera);
+							data.AirDragArea);
 					break;
 				case CrossWindCorrectionMode.VAirBetaLookupTable:
 					throw new VectoException("CrosswindCorrection mode {0} not implemented", data.CrossWindCorrectionMode);
 				case CrossWindCorrectionMode.DeclarationModeCorrection:
 					retVal.CrossWindCorrectionCurve = DeclarationDataAdapter.GetDeclarationAirResistanceCurve(retVal.VehicleCategory,
-						retVal.AerodynamicDragAera);
+						data.AirDragArea);
 					break;
 				default:
 					throw new ArgumentOutOfRangeException();
 			}
-			retVal.AerodynamicDragAera = data.AirDragArea;
+
 
 			var axles = data.Axles;
 			retVal.AxleData = axles.Select(axle => new Axle {
diff --git a/VectoCore/Models/SimulationComponent/Data/VehicleData.cs b/VectoCore/Models/SimulationComponent/Data/VehicleData.cs
index e2cbee7505..b3ec40af93 100644
--- a/VectoCore/Models/SimulationComponent/Data/VehicleData.cs
+++ b/VectoCore/Models/SimulationComponent/Data/VehicleData.cs
@@ -51,7 +51,6 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data
 		public Kilogram CurbWeigthExtra { get; internal set; }
 		public Kilogram Loading { get; internal set; }
 		public Kilogram GrossVehicleMassRating { get; internal set; }
-		public SquareMeter AerodynamicDragAera { get; internal set; }
 		public Meter DynamicTyreRadius { get; internal set; }
 		public Kilogram ReducedMassWheels { get; private set; }
 		public string Rim { get; internal set; }
diff --git a/VectoCoreTest/Integration/CoachPowerTrain.cs b/VectoCoreTest/Integration/CoachPowerTrain.cs
index c400c19211..7d8e6fdd69 100644
--- a/VectoCoreTest/Integration/CoachPowerTrain.cs
+++ b/VectoCoreTest/Integration/CoachPowerTrain.cs
@@ -153,7 +153,7 @@ namespace TUGraz.VectoCore.Tests.Integration
 			};
 			return new VehicleData {
 				AxleConfiguration = AxleConfiguration.AxleConfig_6x2,
-				AerodynamicDragAera = 3.2634.SI<SquareMeter>(),
+				//AerodynamicDragAera = 3.2634.SI<SquareMeter>(),
 				//CrossWindCorrectionMode = CrossWindCorrectionMode.NoCorrection,
 				CrossWindCorrectionCurve = CrossWindCorrectionCurve.GetNoCorrectionCurve(3.2634.SI<SquareMeter>()),
 				CurbWeight = 15700.SI<Kilogram>(),
diff --git a/VectoCoreTest/Integration/SimulationRuns/FullPowertrain.cs b/VectoCoreTest/Integration/SimulationRuns/FullPowertrain.cs
index f9f52f81ff..6689af9c06 100644
--- a/VectoCoreTest/Integration/SimulationRuns/FullPowertrain.cs
+++ b/VectoCoreTest/Integration/SimulationRuns/FullPowertrain.cs
@@ -366,8 +366,6 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns
 			};
 			return new VehicleData {
 				AxleConfiguration = AxleConfiguration.AxleConfig_6x2,
-				AerodynamicDragAera = 3.2634.SI<SquareMeter>(),
-				//CrossWindCorrectionMode = CrossWindCorrectionMode.NoCorrection,
 				CrossWindCorrectionCurve = CrossWindCorrectionCurve.GetNoCorrectionCurve(3.2634.SI<SquareMeter>()),
 				CurbWeight = 15700.SI<Kilogram>(),
 				CurbWeigthExtra = 0.SI<Kilogram>(),
diff --git a/VectoCoreTest/Integration/SimulationRuns/MinimalPowertrain.cs b/VectoCoreTest/Integration/SimulationRuns/MinimalPowertrain.cs
index faf833557f..e7758d2d97 100644
--- a/VectoCoreTest/Integration/SimulationRuns/MinimalPowertrain.cs
+++ b/VectoCoreTest/Integration/SimulationRuns/MinimalPowertrain.cs
@@ -263,8 +263,6 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns
 			};
 			return new VehicleData {
 				AxleConfiguration = AxleConfiguration.AxleConfig_6x2,
-				AerodynamicDragAera = 3.2634.SI<SquareMeter>(),
-				//CrossWindCorrectionMode = CrossWindCorrectionMode.NoCorrection,
 				CrossWindCorrectionCurve = CrossWindCorrectionCurve.GetNoCorrectionCurve(3.2634.SI<SquareMeter>()),
 				CurbWeight = 15700.SI<Kilogram>(),
 				CurbWeigthExtra = 0.SI<Kilogram>(),
diff --git a/VectoCoreTest/Models/SimulationComponent/DriverTest.cs b/VectoCoreTest/Models/SimulationComponent/DriverTest.cs
index 54519cc9e6..9362577bf8 100644
--- a/VectoCoreTest/Models/SimulationComponent/DriverTest.cs
+++ b/VectoCoreTest/Models/SimulationComponent/DriverTest.cs
@@ -374,8 +374,6 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
 			};
 			return new VehicleData {
 				AxleConfiguration = AxleConfiguration.AxleConfig_4x2,
-				AerodynamicDragAera = 3.2634.SI<SquareMeter>(),
-				//CrossWindCorrectionMode = CrossWindCorrectionMode.NoCorrection,
 				CrossWindCorrectionCurve = CrossWindCorrectionCurve.GetNoCorrectionCurve(3.2634.SI<SquareMeter>()),
 				CurbWeight = 15700.SI<Kilogram>(),
 				CurbWeigthExtra = 0.SI<Kilogram>(),
diff --git a/VectoCoreTest/Models/SimulationComponent/VehicleTest.cs b/VectoCoreTest/Models/SimulationComponent/VehicleTest.cs
index 181c069017..9518b908d8 100644
--- a/VectoCoreTest/Models/SimulationComponent/VehicleTest.cs
+++ b/VectoCoreTest/Models/SimulationComponent/VehicleTest.cs
@@ -71,8 +71,10 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
 			var container = new VehicleContainer();
 
 			var vehicleData = MockSimulationDataFactory.CreateVehicleDataFromFile(VehicleDataFileTruck);
-			vehicleData.AerodynamicDragAera = 6.46.SI<SquareMeter>();
-
+			//vehicleData.AerodynamicDragAera = 6.46.SI<SquareMeter>();
+			vehicleData.CrossWindCorrectionCurve =
+				DeclarationDataAdapter.GetDeclarationAirResistanceCurve(VehicleCategory.Tractor,
+					6.46.SI<SquareMeter>());
 			var vehicle = new Vehicle(container, vehicleData);
 
 			var mockPort = new MockFvOutPort();
@@ -110,11 +112,9 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
 			var container = new VehicleContainer();
 
 			var vehicleData = MockSimulationDataFactory.CreateVehicleDataFromFile(VehicleDataFileTruck);
-			vehicleData.AerodynamicDragAera = 6.2985.SI<SquareMeter>();
 			vehicleData.CrossWindCorrectionCurve =
 				DeclarationDataAdapter.GetDeclarationAirResistanceCurve(VehicleCategory.Tractor,
-					vehicleData.AerodynamicDragAera);
-			//vehicleData.CrossWindCorrectionMode = CrossWindCorrectionMode.DeclarationModeCorrection;
+					6.2985.SI<SquareMeter>());
 
 			var vehicle = new Vehicle(container, vehicleData);
 
-- 
GitLab