From 902d91d7460795f150a38a767b7b2b5fb9c91231 Mon Sep 17 00:00:00 2001
From: Markus Quaritsch <markus.quaritsch@tugraz.at>
Date: Thu, 4 Jun 2020 15:42:37 +0200
Subject: [PATCH] serialie VTP jobs: ignore powerfunc, remove n70h speed - not
 used at all

---
 .../Models/Simulation/Data/VectoRunData.cs    |  1 +
 .../Data/Engine/EngineFullLoadCurve.cs        | 32 +++++++++----------
 .../CompletedBusFactorMethodTest.cs           | 15 ++++++++-
 .../FullLoadCurveTest.cs                      |  2 +-
 4 files changed, 32 insertions(+), 18 deletions(-)

diff --git a/VectoCore/VectoCore/Models/Simulation/Data/VectoRunData.cs b/VectoCore/VectoCore/Models/Simulation/Data/VectoRunData.cs
index 4ad39da657..fa2fa503d0 100644
--- a/VectoCore/VectoCore/Models/Simulation/Data/VectoRunData.cs
+++ b/VectoCore/VectoCore/Models/Simulation/Data/VectoRunData.cs
@@ -146,6 +146,7 @@ namespace TUGraz.VectoCore.Models.Simulation.Data
 
 			[SIRange(0, 100 * Constants.Kilo)] public Watt PowerDemand;
 
+			[JsonIgnore]
 			public Func<DrivingCycleData.DrivingCycleEntry, Watt> PowerDemandFunc;
 
 			[Required] public AuxiliaryDemandType DemandType;
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Data/Engine/EngineFullLoadCurve.cs b/VectoCore/VectoCore/Models/SimulationComponent/Data/Engine/EngineFullLoadCurve.cs
index 1c9500e249..eaf186a03d 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Data/Engine/EngineFullLoadCurve.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Data/Engine/EngineFullLoadCurve.cs
@@ -55,7 +55,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data.Engine
 
 		private PerSecond _preferredSpeed;
 		private PerSecond _engineSpeedLo; // 55% of Pmax
-		private PerSecond _engineSpeedHi; // 70% of Pmax
+		//private PerSecond _engineSpeedHi; // 70% of Pmax
 		private PerSecond _n95hSpeed; // 95% of Pmax
 		private PerSecond _n80hSpeed; // 80% of Pmax
 
@@ -327,21 +327,21 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data.Engine
 			get { return _engineSpeedLo ?? (_engineSpeedLo = FindEngineSpeedForPower(0.55 * MaxPower).First()); }
 		}
 
-		public PerSecond HiSpeed
-		{
-			get {
-				if (_engineSpeedHi != null) {
-					return _engineSpeedHi;
-				}
-				_engineSpeedHi = FindEngineSpeedForPower(0.7 * MaxPower).Last();
-				if (_engineSpeedHi <= RatedSpeed) {
-					throw new VectoException(
-						"failed to compute n70h speed - must be higher than rated speed. rated speed: {0}, n70h speed: {1}", RatedSpeed,
-						_engineSpeedHi);
-				}
-				return _engineSpeedHi;
-			}
-		}
+		//public PerSecond HiSpeed
+		//{
+		//	get {
+		//		if (_engineSpeedHi != null) {
+		//			return _engineSpeedHi;
+		//		}
+		//		_engineSpeedHi = FindEngineSpeedForPower(0.7 * MaxPower).Last();
+		//		if (_engineSpeedHi <= RatedSpeed) {
+		//			throw new VectoException(
+		//				"failed to compute n70h speed - must be higher than rated speed. rated speed: {0}, n70h speed: {1}", RatedSpeed,
+		//				_engineSpeedHi);
+		//		}
+		//		return _engineSpeedHi;
+		//	}
+		//}
 
 		private void ComputePreferredSpeed()
 		{
diff --git a/VectoCore/VectoCoreTest/Integration/CompletedBus/CompletedBusFactorMethodTest.cs b/VectoCore/VectoCoreTest/Integration/CompletedBus/CompletedBusFactorMethodTest.cs
index ad51b0e90d..2ec2aa75a6 100644
--- a/VectoCore/VectoCoreTest/Integration/CompletedBus/CompletedBusFactorMethodTest.cs
+++ b/VectoCore/VectoCoreTest/Integration/CompletedBus/CompletedBusFactorMethodTest.cs
@@ -980,7 +980,7 @@ namespace TUGraz.VectoCore.Tests.Integration.CompletedBus
 		TestCase(@"TestData\Integration\Buses\FactorMethod\primary_heavyBus group41_nonSmart_AT-P.xml", 12, TestName = "PrintVectoRunData PrimaryBus Group41 AT-P SD CO/LL"),
 		TestCase(@"TestData\Integration\Buses\FactorMethod\vecto_vehicle-primary_heavyBus_ESS_electricFanSTP.xml", 13, TestName = "PrintVectoRunData electric STP/Fan ESS IU/RL"),
 			]
-		public void PrintModelParametersPrimaryBus(string jobFile, int runIdx)
+		public void PrintModelParameters(string jobFile, int runIdx)
 		{
 			var runs = GetVectoRunData(jobFile);
 
@@ -990,7 +990,20 @@ namespace TUGraz.VectoCore.Tests.Integration.CompletedBus
 			File.WriteAllText($"{run.JobName}_{run.Cycle.Name}{run.ModFileSuffix}.json", JsonConvert.SerializeObject(run, Formatting.Indented));
 		}
 
+		[TestCase(@"TestData\Integration\VTPMode\GenericVehicle\class_5_generic vehicle_DECL.vecto", 0, TestName = "PrintVectoRunData VTP HeavyTruck"),
+		TestCase(@"TestData\Integration\VTPMode\MediumLorry\VTP_MediumLorry.vecto", 0, TestName = "PrintVectoRunData VTP MediumLory"),
+		TestCase(@"TestData\Integration\VTPMode\HeavyBus\VTP_PrimaryBus.vecto", 0, TestName = "PrintVectoRunData VTP PrimaryBus"),
+		TestCase(@"TestData\Integration\VTPMode\DualFuelVehicle\VTP_DualFuel.vecto", 0, TestName = "PrintVectoRunData VTP DualFuel"),
+		]
+		public void PrintModelParametersVTP(string jobFile, int runIdx)
+		{
+			var runs = GetVectoRunData(jobFile);
 
+			//SetRelatedVehicleParts(runs);
+			var run = runs[runIdx];
+
+			File.WriteAllText($"{run.JobName}_{run.Cycle.Name}{run.ModFileSuffix}.json", JsonConvert.SerializeObject(run, Formatting.Indented));
+		}
 
 		private List<VectoRunData> GetVectoRunData(string jobFile)
 		{
diff --git a/VectoCore/VectoCoreTest/Models/SimulationComponentData/FullLoadCurveTest.cs b/VectoCore/VectoCoreTest/Models/SimulationComponentData/FullLoadCurveTest.cs
index 4b589cbcf8..cce62d2f81 100644
--- a/VectoCore/VectoCoreTest/Models/SimulationComponentData/FullLoadCurveTest.cs
+++ b/VectoCore/VectoCoreTest/Models/SimulationComponentData/FullLoadCurveTest.cs
@@ -131,7 +131,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponentData
 				fldCurve.ComputeArea(fldCurve.EngineData.IdleSpeed, fldCurve.PreferredSpeed).Value(), 1E-3);
 			AssertHelper.AreRelativeEqual(194.515816596908.SI<PerSecond>(), fldCurve.N95hSpeed);
 			AssertHelper.AreRelativeEqual(94.24639.SI<PerSecond>(), fldCurve.LoSpeed);
-			AssertHelper.AreRelativeEqual(219.084329211505.SI<PerSecond>(), fldCurve.HiSpeed);
+			//AssertHelper.AreRelativeEqual(219.084329211505.SI<PerSecond>(), fldCurve.HiSpeed);
 			AssertHelper.AreRelativeEqual(2300.SI<NewtonMeter>(), fldCurve.MaxTorque);
 			AssertHelper.AreRelativeEqual(-320.SI<NewtonMeter>(), fldCurve.MaxDragTorque);
 		}
-- 
GitLab