From df6d04d2b92755125cd9cef18ccc84dd51a08cf8 Mon Sep 17 00:00:00 2001
From: Markus Quaritsch <Markus.Quaritsch@tugraz.at>
Date: Tue, 17 Mar 2020 17:08:49 +0100
Subject: [PATCH] implementing reader classes, testcase for reading battery and
 electric motor

---
 .../InputData/DeclarationInputData.cs         |    4 +-
 VectoCommon/VectoCommon/Utils/SIUtils.cs      |    9 +
 .../InputData/FileIO/JSON/JSONBattery.cs      |   76 +
 .../FileIO/JSON/JSONElectricMotor.cs          |   49 +
 .../FileIO/JSON/JSONInputDataFactory.cs       |   27 +
 .../Reader/ComponentData/BatterySOCReader.cs  |   43 +
 .../ElectricFullLoadCurveReader.cs            |   52 +
 .../ComponentData/ElectricMotorMapReader.cs   |   73 +
 .../Data/Battery/BatteryData.cs               |   71 +
 .../Data/ElectricMotor/EfficiencyMap.cs       |   85 +
 .../ElectricMotor/ElectricFullLoadCurve.cs    |   66 +
 .../Data/ElectricMotor/ElectricMotorData.cs   |   14 +
 VectoCore/VectoCore/VectoCore.csproj          |    9 +
 .../FileIO/JsonReadHybridTest.cs              |   70 +
 .../Hybrids/Battery/GenericBattery.vbat       |    6 +-
 .../Hybrids/ElectricMotor/GenericMap.vemo     |    2 +-
 .../GenericVehicle_Group2_P2/175kW.vfld       |  252 +++
 .../GenericVehicle_Group2_P2/175kW.vmap       |  137 ++
 .../GenericVehicle_Group2_P2/AMT_12.vgbx      |  104 +
 .../GenericVehicle_Group2_P2/Axle_4x2.vtlm    |  157 ++
 .../Class2_RigidTruck.vveh                    |   91 +
 .../Class2_RigidTruck_ParHyb_ENG.vecto        |   52 +
 .../Engine_175kW_6.8l.veng                    |   21 +
 .../GenericVehicle_Group2_P2/Gear_1.vtlm      |  233 ++
 .../GenericVehicle_Group2_P2/Gear_10.vtlm     |  233 ++
 .../GenericVehicle_Group2_P2/Gear_11.vtlm     |  233 ++
 .../GenericVehicle_Group2_P2/Gear_12.vtlm     |  233 ++
 .../GenericVehicle_Group2_P2/Gear_2.vtlm      |  233 ++
 .../GenericVehicle_Group2_P2/Gear_3.vtlm      |  233 ++
 .../GenericVehicle_Group2_P2/Gear_4.vtlm      |  233 ++
 .../GenericVehicle_Group2_P2/Gear_5.vtlm      |  233 ++
 .../GenericVehicle_Group2_P2/Gear_6.vtlm      |  233 ++
 .../GenericVehicle_Group2_P2/Gear_7.vtlm      |  233 ++
 .../GenericVehicle_Group2_P2/Gear_8.vtlm      |  233 ++
 .../GenericVehicle_Group2_P2/Gear_9.vtlm      |  233 ++
 .../GenericBattery.vbat                       |   30 +
 .../GenericBatteryLarge.vbat                  |   18 +
 .../GenericEMotor.vem                         |   15 +
 .../GenericEMotor.vemp                        |   74 +
 .../GenericEMotor240kW.vem                    |   15 +
 .../GenericEMotor240kW.vemp                   |   74 +
 .../GenericVehicle_Group2_P2/GenericMap.vemo  | 2016 +++++++++++++++++
 .../GenericMap240kW.vemo                      | 2016 +++++++++++++++++
 .../HybridStrategyParams.vctl                 |   15 +
 .../GenericVehicle_Group2_P2/Truck.vacc       |    6 +
 VectoCore/VectoCoreTest/VectoCoreTest.csproj  |   82 +
 46 files changed, 8621 insertions(+), 6 deletions(-)
 create mode 100644 VectoCore/VectoCore/InputData/FileIO/JSON/JSONBattery.cs
 create mode 100644 VectoCore/VectoCore/InputData/FileIO/JSON/JSONElectricMotor.cs
 create mode 100644 VectoCore/VectoCore/InputData/Reader/ComponentData/BatterySOCReader.cs
 create mode 100644 VectoCore/VectoCore/InputData/Reader/ComponentData/ElectricFullLoadCurveReader.cs
 create mode 100644 VectoCore/VectoCore/InputData/Reader/ComponentData/ElectricMotorMapReader.cs
 create mode 100644 VectoCore/VectoCore/Models/SimulationComponent/Data/Battery/BatteryData.cs
 create mode 100644 VectoCore/VectoCore/Models/SimulationComponent/Data/ElectricMotor/EfficiencyMap.cs
 create mode 100644 VectoCore/VectoCore/Models/SimulationComponent/Data/ElectricMotor/ElectricFullLoadCurve.cs
 create mode 100644 VectoCore/VectoCore/Models/SimulationComponent/Data/ElectricMotor/ElectricMotorData.cs
 create mode 100644 VectoCore/VectoCoreTest/FileIO/JsonReadHybridTest.cs
 create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/175kW.vfld
 create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/175kW.vmap
 create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/AMT_12.vgbx
 create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Axle_4x2.vtlm
 create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Class2_RigidTruck.vveh
 create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Class2_RigidTruck_ParHyb_ENG.vecto
 create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Engine_175kW_6.8l.veng
 create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Gear_1.vtlm
 create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Gear_10.vtlm
 create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Gear_11.vtlm
 create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Gear_12.vtlm
 create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Gear_2.vtlm
 create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Gear_3.vtlm
 create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Gear_4.vtlm
 create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Gear_5.vtlm
 create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Gear_6.vtlm
 create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Gear_7.vtlm
 create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Gear_8.vtlm
 create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Gear_9.vtlm
 create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/GenericBattery.vbat
 create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/GenericBatteryLarge.vbat
 create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/GenericEMotor.vem
 create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/GenericEMotor.vemp
 create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/GenericEMotor240kW.vem
 create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/GenericEMotor240kW.vemp
 create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/GenericMap.vemo
 create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/GenericMap240kW.vemo
 create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/HybridStrategyParams.vctl
 create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Truck.vacc

diff --git a/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs b/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs
index 89f44c0001..3c4a0d2cfb 100644
--- a/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs
+++ b/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs
@@ -708,9 +708,9 @@ namespace TUGraz.VectoCommon.InputData
 
 		Ohm InternalResistance { get; }
 
-		TableData CellVoltage { get; }
+		TableData Voltage { get; }
 
-		Ampere MaxCurrent { get; }
+		double MaxCurrentFactor { get; }
 	}
 
 
diff --git a/VectoCommon/VectoCommon/Utils/SIUtils.cs b/VectoCommon/VectoCommon/Utils/SIUtils.cs
index d0d78792ac..51584d1c90 100644
--- a/VectoCommon/VectoCommon/Utils/SIUtils.cs
+++ b/VectoCommon/VectoCommon/Utils/SIUtils.cs
@@ -341,6 +341,15 @@ namespace TUGraz.VectoCommon.Utils
 			}
 		}
 
+		public UnitInstance Ampere
+		{
+			get
+			{
+				_units[3] += 1 * _reciproc * _exponent;
+				return this;
+			}
+		}
+
 		/// <summary>
 		/// Takes all following terms as quadratic terms (=to the power of 2).
 		/// </summary>
diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONBattery.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONBattery.cs
new file mode 100644
index 0000000000..3d64e5abb8
--- /dev/null
+++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONBattery.cs
@@ -0,0 +1,76 @@
+using System;
+using Newtonsoft.Json.Linq;
+using TUGraz.VectoCommon.InputData;
+using TUGraz.VectoCommon.Models;
+using TUGraz.VectoCommon.Utils;
+using TUGraz.VectoCore.Configuration;
+using TUGraz.VectoCore.InputData.Reader.ComponentData;
+
+namespace TUGraz.VectoCore.InputData.FileIO.JSON {
+	public class JSONBatteryV1 : JSONFile, IBatteryPackEngineeringInputData
+	{
+		public JSONBatteryV1(JObject data, string filename, bool tolerateMissing = false) : base(data, filename, tolerateMissing) { }
+		public string Manufacturer
+		{
+			get { return Constants.NOT_AVailABLE; }
+		}
+		public string Model
+		{
+			get { return Body.GetEx<string>("Model"); }
+		}
+		public DateTime Date { get { return DateTime.MinValue; } }
+		public CertificationMethod CertificationMethod
+		{
+			get { return CertificationMethod.NotCertified; }
+		}
+		public string CertificationNumber
+		{
+			get { return Constants.NOT_AVailABLE; }
+		}
+		public DigestData DigestValue
+		{
+			get { return null; }
+		}
+
+		public double MinSOC
+		{
+			get { return Body.GetEx<double>("SOC_min"); }
+		}
+
+		public double MaxSOC
+		{
+			get { return Body.GetEx<double>("SOC_max"); }
+		}
+		public AmpereSecond Capacity
+		{
+			get { return Body.GetEx<double>("Capacity").SI(Unit.SI.Ampere.Hour).Cast<AmpereSecond>(); }
+		}
+
+		public Ohm InternalResistance
+		{
+			get { return Body.GetEx<double>("InternalResistance").SI<Ohm>(); }
+		}
+
+		public TableData Voltage
+		{
+			get
+			{
+				var retVal = new TableData(_sourceFile);
+				retVal.Columns.Add(BatterySOCReader.Fields.StateOfCharge);
+				retVal.Columns.Add(BatterySOCReader.Fields.BatteryVoltage);
+				foreach (var entries in Body["SOC"]) {
+					var row = retVal.NewRow();
+					row[BatterySOCReader.Fields.StateOfCharge] = entries[0];
+					row[BatterySOCReader.Fields.BatteryVoltage] = entries[1];
+					retVal.Rows.Add(row);
+				}
+				return retVal;
+			}
+		}
+
+		public double MaxCurrentFactor
+		{
+			get { return Body.GetEx<double>("MaxCurrentFactor"); }
+		}
+	}
+}
\ No newline at end of file
diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONElectricMotor.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONElectricMotor.cs
new file mode 100644
index 0000000000..1583002ccc
--- /dev/null
+++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONElectricMotor.cs
@@ -0,0 +1,49 @@
+using System;
+using Newtonsoft.Json.Linq;
+using TUGraz.VectoCommon.InputData;
+using TUGraz.VectoCommon.Models;
+using TUGraz.VectoCommon.Utils;
+using TUGraz.VectoCore.Configuration;
+
+namespace TUGraz.VectoCore.InputData.FileIO.JSON {
+	public class JSONElectricMotorV1 : JSONFile, IElectricMotorEngineeringInputData
+	{
+		public JSONElectricMotorV1(JObject data, string filename, bool tolerateMissing = false) : base(data, filename, tolerateMissing) { }
+		public string Manufacturer
+		{
+			get { return Constants.NOT_AVailABLE; }
+		}
+		public string Model
+		{
+			get { return Body.GetEx<string>("Model"); }
+		}
+		public DateTime Date { get { return DateTime.MinValue; } }
+		public CertificationMethod CertificationMethod
+		{
+			get { return CertificationMethod.NotCertified; }
+		}
+		public string CertificationNumber
+		{
+			get { return Constants.NOT_AVailABLE; }
+		}
+		public DigestData DigestValue
+		{
+			get { return null; }
+		}
+
+		public TableData FullLoadCurve
+		{
+			get { return ReadTableData(Body.GetEx<string>("FullLoadCurve"), "ElectricMotor FullLoadCurve"); }
+		}
+
+		public TableData EfficiencyMap
+		{
+			get { return ReadTableData(Body.GetEx<string>("EfficiencyMap"), "ElectricMotor Map"); }
+		}
+
+		public KilogramSquareMeter Inertia
+		{
+			get { return Body.GetEx<double>("Inertia").SI<KilogramSquareMeter>(); }
+		}
+	}
+}
\ No newline at end of file
diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputDataFactory.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputDataFactory.cs
index 1edf824646..7e6fdce660 100644
--- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputDataFactory.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputDataFactory.cs
@@ -165,5 +165,32 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON
 					throw new VectoException("GearshiftParameter-File: Unsupported FileVersion. Got {0}", version);
 			}
 		}
+
+		public static IBatteryPackEngineeringInputData ReadBatteryData(string filename, bool tolerateMissing)
+		{
+			var json = ReadFile(filename);
+			var version = ReadVersion(json);
+			switch (version)
+			{
+				case 1:
+					return new JSONBatteryV1(json, filename, tolerateMissing);
+				default:
+					throw new VectoException("Battery-File: Unsupported FileVersion. Got {0}", version);
+			}
+		}
+
+		public static IElectricMotorEngineeringInputData ReadElectricMotorData(string filename, bool tolerateMissing)
+		{
+			var json = ReadFile(filename);
+			var version = ReadVersion(json);
+			switch (version)
+			{
+				case 1:
+					return new JSONElectricMotorV1(json, filename, tolerateMissing);
+				default:
+					throw new VectoException("ElectricMotor-File: Unsupported FileVersion. Got {0}", version);
+			}
+
+		}
 	}
 }
diff --git a/VectoCore/VectoCore/InputData/Reader/ComponentData/BatterySOCReader.cs b/VectoCore/VectoCore/InputData/Reader/ComponentData/BatterySOCReader.cs
new file mode 100644
index 0000000000..c60f27cd7b
--- /dev/null
+++ b/VectoCore/VectoCore/InputData/Reader/ComponentData/BatterySOCReader.cs
@@ -0,0 +1,43 @@
+using System.Data;
+using System.Linq;
+using TUGraz.VectoCommon.Exceptions;
+using TUGraz.VectoCommon.Models;
+using TUGraz.VectoCommon.Utils;
+using TUGraz.VectoCore.Utils;
+
+namespace TUGraz.VectoCore.InputData.Reader.ComponentData {
+	public static class BatterySOCReader
+	{
+
+		public static SOCMap Create(DataTable data)
+		{
+			if (data.Columns.Count != 2)
+			{
+				throw new VectoException("SOC-Map data must contain exactly two columns: {0}, {1}", Fields.StateOfCharge, Fields.BatteryVoltage);
+			}
+			if (data.Rows.Count < 2)
+			{
+				throw new VectoException("SoC-Map data must contain at least 2 entries!");
+			}
+			if (!data.Columns.Contains(Fields.StateOfCharge) || !data.Columns.Contains(Fields.BatteryVoltage))
+			{
+				data.Columns[0].ColumnName = Fields.StateOfCharge;
+				data.Columns[1].ColumnName = Fields.BatteryVoltage;
+				LoggingObject.Logger<SOCMap>().Warn("SoC-Map Header is invalid. Expected: '{0}, {1}', Got: '{2}'. Falling back to column index.",
+					Fields.StateOfCharge, Fields.BatteryVoltage, string.Join(", ", data.Columns.Cast<DataColumn>().Select(c => c.ColumnName)));
+			}
+			return new SOCMap(data.Rows.Cast<DataRow>().Select(row => new SOCMap.SOCMapEntry
+			{
+				SOC = row.ParseDouble(Fields.StateOfCharge) / 100,
+				BatteryVolts = row.ParseDouble(Fields.BatteryVoltage).SI<Volt>()
+			}).OrderBy(e => e.SOC).ToArray());
+		}
+
+		public static class Fields
+		{
+			public const string StateOfCharge = "SoC";
+
+			public const string BatteryVoltage = "V";
+		}
+	}
+}
\ No newline at end of file
diff --git a/VectoCore/VectoCore/InputData/Reader/ComponentData/ElectricFullLoadCurveReader.cs b/VectoCore/VectoCore/InputData/Reader/ComponentData/ElectricFullLoadCurveReader.cs
new file mode 100644
index 0000000000..db1b9e29c9
--- /dev/null
+++ b/VectoCore/VectoCore/InputData/Reader/ComponentData/ElectricFullLoadCurveReader.cs
@@ -0,0 +1,52 @@
+using System.Data;
+using System.Linq;
+using TUGraz.VectoCommon.Exceptions;
+using TUGraz.VectoCommon.Utils;
+using TUGraz.VectoCore.Models.SimulationComponent.Data;
+using TUGraz.VectoCore.Utils;
+
+namespace TUGraz.VectoCore.InputData.Reader.ComponentData {
+	public static class ElectricFullLoadCurveReader
+	{
+		public static ElectricFullLoadCurve Create(DataTable data)
+		{
+			if (data.Columns.Count < 3)
+			{
+				throw new VectoException("Motor FullLoadCurve Data must contain at least 3 columns");
+			}
+			if (data.Rows.Count < 2)
+			{
+				throw new VectoException("Motor FullLoadCurve Data must contain at least 2 rows with numeric values");
+			}
+			if (!HeaderIsValid(data.Columns))
+			{
+				data.Columns[0].ColumnName = Fields.MotorSpeed;
+				data.Columns[1].ColumnName = Fields.DrivingTorque;
+				data.Columns[2].ColumnName = Fields.GenerationTorque;
+			}
+
+			return new ElectricFullLoadCurve((from DataRow row in data.Rows
+				select new ElectricFullLoadCurve.FullLoadEntry
+				{
+					MotorSpeed = row.ParseDouble(Fields.MotorSpeed).RPMtoRad(),
+					FullDriveTorque = row.ParseDouble(Fields.DrivingTorque).SI<NewtonMeter>(),
+					FullGenerationTorque = row.ParseDouble(Fields.GenerationTorque).SI<NewtonMeter>()
+				}).ToList());
+		}
+
+		private static bool HeaderIsValid(DataColumnCollection dataColumns)
+		{
+			return dataColumns.Contains(Fields.MotorSpeed) && dataColumns.Contains(Fields.DrivingTorque) &&
+					dataColumns.Contains(Fields.GenerationTorque);
+		}
+
+		public static class Fields
+		{
+			public const string MotorSpeed = "n";
+
+			public const string DrivingTorque = "T_drive";
+
+			public const string GenerationTorque = "T_drag";
+		}
+	}
+}
\ No newline at end of file
diff --git a/VectoCore/VectoCore/InputData/Reader/ComponentData/ElectricMotorMapReader.cs b/VectoCore/VectoCore/InputData/Reader/ComponentData/ElectricMotorMapReader.cs
new file mode 100644
index 0000000000..4ef6d383ac
--- /dev/null
+++ b/VectoCore/VectoCore/InputData/Reader/ComponentData/ElectricMotorMapReader.cs
@@ -0,0 +1,73 @@
+using System;
+using System.Data;
+using System.IO;
+using System.Linq;
+using TUGraz.VectoCommon.Exceptions;
+using TUGraz.VectoCommon.Models;
+using TUGraz.VectoCommon.Utils;
+using TUGraz.VectoCore.Models.SimulationComponent.Data;
+using TUGraz.VectoCore.Models.SimulationComponent.Data.Engine;
+using TUGraz.VectoCore.Utils;
+
+namespace TUGraz.VectoCore.InputData.Reader.ComponentData {
+	public static class ElectricMotorMapReader
+	{
+		public static EfficiencyMap Create(Stream data)
+		{
+			return Create(VectoCSVFile.ReadStream(data));
+		}
+
+		public static EfficiencyMap Create(DataTable data)
+		{
+			var headerValid = HeaderIsValid(data.Columns);
+			if (!headerValid)
+			{
+				LoggingObject.Logger<FuelConsumptionMap>().Warn(
+					"Efficiencymap: Header Line is not valid. Expected: '{0}, {1}, {2}', Got: {3}",
+					FuelConsumptionMapReader.Fields.EngineSpeed, FuelConsumptionMapReader.Fields.Torque, FuelConsumptionMapReader.Fields.FuelConsumption,
+					string.Join(", ", data.Columns.Cast<DataColumn>().Select(c => c.ColumnName)));
+				data.Columns[0].ColumnName = Fields.MotorSpeed;
+				data.Columns[1].ColumnName = Fields.Torque;
+				data.Columns[2].ColumnName = Fields.PowerElectrical;
+			}
+			var delaunayMap = new DelaunayMap("ElectricMotorEfficiencyMap Mechanicla to Electric");
+			foreach (DataRow row in data.Rows)
+			{
+				try
+				{
+					var entry = CreateEntry(row);
+					delaunayMap.AddPoint(-entry.Torque.Value(), entry.MotorSpeed.Value(), -entry.PowerElectrical.Value());
+				}
+				catch (Exception e)
+				{
+					throw new VectoException(string.Format("EfficiencyMap - Line {0}: {1}", data.Rows.IndexOf(row), e.Message), e);
+				}
+			}
+
+			delaunayMap.Triangulate();
+			return new EfficiencyMap(delaunayMap);
+		}
+
+		private static EfficiencyMap.Entry CreateEntry(DataRow row)
+		{
+			return new EfficiencyMap.Entry(
+				speed: row.ParseDouble(Fields.MotorSpeed).RPMtoRad(),
+				torque: row.ParseDouble(Fields.Torque).SI<NewtonMeter>(),
+				powerElectrical: row.ParseDouble(Fields.PowerElectrical).SI(Unit.SI.Kilo.Watt).Cast<Watt>());
+		}
+
+
+		private static bool HeaderIsValid(DataColumnCollection columns)
+		{
+			return columns.Contains(FuelConsumptionMapReader.Fields.EngineSpeed) && columns.Contains(FuelConsumptionMapReader.Fields.Torque) &&
+					columns.Contains(FuelConsumptionMapReader.Fields.FuelConsumption);
+		}
+
+		public static class Fields
+		{
+			public const string MotorSpeed = "n";
+			public const string Torque = "T";
+			public const string PowerElectrical = "P_el";
+		}
+	}
+}
\ No newline at end of file
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Data/Battery/BatteryData.cs b/VectoCore/VectoCore/Models/SimulationComponent/Data/Battery/BatteryData.cs
new file mode 100644
index 0000000000..5970d45f8b
--- /dev/null
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Data/Battery/BatteryData.cs
@@ -0,0 +1,71 @@
+using System.ComponentModel.DataAnnotations;
+using System.Linq;
+using TUGraz.VectoCommon.Exceptions;
+using TUGraz.VectoCommon.Utils;
+
+namespace TUGraz.VectoCore.InputData.Reader.ComponentData {
+	public class BatteryData
+	{
+		[ValidateObject]
+		public SOCMap SOCMap { get; internal set; }
+
+		[Range(0, 1)]
+		public double MinSOC { get; internal set; }
+
+		[Range(0, 1)]
+		public double MaxSOC { get; internal set; }
+
+		[SIRange(0, 1e9)]
+		public Ohm InternalResistance { get; internal set; }
+
+		public AmpereSecond Capacity { get; internal set; }
+
+		public Ampere MaxCurrent { get; internal set; }
+
+		public double InitialSoC { get; internal set; }
+	}
+
+	public class SOCMap
+	{
+		protected SOCMapEntry[] Entries;
+
+		public SOCMap(SOCMapEntry[] entries)
+		{
+			Entries = entries;
+		}
+
+		public Volt Lookup(double soc)
+		{
+			var idx = FindIndex(soc);
+			return VectoMath.Interpolate(Entries[idx - 1].SOC, Entries[idx].SOC, Entries[idx - 1].BatteryVolts,
+				Entries[idx].BatteryVolts, soc);
+		}
+
+		protected int FindIndex(double soc)
+		{
+			if (soc < Entries.First().SOC)
+			{
+				return 1;
+			}
+			if (soc > Entries.Last().SOC)
+			{
+				return Entries.Length - 1;
+
+			}
+			for (var index = 1; index < Entries.Length; index++)
+			{
+				if (soc >= Entries[index - 1].SOC && soc <= Entries[index].SOC)
+				{
+					return index;
+				}
+			}
+			throw new VectoException("soc {0} exceeds battery model data. min: {1} max: {2}", soc, Entries.First().SOC, Entries.Last().SOC);
+		}
+
+		public class SOCMapEntry
+		{
+			[Required, Range(0, 1)] public double SOC;
+			[Required, SIRange(0, double.MaxValue)] public Volt BatteryVolts;
+		}
+	}
+}
\ No newline at end of file
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Data/ElectricMotor/EfficiencyMap.cs b/VectoCore/VectoCore/Models/SimulationComponent/Data/ElectricMotor/EfficiencyMap.cs
new file mode 100644
index 0000000000..2f34406505
--- /dev/null
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Data/ElectricMotor/EfficiencyMap.cs
@@ -0,0 +1,85 @@
+using TUGraz.VectoCommon.Utils;
+using TUGraz.VectoCore.Utils;
+
+namespace TUGraz.VectoCore.Models.SimulationComponent.Data {
+	public class EfficiencyMap
+	{
+		private readonly DelaunayMap _efficiencyMapMech2El;
+
+		protected internal EfficiencyMap(DelaunayMap efficiencyMapMech2El)
+		{
+			_efficiencyMapMech2El = efficiencyMapMech2El;
+		}
+
+
+		public EfficiencyResult LookupElectricPower(PerSecond angularSpeed, NewtonMeter torque, bool allowExtrapolation = false)
+		{
+			var result = new EfficiencyResult();
+			result.Torque = torque;
+			var value = _efficiencyMapMech2El.Interpolate(torque, angularSpeed);
+			if (value.HasValue)
+			{
+				result.ElectricalPower = value.Value.SI<Watt>();
+				return result;
+			}
+			if (allowExtrapolation)
+			{
+				result.ElectricalPower = _efficiencyMapMech2El.Extrapolate(torque, angularSpeed).SI<Watt>();
+				result.Extrapolated = true;
+				return result;
+			}
+			return result;
+		}
+
+		public EfficiencyResult SearchMechanicalPower(Watt electricPower, PerSecond angularSpeed,
+			bool allowExtrapolation = false)
+		{
+			if (electricPower.IsEqual(0))
+			{
+				return new EfficiencyResult
+				{
+					ElectricalPower = electricPower,
+					Speed = angularSpeed,
+					Torque = 0.SI<NewtonMeter>()
+				};
+			}
+			var torque = electricPower / angularSpeed;
+			var response = LookupElectricPower(angularSpeed, torque, true);
+			var delta = response.ElectricalPower - electricPower;
+			torque = SearchAlgorithm.Search(torque, delta, torque * 0.1,
+				getYValue: result => ((EfficiencyMap.EfficiencyResult)result).ElectricalPower - electricPower,
+				evaluateFunction: x => LookupElectricPower(angularSpeed, x, true),
+				criterion: result => (((EfficiencyMap.EfficiencyResult)result).ElectricalPower - electricPower).Value());
+
+			return new EfficiencyResult
+			{
+				ElectricalPower = electricPower,
+				Speed = angularSpeed,
+				Torque = torque
+			};
+		}
+
+
+		public class Entry
+		{
+			public Entry(PerSecond speed, NewtonMeter torque, Watt powerElectrical)
+			{
+				MotorSpeed = speed;
+				Torque = torque;
+				PowerElectrical = powerElectrical;
+			}
+
+			public readonly PerSecond MotorSpeed;
+			public readonly NewtonMeter Torque;
+			public readonly Watt PowerElectrical;
+		}
+
+		public class EfficiencyResult
+		{
+			public PerSecond Speed;
+			public NewtonMeter Torque;
+			public Watt ElectricalPower;
+			public bool Extrapolated;
+		}
+	}
+}
\ No newline at end of file
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Data/ElectricMotor/ElectricFullLoadCurve.cs b/VectoCore/VectoCore/Models/SimulationComponent/Data/ElectricMotor/ElectricFullLoadCurve.cs
new file mode 100644
index 0000000000..e407734826
--- /dev/null
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Data/ElectricMotor/ElectricFullLoadCurve.cs
@@ -0,0 +1,66 @@
+using System.Collections.Generic;
+using System.Linq;
+using TUGraz.VectoCommon.Exceptions;
+using TUGraz.VectoCommon.Utils;
+
+namespace TUGraz.VectoCore.Models.SimulationComponent.Data {
+	public class ElectricFullLoadCurve
+	{
+		internal readonly List<FullLoadEntry> FullLoadEntries;
+
+
+		internal ElectricFullLoadCurve(List<FullLoadEntry> entries)
+		{
+			FullLoadEntries = entries;
+		}
+
+
+		public NewtonMeter FullLoadDriveTorque(PerSecond angularVelocity)
+		{
+			var idx = FindIndex(angularVelocity);
+			return -VectoMath.Interpolate(FullLoadEntries[idx - 1].MotorSpeed, FullLoadEntries[idx].MotorSpeed,
+				FullLoadEntries[idx - 1].FullDriveTorque, FullLoadEntries[idx].FullDriveTorque,
+				angularVelocity);
+		}
+
+		public NewtonMeter FullGenerationTorque(PerSecond angularVelocity)
+		{
+			var idx = FindIndex(angularVelocity);
+			return -VectoMath.Interpolate(FullLoadEntries[idx - 1].MotorSpeed, FullLoadEntries[idx].MotorSpeed,
+				FullLoadEntries[idx - 1].FullGenerationTorque, FullLoadEntries[idx].FullGenerationTorque,
+				angularVelocity);
+		}
+
+		protected int FindIndex(PerSecond angularVelocity)
+		{
+			if (angularVelocity < FullLoadEntries.First().MotorSpeed)
+			{
+				return 1;
+			}
+			if (angularVelocity > FullLoadEntries.Last().MotorSpeed)
+			{
+				return FullLoadEntries.Count - 1;
+
+			}
+			for (var index = 1; index < FullLoadEntries.Count; index++)
+			{
+				if (angularVelocity >= FullLoadEntries[index - 1].MotorSpeed && angularVelocity <= FullLoadEntries[index].MotorSpeed)
+				{
+					return index;
+				}
+			}
+			throw new VectoException("angular velocity {0} exceeds full-load curve. min: {1} max: {2}", angularVelocity, FullLoadEntries.First().MotorSpeed, FullLoadEntries.Last().MotorSpeed);
+
+		}
+
+		internal class FullLoadEntry
+		{
+			public PerSecond MotorSpeed { get; set; }
+
+			public NewtonMeter FullDriveTorque { get; set; }
+
+			public NewtonMeter FullGenerationTorque { get; set; }
+		}
+
+	}
+}
\ No newline at end of file
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Data/ElectricMotor/ElectricMotorData.cs b/VectoCore/VectoCore/Models/SimulationComponent/Data/ElectricMotor/ElectricMotorData.cs
new file mode 100644
index 0000000000..a1291032f7
--- /dev/null
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Data/ElectricMotor/ElectricMotorData.cs
@@ -0,0 +1,14 @@
+using TUGraz.VectoCommon.Utils;
+
+namespace TUGraz.VectoCore.Models.SimulationComponent.Data
+{
+	public class ElectricMotorData
+	{
+		[ValidateObject]
+		public EfficiencyMap EfficiencyMap { get; internal set; }
+
+		public ElectricFullLoadCurve FullLoadCurve { get; internal set; }
+
+		public KilogramSquareMeter Inertia { get; internal set; }
+	}
+}
\ No newline at end of file
diff --git a/VectoCore/VectoCore/VectoCore.csproj b/VectoCore/VectoCore/VectoCore.csproj
index f9c4fd7e52..5824563f50 100644
--- a/VectoCore/VectoCore/VectoCore.csproj
+++ b/VectoCore/VectoCore/VectoCore.csproj
@@ -140,7 +140,9 @@
     <Compile Include="InputData\AuxiliaryFileHelper.cs" />
     <Compile Include="InputData\FileIO\JSON\BusAuxiliaryInputData.cs" />
     <Compile Include="InputData\FileIO\JSON\IJSONVehicleComponents.cs" />
+    <Compile Include="InputData\FileIO\JSON\JSONBattery.cs" />
     <Compile Include="InputData\FileIO\JSON\JSONComponentInputData.cs" />
+    <Compile Include="InputData\FileIO\JSON\JSONElectricMotor.cs" />
     <Compile Include="InputData\FileIO\JSON\JsonExtensionMethods.cs" />
     <Compile Include="InputData\FileIO\JSON\JSONTCUData.cs" />
     <Compile Include="InputData\FileIO\JSON\SSMInputData.cs" />
@@ -276,6 +278,10 @@
     <Compile Include="InputData\FileIO\XML\Declaration\IXMLDeclarationInputDataReader.cs" />
     <Compile Include="InputData\FileIO\XML\IXMLInputDataReader.cs" />
     <Compile Include="InputData\FileIO\XML\XMLInputDataNinjectModule.cs" />
+    <Compile Include="InputData\Reader\ComponentData\ElectricMotorMapReader.cs" />
+    <Compile Include="InputData\Reader\ComponentData\ElectricFullLoadCurveReader.cs" />
+    <Compile Include="Models\SimulationComponent\Data\Battery\BatteryData.cs" />
+    <Compile Include="InputData\Reader\ComponentData\BatterySOCReader.cs" />
     <Compile Include="InputData\Reader\DataObjectAdapter\DeclarationDataAdapterSingleBus.cs" />
     <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\Electrics\SimpleBattery.cs" />
     <Compile Include="Models\BusAuxiliaries\Interfaces\DownstreamModules\Electrics\ISimpleBattery.cs" />
@@ -364,6 +370,9 @@
     <Compile Include="Models\Declaration\BusSegments.cs" />
     <Compile Include="Models\Declaration\HVACCoolingPower.cs" />
     <Compile Include="Models\Declaration\SteeringPumpBus.cs" />
+    <Compile Include="Models\SimulationComponent\Data\ElectricMotor\EfficiencyMap.cs" />
+    <Compile Include="Models\SimulationComponent\Data\ElectricMotor\ElectricFullLoadCurve.cs" />
+    <Compile Include="Models\SimulationComponent\Data\ElectricMotor\ElectricMotorData.cs" />
     <Compile Include="Models\SimulationComponent\Data\Engine\WHRPowerMap.cs" />
     <Compile Include="InputData\Reader\ComponentData\WHRPowerReader.cs" />
     <Compile Include="Models\SimulationComponent\Impl\StopStartCombustionEngine.cs" />
diff --git a/VectoCore/VectoCoreTest/FileIO/JsonReadHybridTest.cs b/VectoCore/VectoCoreTest/FileIO/JsonReadHybridTest.cs
new file mode 100644
index 0000000000..9baa043994
--- /dev/null
+++ b/VectoCore/VectoCoreTest/FileIO/JsonReadHybridTest.cs
@@ -0,0 +1,70 @@
+using System.IO;
+using NUnit.Framework;
+using TUGraz.VectoCommon.Utils;
+using TUGraz.VectoCore.InputData.FileIO.JSON;
+using TUGraz.VectoCore.InputData.Reader.ComponentData;
+
+namespace TUGraz.VectoCore.Tests.FileIO
+{
+	[TestFixture]
+	public class JsonReadHybridTest
+	{
+
+		[OneTimeSetUp]
+		public void RunBeforeAnyTests()
+		{
+			Directory.SetCurrentDirectory(TestContext.CurrentContext.TestDirectory);
+		}
+
+		[TestCase()]
+		public void TestReadBatteryPack()
+		{
+			var inputProvider = JSONInputDataFactory.ReadBatteryData(@"TestData\Hybrids\Battery\GenericBattery.vbat", false);
+
+			Assert.AreEqual(14.SI(Unit.SI.Ampere.Hour), inputProvider.Capacity);
+			
+			var soc = inputProvider.Voltage;
+			Assert.AreEqual("0", soc.Rows[0][BatterySOCReader.Fields.StateOfCharge]);
+			Assert.AreEqual("590", soc.Rows[0][BatterySOCReader.Fields.BatteryVoltage]);
+
+			Assert.AreEqual(20, inputProvider.MinSOC);
+			Assert.AreEqual(80, inputProvider.MaxSOC);
+			Assert.AreEqual(5, inputProvider.MaxCurrentFactor);
+
+			var socMap = BatterySOCReader.Create(soc);
+
+			Assert.AreEqual(590, socMap.Lookup(0).Value());
+			Assert.AreEqual(658, socMap.Lookup(1).Value());
+			Assert.AreEqual(640, socMap.Lookup(0.5).Value());
+
+			Assert.AreEqual(639, socMap.Lookup(0.45).Value());
+		}
+
+		[TestCase()]
+		public void TestReadElectricMotor()
+		{
+			var inputProvider =
+				JSONInputDataFactory.ReadElectricMotorData(@"TestData\Hybrids\ElectricMotor\GenericEMotor.vem", false);
+
+			Assert.AreEqual(0.15, inputProvider.Inertia.Value(), 1e-6);
+
+			var fld = inputProvider.FullLoadCurve;
+			Assert.AreEqual("0", fld.Rows[0][ElectricFullLoadCurveReader.Fields.MotorSpeed]);
+			Assert.AreEqual("401.07", fld.Rows[0][ElectricFullLoadCurveReader.Fields.DrivingTorque]);
+			Assert.AreEqual("-401.07", fld.Rows[0][ElectricFullLoadCurveReader.Fields.GenerationTorque]);
+
+			var fldMap = ElectricFullLoadCurveReader.Create(fld);
+			Assert.AreEqual(401.07, fldMap.FullLoadDriveTorque(0.RPMtoRad()).Value());
+			Assert.AreEqual(-407.07, fldMap.FullGenerationTorque(0.RPMtoRad()).Value());
+
+			var pwr = inputProvider.EfficiencyMap;
+			Assert.AreEqual("0", pwr.Rows[0][ElectricMotorMapReader.Fields.MotorSpeed]);
+			Assert.AreEqual("-800", pwr.Rows[0][ElectricMotorMapReader.Fields.Torque]);
+			Assert.AreEqual("9.8449", pwr.Rows[0][ElectricMotorMapReader.Fields.PowerElectrical]);
+
+			var pwrMap = ElectricMotorMapReader.Create(pwr);
+			Assert.AreEqual(9844.9, pwrMap.LookupElectricPower(-0.RPMtoRad(), -800.SI<NewtonMeter>()).ElectricalPower.Value());
+		}
+
+	}
+}
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/Battery/GenericBattery.vbat b/VectoCore/VectoCoreTest/TestData/Hybrids/Battery/GenericBattery.vbat
index dddc31fa94..cfc68df2e8 100644
--- a/VectoCore/VectoCoreTest/TestData/Hybrids/Battery/GenericBattery.vbat
+++ b/VectoCore/VectoCoreTest/TestData/Hybrids/Battery/GenericBattery.vbat
@@ -10,9 +10,9 @@
     "Model": "Generic Battery",
     "SOC_min": 20,
     "SOC_max": 80,
-    "Capacity": 2.5,
-    "InternalResistance": 0.0068,
-    "MaxCurrentFactor": 50,
+    "Capacity": 14,
+    "InternalResistance": 0.12,
+    "MaxCurrentFactor": 5,
     "SOC": [
       [ 0, 590 ],
       [ 10, 614 ],
diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/ElectricMotor/GenericMap.vemo b/VectoCore/VectoCoreTest/TestData/Hybrids/ElectricMotor/GenericMap.vemo
index 0ccc17ed88..3af42d8569 100644
--- a/VectoCore/VectoCoreTest/TestData/Hybrids/ElectricMotor/GenericMap.vemo
+++ b/VectoCore/VectoCoreTest/TestData/Hybrids/ElectricMotor/GenericMap.vemo
@@ -1,4 +1,4 @@
-n [rpm], T [Nm], P_bat [kW]
+n [rpm], T [Nm], P_el [kW]
 0, -800, 9.8449
 0, -775, 9.2719
 0, -750, 8.7161
diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/175kW.vfld b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/175kW.vfld
new file mode 100644
index 0000000000..c18c5c3cae
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/175kW.vfld
@@ -0,0 +1,252 @@
+engine speed [1/min], full load torque [Nm], motoring torque [Nm]
+600,478,-35
+608,485.52,-35.31693
+616,493.04,-35.63385
+624,500.56,-35.95077
+632,508.08,-36.26769
+640,515.6,-36.58462
+648,523.12,-36.90154
+656,530.64,-37.21846
+664,538.16,-37.53539
+672,545.68,-37.85231
+680,553.2,-38.16923
+688,560.72,-38.48615
+696,568.24,-38.80308
+704,575.76,-39.12
+712,583.28,-39.43692
+720,590.8,-39.75385
+728,598.32,-40.07077
+736,605.84,-40.3877
+744,613.36,-40.70462
+752,620.88,-41.02154
+760,628.4,-41.33846
+768,635.92,-41.65539
+776,643.44,-41.97231
+784,650.96,-42.28923
+792,658.48,-42.60616
+800,666,-42.92308
+808,673.44,-43.24
+816,680.88,-43.48
+824,688.32,-43.72
+832,695.76,-43.96
+840,703.2,-44.2
+848,710.64,-44.44
+856,718.08,-44.68
+864,725.52,-44.92
+872,732.96,-45.16
+880,740.4,-45.4
+888,747.84,-45.64
+896,755.28,-45.88
+904,762.72,-46.12
+912,770.16,-46.36
+920,777.6,-46.6
+928,785.04,-46.84
+936,792.48,-47.08
+944,799.92,-47.32
+952,807.36,-47.56
+960,814.8,-47.8
+968,822.24,-48.04
+976,829.68,-48.28
+984,837.12,-48.52
+992,844.56,-48.76
+1000,852,-49
+1008,856.16,-49.4
+1016,860.32,-49.8
+1024,864.48,-50.19579
+1032,868.64,-50.59098
+1040,872.8,-50.98618
+1048,876.96,-51.38137
+1056,881.12,-51.77656
+1064,885.28,-52.17175
+1072,889.44,-52.56694
+1080,893.6,-52.96214
+1088,897.76,-53.35733
+1096,901.92,-53.75252
+1104,906.08,-54.14772
+1112,910.24,-54.54291
+1120,914.4,-54.9381
+1128,918.56,-55.33329
+1136,922.72,-55.72849
+1144,926.88,-56.12368
+1152,931.04,-56.51887
+1160,935.2,-56.91406
+1168,939.36,-57.30925
+1176,943.52,-57.70444
+1184,947.68,-58.09964
+1192,951.84,-58.49483
+1200,956,-58.89002
+1208,956,-59.28522
+1216,956,-59.68041
+1224,956,-60.0756
+1232,956,-60.44
+1240,956,-60.8
+1248,956,-61.16
+1256,956,-61.52
+1264,956,-61.88
+1272,956,-62.24
+1280,956,-62.6
+1288,956,-62.96
+1296,956,-63.32
+1304,956,-63.68
+1312,956,-64.04
+1320,956,-64.4
+1328,956,-64.76
+1336,956,-65.12
+1344,956,-65.48
+1352,956,-65.84
+1360,956,-66.2
+1368,956,-66.56
+1376,956,-66.92
+1384,956,-67.28
+1392,956,-67.64
+1400,956,-68
+1408,956,-68.36
+1416,956,-68.72
+1424,956,-69.08
+1432,956,-69.44
+1440,956,-69.76736
+1448,956,-70.08386
+1456,956,-70.40035
+1464,956,-70.71684
+1472,956,-71.03333
+1480,956,-71.34982
+1488,956,-71.66631
+1496,956,-71.9828
+1504,956,-72.2993
+1512,956,-72.61579
+1520,956,-72.93228
+1528,956,-73.24877
+1536,956,-73.56526
+1544,956,-73.88175
+1552,956,-74.19825
+1560,956,-74.51474
+1568,956,-74.83123
+1576,956,-75.14772
+1584,956,-75.46421
+1592,956,-75.7807
+1600,956,-76.0972
+1608,953.56,-76.41369
+1616,951.12,-76.73018
+1624,948.68,-77.04667
+1632,946.24,-77.36316
+1640,943.8,-77.67965
+1648,941.36,-77.99614
+1656,938.92,-78.31264
+1664,936.48,-78.6
+1672,934.04,-78.8
+1680,931.6,-79
+1688,929.16,-79.2
+1696,926.72,-79.4
+1704,924.28,-79.6
+1712,921.84,-79.8
+1720,919.4,-80
+1728,916.96,-80.2
+1736,914.52,-80.4
+1744,912.08,-80.6
+1752,909.64,-80.8
+1760,907.2,-81
+1768,904.76,-81.2
+1776,902.32,-81.4
+1784,899.88,-81.6
+1792,897.44,-81.8
+1800,895,-82
+1808,892.24,-82.24
+1816,889.48,-82.48
+1824,886.72,-82.72
+1832,883.96,-82.96
+1840,881.2,-83.2
+1848,878.44,-83.44
+1856,875.68,-83.68
+1864,872.92,-83.92
+1872,870.16,-84.16
+1880,867.4,-84.4
+1888,864.64,-84.64
+1896,861.88,-84.88
+1904,859.12,-85.12
+1912,856.36,-85.36
+1920,853.6,-85.6
+1928,850.84,-85.84
+1936,848.08,-86.08
+1944,845.32,-86.32
+1952,842.56,-86.56
+1960,839.8,-86.8
+1968,837.04,-87.04
+1976,834.28,-87.28
+1984,831.52,-87.52
+1992,828.76,-87.76
+2000,826,-88
+2008,823.36,-88.44
+2016,820.72,-88.88
+2024,818.08,-89.32
+2032,815.44,-89.76
+2040,812.8,-90.2
+2048,810.16,-90.64
+2056,807.52,-91.08
+2064,804.88,-91.52
+2072,802.24,-91.96
+2080,799.6,-92.4
+2088,796.96,-92.84
+2096,794.32,-93.28
+2104,791.68,-93.72
+2112,789.04,-94.16
+2120,786.4,-94.6
+2128,783.76,-95.04
+2136,781.12,-95.48
+2144,778.48,-95.92
+2152,775.84,-96.36
+2160,773.2,-96.8
+2168,770.56,-97.24
+2176,767.92,-97.68
+2184,765.28,-98.06694
+2192,762.64,-98.40081
+2200,760,-98.73468
+2208,755.56,-99.06856
+2216,751.12,-99.40243
+2224,746.68,-99.73631
+2232,742.24,-100.0702
+2240,737.8,-100.404
+2248,733.36,-100.7379
+2256,728.92,-101.0718
+2264,724.48,-101.4057
+2272,720.04,-101.7395
+2280,715.6,-102.0734
+2288,711.16,-102.4073
+2296,706.72,-102.7412
+2304,702.28,-103.075
+2312,697.84,-103.4089
+2320,693.4,-103.7428
+2328,688.96,-104.0767
+2336,684.52,-104.4105
+2344,680.08,-104.7444
+2352,675.64,-105.0783
+2360,671.2,-105.4
+2368,666.76,-105.72
+2376,662.32,-106.04
+2384,657.88,-106.36
+2392,653.44,-106.68
+2400,649,-107
+2408,642.36,-107.32
+2416,635.72,-107.64
+2424,629.08,-107.96
+2432,622.44,-108.28
+2440,615.8,-108.6
+2448,609.16,-108.92
+2456,602.52,-109.24
+2464,595.88,-109.56
+2472,589.24,-109.88
+2480,582.6,-110.2
+2488,575.96,-110.52
+2496,569.32,-110.84
+2504,543.36,-111.16
+2512,498.08,-111.48
+2520,452.8,-111.8
+2528,407.52,-112.12
+2536,362.24,-112.44
+2544,316.96,-112.76
+2552,271.68,-113.08
+2560,226.4,-113.4
+2568,181.12,-113.72
+2576,135.84,-114.04
+2584,90.56,-114.36
+2592,45.28,-114.68
+2600,0,-115
diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/175kW.vmap b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/175kW.vmap
new file mode 100644
index 0000000000..2cb3560748
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/175kW.vmap
@@ -0,0 +1,137 @@
+engine speed [rpm], torque [Nm], fuel consumption [g/h]
+500,-31,0
+500,0,508
+500,95.6,1814.959
+500,191.2,3075.43
+500,286.8,4327.79
+500,382.4,6036.866
+500,478,7983
+500,573.6,9771.095
+600,-35,0
+600,0,508
+600,95.6,1814.959
+600,191.2,3075.43
+600,286.8,4327.79
+600,382.4,6036.866
+600,478,7983
+600,573.6,9771.095
+808,-43.24,0
+808.5,0,737.35
+808.5,95.6,2156.667
+808.5,191.2,3750.051
+808.5,286.8,5348.091
+808.5,382.4,7281.769
+808.5,478,9331.995
+808.5,573.6,11361.22
+808.5,669.2,13292.96
+808.5,673.905,13387.96
+808,769.505,15319.69
+1017,-49.85,0
+1017,0,966.7
+1017,95.6,2499.359
+1017,191.2,4425.586
+1017,286.8,6368.761
+1017,382.4,8527.475
+1017,478,10681.08
+1017,573.6,12806.98
+1017,669.2,14926.89
+1017,764.8,17075.42
+1017,860.4,19211.62
+1017,860.84,19221.39
+1017,956.44,21357.58
+1225,-60.125,0
+1225.4,0,1216.133
+1225.4,95.6,2867.396
+1225.4,191.2,5129.114
+1225.4,286.8,7421.546
+1225.4,382.4,9808.684
+1225.4,478,12096.76
+1225.4,573.6,14371.23
+1225.4,669.2,16697.39
+1225.4,764.8,19043.79
+1225.4,860.4,21380.34
+1225.4,956,23976.15
+1225,1051.6,26399.12
+1434,-69.53,0
+1433.9,0,1607.511
+1433.9,95.6,3422.282
+1433.9,191.2,6045.75
+1433.9,286.8,8717.55
+1433.9,382.4,11388.84
+1433.9,478,14040.14
+1433.9,573.6,16812.16
+1433.9,669.2,19499.88
+1433.9,764.8,22089.68
+1433.9,860.4,24706.84
+1433.9,956,27415.66
+1434,1051.6,30063.37
+1662,-78.55,0
+1661.8,0,2026.982
+1661.8,95.6,4054.852
+1661.8,191.2,7064.631
+1661.8,286.8,10168.59
+1661.8,382.4,13313.27
+1661.8,478,16389.77
+1661.8,573.6,19514.32
+1661.8,669.2,22625.12
+1661.8,764.8,25652.52
+1661.8,860.4,28788.1
+1661.8,937.151,31372.42
+1662,1032.751,34529.97
+1835,-83.05,0
+1834.7,0,2385.627
+1834.7,95.6,4596.783
+1834.7,191.2,7871.156
+1834.7,286.8,11300.52
+1834.7,382.4,14757.68
+1834.7,478,18117.38
+1834.7,573.6,21557.68
+1834.7,669.2,25079.78
+1834.7,764.8,28600.34
+1834.7,860.4,32191.22
+1834.7,883.0285,33047.82
+1835,978.6285,36639.92
+2008,-88.44,0
+2007.5,0,2806.425
+2007.5,95.6,5238.11
+2007.5,191.2,8755.323
+2007.5,286.8,12501.62
+2007.5,382.4,16278.62
+2007.5,478,20040.57
+2007.5,573.6,23826.03
+2007.5,669.2,27760.66
+2007.5,764.8,31692.9
+2007.5,823.525,34019.71
+2008,919.125,37924.6
+2180,-97.9,0
+2180.3,0,3323.097
+2180.3,95.6,5859.055
+2180.3,191.2,9668.133
+2180.3,286.8,13730.37
+2180.3,382.4,17786.81
+2180.3,478,21943.1
+2180.3,573.6,26354.73
+2180.3,669.2,30668.08
+2180.3,764.8,34924.28
+2180.3,766.501,35000.3
+2180,862.101,39256.51
+2353,-105.12,0
+2353.2,0,3807.896
+2353.2,95.6,6495.978
+2353.2,191.2,10634.86
+2353.2,286.8,15048
+2353.2,382.4,19654.95
+2353.2,478,24298.67
+2353.2,573.6,29311.43
+2353.2,669.2,34144.93
+2353,764.8,39097.94
+2453,-109.12,0
+2453.2,0,3807.896
+2453.2,95.6,6495.978
+2453.2,191.2,10634.86
+2453.2,286.8,15048
+2453.2,382.4,19654.95
+2453.2,478,24298.67
+2453.2,573.6,29311.43
+2453.2,669.2,34144.93
+2453,764.8,39097.94
diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/AMT_12.vgbx b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/AMT_12.vgbx
new file mode 100644
index 0000000000..ef3e26467a
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/AMT_12.vgbx
@@ -0,0 +1,104 @@
+{
+  "Header": {
+    "CreatedBy": " ()",
+    "Date": "2016-10-13T08:52:52.1686119Z",
+    "AppVersion": "3",
+    "FileVersion": 6
+  },
+  "Body": {
+    "SavedInDeclMode": false,
+    "ModelName": "tractor_12gear_example",
+    "Inertia": 0.0,
+    "TracInt": 1.0,
+    "Gears": [
+      {
+        "Ratio": 2.64,
+        "LossMap": "Axle_4x2.vtlm"
+      },
+      {
+        "Ratio": 14.93,
+        "LossMap": "Gear_1.vtlm",
+        "ShiftPolygon": "",
+        "MaxTorque": ""
+      },
+      {
+        "Ratio": 11.64,
+        "LossMap": "Gear_2.vtlm",
+        "ShiftPolygon": "",
+        "MaxTorque": ""
+      },
+      {
+        "Ratio": 9.02,
+        "LossMap": "Gear_3.vtlm",
+        "ShiftPolygon": "",
+        "MaxTorque": ""
+      },
+      {
+        "Ratio": 7.04,
+        "LossMap": "Gear_4.vtlm",
+        "ShiftPolygon": "",
+        "MaxTorque": ""
+      },
+      {
+        "Ratio": 5.64,
+        "LossMap": "Gear_5.vtlm",
+        "ShiftPolygon": "",
+        "MaxTorque": ""
+      },
+      {
+        "Ratio": 4.4,
+        "LossMap": "Gear_6.vtlm",
+        "ShiftPolygon": "",
+        "MaxTorque": ""
+      },
+      {
+        "Ratio": 3.39,
+        "LossMap": "Gear_7.vtlm",
+        "ShiftPolygon": "",
+        "MaxTorque": ""
+      },
+      {
+        "Ratio": 2.65,
+        "LossMap": "Gear_8.vtlm",
+        "ShiftPolygon": "",
+        "MaxTorque": ""
+      },
+      {
+        "Ratio": 2.05,
+        "LossMap": "Gear_9.vtlm",
+        "ShiftPolygon": "",
+        "MaxTorque": ""
+      },
+      {
+        "Ratio": 1.6,
+        "LossMap": "Gear_10.vtlm",
+        "ShiftPolygon": "",
+        "MaxTorque": ""
+      },
+      {
+        "Ratio": 1.28,
+        "LossMap": "Gear_11.vtlm",
+        "ShiftPolygon": "",
+        "MaxTorque": ""
+      },
+      {
+        "Ratio": 1.0,
+        "LossMap": "Gear_12.vtlm",
+        "ShiftPolygon": "",
+        "MaxTorque": ""
+      }
+    ],
+    "TqReserve": 20.0,
+    "ShiftTime": 2.0,
+    "StartTqReserve": 20.0,
+    "StartSpeed": 2.0,
+    "StartAcc": 0.6,
+    "GearboxType": "AMT",
+    "TorqueConverter": {
+      "Enabled": false
+    },
+    "DownshiftAferUpshiftDelay": 10.0,
+    "UpshiftAfterDownshiftDelay": 10.0,
+    "UpshiftMinAcceleration": 0.1
+  }
+}
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Axle_4x2.vtlm b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Axle_4x2.vtlm
new file mode 100644
index 0000000000..a3a48d41fa
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Axle_4x2.vtlm
@@ -0,0 +1,157 @@
+Input Speed [rpm],Input Torque [Nm],Torque Loss [Nm]
+0,-1000,25
+0,0,5
+0,1000,25
+0,2000,45
+0,3000,65
+0,4000,85
+0,5000,105
+0,6000,125
+0,7000,145
+0,8000,165
+0,9000,185
+0,10000,205
+238,-1000,25.2
+238,0,5.2
+238,1000,25.2
+238,2000,45.2
+238,3000,65.2
+238,4000,85.2
+238,5000,105.2
+238,6000,125.2
+238,7000,145.2
+238,8000,165.2
+238,9000,185.2
+238,10000,205.2
+475,-1000,25.5
+475,0,5.5
+475,551,16.5
+475,1102,27.5
+475,1653,38.5
+475,2204,49.5
+475,2755,60.6
+475,3306,71.6
+475,3857,82.6
+475,4408,93.6
+475,4959,104.6
+475,5510,115.7
+713,-1000,25.7
+713,0,5.7
+713,346,12.6
+713,692,19.5
+713,1038,26.5
+713,1384,33.4
+713,1730,40.3
+713,2076,47.2
+713,2422,54.1
+713,2768,61
+713,3114,68
+713,3460,74.9
+950,-1000,25.9
+950,0,5.9
+950,278,11.5
+950,555,17
+950,833,22.6
+950,1111,28.1
+950,1389,33.7
+950,1666,39.3
+950,1944,44.8
+950,2222,50.4
+950,2500,55.9
+950,2777,61.5
+1188,-1000,26.2
+1188,0,6.2
+1188,221,10.6
+1188,443,15
+1188,664,19.4
+1188,886,23.9
+1188,1107,28.3
+1188,1329,32.7
+1188,1550,37.2
+1188,1772,41.6
+1188,1993,46
+1188,2215,50.4
+1425,-1000,26.4
+1425,0,6.4
+1425,180,10
+1425,361,13.6
+1425,541,17.2
+1425,721,20.8
+1425,902,24.4
+1425,1082,28
+1425,1262,31.6
+1425,1443,35.2
+1425,1623,38.8
+1425,1804,42.5
+1663,-1000,26.6
+1663,0,6.6
+1663,146,9.5
+1663,292,12.4
+1663,437,15.4
+1663,583,18.3
+1663,729,21.2
+1663,875,24.1
+1663,1020,27
+1663,1166,29.9
+1663,1312,32.9
+1663,1458,35.8
+1900,-1000,26.8
+1900,0,6.8
+1900,130,9.4
+1900,260,12
+1900,390,14.6
+1900,520,17.2
+1900,650,19.8
+1900,780,22.4
+1900,909,25
+1900,1039,27.6
+1900,1169,30.2
+1900,1299,32.8
+2138,-1000,27.1
+2138,0,7.1
+2138,114,9.4
+2138,228,11.6
+2138,342,13.9
+2138,456,16.2
+2138,570,18.5
+2138,684,20.8
+2138,798,23
+2138,912,25.3
+2138,1026,27.6
+2138,1140,29.9
+2375,-1000,27.3
+2375,0,7.3
+2375,110,9.5
+2375,220,11.7
+2375,330,13.9
+2375,440,16.1
+2375,550,18.3
+2375,660,20.5
+2375,770,22.7
+2375,880,24.9
+2375,990,27.1
+2375,1100,29.3
+2613,-1000,27.5
+2613,0,7.5
+2613,110,9.7
+2613,220,11.9
+2613,330,14.1
+2613,440,16.3
+2613,550,18.5
+2613,660,20.7
+2613,770,22.9
+2613,880,25.1
+2613,990,27.3
+2613,1100,29.5
+3088,-1000,28
+3088,0,8
+3088,110,10.2
+3088,220,12.4
+3088,330,14.6
+3088,440,16.8
+3088,550,19
+3088,660,21.2
+3088,770,23.4
+3088,880,25.6
+3088,990,27.8
+3088,1100,30
diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Class2_RigidTruck.vveh b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Class2_RigidTruck.vveh
new file mode 100644
index 0000000000..4ad2695224
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Class2_RigidTruck.vveh
@@ -0,0 +1,91 @@
+{
+  "Header": {
+    "CreatedBy": "",
+    "Date": "2017-07-13T14:14:29.3226830Z",
+    "AppVersion": "3",
+    "FileVersion": 7
+  },
+  "Body": {
+    "SavedInDeclMode": false,
+    "VehCat": "RigidTruck",
+    "LegislativeClass": "Unknown",
+	"PowertrainConfiguration": "ParallelHybrid",
+    "CurbWeight": 4670.0,
+    "CurbWeightExtra": 1900.0,
+    "Loading": 3020.0,
+    "MassMax": 11.99,
+    "rdyn": 421.0,
+    "CdCorrMode": "CdofVdecl",
+    "CdCorrFile": "",
+    "Retarder": {
+      "Type": "None",
+      "Ratio": 0.0,
+      "File": ""
+    },
+    "Angledrive": {
+      "Type": "None",
+      "Ratio": 0.0,
+      "LossMap": ""
+    },
+    "PTO": {
+      "Type": "None",
+      "LossMap": "",
+      "Cycle": ""
+    },
+	"ElectricMotors": {
+       [
+        "Position": "P2",
+        "MotorFile": "GenericEMotor240kW.vem"
+        ],
+    },
+	"Battery": { 
+        "NumPacks": 2,
+        "BatteryFile": "GenericBattery.vbat",
+    }
+    "TorqueLimits": {},
+    "IdlingSpeed": 0.0,
+    "AxleConfig": {
+      "Type": "4x2",
+      "Axles": [
+        {
+          "Inertia": 6.5,
+          "Wheels": "265/70 R19.5",
+          "AxleWeightShare": 0.2,
+          "TwinTyres": false,
+          "RRCISO": 0.0065,
+          "FzISO": 20850.0,
+          "Type": "VehicleNonDriven"
+        },
+        {
+          "Inertia": 6.5,
+          "Wheels": "265/70 R19.5",
+          "AxleWeightShare": 0.3,
+          "TwinTyres": true,
+          "RRCISO": 0.0075,
+          "FzISO": 20850.0,
+          "Type": "VehicleDriven"
+        },
+        {
+          "Inertia": 4.5,
+          "Wheels": "235/75 R17.5",
+          "AxleWeightShare": 0.25,
+          "TwinTyres": false,
+          "RRCISO": 0.0055,
+          "FzISO": 16680.0,
+          "Type": "VehicleNonDriven"
+        },
+        {
+          "Inertia": 4.5,
+          "Wheels": "235/75 R17.5",
+          "AxleWeightShare": 0.25,
+          "TwinTyres": false,
+          "RRCISO": 0.0055,
+          "FzISO": 16680.0,
+          "Type": "VehicleNonDriven"
+        }
+      ]
+    },
+    "CdA": 4.83,
+    "VehicleHeight": 3.0
+  }
+}
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Class2_RigidTruck_ParHyb_ENG.vecto b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Class2_RigidTruck_ParHyb_ENG.vecto
new file mode 100644
index 0000000000..3ab919603e
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Class2_RigidTruck_ParHyb_ENG.vecto
@@ -0,0 +1,52 @@
+{
+  "Header": {
+    "CreatedBy": " ()",
+    "Date": "2016-10-13T08:55:18.2100810Z",
+    "AppVersion": "3",
+    "FileVersion": 4
+  },
+  "Body": {
+    "SavedInDeclMode": false,
+    "EngineOnlyMode": false,
+    "VehicleFile": "Class2_RigidTruck.vveh",
+    "EngineFile": "Engine_175kW_6.8l.veng",
+    "GearboxFile": "AMT_12.vgbx",
+    "AuxiliaryAssembly": "Classic",
+    "AuxiliaryVersion": "CLASSIC",
+    "AdvancedAuxiliaryFilePath": "",
+	
+	"HybridStrategy": "SimpleParallelHybridStrategy",
+	"HybridCtlFile": "HybridStrategyParams.vctl",
+	
+    "Aux": [],
+    "Padd": 3540.0,
+    "Padd_electric":  3540.0, 
+    "Padd_electric_standstill":  400.0, 
+
+    "VACC": "Truck.vacc",
+    "StartStop": {
+      "Enabled": false,
+      "MaxSpeed": 5.0,
+      "MinTime": 5.0,
+      "Delay": 5.0
+    },
+    "LAC": {
+      "Enabled": true,
+      "PreviewDistanceFactor": 10.0,
+      "DF_offset": 2.5,
+      "DF_scaling": 1.5,
+      "DF_targetSpeedLookup": "",
+      "Df_velocityDropLookup": ""
+    },
+    "OverSpeedEcoRoll": {
+      "Mode": "Off",
+      "MinSpeed": 50.0,
+      "OverSpeed": 5.0,
+      "UnderSpeed": 5.0
+    },
+    "Cycles": [
+      "RegionalDelivery",
+      "UrbanDelivery"
+    ]
+  }
+}
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Engine_175kW_6.8l.veng b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Engine_175kW_6.8l.veng
new file mode 100644
index 0000000000..d9c60344f3
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Engine_175kW_6.8l.veng
@@ -0,0 +1,21 @@
+{
+  "Header": {
+    "CreatedBy": " ()",
+    "Date": "2016-10-13T08:54:28.7387223Z",
+    "AppVersion": "3",
+    "FileVersion": 3
+  },
+  "Body": {
+    "SavedInDeclMode": false,
+    "ModelName": "175kW 6.8l Engine",
+    "Displacement": "6871",
+    "IdlingSpeed": 600.0,
+    "Inertia": 3.565,
+    "FullLoadCurve": "175kW.vfld",
+    "FuelMap": "175kW.vmap",
+    "WHTC-Urban": 0.0,
+    "WHTC-Rural": 0.0,
+    "WHTC-Motorway": 0.0,
+    "ColdHotBalancingFactor": 0.0
+  }
+}
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Gear_1.vtlm b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Gear_1.vtlm
new file mode 100644
index 0000000000..ea00afe57c
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Gear_1.vtlm
@@ -0,0 +1,233 @@
+Input Speed [rpm],Input Torque [Nm],Torque Loss [Nm]
+0,-5500.0,239.2
+0,-5000.0,219.2
+0,-4500.0,179.2
+0,-4000.0,179.2
+0,-3500.0,159.2
+0,-3000.0,139.2
+0,-2500.0,119.2
+0,-2000.0,99.2
+0,-1600.0,83.2
+0,-1200.0,67.2
+0,-900.0,55.2
+0,-600.0,43.2
+0,-400.0,35.2
+0,-200.0,27.2
+0,0.0,27.2
+0,200.0,27.2
+0,400.0,35.2
+0,600.0,43.2
+0,900.0,55.2
+0,1200.0,67.2
+0,1600.0,83.2
+0,2000.0,99.2
+0,2500.0,119.2
+0,3000.0,139.2
+0,3500.0,159.2
+0,4000.0,179.2
+0,4500.0,199.2
+0,5000.0,219.2
+0,5500.0,239.2
+600,-5500.0,239.2
+600,-5000.0,219.2
+600,-4500.0,179.2
+600,-4000.0,179.2
+600,-3500.0,159.2
+600,-3000.0,139.2
+600,-2500.0,119.2
+600,-2000.0,99.2
+600,-1600.0,83.2
+600,-1200.0,67.2
+600,-900.0,55.2
+600,-600.0,43.2
+600,-400.0,35.2
+600,-200.0,27.2
+600,0.0,27.2
+600,200.0,27.2
+600,400.0,35.2
+600,600.0,43.2
+600,900.0,55.2
+600,1200.0,67.2
+600,1600.0,83.2
+600,2000.0,99.2
+600,2500.0,119.2
+600,3000.0,139.2
+600,3500.0,159.2
+600,4000.0,179.2
+600,4500.0,199.2
+600,5000.0,219.2
+600,5500.0,239.2
+900,-5500.0,242.8
+900,-5000.0,222.8
+900,-4500.0,182.8
+900,-4000.0,182.8
+900,-3500.0,162.8
+900,-3000.0,142.8
+900,-2500.0,122.8
+900,-2000.0,102.8
+900,-1600.0,86.8
+900,-1200.0,70.8
+900,-900.0,58.8
+900,-600.0,46.8
+900,-400.0,38.8
+900,-200.0,30.8
+900,0.0,30.8
+900,200.0,30.8
+900,400.0,38.8
+900,600.0,46.8
+900,900.0,58.8
+900,1200.0,70.8
+900,1600.0,86.8
+900,2000.0,102.8
+900,2500.0,122.8
+900,3000.0,142.8
+900,3500.0,162.8
+900,4000.0,182.8
+900,4500.0,202.8
+900,5000.0,222.8
+900,5500.0,242.8
+1200,-5500.0,246.4
+1200,-5000.0,226.4
+1200,-4500.0,186.4
+1200,-4000.0,186.4
+1200,-3500.0,166.4
+1200,-3000.0,146.4
+1200,-2500.0,126.4
+1200,-2000.0,106.4
+1200,-1600.0,90.4
+1200,-1200.0,74.4
+1200,-900.0,62.4
+1200,-600.0,50.4
+1200,-400.0,42.4
+1200,-200.0,34.4
+1200,0.0,34.4
+1200,200.0,34.4
+1200,400.0,42.4
+1200,600.0,50.4
+1200,900.0,62.4
+1200,1200.0,74.4
+1200,1600.0,90.4
+1200,2000.0,106.4
+1200,2500.0,126.4
+1200,3000.0,146.4
+1200,3500.0,166.4
+1200,4000.0,186.4
+1200,4500.0,206.4
+1200,5000.0,226.4
+1200,5500.0,246.4
+1600,-5500.0,251.2
+1600,-5000.0,231.2
+1600,-4500.0,191.2
+1600,-4000.0,191.2
+1600,-3500.0,171.2
+1600,-3000.0,151.2
+1600,-2500.0,131.2
+1600,-2000.0,111.2
+1600,-1600.0,95.2
+1600,-1200.0,79.2
+1600,-900.0,67.2
+1600,-600.0,55.2
+1600,-400.0,47.2
+1600,-200.0,39.2
+1600,0.0,39.2
+1600,200.0,39.2
+1600,400.0,47.2
+1600,600.0,55.2
+1600,900.0,67.2
+1600,1200.0,79.2
+1600,1600.0,95.2
+1600,2000.0,111.2
+1600,2500.0,131.2
+1600,3000.0,151.2
+1600,3500.0,171.2
+1600,4000.0,191.2
+1600,4500.0,211.2
+1600,5000.0,231.2
+1600,5500.0,251.2
+2000,-5500.0,256.0
+2000,-5000.0,236.0
+2000,-4500.0,196.0
+2000,-4000.0,196.0
+2000,-3500.0,176.0
+2000,-3000.0,156.0
+2000,-2500.0,136.0
+2000,-2000.0,116.0
+2000,-1600.0,100.0
+2000,-1200.0,84.0
+2000,-900.0,72.0
+2000,-600.0,60.0
+2000,-400.0,52.0
+2000,-200.0,44.0
+2000,0.0,44.0
+2000,200.0,44.0
+2000,400.0,52.0
+2000,600.0,60.0
+2000,900.0,72.0
+2000,1200.0,84.0
+2000,1600.0,100.0
+2000,2000.0,116.0
+2000,2500.0,136.0
+2000,3000.0,156.0
+2000,3500.0,176.0
+2000,4000.0,196.0
+2000,4500.0,216.0
+2000,5000.0,236.0
+2000,5500.0,256.0
+2500,-5500.0,262.0
+2500,-5000.0,242.0
+2500,-4500.0,202.0
+2500,-4000.0,202.0
+2500,-3500.0,182.0
+2500,-3000.0,162.0
+2500,-2500.0,142.0
+2500,-2000.0,122.0
+2500,-1600.0,106.0
+2500,-1200.0,90.0
+2500,-900.0,78.0
+2500,-600.0,66.0
+2500,-400.0,58.0
+2500,-200.0,50.0
+2500,0.0,50.0
+2500,200.0,50.0
+2500,400.0,58.0
+2500,600.0,66.0
+2500,900.0,78.0
+2500,1200.0,90.0
+2500,1600.0,106.0
+2500,2000.0,122.0
+2500,2500.0,142.0
+2500,3000.0,162.0
+2500,3500.0,182.0
+2500,4000.0,202.0
+2500,4500.0,222.0
+2500,5000.0,242.0
+2500,5500.0,262.0
+3000,-5500.0,268.0
+3000,-5000.0,248.0
+3000,-4500.0,208.0
+3000,-4000.0,208.0
+3000,-3500.0,188.0
+3000,-3000.0,168.0
+3000,-2500.0,148.0
+3000,-2000.0,128.0
+3000,-1600.0,112.0
+3000,-1200.0,96.0
+3000,-900.0,84.0
+3000,-600.0,72.0
+3000,-400.0,64.0
+3000,-200.0,56.0
+3000,0.0,56.0
+3000,200.0,56.0
+3000,400.0,64.0
+3000,600.0,72.0
+3000,900.0,84.0
+3000,1200.0,96.0
+3000,1600.0,112.0
+3000,2000.0,128.0
+3000,2500.0,148.0
+3000,3000.0,168.0
+3000,3500.0,188.0
+3000,4000.0,208.0
+3000,4500.0,228.0
+3000,5000.0,248.0
+3000,5500.0,268.0
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Gear_10.vtlm b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Gear_10.vtlm
new file mode 100644
index 0000000000..ea00afe57c
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Gear_10.vtlm
@@ -0,0 +1,233 @@
+Input Speed [rpm],Input Torque [Nm],Torque Loss [Nm]
+0,-5500.0,239.2
+0,-5000.0,219.2
+0,-4500.0,179.2
+0,-4000.0,179.2
+0,-3500.0,159.2
+0,-3000.0,139.2
+0,-2500.0,119.2
+0,-2000.0,99.2
+0,-1600.0,83.2
+0,-1200.0,67.2
+0,-900.0,55.2
+0,-600.0,43.2
+0,-400.0,35.2
+0,-200.0,27.2
+0,0.0,27.2
+0,200.0,27.2
+0,400.0,35.2
+0,600.0,43.2
+0,900.0,55.2
+0,1200.0,67.2
+0,1600.0,83.2
+0,2000.0,99.2
+0,2500.0,119.2
+0,3000.0,139.2
+0,3500.0,159.2
+0,4000.0,179.2
+0,4500.0,199.2
+0,5000.0,219.2
+0,5500.0,239.2
+600,-5500.0,239.2
+600,-5000.0,219.2
+600,-4500.0,179.2
+600,-4000.0,179.2
+600,-3500.0,159.2
+600,-3000.0,139.2
+600,-2500.0,119.2
+600,-2000.0,99.2
+600,-1600.0,83.2
+600,-1200.0,67.2
+600,-900.0,55.2
+600,-600.0,43.2
+600,-400.0,35.2
+600,-200.0,27.2
+600,0.0,27.2
+600,200.0,27.2
+600,400.0,35.2
+600,600.0,43.2
+600,900.0,55.2
+600,1200.0,67.2
+600,1600.0,83.2
+600,2000.0,99.2
+600,2500.0,119.2
+600,3000.0,139.2
+600,3500.0,159.2
+600,4000.0,179.2
+600,4500.0,199.2
+600,5000.0,219.2
+600,5500.0,239.2
+900,-5500.0,242.8
+900,-5000.0,222.8
+900,-4500.0,182.8
+900,-4000.0,182.8
+900,-3500.0,162.8
+900,-3000.0,142.8
+900,-2500.0,122.8
+900,-2000.0,102.8
+900,-1600.0,86.8
+900,-1200.0,70.8
+900,-900.0,58.8
+900,-600.0,46.8
+900,-400.0,38.8
+900,-200.0,30.8
+900,0.0,30.8
+900,200.0,30.8
+900,400.0,38.8
+900,600.0,46.8
+900,900.0,58.8
+900,1200.0,70.8
+900,1600.0,86.8
+900,2000.0,102.8
+900,2500.0,122.8
+900,3000.0,142.8
+900,3500.0,162.8
+900,4000.0,182.8
+900,4500.0,202.8
+900,5000.0,222.8
+900,5500.0,242.8
+1200,-5500.0,246.4
+1200,-5000.0,226.4
+1200,-4500.0,186.4
+1200,-4000.0,186.4
+1200,-3500.0,166.4
+1200,-3000.0,146.4
+1200,-2500.0,126.4
+1200,-2000.0,106.4
+1200,-1600.0,90.4
+1200,-1200.0,74.4
+1200,-900.0,62.4
+1200,-600.0,50.4
+1200,-400.0,42.4
+1200,-200.0,34.4
+1200,0.0,34.4
+1200,200.0,34.4
+1200,400.0,42.4
+1200,600.0,50.4
+1200,900.0,62.4
+1200,1200.0,74.4
+1200,1600.0,90.4
+1200,2000.0,106.4
+1200,2500.0,126.4
+1200,3000.0,146.4
+1200,3500.0,166.4
+1200,4000.0,186.4
+1200,4500.0,206.4
+1200,5000.0,226.4
+1200,5500.0,246.4
+1600,-5500.0,251.2
+1600,-5000.0,231.2
+1600,-4500.0,191.2
+1600,-4000.0,191.2
+1600,-3500.0,171.2
+1600,-3000.0,151.2
+1600,-2500.0,131.2
+1600,-2000.0,111.2
+1600,-1600.0,95.2
+1600,-1200.0,79.2
+1600,-900.0,67.2
+1600,-600.0,55.2
+1600,-400.0,47.2
+1600,-200.0,39.2
+1600,0.0,39.2
+1600,200.0,39.2
+1600,400.0,47.2
+1600,600.0,55.2
+1600,900.0,67.2
+1600,1200.0,79.2
+1600,1600.0,95.2
+1600,2000.0,111.2
+1600,2500.0,131.2
+1600,3000.0,151.2
+1600,3500.0,171.2
+1600,4000.0,191.2
+1600,4500.0,211.2
+1600,5000.0,231.2
+1600,5500.0,251.2
+2000,-5500.0,256.0
+2000,-5000.0,236.0
+2000,-4500.0,196.0
+2000,-4000.0,196.0
+2000,-3500.0,176.0
+2000,-3000.0,156.0
+2000,-2500.0,136.0
+2000,-2000.0,116.0
+2000,-1600.0,100.0
+2000,-1200.0,84.0
+2000,-900.0,72.0
+2000,-600.0,60.0
+2000,-400.0,52.0
+2000,-200.0,44.0
+2000,0.0,44.0
+2000,200.0,44.0
+2000,400.0,52.0
+2000,600.0,60.0
+2000,900.0,72.0
+2000,1200.0,84.0
+2000,1600.0,100.0
+2000,2000.0,116.0
+2000,2500.0,136.0
+2000,3000.0,156.0
+2000,3500.0,176.0
+2000,4000.0,196.0
+2000,4500.0,216.0
+2000,5000.0,236.0
+2000,5500.0,256.0
+2500,-5500.0,262.0
+2500,-5000.0,242.0
+2500,-4500.0,202.0
+2500,-4000.0,202.0
+2500,-3500.0,182.0
+2500,-3000.0,162.0
+2500,-2500.0,142.0
+2500,-2000.0,122.0
+2500,-1600.0,106.0
+2500,-1200.0,90.0
+2500,-900.0,78.0
+2500,-600.0,66.0
+2500,-400.0,58.0
+2500,-200.0,50.0
+2500,0.0,50.0
+2500,200.0,50.0
+2500,400.0,58.0
+2500,600.0,66.0
+2500,900.0,78.0
+2500,1200.0,90.0
+2500,1600.0,106.0
+2500,2000.0,122.0
+2500,2500.0,142.0
+2500,3000.0,162.0
+2500,3500.0,182.0
+2500,4000.0,202.0
+2500,4500.0,222.0
+2500,5000.0,242.0
+2500,5500.0,262.0
+3000,-5500.0,268.0
+3000,-5000.0,248.0
+3000,-4500.0,208.0
+3000,-4000.0,208.0
+3000,-3500.0,188.0
+3000,-3000.0,168.0
+3000,-2500.0,148.0
+3000,-2000.0,128.0
+3000,-1600.0,112.0
+3000,-1200.0,96.0
+3000,-900.0,84.0
+3000,-600.0,72.0
+3000,-400.0,64.0
+3000,-200.0,56.0
+3000,0.0,56.0
+3000,200.0,56.0
+3000,400.0,64.0
+3000,600.0,72.0
+3000,900.0,84.0
+3000,1200.0,96.0
+3000,1600.0,112.0
+3000,2000.0,128.0
+3000,2500.0,148.0
+3000,3000.0,168.0
+3000,3500.0,188.0
+3000,4000.0,208.0
+3000,4500.0,228.0
+3000,5000.0,248.0
+3000,5500.0,268.0
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Gear_11.vtlm b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Gear_11.vtlm
new file mode 100644
index 0000000000..ea00afe57c
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Gear_11.vtlm
@@ -0,0 +1,233 @@
+Input Speed [rpm],Input Torque [Nm],Torque Loss [Nm]
+0,-5500.0,239.2
+0,-5000.0,219.2
+0,-4500.0,179.2
+0,-4000.0,179.2
+0,-3500.0,159.2
+0,-3000.0,139.2
+0,-2500.0,119.2
+0,-2000.0,99.2
+0,-1600.0,83.2
+0,-1200.0,67.2
+0,-900.0,55.2
+0,-600.0,43.2
+0,-400.0,35.2
+0,-200.0,27.2
+0,0.0,27.2
+0,200.0,27.2
+0,400.0,35.2
+0,600.0,43.2
+0,900.0,55.2
+0,1200.0,67.2
+0,1600.0,83.2
+0,2000.0,99.2
+0,2500.0,119.2
+0,3000.0,139.2
+0,3500.0,159.2
+0,4000.0,179.2
+0,4500.0,199.2
+0,5000.0,219.2
+0,5500.0,239.2
+600,-5500.0,239.2
+600,-5000.0,219.2
+600,-4500.0,179.2
+600,-4000.0,179.2
+600,-3500.0,159.2
+600,-3000.0,139.2
+600,-2500.0,119.2
+600,-2000.0,99.2
+600,-1600.0,83.2
+600,-1200.0,67.2
+600,-900.0,55.2
+600,-600.0,43.2
+600,-400.0,35.2
+600,-200.0,27.2
+600,0.0,27.2
+600,200.0,27.2
+600,400.0,35.2
+600,600.0,43.2
+600,900.0,55.2
+600,1200.0,67.2
+600,1600.0,83.2
+600,2000.0,99.2
+600,2500.0,119.2
+600,3000.0,139.2
+600,3500.0,159.2
+600,4000.0,179.2
+600,4500.0,199.2
+600,5000.0,219.2
+600,5500.0,239.2
+900,-5500.0,242.8
+900,-5000.0,222.8
+900,-4500.0,182.8
+900,-4000.0,182.8
+900,-3500.0,162.8
+900,-3000.0,142.8
+900,-2500.0,122.8
+900,-2000.0,102.8
+900,-1600.0,86.8
+900,-1200.0,70.8
+900,-900.0,58.8
+900,-600.0,46.8
+900,-400.0,38.8
+900,-200.0,30.8
+900,0.0,30.8
+900,200.0,30.8
+900,400.0,38.8
+900,600.0,46.8
+900,900.0,58.8
+900,1200.0,70.8
+900,1600.0,86.8
+900,2000.0,102.8
+900,2500.0,122.8
+900,3000.0,142.8
+900,3500.0,162.8
+900,4000.0,182.8
+900,4500.0,202.8
+900,5000.0,222.8
+900,5500.0,242.8
+1200,-5500.0,246.4
+1200,-5000.0,226.4
+1200,-4500.0,186.4
+1200,-4000.0,186.4
+1200,-3500.0,166.4
+1200,-3000.0,146.4
+1200,-2500.0,126.4
+1200,-2000.0,106.4
+1200,-1600.0,90.4
+1200,-1200.0,74.4
+1200,-900.0,62.4
+1200,-600.0,50.4
+1200,-400.0,42.4
+1200,-200.0,34.4
+1200,0.0,34.4
+1200,200.0,34.4
+1200,400.0,42.4
+1200,600.0,50.4
+1200,900.0,62.4
+1200,1200.0,74.4
+1200,1600.0,90.4
+1200,2000.0,106.4
+1200,2500.0,126.4
+1200,3000.0,146.4
+1200,3500.0,166.4
+1200,4000.0,186.4
+1200,4500.0,206.4
+1200,5000.0,226.4
+1200,5500.0,246.4
+1600,-5500.0,251.2
+1600,-5000.0,231.2
+1600,-4500.0,191.2
+1600,-4000.0,191.2
+1600,-3500.0,171.2
+1600,-3000.0,151.2
+1600,-2500.0,131.2
+1600,-2000.0,111.2
+1600,-1600.0,95.2
+1600,-1200.0,79.2
+1600,-900.0,67.2
+1600,-600.0,55.2
+1600,-400.0,47.2
+1600,-200.0,39.2
+1600,0.0,39.2
+1600,200.0,39.2
+1600,400.0,47.2
+1600,600.0,55.2
+1600,900.0,67.2
+1600,1200.0,79.2
+1600,1600.0,95.2
+1600,2000.0,111.2
+1600,2500.0,131.2
+1600,3000.0,151.2
+1600,3500.0,171.2
+1600,4000.0,191.2
+1600,4500.0,211.2
+1600,5000.0,231.2
+1600,5500.0,251.2
+2000,-5500.0,256.0
+2000,-5000.0,236.0
+2000,-4500.0,196.0
+2000,-4000.0,196.0
+2000,-3500.0,176.0
+2000,-3000.0,156.0
+2000,-2500.0,136.0
+2000,-2000.0,116.0
+2000,-1600.0,100.0
+2000,-1200.0,84.0
+2000,-900.0,72.0
+2000,-600.0,60.0
+2000,-400.0,52.0
+2000,-200.0,44.0
+2000,0.0,44.0
+2000,200.0,44.0
+2000,400.0,52.0
+2000,600.0,60.0
+2000,900.0,72.0
+2000,1200.0,84.0
+2000,1600.0,100.0
+2000,2000.0,116.0
+2000,2500.0,136.0
+2000,3000.0,156.0
+2000,3500.0,176.0
+2000,4000.0,196.0
+2000,4500.0,216.0
+2000,5000.0,236.0
+2000,5500.0,256.0
+2500,-5500.0,262.0
+2500,-5000.0,242.0
+2500,-4500.0,202.0
+2500,-4000.0,202.0
+2500,-3500.0,182.0
+2500,-3000.0,162.0
+2500,-2500.0,142.0
+2500,-2000.0,122.0
+2500,-1600.0,106.0
+2500,-1200.0,90.0
+2500,-900.0,78.0
+2500,-600.0,66.0
+2500,-400.0,58.0
+2500,-200.0,50.0
+2500,0.0,50.0
+2500,200.0,50.0
+2500,400.0,58.0
+2500,600.0,66.0
+2500,900.0,78.0
+2500,1200.0,90.0
+2500,1600.0,106.0
+2500,2000.0,122.0
+2500,2500.0,142.0
+2500,3000.0,162.0
+2500,3500.0,182.0
+2500,4000.0,202.0
+2500,4500.0,222.0
+2500,5000.0,242.0
+2500,5500.0,262.0
+3000,-5500.0,268.0
+3000,-5000.0,248.0
+3000,-4500.0,208.0
+3000,-4000.0,208.0
+3000,-3500.0,188.0
+3000,-3000.0,168.0
+3000,-2500.0,148.0
+3000,-2000.0,128.0
+3000,-1600.0,112.0
+3000,-1200.0,96.0
+3000,-900.0,84.0
+3000,-600.0,72.0
+3000,-400.0,64.0
+3000,-200.0,56.0
+3000,0.0,56.0
+3000,200.0,56.0
+3000,400.0,64.0
+3000,600.0,72.0
+3000,900.0,84.0
+3000,1200.0,96.0
+3000,1600.0,112.0
+3000,2000.0,128.0
+3000,2500.0,148.0
+3000,3000.0,168.0
+3000,3500.0,188.0
+3000,4000.0,208.0
+3000,4500.0,228.0
+3000,5000.0,248.0
+3000,5500.0,268.0
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Gear_12.vtlm b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Gear_12.vtlm
new file mode 100644
index 0000000000..d30c0dbb04
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Gear_12.vtlm
@@ -0,0 +1,233 @@
+Input Speed [rpm],Input Torque [Nm],Torque Loss [Nm]
+0,-5500.0,74.2
+0,-5000.0,69.2
+0,-4500.0,59.2
+0,-4000.0,59.2
+0,-3500.0,54.2
+0,-3000.0,49.2
+0,-2500.0,44.2
+0,-2000.0,39.2
+0,-1600.0,35.2
+0,-1200.0,31.2
+0,-900.0,28.2
+0,-600.0,25.2
+0,-400.0,23.2
+0,-200.0,21.2
+0,0.0,21.2
+0,200.0,21.2
+0,400.0,23.2
+0,600.0,25.2
+0,900.0,28.2
+0,1200.0,31.2
+0,1600.0,35.2
+0,2000.0,39.2
+0,2500.0,44.2
+0,3000.0,49.2
+0,3500.0,54.2
+0,4000.0,59.2
+0,4500.0,64.2
+0,5000.0,69.2
+0,5500.0,74.2
+600,-5500.0,74.2
+600,-5000.0,69.2
+600,-4500.0,59.2
+600,-4000.0,59.2
+600,-3500.0,54.2
+600,-3000.0,49.2
+600,-2500.0,44.2
+600,-2000.0,39.2
+600,-1600.0,35.2
+600,-1200.0,31.2
+600,-900.0,28.2
+600,-600.0,25.2
+600,-400.0,23.2
+600,-200.0,21.2
+600,0.0,21.2
+600,200.0,21.2
+600,400.0,23.2
+600,600.0,25.2
+600,900.0,28.2
+600,1200.0,31.2
+600,1600.0,35.2
+600,2000.0,39.2
+600,2500.0,44.2
+600,3000.0,49.2
+600,3500.0,54.2
+600,4000.0,59.2
+600,4500.0,64.2
+600,5000.0,69.2
+600,5500.0,74.2
+900,-5500.0,77.8
+900,-5000.0,72.8
+900,-4500.0,62.8
+900,-4000.0,62.8
+900,-3500.0,57.8
+900,-3000.0,52.8
+900,-2500.0,47.8
+900,-2000.0,42.8
+900,-1600.0,38.8
+900,-1200.0,34.8
+900,-900.0,31.8
+900,-600.0,28.8
+900,-400.0,26.8
+900,-200.0,24.8
+900,0.0,24.8
+900,200.0,24.8
+900,400.0,26.8
+900,600.0,28.8
+900,900.0,31.8
+900,1200.0,34.8
+900,1600.0,38.8
+900,2000.0,42.8
+900,2500.0,47.8
+900,3000.0,52.8
+900,3500.0,57.8
+900,4000.0,62.8
+900,4500.0,67.8
+900,5000.0,72.8
+900,5500.0,77.8
+1200,-5500.0,81.4
+1200,-5000.0,76.4
+1200,-4500.0,66.4
+1200,-4000.0,66.4
+1200,-3500.0,61.4
+1200,-3000.0,56.4
+1200,-2500.0,51.4
+1200,-2000.0,46.4
+1200,-1600.0,42.4
+1200,-1200.0,38.4
+1200,-900.0,35.4
+1200,-600.0,32.4
+1200,-400.0,30.4
+1200,-200.0,28.4
+1200,0.0,28.4
+1200,200.0,28.4
+1200,400.0,30.4
+1200,600.0,32.4
+1200,900.0,35.4
+1200,1200.0,38.4
+1200,1600.0,42.4
+1200,2000.0,46.4
+1200,2500.0,51.4
+1200,3000.0,56.4
+1200,3500.0,61.4
+1200,4000.0,66.4
+1200,4500.0,71.4
+1200,5000.0,76.4
+1200,5500.0,81.4
+1600,-5500.0,86.2
+1600,-5000.0,81.2
+1600,-4500.0,71.2
+1600,-4000.0,71.2
+1600,-3500.0,66.2
+1600,-3000.0,61.2
+1600,-2500.0,56.2
+1600,-2000.0,51.2
+1600,-1600.0,47.2
+1600,-1200.0,43.2
+1600,-900.0,40.2
+1600,-600.0,37.2
+1600,-400.0,35.2
+1600,-200.0,33.2
+1600,0.0,33.2
+1600,200.0,33.2
+1600,400.0,35.2
+1600,600.0,37.2
+1600,900.0,40.2
+1600,1200.0,43.2
+1600,1600.0,47.2
+1600,2000.0,51.2
+1600,2500.0,56.2
+1600,3000.0,61.2
+1600,3500.0,66.2
+1600,4000.0,71.2
+1600,4500.0,76.2
+1600,5000.0,81.2
+1600,5500.0,86.2
+2000,-5500.0,91.0
+2000,-5000.0,86.0
+2000,-4500.0,76.0
+2000,-4000.0,76.0
+2000,-3500.0,71.0
+2000,-3000.0,66.0
+2000,-2500.0,61.0
+2000,-2000.0,56.0
+2000,-1600.0,52.0
+2000,-1200.0,48.0
+2000,-900.0,45.0
+2000,-600.0,42.0
+2000,-400.0,40.0
+2000,-200.0,38.0
+2000,0.0,38.0
+2000,200.0,38.0
+2000,400.0,40.0
+2000,600.0,42.0
+2000,900.0,45.0
+2000,1200.0,48.0
+2000,1600.0,52.0
+2000,2000.0,56.0
+2000,2500.0,61.0
+2000,3000.0,66.0
+2000,3500.0,71.0
+2000,4000.0,76.0
+2000,4500.0,81.0
+2000,5000.0,86.0
+2000,5500.0,91.0
+2500,-5500.0,97.0
+2500,-5000.0,92.0
+2500,-4500.0,82.0
+2500,-4000.0,82.0
+2500,-3500.0,77.0
+2500,-3000.0,72.0
+2500,-2500.0,67.0
+2500,-2000.0,62.0
+2500,-1600.0,58.0
+2500,-1200.0,54.0
+2500,-900.0,51.0
+2500,-600.0,48.0
+2500,-400.0,46.0
+2500,-200.0,44.0
+2500,0.0,44.0
+2500,200.0,44.0
+2500,400.0,46.0
+2500,600.0,48.0
+2500,900.0,51.0
+2500,1200.0,54.0
+2500,1600.0,58.0
+2500,2000.0,62.0
+2500,2500.0,67.0
+2500,3000.0,72.0
+2500,3500.0,77.0
+2500,4000.0,82.0
+2500,4500.0,87.0
+2500,5000.0,92.0
+2500,5500.0,97.0
+3000,-5500.0,103.0
+3000,-5000.0,98.0
+3000,-4500.0,88.0
+3000,-4000.0,88.0
+3000,-3500.0,83.0
+3000,-3000.0,78.0
+3000,-2500.0,73.0
+3000,-2000.0,68.0
+3000,-1600.0,64.0
+3000,-1200.0,60.0
+3000,-900.0,57.0
+3000,-600.0,54.0
+3000,-400.0,52.0
+3000,-200.0,50.0
+3000,0.0,50.0
+3000,200.0,50.0
+3000,400.0,52.0
+3000,600.0,54.0
+3000,900.0,57.0
+3000,1200.0,60.0
+3000,1600.0,64.0
+3000,2000.0,68.0
+3000,2500.0,73.0
+3000,3000.0,78.0
+3000,3500.0,83.0
+3000,4000.0,88.0
+3000,4500.0,93.0
+3000,5000.0,98.0
+3000,5500.0,103.0
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Gear_2.vtlm b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Gear_2.vtlm
new file mode 100644
index 0000000000..ea00afe57c
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Gear_2.vtlm
@@ -0,0 +1,233 @@
+Input Speed [rpm],Input Torque [Nm],Torque Loss [Nm]
+0,-5500.0,239.2
+0,-5000.0,219.2
+0,-4500.0,179.2
+0,-4000.0,179.2
+0,-3500.0,159.2
+0,-3000.0,139.2
+0,-2500.0,119.2
+0,-2000.0,99.2
+0,-1600.0,83.2
+0,-1200.0,67.2
+0,-900.0,55.2
+0,-600.0,43.2
+0,-400.0,35.2
+0,-200.0,27.2
+0,0.0,27.2
+0,200.0,27.2
+0,400.0,35.2
+0,600.0,43.2
+0,900.0,55.2
+0,1200.0,67.2
+0,1600.0,83.2
+0,2000.0,99.2
+0,2500.0,119.2
+0,3000.0,139.2
+0,3500.0,159.2
+0,4000.0,179.2
+0,4500.0,199.2
+0,5000.0,219.2
+0,5500.0,239.2
+600,-5500.0,239.2
+600,-5000.0,219.2
+600,-4500.0,179.2
+600,-4000.0,179.2
+600,-3500.0,159.2
+600,-3000.0,139.2
+600,-2500.0,119.2
+600,-2000.0,99.2
+600,-1600.0,83.2
+600,-1200.0,67.2
+600,-900.0,55.2
+600,-600.0,43.2
+600,-400.0,35.2
+600,-200.0,27.2
+600,0.0,27.2
+600,200.0,27.2
+600,400.0,35.2
+600,600.0,43.2
+600,900.0,55.2
+600,1200.0,67.2
+600,1600.0,83.2
+600,2000.0,99.2
+600,2500.0,119.2
+600,3000.0,139.2
+600,3500.0,159.2
+600,4000.0,179.2
+600,4500.0,199.2
+600,5000.0,219.2
+600,5500.0,239.2
+900,-5500.0,242.8
+900,-5000.0,222.8
+900,-4500.0,182.8
+900,-4000.0,182.8
+900,-3500.0,162.8
+900,-3000.0,142.8
+900,-2500.0,122.8
+900,-2000.0,102.8
+900,-1600.0,86.8
+900,-1200.0,70.8
+900,-900.0,58.8
+900,-600.0,46.8
+900,-400.0,38.8
+900,-200.0,30.8
+900,0.0,30.8
+900,200.0,30.8
+900,400.0,38.8
+900,600.0,46.8
+900,900.0,58.8
+900,1200.0,70.8
+900,1600.0,86.8
+900,2000.0,102.8
+900,2500.0,122.8
+900,3000.0,142.8
+900,3500.0,162.8
+900,4000.0,182.8
+900,4500.0,202.8
+900,5000.0,222.8
+900,5500.0,242.8
+1200,-5500.0,246.4
+1200,-5000.0,226.4
+1200,-4500.0,186.4
+1200,-4000.0,186.4
+1200,-3500.0,166.4
+1200,-3000.0,146.4
+1200,-2500.0,126.4
+1200,-2000.0,106.4
+1200,-1600.0,90.4
+1200,-1200.0,74.4
+1200,-900.0,62.4
+1200,-600.0,50.4
+1200,-400.0,42.4
+1200,-200.0,34.4
+1200,0.0,34.4
+1200,200.0,34.4
+1200,400.0,42.4
+1200,600.0,50.4
+1200,900.0,62.4
+1200,1200.0,74.4
+1200,1600.0,90.4
+1200,2000.0,106.4
+1200,2500.0,126.4
+1200,3000.0,146.4
+1200,3500.0,166.4
+1200,4000.0,186.4
+1200,4500.0,206.4
+1200,5000.0,226.4
+1200,5500.0,246.4
+1600,-5500.0,251.2
+1600,-5000.0,231.2
+1600,-4500.0,191.2
+1600,-4000.0,191.2
+1600,-3500.0,171.2
+1600,-3000.0,151.2
+1600,-2500.0,131.2
+1600,-2000.0,111.2
+1600,-1600.0,95.2
+1600,-1200.0,79.2
+1600,-900.0,67.2
+1600,-600.0,55.2
+1600,-400.0,47.2
+1600,-200.0,39.2
+1600,0.0,39.2
+1600,200.0,39.2
+1600,400.0,47.2
+1600,600.0,55.2
+1600,900.0,67.2
+1600,1200.0,79.2
+1600,1600.0,95.2
+1600,2000.0,111.2
+1600,2500.0,131.2
+1600,3000.0,151.2
+1600,3500.0,171.2
+1600,4000.0,191.2
+1600,4500.0,211.2
+1600,5000.0,231.2
+1600,5500.0,251.2
+2000,-5500.0,256.0
+2000,-5000.0,236.0
+2000,-4500.0,196.0
+2000,-4000.0,196.0
+2000,-3500.0,176.0
+2000,-3000.0,156.0
+2000,-2500.0,136.0
+2000,-2000.0,116.0
+2000,-1600.0,100.0
+2000,-1200.0,84.0
+2000,-900.0,72.0
+2000,-600.0,60.0
+2000,-400.0,52.0
+2000,-200.0,44.0
+2000,0.0,44.0
+2000,200.0,44.0
+2000,400.0,52.0
+2000,600.0,60.0
+2000,900.0,72.0
+2000,1200.0,84.0
+2000,1600.0,100.0
+2000,2000.0,116.0
+2000,2500.0,136.0
+2000,3000.0,156.0
+2000,3500.0,176.0
+2000,4000.0,196.0
+2000,4500.0,216.0
+2000,5000.0,236.0
+2000,5500.0,256.0
+2500,-5500.0,262.0
+2500,-5000.0,242.0
+2500,-4500.0,202.0
+2500,-4000.0,202.0
+2500,-3500.0,182.0
+2500,-3000.0,162.0
+2500,-2500.0,142.0
+2500,-2000.0,122.0
+2500,-1600.0,106.0
+2500,-1200.0,90.0
+2500,-900.0,78.0
+2500,-600.0,66.0
+2500,-400.0,58.0
+2500,-200.0,50.0
+2500,0.0,50.0
+2500,200.0,50.0
+2500,400.0,58.0
+2500,600.0,66.0
+2500,900.0,78.0
+2500,1200.0,90.0
+2500,1600.0,106.0
+2500,2000.0,122.0
+2500,2500.0,142.0
+2500,3000.0,162.0
+2500,3500.0,182.0
+2500,4000.0,202.0
+2500,4500.0,222.0
+2500,5000.0,242.0
+2500,5500.0,262.0
+3000,-5500.0,268.0
+3000,-5000.0,248.0
+3000,-4500.0,208.0
+3000,-4000.0,208.0
+3000,-3500.0,188.0
+3000,-3000.0,168.0
+3000,-2500.0,148.0
+3000,-2000.0,128.0
+3000,-1600.0,112.0
+3000,-1200.0,96.0
+3000,-900.0,84.0
+3000,-600.0,72.0
+3000,-400.0,64.0
+3000,-200.0,56.0
+3000,0.0,56.0
+3000,200.0,56.0
+3000,400.0,64.0
+3000,600.0,72.0
+3000,900.0,84.0
+3000,1200.0,96.0
+3000,1600.0,112.0
+3000,2000.0,128.0
+3000,2500.0,148.0
+3000,3000.0,168.0
+3000,3500.0,188.0
+3000,4000.0,208.0
+3000,4500.0,228.0
+3000,5000.0,248.0
+3000,5500.0,268.0
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Gear_3.vtlm b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Gear_3.vtlm
new file mode 100644
index 0000000000..ea00afe57c
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Gear_3.vtlm
@@ -0,0 +1,233 @@
+Input Speed [rpm],Input Torque [Nm],Torque Loss [Nm]
+0,-5500.0,239.2
+0,-5000.0,219.2
+0,-4500.0,179.2
+0,-4000.0,179.2
+0,-3500.0,159.2
+0,-3000.0,139.2
+0,-2500.0,119.2
+0,-2000.0,99.2
+0,-1600.0,83.2
+0,-1200.0,67.2
+0,-900.0,55.2
+0,-600.0,43.2
+0,-400.0,35.2
+0,-200.0,27.2
+0,0.0,27.2
+0,200.0,27.2
+0,400.0,35.2
+0,600.0,43.2
+0,900.0,55.2
+0,1200.0,67.2
+0,1600.0,83.2
+0,2000.0,99.2
+0,2500.0,119.2
+0,3000.0,139.2
+0,3500.0,159.2
+0,4000.0,179.2
+0,4500.0,199.2
+0,5000.0,219.2
+0,5500.0,239.2
+600,-5500.0,239.2
+600,-5000.0,219.2
+600,-4500.0,179.2
+600,-4000.0,179.2
+600,-3500.0,159.2
+600,-3000.0,139.2
+600,-2500.0,119.2
+600,-2000.0,99.2
+600,-1600.0,83.2
+600,-1200.0,67.2
+600,-900.0,55.2
+600,-600.0,43.2
+600,-400.0,35.2
+600,-200.0,27.2
+600,0.0,27.2
+600,200.0,27.2
+600,400.0,35.2
+600,600.0,43.2
+600,900.0,55.2
+600,1200.0,67.2
+600,1600.0,83.2
+600,2000.0,99.2
+600,2500.0,119.2
+600,3000.0,139.2
+600,3500.0,159.2
+600,4000.0,179.2
+600,4500.0,199.2
+600,5000.0,219.2
+600,5500.0,239.2
+900,-5500.0,242.8
+900,-5000.0,222.8
+900,-4500.0,182.8
+900,-4000.0,182.8
+900,-3500.0,162.8
+900,-3000.0,142.8
+900,-2500.0,122.8
+900,-2000.0,102.8
+900,-1600.0,86.8
+900,-1200.0,70.8
+900,-900.0,58.8
+900,-600.0,46.8
+900,-400.0,38.8
+900,-200.0,30.8
+900,0.0,30.8
+900,200.0,30.8
+900,400.0,38.8
+900,600.0,46.8
+900,900.0,58.8
+900,1200.0,70.8
+900,1600.0,86.8
+900,2000.0,102.8
+900,2500.0,122.8
+900,3000.0,142.8
+900,3500.0,162.8
+900,4000.0,182.8
+900,4500.0,202.8
+900,5000.0,222.8
+900,5500.0,242.8
+1200,-5500.0,246.4
+1200,-5000.0,226.4
+1200,-4500.0,186.4
+1200,-4000.0,186.4
+1200,-3500.0,166.4
+1200,-3000.0,146.4
+1200,-2500.0,126.4
+1200,-2000.0,106.4
+1200,-1600.0,90.4
+1200,-1200.0,74.4
+1200,-900.0,62.4
+1200,-600.0,50.4
+1200,-400.0,42.4
+1200,-200.0,34.4
+1200,0.0,34.4
+1200,200.0,34.4
+1200,400.0,42.4
+1200,600.0,50.4
+1200,900.0,62.4
+1200,1200.0,74.4
+1200,1600.0,90.4
+1200,2000.0,106.4
+1200,2500.0,126.4
+1200,3000.0,146.4
+1200,3500.0,166.4
+1200,4000.0,186.4
+1200,4500.0,206.4
+1200,5000.0,226.4
+1200,5500.0,246.4
+1600,-5500.0,251.2
+1600,-5000.0,231.2
+1600,-4500.0,191.2
+1600,-4000.0,191.2
+1600,-3500.0,171.2
+1600,-3000.0,151.2
+1600,-2500.0,131.2
+1600,-2000.0,111.2
+1600,-1600.0,95.2
+1600,-1200.0,79.2
+1600,-900.0,67.2
+1600,-600.0,55.2
+1600,-400.0,47.2
+1600,-200.0,39.2
+1600,0.0,39.2
+1600,200.0,39.2
+1600,400.0,47.2
+1600,600.0,55.2
+1600,900.0,67.2
+1600,1200.0,79.2
+1600,1600.0,95.2
+1600,2000.0,111.2
+1600,2500.0,131.2
+1600,3000.0,151.2
+1600,3500.0,171.2
+1600,4000.0,191.2
+1600,4500.0,211.2
+1600,5000.0,231.2
+1600,5500.0,251.2
+2000,-5500.0,256.0
+2000,-5000.0,236.0
+2000,-4500.0,196.0
+2000,-4000.0,196.0
+2000,-3500.0,176.0
+2000,-3000.0,156.0
+2000,-2500.0,136.0
+2000,-2000.0,116.0
+2000,-1600.0,100.0
+2000,-1200.0,84.0
+2000,-900.0,72.0
+2000,-600.0,60.0
+2000,-400.0,52.0
+2000,-200.0,44.0
+2000,0.0,44.0
+2000,200.0,44.0
+2000,400.0,52.0
+2000,600.0,60.0
+2000,900.0,72.0
+2000,1200.0,84.0
+2000,1600.0,100.0
+2000,2000.0,116.0
+2000,2500.0,136.0
+2000,3000.0,156.0
+2000,3500.0,176.0
+2000,4000.0,196.0
+2000,4500.0,216.0
+2000,5000.0,236.0
+2000,5500.0,256.0
+2500,-5500.0,262.0
+2500,-5000.0,242.0
+2500,-4500.0,202.0
+2500,-4000.0,202.0
+2500,-3500.0,182.0
+2500,-3000.0,162.0
+2500,-2500.0,142.0
+2500,-2000.0,122.0
+2500,-1600.0,106.0
+2500,-1200.0,90.0
+2500,-900.0,78.0
+2500,-600.0,66.0
+2500,-400.0,58.0
+2500,-200.0,50.0
+2500,0.0,50.0
+2500,200.0,50.0
+2500,400.0,58.0
+2500,600.0,66.0
+2500,900.0,78.0
+2500,1200.0,90.0
+2500,1600.0,106.0
+2500,2000.0,122.0
+2500,2500.0,142.0
+2500,3000.0,162.0
+2500,3500.0,182.0
+2500,4000.0,202.0
+2500,4500.0,222.0
+2500,5000.0,242.0
+2500,5500.0,262.0
+3000,-5500.0,268.0
+3000,-5000.0,248.0
+3000,-4500.0,208.0
+3000,-4000.0,208.0
+3000,-3500.0,188.0
+3000,-3000.0,168.0
+3000,-2500.0,148.0
+3000,-2000.0,128.0
+3000,-1600.0,112.0
+3000,-1200.0,96.0
+3000,-900.0,84.0
+3000,-600.0,72.0
+3000,-400.0,64.0
+3000,-200.0,56.0
+3000,0.0,56.0
+3000,200.0,56.0
+3000,400.0,64.0
+3000,600.0,72.0
+3000,900.0,84.0
+3000,1200.0,96.0
+3000,1600.0,112.0
+3000,2000.0,128.0
+3000,2500.0,148.0
+3000,3000.0,168.0
+3000,3500.0,188.0
+3000,4000.0,208.0
+3000,4500.0,228.0
+3000,5000.0,248.0
+3000,5500.0,268.0
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Gear_4.vtlm b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Gear_4.vtlm
new file mode 100644
index 0000000000..ea00afe57c
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Gear_4.vtlm
@@ -0,0 +1,233 @@
+Input Speed [rpm],Input Torque [Nm],Torque Loss [Nm]
+0,-5500.0,239.2
+0,-5000.0,219.2
+0,-4500.0,179.2
+0,-4000.0,179.2
+0,-3500.0,159.2
+0,-3000.0,139.2
+0,-2500.0,119.2
+0,-2000.0,99.2
+0,-1600.0,83.2
+0,-1200.0,67.2
+0,-900.0,55.2
+0,-600.0,43.2
+0,-400.0,35.2
+0,-200.0,27.2
+0,0.0,27.2
+0,200.0,27.2
+0,400.0,35.2
+0,600.0,43.2
+0,900.0,55.2
+0,1200.0,67.2
+0,1600.0,83.2
+0,2000.0,99.2
+0,2500.0,119.2
+0,3000.0,139.2
+0,3500.0,159.2
+0,4000.0,179.2
+0,4500.0,199.2
+0,5000.0,219.2
+0,5500.0,239.2
+600,-5500.0,239.2
+600,-5000.0,219.2
+600,-4500.0,179.2
+600,-4000.0,179.2
+600,-3500.0,159.2
+600,-3000.0,139.2
+600,-2500.0,119.2
+600,-2000.0,99.2
+600,-1600.0,83.2
+600,-1200.0,67.2
+600,-900.0,55.2
+600,-600.0,43.2
+600,-400.0,35.2
+600,-200.0,27.2
+600,0.0,27.2
+600,200.0,27.2
+600,400.0,35.2
+600,600.0,43.2
+600,900.0,55.2
+600,1200.0,67.2
+600,1600.0,83.2
+600,2000.0,99.2
+600,2500.0,119.2
+600,3000.0,139.2
+600,3500.0,159.2
+600,4000.0,179.2
+600,4500.0,199.2
+600,5000.0,219.2
+600,5500.0,239.2
+900,-5500.0,242.8
+900,-5000.0,222.8
+900,-4500.0,182.8
+900,-4000.0,182.8
+900,-3500.0,162.8
+900,-3000.0,142.8
+900,-2500.0,122.8
+900,-2000.0,102.8
+900,-1600.0,86.8
+900,-1200.0,70.8
+900,-900.0,58.8
+900,-600.0,46.8
+900,-400.0,38.8
+900,-200.0,30.8
+900,0.0,30.8
+900,200.0,30.8
+900,400.0,38.8
+900,600.0,46.8
+900,900.0,58.8
+900,1200.0,70.8
+900,1600.0,86.8
+900,2000.0,102.8
+900,2500.0,122.8
+900,3000.0,142.8
+900,3500.0,162.8
+900,4000.0,182.8
+900,4500.0,202.8
+900,5000.0,222.8
+900,5500.0,242.8
+1200,-5500.0,246.4
+1200,-5000.0,226.4
+1200,-4500.0,186.4
+1200,-4000.0,186.4
+1200,-3500.0,166.4
+1200,-3000.0,146.4
+1200,-2500.0,126.4
+1200,-2000.0,106.4
+1200,-1600.0,90.4
+1200,-1200.0,74.4
+1200,-900.0,62.4
+1200,-600.0,50.4
+1200,-400.0,42.4
+1200,-200.0,34.4
+1200,0.0,34.4
+1200,200.0,34.4
+1200,400.0,42.4
+1200,600.0,50.4
+1200,900.0,62.4
+1200,1200.0,74.4
+1200,1600.0,90.4
+1200,2000.0,106.4
+1200,2500.0,126.4
+1200,3000.0,146.4
+1200,3500.0,166.4
+1200,4000.0,186.4
+1200,4500.0,206.4
+1200,5000.0,226.4
+1200,5500.0,246.4
+1600,-5500.0,251.2
+1600,-5000.0,231.2
+1600,-4500.0,191.2
+1600,-4000.0,191.2
+1600,-3500.0,171.2
+1600,-3000.0,151.2
+1600,-2500.0,131.2
+1600,-2000.0,111.2
+1600,-1600.0,95.2
+1600,-1200.0,79.2
+1600,-900.0,67.2
+1600,-600.0,55.2
+1600,-400.0,47.2
+1600,-200.0,39.2
+1600,0.0,39.2
+1600,200.0,39.2
+1600,400.0,47.2
+1600,600.0,55.2
+1600,900.0,67.2
+1600,1200.0,79.2
+1600,1600.0,95.2
+1600,2000.0,111.2
+1600,2500.0,131.2
+1600,3000.0,151.2
+1600,3500.0,171.2
+1600,4000.0,191.2
+1600,4500.0,211.2
+1600,5000.0,231.2
+1600,5500.0,251.2
+2000,-5500.0,256.0
+2000,-5000.0,236.0
+2000,-4500.0,196.0
+2000,-4000.0,196.0
+2000,-3500.0,176.0
+2000,-3000.0,156.0
+2000,-2500.0,136.0
+2000,-2000.0,116.0
+2000,-1600.0,100.0
+2000,-1200.0,84.0
+2000,-900.0,72.0
+2000,-600.0,60.0
+2000,-400.0,52.0
+2000,-200.0,44.0
+2000,0.0,44.0
+2000,200.0,44.0
+2000,400.0,52.0
+2000,600.0,60.0
+2000,900.0,72.0
+2000,1200.0,84.0
+2000,1600.0,100.0
+2000,2000.0,116.0
+2000,2500.0,136.0
+2000,3000.0,156.0
+2000,3500.0,176.0
+2000,4000.0,196.0
+2000,4500.0,216.0
+2000,5000.0,236.0
+2000,5500.0,256.0
+2500,-5500.0,262.0
+2500,-5000.0,242.0
+2500,-4500.0,202.0
+2500,-4000.0,202.0
+2500,-3500.0,182.0
+2500,-3000.0,162.0
+2500,-2500.0,142.0
+2500,-2000.0,122.0
+2500,-1600.0,106.0
+2500,-1200.0,90.0
+2500,-900.0,78.0
+2500,-600.0,66.0
+2500,-400.0,58.0
+2500,-200.0,50.0
+2500,0.0,50.0
+2500,200.0,50.0
+2500,400.0,58.0
+2500,600.0,66.0
+2500,900.0,78.0
+2500,1200.0,90.0
+2500,1600.0,106.0
+2500,2000.0,122.0
+2500,2500.0,142.0
+2500,3000.0,162.0
+2500,3500.0,182.0
+2500,4000.0,202.0
+2500,4500.0,222.0
+2500,5000.0,242.0
+2500,5500.0,262.0
+3000,-5500.0,268.0
+3000,-5000.0,248.0
+3000,-4500.0,208.0
+3000,-4000.0,208.0
+3000,-3500.0,188.0
+3000,-3000.0,168.0
+3000,-2500.0,148.0
+3000,-2000.0,128.0
+3000,-1600.0,112.0
+3000,-1200.0,96.0
+3000,-900.0,84.0
+3000,-600.0,72.0
+3000,-400.0,64.0
+3000,-200.0,56.0
+3000,0.0,56.0
+3000,200.0,56.0
+3000,400.0,64.0
+3000,600.0,72.0
+3000,900.0,84.0
+3000,1200.0,96.0
+3000,1600.0,112.0
+3000,2000.0,128.0
+3000,2500.0,148.0
+3000,3000.0,168.0
+3000,3500.0,188.0
+3000,4000.0,208.0
+3000,4500.0,228.0
+3000,5000.0,248.0
+3000,5500.0,268.0
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Gear_5.vtlm b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Gear_5.vtlm
new file mode 100644
index 0000000000..ea00afe57c
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Gear_5.vtlm
@@ -0,0 +1,233 @@
+Input Speed [rpm],Input Torque [Nm],Torque Loss [Nm]
+0,-5500.0,239.2
+0,-5000.0,219.2
+0,-4500.0,179.2
+0,-4000.0,179.2
+0,-3500.0,159.2
+0,-3000.0,139.2
+0,-2500.0,119.2
+0,-2000.0,99.2
+0,-1600.0,83.2
+0,-1200.0,67.2
+0,-900.0,55.2
+0,-600.0,43.2
+0,-400.0,35.2
+0,-200.0,27.2
+0,0.0,27.2
+0,200.0,27.2
+0,400.0,35.2
+0,600.0,43.2
+0,900.0,55.2
+0,1200.0,67.2
+0,1600.0,83.2
+0,2000.0,99.2
+0,2500.0,119.2
+0,3000.0,139.2
+0,3500.0,159.2
+0,4000.0,179.2
+0,4500.0,199.2
+0,5000.0,219.2
+0,5500.0,239.2
+600,-5500.0,239.2
+600,-5000.0,219.2
+600,-4500.0,179.2
+600,-4000.0,179.2
+600,-3500.0,159.2
+600,-3000.0,139.2
+600,-2500.0,119.2
+600,-2000.0,99.2
+600,-1600.0,83.2
+600,-1200.0,67.2
+600,-900.0,55.2
+600,-600.0,43.2
+600,-400.0,35.2
+600,-200.0,27.2
+600,0.0,27.2
+600,200.0,27.2
+600,400.0,35.2
+600,600.0,43.2
+600,900.0,55.2
+600,1200.0,67.2
+600,1600.0,83.2
+600,2000.0,99.2
+600,2500.0,119.2
+600,3000.0,139.2
+600,3500.0,159.2
+600,4000.0,179.2
+600,4500.0,199.2
+600,5000.0,219.2
+600,5500.0,239.2
+900,-5500.0,242.8
+900,-5000.0,222.8
+900,-4500.0,182.8
+900,-4000.0,182.8
+900,-3500.0,162.8
+900,-3000.0,142.8
+900,-2500.0,122.8
+900,-2000.0,102.8
+900,-1600.0,86.8
+900,-1200.0,70.8
+900,-900.0,58.8
+900,-600.0,46.8
+900,-400.0,38.8
+900,-200.0,30.8
+900,0.0,30.8
+900,200.0,30.8
+900,400.0,38.8
+900,600.0,46.8
+900,900.0,58.8
+900,1200.0,70.8
+900,1600.0,86.8
+900,2000.0,102.8
+900,2500.0,122.8
+900,3000.0,142.8
+900,3500.0,162.8
+900,4000.0,182.8
+900,4500.0,202.8
+900,5000.0,222.8
+900,5500.0,242.8
+1200,-5500.0,246.4
+1200,-5000.0,226.4
+1200,-4500.0,186.4
+1200,-4000.0,186.4
+1200,-3500.0,166.4
+1200,-3000.0,146.4
+1200,-2500.0,126.4
+1200,-2000.0,106.4
+1200,-1600.0,90.4
+1200,-1200.0,74.4
+1200,-900.0,62.4
+1200,-600.0,50.4
+1200,-400.0,42.4
+1200,-200.0,34.4
+1200,0.0,34.4
+1200,200.0,34.4
+1200,400.0,42.4
+1200,600.0,50.4
+1200,900.0,62.4
+1200,1200.0,74.4
+1200,1600.0,90.4
+1200,2000.0,106.4
+1200,2500.0,126.4
+1200,3000.0,146.4
+1200,3500.0,166.4
+1200,4000.0,186.4
+1200,4500.0,206.4
+1200,5000.0,226.4
+1200,5500.0,246.4
+1600,-5500.0,251.2
+1600,-5000.0,231.2
+1600,-4500.0,191.2
+1600,-4000.0,191.2
+1600,-3500.0,171.2
+1600,-3000.0,151.2
+1600,-2500.0,131.2
+1600,-2000.0,111.2
+1600,-1600.0,95.2
+1600,-1200.0,79.2
+1600,-900.0,67.2
+1600,-600.0,55.2
+1600,-400.0,47.2
+1600,-200.0,39.2
+1600,0.0,39.2
+1600,200.0,39.2
+1600,400.0,47.2
+1600,600.0,55.2
+1600,900.0,67.2
+1600,1200.0,79.2
+1600,1600.0,95.2
+1600,2000.0,111.2
+1600,2500.0,131.2
+1600,3000.0,151.2
+1600,3500.0,171.2
+1600,4000.0,191.2
+1600,4500.0,211.2
+1600,5000.0,231.2
+1600,5500.0,251.2
+2000,-5500.0,256.0
+2000,-5000.0,236.0
+2000,-4500.0,196.0
+2000,-4000.0,196.0
+2000,-3500.0,176.0
+2000,-3000.0,156.0
+2000,-2500.0,136.0
+2000,-2000.0,116.0
+2000,-1600.0,100.0
+2000,-1200.0,84.0
+2000,-900.0,72.0
+2000,-600.0,60.0
+2000,-400.0,52.0
+2000,-200.0,44.0
+2000,0.0,44.0
+2000,200.0,44.0
+2000,400.0,52.0
+2000,600.0,60.0
+2000,900.0,72.0
+2000,1200.0,84.0
+2000,1600.0,100.0
+2000,2000.0,116.0
+2000,2500.0,136.0
+2000,3000.0,156.0
+2000,3500.0,176.0
+2000,4000.0,196.0
+2000,4500.0,216.0
+2000,5000.0,236.0
+2000,5500.0,256.0
+2500,-5500.0,262.0
+2500,-5000.0,242.0
+2500,-4500.0,202.0
+2500,-4000.0,202.0
+2500,-3500.0,182.0
+2500,-3000.0,162.0
+2500,-2500.0,142.0
+2500,-2000.0,122.0
+2500,-1600.0,106.0
+2500,-1200.0,90.0
+2500,-900.0,78.0
+2500,-600.0,66.0
+2500,-400.0,58.0
+2500,-200.0,50.0
+2500,0.0,50.0
+2500,200.0,50.0
+2500,400.0,58.0
+2500,600.0,66.0
+2500,900.0,78.0
+2500,1200.0,90.0
+2500,1600.0,106.0
+2500,2000.0,122.0
+2500,2500.0,142.0
+2500,3000.0,162.0
+2500,3500.0,182.0
+2500,4000.0,202.0
+2500,4500.0,222.0
+2500,5000.0,242.0
+2500,5500.0,262.0
+3000,-5500.0,268.0
+3000,-5000.0,248.0
+3000,-4500.0,208.0
+3000,-4000.0,208.0
+3000,-3500.0,188.0
+3000,-3000.0,168.0
+3000,-2500.0,148.0
+3000,-2000.0,128.0
+3000,-1600.0,112.0
+3000,-1200.0,96.0
+3000,-900.0,84.0
+3000,-600.0,72.0
+3000,-400.0,64.0
+3000,-200.0,56.0
+3000,0.0,56.0
+3000,200.0,56.0
+3000,400.0,64.0
+3000,600.0,72.0
+3000,900.0,84.0
+3000,1200.0,96.0
+3000,1600.0,112.0
+3000,2000.0,128.0
+3000,2500.0,148.0
+3000,3000.0,168.0
+3000,3500.0,188.0
+3000,4000.0,208.0
+3000,4500.0,228.0
+3000,5000.0,248.0
+3000,5500.0,268.0
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Gear_6.vtlm b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Gear_6.vtlm
new file mode 100644
index 0000000000..ea00afe57c
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Gear_6.vtlm
@@ -0,0 +1,233 @@
+Input Speed [rpm],Input Torque [Nm],Torque Loss [Nm]
+0,-5500.0,239.2
+0,-5000.0,219.2
+0,-4500.0,179.2
+0,-4000.0,179.2
+0,-3500.0,159.2
+0,-3000.0,139.2
+0,-2500.0,119.2
+0,-2000.0,99.2
+0,-1600.0,83.2
+0,-1200.0,67.2
+0,-900.0,55.2
+0,-600.0,43.2
+0,-400.0,35.2
+0,-200.0,27.2
+0,0.0,27.2
+0,200.0,27.2
+0,400.0,35.2
+0,600.0,43.2
+0,900.0,55.2
+0,1200.0,67.2
+0,1600.0,83.2
+0,2000.0,99.2
+0,2500.0,119.2
+0,3000.0,139.2
+0,3500.0,159.2
+0,4000.0,179.2
+0,4500.0,199.2
+0,5000.0,219.2
+0,5500.0,239.2
+600,-5500.0,239.2
+600,-5000.0,219.2
+600,-4500.0,179.2
+600,-4000.0,179.2
+600,-3500.0,159.2
+600,-3000.0,139.2
+600,-2500.0,119.2
+600,-2000.0,99.2
+600,-1600.0,83.2
+600,-1200.0,67.2
+600,-900.0,55.2
+600,-600.0,43.2
+600,-400.0,35.2
+600,-200.0,27.2
+600,0.0,27.2
+600,200.0,27.2
+600,400.0,35.2
+600,600.0,43.2
+600,900.0,55.2
+600,1200.0,67.2
+600,1600.0,83.2
+600,2000.0,99.2
+600,2500.0,119.2
+600,3000.0,139.2
+600,3500.0,159.2
+600,4000.0,179.2
+600,4500.0,199.2
+600,5000.0,219.2
+600,5500.0,239.2
+900,-5500.0,242.8
+900,-5000.0,222.8
+900,-4500.0,182.8
+900,-4000.0,182.8
+900,-3500.0,162.8
+900,-3000.0,142.8
+900,-2500.0,122.8
+900,-2000.0,102.8
+900,-1600.0,86.8
+900,-1200.0,70.8
+900,-900.0,58.8
+900,-600.0,46.8
+900,-400.0,38.8
+900,-200.0,30.8
+900,0.0,30.8
+900,200.0,30.8
+900,400.0,38.8
+900,600.0,46.8
+900,900.0,58.8
+900,1200.0,70.8
+900,1600.0,86.8
+900,2000.0,102.8
+900,2500.0,122.8
+900,3000.0,142.8
+900,3500.0,162.8
+900,4000.0,182.8
+900,4500.0,202.8
+900,5000.0,222.8
+900,5500.0,242.8
+1200,-5500.0,246.4
+1200,-5000.0,226.4
+1200,-4500.0,186.4
+1200,-4000.0,186.4
+1200,-3500.0,166.4
+1200,-3000.0,146.4
+1200,-2500.0,126.4
+1200,-2000.0,106.4
+1200,-1600.0,90.4
+1200,-1200.0,74.4
+1200,-900.0,62.4
+1200,-600.0,50.4
+1200,-400.0,42.4
+1200,-200.0,34.4
+1200,0.0,34.4
+1200,200.0,34.4
+1200,400.0,42.4
+1200,600.0,50.4
+1200,900.0,62.4
+1200,1200.0,74.4
+1200,1600.0,90.4
+1200,2000.0,106.4
+1200,2500.0,126.4
+1200,3000.0,146.4
+1200,3500.0,166.4
+1200,4000.0,186.4
+1200,4500.0,206.4
+1200,5000.0,226.4
+1200,5500.0,246.4
+1600,-5500.0,251.2
+1600,-5000.0,231.2
+1600,-4500.0,191.2
+1600,-4000.0,191.2
+1600,-3500.0,171.2
+1600,-3000.0,151.2
+1600,-2500.0,131.2
+1600,-2000.0,111.2
+1600,-1600.0,95.2
+1600,-1200.0,79.2
+1600,-900.0,67.2
+1600,-600.0,55.2
+1600,-400.0,47.2
+1600,-200.0,39.2
+1600,0.0,39.2
+1600,200.0,39.2
+1600,400.0,47.2
+1600,600.0,55.2
+1600,900.0,67.2
+1600,1200.0,79.2
+1600,1600.0,95.2
+1600,2000.0,111.2
+1600,2500.0,131.2
+1600,3000.0,151.2
+1600,3500.0,171.2
+1600,4000.0,191.2
+1600,4500.0,211.2
+1600,5000.0,231.2
+1600,5500.0,251.2
+2000,-5500.0,256.0
+2000,-5000.0,236.0
+2000,-4500.0,196.0
+2000,-4000.0,196.0
+2000,-3500.0,176.0
+2000,-3000.0,156.0
+2000,-2500.0,136.0
+2000,-2000.0,116.0
+2000,-1600.0,100.0
+2000,-1200.0,84.0
+2000,-900.0,72.0
+2000,-600.0,60.0
+2000,-400.0,52.0
+2000,-200.0,44.0
+2000,0.0,44.0
+2000,200.0,44.0
+2000,400.0,52.0
+2000,600.0,60.0
+2000,900.0,72.0
+2000,1200.0,84.0
+2000,1600.0,100.0
+2000,2000.0,116.0
+2000,2500.0,136.0
+2000,3000.0,156.0
+2000,3500.0,176.0
+2000,4000.0,196.0
+2000,4500.0,216.0
+2000,5000.0,236.0
+2000,5500.0,256.0
+2500,-5500.0,262.0
+2500,-5000.0,242.0
+2500,-4500.0,202.0
+2500,-4000.0,202.0
+2500,-3500.0,182.0
+2500,-3000.0,162.0
+2500,-2500.0,142.0
+2500,-2000.0,122.0
+2500,-1600.0,106.0
+2500,-1200.0,90.0
+2500,-900.0,78.0
+2500,-600.0,66.0
+2500,-400.0,58.0
+2500,-200.0,50.0
+2500,0.0,50.0
+2500,200.0,50.0
+2500,400.0,58.0
+2500,600.0,66.0
+2500,900.0,78.0
+2500,1200.0,90.0
+2500,1600.0,106.0
+2500,2000.0,122.0
+2500,2500.0,142.0
+2500,3000.0,162.0
+2500,3500.0,182.0
+2500,4000.0,202.0
+2500,4500.0,222.0
+2500,5000.0,242.0
+2500,5500.0,262.0
+3000,-5500.0,268.0
+3000,-5000.0,248.0
+3000,-4500.0,208.0
+3000,-4000.0,208.0
+3000,-3500.0,188.0
+3000,-3000.0,168.0
+3000,-2500.0,148.0
+3000,-2000.0,128.0
+3000,-1600.0,112.0
+3000,-1200.0,96.0
+3000,-900.0,84.0
+3000,-600.0,72.0
+3000,-400.0,64.0
+3000,-200.0,56.0
+3000,0.0,56.0
+3000,200.0,56.0
+3000,400.0,64.0
+3000,600.0,72.0
+3000,900.0,84.0
+3000,1200.0,96.0
+3000,1600.0,112.0
+3000,2000.0,128.0
+3000,2500.0,148.0
+3000,3000.0,168.0
+3000,3500.0,188.0
+3000,4000.0,208.0
+3000,4500.0,228.0
+3000,5000.0,248.0
+3000,5500.0,268.0
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Gear_7.vtlm b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Gear_7.vtlm
new file mode 100644
index 0000000000..ea00afe57c
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Gear_7.vtlm
@@ -0,0 +1,233 @@
+Input Speed [rpm],Input Torque [Nm],Torque Loss [Nm]
+0,-5500.0,239.2
+0,-5000.0,219.2
+0,-4500.0,179.2
+0,-4000.0,179.2
+0,-3500.0,159.2
+0,-3000.0,139.2
+0,-2500.0,119.2
+0,-2000.0,99.2
+0,-1600.0,83.2
+0,-1200.0,67.2
+0,-900.0,55.2
+0,-600.0,43.2
+0,-400.0,35.2
+0,-200.0,27.2
+0,0.0,27.2
+0,200.0,27.2
+0,400.0,35.2
+0,600.0,43.2
+0,900.0,55.2
+0,1200.0,67.2
+0,1600.0,83.2
+0,2000.0,99.2
+0,2500.0,119.2
+0,3000.0,139.2
+0,3500.0,159.2
+0,4000.0,179.2
+0,4500.0,199.2
+0,5000.0,219.2
+0,5500.0,239.2
+600,-5500.0,239.2
+600,-5000.0,219.2
+600,-4500.0,179.2
+600,-4000.0,179.2
+600,-3500.0,159.2
+600,-3000.0,139.2
+600,-2500.0,119.2
+600,-2000.0,99.2
+600,-1600.0,83.2
+600,-1200.0,67.2
+600,-900.0,55.2
+600,-600.0,43.2
+600,-400.0,35.2
+600,-200.0,27.2
+600,0.0,27.2
+600,200.0,27.2
+600,400.0,35.2
+600,600.0,43.2
+600,900.0,55.2
+600,1200.0,67.2
+600,1600.0,83.2
+600,2000.0,99.2
+600,2500.0,119.2
+600,3000.0,139.2
+600,3500.0,159.2
+600,4000.0,179.2
+600,4500.0,199.2
+600,5000.0,219.2
+600,5500.0,239.2
+900,-5500.0,242.8
+900,-5000.0,222.8
+900,-4500.0,182.8
+900,-4000.0,182.8
+900,-3500.0,162.8
+900,-3000.0,142.8
+900,-2500.0,122.8
+900,-2000.0,102.8
+900,-1600.0,86.8
+900,-1200.0,70.8
+900,-900.0,58.8
+900,-600.0,46.8
+900,-400.0,38.8
+900,-200.0,30.8
+900,0.0,30.8
+900,200.0,30.8
+900,400.0,38.8
+900,600.0,46.8
+900,900.0,58.8
+900,1200.0,70.8
+900,1600.0,86.8
+900,2000.0,102.8
+900,2500.0,122.8
+900,3000.0,142.8
+900,3500.0,162.8
+900,4000.0,182.8
+900,4500.0,202.8
+900,5000.0,222.8
+900,5500.0,242.8
+1200,-5500.0,246.4
+1200,-5000.0,226.4
+1200,-4500.0,186.4
+1200,-4000.0,186.4
+1200,-3500.0,166.4
+1200,-3000.0,146.4
+1200,-2500.0,126.4
+1200,-2000.0,106.4
+1200,-1600.0,90.4
+1200,-1200.0,74.4
+1200,-900.0,62.4
+1200,-600.0,50.4
+1200,-400.0,42.4
+1200,-200.0,34.4
+1200,0.0,34.4
+1200,200.0,34.4
+1200,400.0,42.4
+1200,600.0,50.4
+1200,900.0,62.4
+1200,1200.0,74.4
+1200,1600.0,90.4
+1200,2000.0,106.4
+1200,2500.0,126.4
+1200,3000.0,146.4
+1200,3500.0,166.4
+1200,4000.0,186.4
+1200,4500.0,206.4
+1200,5000.0,226.4
+1200,5500.0,246.4
+1600,-5500.0,251.2
+1600,-5000.0,231.2
+1600,-4500.0,191.2
+1600,-4000.0,191.2
+1600,-3500.0,171.2
+1600,-3000.0,151.2
+1600,-2500.0,131.2
+1600,-2000.0,111.2
+1600,-1600.0,95.2
+1600,-1200.0,79.2
+1600,-900.0,67.2
+1600,-600.0,55.2
+1600,-400.0,47.2
+1600,-200.0,39.2
+1600,0.0,39.2
+1600,200.0,39.2
+1600,400.0,47.2
+1600,600.0,55.2
+1600,900.0,67.2
+1600,1200.0,79.2
+1600,1600.0,95.2
+1600,2000.0,111.2
+1600,2500.0,131.2
+1600,3000.0,151.2
+1600,3500.0,171.2
+1600,4000.0,191.2
+1600,4500.0,211.2
+1600,5000.0,231.2
+1600,5500.0,251.2
+2000,-5500.0,256.0
+2000,-5000.0,236.0
+2000,-4500.0,196.0
+2000,-4000.0,196.0
+2000,-3500.0,176.0
+2000,-3000.0,156.0
+2000,-2500.0,136.0
+2000,-2000.0,116.0
+2000,-1600.0,100.0
+2000,-1200.0,84.0
+2000,-900.0,72.0
+2000,-600.0,60.0
+2000,-400.0,52.0
+2000,-200.0,44.0
+2000,0.0,44.0
+2000,200.0,44.0
+2000,400.0,52.0
+2000,600.0,60.0
+2000,900.0,72.0
+2000,1200.0,84.0
+2000,1600.0,100.0
+2000,2000.0,116.0
+2000,2500.0,136.0
+2000,3000.0,156.0
+2000,3500.0,176.0
+2000,4000.0,196.0
+2000,4500.0,216.0
+2000,5000.0,236.0
+2000,5500.0,256.0
+2500,-5500.0,262.0
+2500,-5000.0,242.0
+2500,-4500.0,202.0
+2500,-4000.0,202.0
+2500,-3500.0,182.0
+2500,-3000.0,162.0
+2500,-2500.0,142.0
+2500,-2000.0,122.0
+2500,-1600.0,106.0
+2500,-1200.0,90.0
+2500,-900.0,78.0
+2500,-600.0,66.0
+2500,-400.0,58.0
+2500,-200.0,50.0
+2500,0.0,50.0
+2500,200.0,50.0
+2500,400.0,58.0
+2500,600.0,66.0
+2500,900.0,78.0
+2500,1200.0,90.0
+2500,1600.0,106.0
+2500,2000.0,122.0
+2500,2500.0,142.0
+2500,3000.0,162.0
+2500,3500.0,182.0
+2500,4000.0,202.0
+2500,4500.0,222.0
+2500,5000.0,242.0
+2500,5500.0,262.0
+3000,-5500.0,268.0
+3000,-5000.0,248.0
+3000,-4500.0,208.0
+3000,-4000.0,208.0
+3000,-3500.0,188.0
+3000,-3000.0,168.0
+3000,-2500.0,148.0
+3000,-2000.0,128.0
+3000,-1600.0,112.0
+3000,-1200.0,96.0
+3000,-900.0,84.0
+3000,-600.0,72.0
+3000,-400.0,64.0
+3000,-200.0,56.0
+3000,0.0,56.0
+3000,200.0,56.0
+3000,400.0,64.0
+3000,600.0,72.0
+3000,900.0,84.0
+3000,1200.0,96.0
+3000,1600.0,112.0
+3000,2000.0,128.0
+3000,2500.0,148.0
+3000,3000.0,168.0
+3000,3500.0,188.0
+3000,4000.0,208.0
+3000,4500.0,228.0
+3000,5000.0,248.0
+3000,5500.0,268.0
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Gear_8.vtlm b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Gear_8.vtlm
new file mode 100644
index 0000000000..ea00afe57c
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Gear_8.vtlm
@@ -0,0 +1,233 @@
+Input Speed [rpm],Input Torque [Nm],Torque Loss [Nm]
+0,-5500.0,239.2
+0,-5000.0,219.2
+0,-4500.0,179.2
+0,-4000.0,179.2
+0,-3500.0,159.2
+0,-3000.0,139.2
+0,-2500.0,119.2
+0,-2000.0,99.2
+0,-1600.0,83.2
+0,-1200.0,67.2
+0,-900.0,55.2
+0,-600.0,43.2
+0,-400.0,35.2
+0,-200.0,27.2
+0,0.0,27.2
+0,200.0,27.2
+0,400.0,35.2
+0,600.0,43.2
+0,900.0,55.2
+0,1200.0,67.2
+0,1600.0,83.2
+0,2000.0,99.2
+0,2500.0,119.2
+0,3000.0,139.2
+0,3500.0,159.2
+0,4000.0,179.2
+0,4500.0,199.2
+0,5000.0,219.2
+0,5500.0,239.2
+600,-5500.0,239.2
+600,-5000.0,219.2
+600,-4500.0,179.2
+600,-4000.0,179.2
+600,-3500.0,159.2
+600,-3000.0,139.2
+600,-2500.0,119.2
+600,-2000.0,99.2
+600,-1600.0,83.2
+600,-1200.0,67.2
+600,-900.0,55.2
+600,-600.0,43.2
+600,-400.0,35.2
+600,-200.0,27.2
+600,0.0,27.2
+600,200.0,27.2
+600,400.0,35.2
+600,600.0,43.2
+600,900.0,55.2
+600,1200.0,67.2
+600,1600.0,83.2
+600,2000.0,99.2
+600,2500.0,119.2
+600,3000.0,139.2
+600,3500.0,159.2
+600,4000.0,179.2
+600,4500.0,199.2
+600,5000.0,219.2
+600,5500.0,239.2
+900,-5500.0,242.8
+900,-5000.0,222.8
+900,-4500.0,182.8
+900,-4000.0,182.8
+900,-3500.0,162.8
+900,-3000.0,142.8
+900,-2500.0,122.8
+900,-2000.0,102.8
+900,-1600.0,86.8
+900,-1200.0,70.8
+900,-900.0,58.8
+900,-600.0,46.8
+900,-400.0,38.8
+900,-200.0,30.8
+900,0.0,30.8
+900,200.0,30.8
+900,400.0,38.8
+900,600.0,46.8
+900,900.0,58.8
+900,1200.0,70.8
+900,1600.0,86.8
+900,2000.0,102.8
+900,2500.0,122.8
+900,3000.0,142.8
+900,3500.0,162.8
+900,4000.0,182.8
+900,4500.0,202.8
+900,5000.0,222.8
+900,5500.0,242.8
+1200,-5500.0,246.4
+1200,-5000.0,226.4
+1200,-4500.0,186.4
+1200,-4000.0,186.4
+1200,-3500.0,166.4
+1200,-3000.0,146.4
+1200,-2500.0,126.4
+1200,-2000.0,106.4
+1200,-1600.0,90.4
+1200,-1200.0,74.4
+1200,-900.0,62.4
+1200,-600.0,50.4
+1200,-400.0,42.4
+1200,-200.0,34.4
+1200,0.0,34.4
+1200,200.0,34.4
+1200,400.0,42.4
+1200,600.0,50.4
+1200,900.0,62.4
+1200,1200.0,74.4
+1200,1600.0,90.4
+1200,2000.0,106.4
+1200,2500.0,126.4
+1200,3000.0,146.4
+1200,3500.0,166.4
+1200,4000.0,186.4
+1200,4500.0,206.4
+1200,5000.0,226.4
+1200,5500.0,246.4
+1600,-5500.0,251.2
+1600,-5000.0,231.2
+1600,-4500.0,191.2
+1600,-4000.0,191.2
+1600,-3500.0,171.2
+1600,-3000.0,151.2
+1600,-2500.0,131.2
+1600,-2000.0,111.2
+1600,-1600.0,95.2
+1600,-1200.0,79.2
+1600,-900.0,67.2
+1600,-600.0,55.2
+1600,-400.0,47.2
+1600,-200.0,39.2
+1600,0.0,39.2
+1600,200.0,39.2
+1600,400.0,47.2
+1600,600.0,55.2
+1600,900.0,67.2
+1600,1200.0,79.2
+1600,1600.0,95.2
+1600,2000.0,111.2
+1600,2500.0,131.2
+1600,3000.0,151.2
+1600,3500.0,171.2
+1600,4000.0,191.2
+1600,4500.0,211.2
+1600,5000.0,231.2
+1600,5500.0,251.2
+2000,-5500.0,256.0
+2000,-5000.0,236.0
+2000,-4500.0,196.0
+2000,-4000.0,196.0
+2000,-3500.0,176.0
+2000,-3000.0,156.0
+2000,-2500.0,136.0
+2000,-2000.0,116.0
+2000,-1600.0,100.0
+2000,-1200.0,84.0
+2000,-900.0,72.0
+2000,-600.0,60.0
+2000,-400.0,52.0
+2000,-200.0,44.0
+2000,0.0,44.0
+2000,200.0,44.0
+2000,400.0,52.0
+2000,600.0,60.0
+2000,900.0,72.0
+2000,1200.0,84.0
+2000,1600.0,100.0
+2000,2000.0,116.0
+2000,2500.0,136.0
+2000,3000.0,156.0
+2000,3500.0,176.0
+2000,4000.0,196.0
+2000,4500.0,216.0
+2000,5000.0,236.0
+2000,5500.0,256.0
+2500,-5500.0,262.0
+2500,-5000.0,242.0
+2500,-4500.0,202.0
+2500,-4000.0,202.0
+2500,-3500.0,182.0
+2500,-3000.0,162.0
+2500,-2500.0,142.0
+2500,-2000.0,122.0
+2500,-1600.0,106.0
+2500,-1200.0,90.0
+2500,-900.0,78.0
+2500,-600.0,66.0
+2500,-400.0,58.0
+2500,-200.0,50.0
+2500,0.0,50.0
+2500,200.0,50.0
+2500,400.0,58.0
+2500,600.0,66.0
+2500,900.0,78.0
+2500,1200.0,90.0
+2500,1600.0,106.0
+2500,2000.0,122.0
+2500,2500.0,142.0
+2500,3000.0,162.0
+2500,3500.0,182.0
+2500,4000.0,202.0
+2500,4500.0,222.0
+2500,5000.0,242.0
+2500,5500.0,262.0
+3000,-5500.0,268.0
+3000,-5000.0,248.0
+3000,-4500.0,208.0
+3000,-4000.0,208.0
+3000,-3500.0,188.0
+3000,-3000.0,168.0
+3000,-2500.0,148.0
+3000,-2000.0,128.0
+3000,-1600.0,112.0
+3000,-1200.0,96.0
+3000,-900.0,84.0
+3000,-600.0,72.0
+3000,-400.0,64.0
+3000,-200.0,56.0
+3000,0.0,56.0
+3000,200.0,56.0
+3000,400.0,64.0
+3000,600.0,72.0
+3000,900.0,84.0
+3000,1200.0,96.0
+3000,1600.0,112.0
+3000,2000.0,128.0
+3000,2500.0,148.0
+3000,3000.0,168.0
+3000,3500.0,188.0
+3000,4000.0,208.0
+3000,4500.0,228.0
+3000,5000.0,248.0
+3000,5500.0,268.0
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Gear_9.vtlm b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Gear_9.vtlm
new file mode 100644
index 0000000000..ea00afe57c
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Gear_9.vtlm
@@ -0,0 +1,233 @@
+Input Speed [rpm],Input Torque [Nm],Torque Loss [Nm]
+0,-5500.0,239.2
+0,-5000.0,219.2
+0,-4500.0,179.2
+0,-4000.0,179.2
+0,-3500.0,159.2
+0,-3000.0,139.2
+0,-2500.0,119.2
+0,-2000.0,99.2
+0,-1600.0,83.2
+0,-1200.0,67.2
+0,-900.0,55.2
+0,-600.0,43.2
+0,-400.0,35.2
+0,-200.0,27.2
+0,0.0,27.2
+0,200.0,27.2
+0,400.0,35.2
+0,600.0,43.2
+0,900.0,55.2
+0,1200.0,67.2
+0,1600.0,83.2
+0,2000.0,99.2
+0,2500.0,119.2
+0,3000.0,139.2
+0,3500.0,159.2
+0,4000.0,179.2
+0,4500.0,199.2
+0,5000.0,219.2
+0,5500.0,239.2
+600,-5500.0,239.2
+600,-5000.0,219.2
+600,-4500.0,179.2
+600,-4000.0,179.2
+600,-3500.0,159.2
+600,-3000.0,139.2
+600,-2500.0,119.2
+600,-2000.0,99.2
+600,-1600.0,83.2
+600,-1200.0,67.2
+600,-900.0,55.2
+600,-600.0,43.2
+600,-400.0,35.2
+600,-200.0,27.2
+600,0.0,27.2
+600,200.0,27.2
+600,400.0,35.2
+600,600.0,43.2
+600,900.0,55.2
+600,1200.0,67.2
+600,1600.0,83.2
+600,2000.0,99.2
+600,2500.0,119.2
+600,3000.0,139.2
+600,3500.0,159.2
+600,4000.0,179.2
+600,4500.0,199.2
+600,5000.0,219.2
+600,5500.0,239.2
+900,-5500.0,242.8
+900,-5000.0,222.8
+900,-4500.0,182.8
+900,-4000.0,182.8
+900,-3500.0,162.8
+900,-3000.0,142.8
+900,-2500.0,122.8
+900,-2000.0,102.8
+900,-1600.0,86.8
+900,-1200.0,70.8
+900,-900.0,58.8
+900,-600.0,46.8
+900,-400.0,38.8
+900,-200.0,30.8
+900,0.0,30.8
+900,200.0,30.8
+900,400.0,38.8
+900,600.0,46.8
+900,900.0,58.8
+900,1200.0,70.8
+900,1600.0,86.8
+900,2000.0,102.8
+900,2500.0,122.8
+900,3000.0,142.8
+900,3500.0,162.8
+900,4000.0,182.8
+900,4500.0,202.8
+900,5000.0,222.8
+900,5500.0,242.8
+1200,-5500.0,246.4
+1200,-5000.0,226.4
+1200,-4500.0,186.4
+1200,-4000.0,186.4
+1200,-3500.0,166.4
+1200,-3000.0,146.4
+1200,-2500.0,126.4
+1200,-2000.0,106.4
+1200,-1600.0,90.4
+1200,-1200.0,74.4
+1200,-900.0,62.4
+1200,-600.0,50.4
+1200,-400.0,42.4
+1200,-200.0,34.4
+1200,0.0,34.4
+1200,200.0,34.4
+1200,400.0,42.4
+1200,600.0,50.4
+1200,900.0,62.4
+1200,1200.0,74.4
+1200,1600.0,90.4
+1200,2000.0,106.4
+1200,2500.0,126.4
+1200,3000.0,146.4
+1200,3500.0,166.4
+1200,4000.0,186.4
+1200,4500.0,206.4
+1200,5000.0,226.4
+1200,5500.0,246.4
+1600,-5500.0,251.2
+1600,-5000.0,231.2
+1600,-4500.0,191.2
+1600,-4000.0,191.2
+1600,-3500.0,171.2
+1600,-3000.0,151.2
+1600,-2500.0,131.2
+1600,-2000.0,111.2
+1600,-1600.0,95.2
+1600,-1200.0,79.2
+1600,-900.0,67.2
+1600,-600.0,55.2
+1600,-400.0,47.2
+1600,-200.0,39.2
+1600,0.0,39.2
+1600,200.0,39.2
+1600,400.0,47.2
+1600,600.0,55.2
+1600,900.0,67.2
+1600,1200.0,79.2
+1600,1600.0,95.2
+1600,2000.0,111.2
+1600,2500.0,131.2
+1600,3000.0,151.2
+1600,3500.0,171.2
+1600,4000.0,191.2
+1600,4500.0,211.2
+1600,5000.0,231.2
+1600,5500.0,251.2
+2000,-5500.0,256.0
+2000,-5000.0,236.0
+2000,-4500.0,196.0
+2000,-4000.0,196.0
+2000,-3500.0,176.0
+2000,-3000.0,156.0
+2000,-2500.0,136.0
+2000,-2000.0,116.0
+2000,-1600.0,100.0
+2000,-1200.0,84.0
+2000,-900.0,72.0
+2000,-600.0,60.0
+2000,-400.0,52.0
+2000,-200.0,44.0
+2000,0.0,44.0
+2000,200.0,44.0
+2000,400.0,52.0
+2000,600.0,60.0
+2000,900.0,72.0
+2000,1200.0,84.0
+2000,1600.0,100.0
+2000,2000.0,116.0
+2000,2500.0,136.0
+2000,3000.0,156.0
+2000,3500.0,176.0
+2000,4000.0,196.0
+2000,4500.0,216.0
+2000,5000.0,236.0
+2000,5500.0,256.0
+2500,-5500.0,262.0
+2500,-5000.0,242.0
+2500,-4500.0,202.0
+2500,-4000.0,202.0
+2500,-3500.0,182.0
+2500,-3000.0,162.0
+2500,-2500.0,142.0
+2500,-2000.0,122.0
+2500,-1600.0,106.0
+2500,-1200.0,90.0
+2500,-900.0,78.0
+2500,-600.0,66.0
+2500,-400.0,58.0
+2500,-200.0,50.0
+2500,0.0,50.0
+2500,200.0,50.0
+2500,400.0,58.0
+2500,600.0,66.0
+2500,900.0,78.0
+2500,1200.0,90.0
+2500,1600.0,106.0
+2500,2000.0,122.0
+2500,2500.0,142.0
+2500,3000.0,162.0
+2500,3500.0,182.0
+2500,4000.0,202.0
+2500,4500.0,222.0
+2500,5000.0,242.0
+2500,5500.0,262.0
+3000,-5500.0,268.0
+3000,-5000.0,248.0
+3000,-4500.0,208.0
+3000,-4000.0,208.0
+3000,-3500.0,188.0
+3000,-3000.0,168.0
+3000,-2500.0,148.0
+3000,-2000.0,128.0
+3000,-1600.0,112.0
+3000,-1200.0,96.0
+3000,-900.0,84.0
+3000,-600.0,72.0
+3000,-400.0,64.0
+3000,-200.0,56.0
+3000,0.0,56.0
+3000,200.0,56.0
+3000,400.0,64.0
+3000,600.0,72.0
+3000,900.0,84.0
+3000,1200.0,96.0
+3000,1600.0,112.0
+3000,2000.0,128.0
+3000,2500.0,148.0
+3000,3000.0,168.0
+3000,3500.0,188.0
+3000,4000.0,208.0
+3000,4500.0,228.0
+3000,5000.0,248.0
+3000,5500.0,268.0
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/GenericBattery.vbat b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/GenericBattery.vbat
new file mode 100644
index 0000000000..245d582805
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/GenericBattery.vbat
@@ -0,0 +1,30 @@
+{
+  "Header": {
+    "CreatedBy": " ()",
+    "Date": "2016-10-13T08:54:28.7387223Z",
+    "AppVersion": "3",
+    "FileVersion": 1
+  },
+  "Body": {
+    "SavedInDeclMode": false,
+	"Model": "Generic Battery",
+	"InternalResistance": 1.1,
+	"SOC_min": 20,
+	"SOC_max": 80,
+    "MaxCurrentFactor": 5,
+    "Capacity": 14,
+    "SOC": [
+      [ 0, 590 ],
+      [ 10, 614 ],
+      [ 20, 626 ],
+      [ 30, 632 ],
+      [ 40, 638 ],
+      [ 50, 640 ],
+      [ 60, 640 ],
+      [ 70, 642 ],
+      [ 80, 646 ],
+      [ 90, 650 ],
+      [ 100, 658 ]
+    ]
+	}
+}
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/GenericBatteryLarge.vbat b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/GenericBatteryLarge.vbat
new file mode 100644
index 0000000000..6a88b6e200
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/GenericBatteryLarge.vbat
@@ -0,0 +1,18 @@
+{
+  "Header": {
+    "CreatedBy": " ()",
+    "Date": "2016-10-13T08:54:28.7387223Z",
+    "AppVersion": "3",
+    "FileVersion": 1
+  },
+  "Body": {
+    "SavedInDeclMode": false,
+	"Model": "Generic Battery",
+	"CellsParallel": 80,
+	"CellsSeries": 200,
+	"InternalResistanceFactor": 1.1,
+	"CellFile": "GenericCell.vcell",
+	"SOC_min": 20,
+	"SOC_max": 80
+	}
+}
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/GenericEMotor.vem b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/GenericEMotor.vem
new file mode 100644
index 0000000000..d869b37900
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/GenericEMotor.vem
@@ -0,0 +1,15 @@
+{
+	"Header": {
+		"CreatedBy": " ()",
+		"Date": "2016-10-13T08:54:28.7387223Z",
+		"AppVersion": "3",
+		"FileVersion": 1
+	},
+	"Body": {
+		"SavedInDeclMode": false,
+	"Model": "Generic Electric Motor",
+	"FullLoadCurve": "GenericEMotor.vemp",
+		"EfficiencyMap": "GenericMap.vemo",
+		"Inertia":  0.15
+	}
+}
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/GenericEMotor.vemp b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/GenericEMotor.vemp
new file mode 100644
index 0000000000..843b8dabb6
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/GenericEMotor.vemp
@@ -0,0 +1,74 @@
+n [rpm], T_drive [Nm], T_drag [Nm]
+0, 401.07, -401.07
+1600, 401.07, -401.07
+1665, 401.07, -401.07
+1675, 399.08, -399.08
+1685, 396.71, -396.71
+1695, 394.37, -394.37
+1700, 393.21, -393.21
+1750, 381.97, -381.97
+1800, 371.36, -371.36
+1850, 361.32, -361.32
+1900, 351.82, -351.82
+1950, 342.8, -342.8
+2000, 334.23, -334.23
+2050, 326.07, -326.07
+2100, 318.31, -318.31
+2150, 310.91, -310.91
+2200, 303.84, -303.84
+2250, 297.09, -297.09
+2300, 290.63, -290.63
+2350, 284.45, -284.45
+2400, 278.52, -278.52
+2450, 272.84, -272.84
+2500, 267.38, -267.38
+2550, 262.14, -262.14
+2600, 257.1, -257.1
+2650, 252.25, -252.25
+2700, 247.57, -247.57
+2750, 243.07, -243.07
+2800, 238.73, -238.73
+2850, 234.54, -234.54
+2900, 230.5, -230.5
+2950, 226.59, -226.59
+3000, 222.82, -222.82
+3050, 219.16, -219.16
+3100, 215.63, -215.63
+3150, 212.21, -212.21
+3200, 208.89, -208.89
+3250, 205.68, -205.68
+3300, 202.56, -202.56
+3350, 199.54, -199.54
+3400, 196.6, -196.6
+3450, 193.75, -193.75
+3500, 190.99, -190.99
+3550, 188.3, -188.3
+3600, 185.68, -185.68
+3650, 183.14, -183.14
+3700, 180.66, -180.66
+3750, 178.25, -178.25
+3800, 175.91, -175.91
+3850, 173.62, -173.62
+3900, 171.4, -171.4
+3950, 169.23, -169.23
+4000, 167.11, -167.11
+4050, 165.05, -165.05
+4100, 163.04, -163.04
+4150, 161.07, -161.07
+4200, 159.15, -159.15
+4250, 157.28, -157.28
+4300, 155.45, -155.45
+4350, 153.67, -153.67
+4400, 151.92, -151.92
+4450, 150.21, -150.21
+4500, 148.54, -148.54
+4550, 146.91, -146.91
+4600, 145.32, -145.32
+4650, 143.75, -143.75
+4700, 142.22, -142.22
+4750, 140.73, -140.73
+4800, 139.26, -139.26
+4850, 137.82, -137.82
+4900, 136.42, -136.42
+4950, 135.04, -135.04
+5000, 133.69, -133.69
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/GenericEMotor240kW.vem b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/GenericEMotor240kW.vem
new file mode 100644
index 0000000000..cdb70b06ba
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/GenericEMotor240kW.vem
@@ -0,0 +1,15 @@
+{
+  "Header": {
+    "CreatedBy": " ()",
+    "Date": "2016-10-13T08:54:28.7387223Z",
+    "AppVersion": "3",
+    "FileVersion": 1
+  },
+  "Body": {
+    "SavedInDeclMode": false,
+	"Model": "Generic Electric Motor",
+	"FullLoadCurve": "GenericEMotor240kW.vemp",
+    "EfficiencyMap": "GenericMap240kW.vemo",
+    "Inertia" :  0.15 
+	}
+}
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/GenericEMotor240kW.vemp b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/GenericEMotor240kW.vemp
new file mode 100644
index 0000000000..5c4791beb4
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/GenericEMotor240kW.vemp
@@ -0,0 +1,74 @@
+n [rpm], T_drive [Nm], T_drag [Nm]
+0, 802.14, -802.14
+1600, 802.14, -802.14
+1665, 802.14, -802.14
+1675, 798.16, -798.16
+1685, 793.42, -793.42
+1695, 788.74, -788.74
+1700, 786.42, -786.42
+1750, 763.94, -763.94
+1800, 742.72, -742.72
+1850, 722.64, -722.64
+1900, 703.64, -703.64
+1950, 685.6, -685.6
+2000, 668.46, -668.46
+2050, 652.14, -652.14
+2100, 636.62, -636.62
+2150, 621.82, -621.82
+2200, 607.68, -607.68
+2250, 594.18, -594.18
+2300, 581.26, -581.26
+2350, 568.9, -568.9
+2400, 557.04, -557.04
+2450, 545.68, -545.68
+2500, 534.76, -534.76
+2550, 524.28, -524.28
+2600, 514.2, -514.2
+2650, 504.5, -504.5
+2700, 495.14, -495.14
+2750, 486.14, -486.14
+2800, 477.46, -477.46
+2850, 469.08, -469.08
+2900, 461, -461
+2950, 453.18, -453.18
+3000, 445.64, -445.64
+3050, 438.32, -438.32
+3100, 431.26, -431.26
+3150, 424.42, -424.42
+3200, 417.78, -417.78
+3250, 411.36, -411.36
+3300, 405.12, -405.12
+3350, 399.08, -399.08
+3400, 393.2, -393.2
+3450, 387.5, -387.5
+3500, 381.98, -381.98
+3550, 376.6, -376.6
+3600, 371.36, -371.36
+3650, 366.28, -366.28
+3700, 361.32, -361.32
+3750, 356.5, -356.5
+3800, 351.82, -351.82
+3850, 347.24, -347.24
+3900, 342.8, -342.8
+3950, 338.46, -338.46
+4000, 334.22, -334.22
+4050, 330.1, -330.1
+4100, 326.08, -326.08
+4150, 322.14, -322.14
+4200, 318.3, -318.3
+4250, 314.56, -314.56
+4300, 310.9, -310.9
+4350, 307.34, -307.34
+4400, 303.84, -303.84
+4450, 300.42, -300.42
+4500, 297.08, -297.08
+4550, 293.82, -293.82
+4600, 290.64, -290.64
+4650, 287.5, -287.5
+4700, 284.44, -284.44
+4750, 281.46, -281.46
+4800, 278.52, -278.52
+4850, 275.64, -275.64
+4900, 272.84, -272.84
+4950, 270.08, -270.08
+5000, 267.38, -267.38
diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/GenericMap.vemo b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/GenericMap.vemo
new file mode 100644
index 0000000000..3af42d8569
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/GenericMap.vemo
@@ -0,0 +1,2016 @@
+n [rpm], T [Nm], P_el [kW]
+0, -800, 9.8449
+0, -775, 9.2719
+0, -750, 8.7161
+0, -725, 8.1773
+0, -700, 7.6558
+0, -675, 7.1514
+0, -650, 6.6641
+0, -625, 6.194
+0, -600, 5.741
+0, -575, 5.3052
+0, -550, 4.8866
+0, -525, 4.4851
+0, -500, 4.1007
+0, -475, 3.7335
+0, -450, 3.3834
+0, -425, 3.0505
+0, -400, 2.7348
+0, -375, 2.4362
+0, -350, 2.1547
+0, -325, 1.8904
+0, -300, 1.6433
+0, -275, 1.4133
+0, -250, 1.2004
+0, -225, 1.0047
+0, -200, 0.82617
+0, -175, 0.66478
+0, -150, 0.52053
+0, -125, 0.39344
+0, -100, 0.28349
+0, -75, 0.1907
+0, -50, 0.11506
+0, -25, 0.056566
+0, 0, 0.0361
+0, 25, 0.086979
+0, 50, 0.15501
+0, 75, 0.24019
+0, 100, 0.34252
+0, 125, 0.462
+0, 150, 0.59864
+0, 175, 0.75242
+0, 200, 0.92335
+0, 225, 1.1114
+0, 250, 1.3167
+0, 275, 1.5391
+0, 300, 1.7786
+0, 325, 2.0353
+0, 350, 2.3091
+0, 375, 2.6001
+0, 400, 2.9083
+0, 425, 3.2336
+0, 450, 3.576
+0, 475, 3.9356
+0, 500, 4.3123
+0, 525, 4.7062
+0, 550, 5.1173
+0, 575, 5.5455
+0, 600, 5.9908
+0, 625, 6.4533
+0, 650, 6.933
+0, 675, 7.4298
+0, 700, 7.9437
+0, 725, 8.4748
+0, 750, 9.0231
+0, 775, 9.5885
+0, 800, 10.171
+47.746, -800, 5.8367
+47.746, -775, 5.3901
+47.746, -750, 4.9606
+47.746, -725, 4.5482
+47.746, -700, 4.153
+47.746, -675, 3.775
+47.746, -650, 3.4141
+47.746, -625, 3.0704
+47.746, -600, 2.7438
+47.746, -575, 2.4344
+47.746, -550, 2.1421
+47.746, -525, 1.8669
+47.746, -500, 1.609
+47.746, -475, 1.3681
+47.746, -450, 1.1445
+47.746, -425, 0.93793
+47.746, -400, 0.74855
+47.746, -375, 0.57729
+47.746, -350, 0.4236
+47.746, -325, 0.28766
+47.746, -300, 0.16853
+47.746, -275, 0.066217
+47.746, -250, -0.019286
+47.746, -225, -0.087979
+47.746, -200, -0.13986
+47.746, -175, -0.17493
+47.746, -150, -0.19319
+47.746, -125, -0.19464
+47.746, -100, -0.17927
+47.746, -75, -0.1471
+47.746, -50, -0.09811
+47.746, -25, -0.032313
+47.746, 0, 0.07245
+47.746, 25, 0.24971
+47.746, 50, 0.44411
+47.746, 75, 0.65567
+47.746, 100, 0.88437
+47.746, 125, 1.1302
+47.746, 150, 1.3932
+47.746, 175, 1.6734
+47.746, 200, 1.9707
+47.746, 225, 2.2852
+47.746, 250, 2.6168
+47.746, 275, 2.9655
+47.746, 300, 3.3315
+47.746, 325, 3.7145
+47.746, 350, 4.1147
+47.746, 375, 4.5321
+47.746, 400, 4.9666
+47.746, 425, 5.4183
+47.746, 450, 5.8871
+47.746, 475, 6.3731
+47.746, 500, 6.8762
+47.746, 525, 7.3965
+47.746, 550, 7.9339
+47.746, 575, 8.4885
+47.746, 600, 9.0602
+47.746, 625, 9.6491
+47.746, 650, 10.255
+47.746, 675, 10.878
+47.746, 700, 11.519
+47.746, 725, 12.176
+47.746, 750, 12.851
+47.746, 775, 13.542
+47.746, 800, 14.251
+95.493, -800, 1.8303
+95.493, -775, 1.5101
+95.493, -750, 1.2075
+95.493, -725, 0.92457
+95.493, -700, 0.66034
+95.493, -675, 0.41292
+95.493, -650, 0.18231
+95.493, -625, -0.031493
+95.493, -600, -0.22848
+95.493, -575, -0.40866
+95.493, -550, -0.57202
+95.493, -525, -0.71858
+95.493, -500, -0.84832
+95.493, -475, -0.96125
+95.493, -450, -1.0574
+95.493, -425, -1.1367
+95.493, -400, -1.1992
+95.493, -375, -1.2449
+95.493, -350, -1.2737
+95.493, -325, -1.2858
+95.493, -300, -1.2811
+95.493, -275, -1.2595
+95.493, -250, -1.2211
+95.493, -225, -1.1659
+95.493, -200, -1.0939
+95.493, -175, -1.0051
+95.493, -150, -0.89953
+95.493, -125, -0.7771
+95.493, -100, -0.63787
+95.493, -75, -0.48182
+95.493, -50, -0.30896
+95.493, -25, -0.11929
+95.493, 0, 0.11065
+95.493, 25, 0.41428
+95.493, 50, 0.73507
+95.493, 75, 1.073
+95.493, 100, 1.4281
+95.493, 125, 1.8003
+95.493, 150, 2.1897
+95.493, 175, 2.5962
+95.493, 200, 3.0199
+95.493, 225, 3.4608
+95.493, 250, 3.9188
+95.493, 275, 4.3939
+95.493, 300, 4.8862
+95.493, 325, 5.3956
+95.493, 350, 5.9222
+95.493, 375, 6.466
+95.493, 400, 7.0269
+95.493, 425, 7.6049
+95.493, 450, 8.2001
+95.493, 475, 8.8124
+95.493, 500, 9.4419
+95.493, 525, 10.089
+95.493, 550, 10.752
+95.493, 575, 11.433
+95.493, 600, 12.131
+95.493, 625, 12.847
+95.493, 650, 13.579
+95.493, 675, 14.329
+95.493, 700, 15.095
+95.493, 725, 15.879
+95.493, 750, 16.68
+95.493, 775, 17.498
+95.493, 800, 18.334
+143.24, -800, -2.1071
+143.24, -775, -2.2979
+143.24, -750, -2.4719
+143.24, -725, -2.629
+143.24, -700, -2.7694
+143.24, -675, -2.8929
+143.24, -650, -2.9997
+143.24, -625, -3.0896
+143.24, -600, -3.1627
+143.24, -575, -3.219
+143.24, -550, -3.2585
+143.24, -525, -3.2812
+143.24, -500, -3.2871
+143.24, -475, -3.2761
+143.24, -450, -3.2484
+143.24, -425, -3.2038
+143.24, -400, -3.1424
+143.24, -375, -3.0642
+143.24, -350, -2.9692
+143.24, -325, -2.8574
+143.24, -300, -2.7288
+143.24, -275, -2.5834
+143.24, -250, -2.4211
+143.24, -225, -2.2421
+143.24, -200, -2.0462
+143.24, -175, -1.8335
+143.24, -150, -1.604
+143.24, -125, -1.3577
+143.24, -100, -1.0946
+143.24, -75, -0.81471
+143.24, -50, -0.51798
+143.24, -25, -0.20444
+143.24, 0, 0.15072
+143.24, 25, 0.58072
+143.24, 50, 1.0279
+143.24, 75, 1.4922
+143.24, 100, 1.9737
+143.24, 125, 2.4723
+143.24, 150, 2.988
+143.24, 175, 3.5209
+143.24, 200, 4.071
+143.24, 225, 4.6382
+143.24, 250, 5.2226
+143.24, 275, 5.8241
+143.24, 300, 6.4428
+143.24, 325, 7.0786
+143.24, 350, 7.7315
+143.24, 375, 8.4017
+143.24, 400, 9.0889
+143.24, 425, 9.7934
+143.24, 450, 10.515
+143.24, 475, 11.254
+143.24, 500, 12.01
+143.24, 525, 12.783
+143.24, 550, 13.573
+143.24, 575, 14.38
+143.24, 600, 15.205
+143.24, 625, 16.046
+143.24, 650, 16.905
+143.24, 675, 17.781
+143.24, 700, 18.674
+143.24, 725, 19.584
+143.24, 750, 20.512
+143.24, 775, 21.456
+143.24, 800, 22.418
+190.99, -800, -6.0305
+190.99, -775, -6.0974
+190.99, -750, -6.1475
+190.99, -725, -6.1808
+190.99, -700, -6.1973
+190.99, -675, -6.197
+190.99, -650, -6.1799
+190.99, -625, -6.1459
+190.99, -600, -6.0951
+190.99, -575, -6.0276
+190.99, -550, -5.9432
+190.99, -525, -5.842
+190.99, -500, -5.724
+190.99, -475, -5.5892
+190.99, -450, -5.4376
+190.99, -425, -5.2691
+190.99, -400, -5.0839
+190.99, -375, -4.8818
+190.99, -350, -4.6629
+190.99, -325, -4.4272
+190.99, -300, -4.1748
+190.99, -275, -3.9054
+190.99, -250, -3.6193
+190.99, -225, -3.3164
+190.99, -200, -2.9967
+190.99, -175, -2.6601
+190.99, -150, -2.3067
+190.99, -125, -1.9366
+190.99, -100, -1.5496
+190.99, -75, -1.1458
+190.99, -50, -0.72519
+190.99, -25, -0.28777
+190.99, 0, 0.19264
+190.99, 25, 0.74902
+190.99, 50, 1.3226
+190.99, 75, 1.9132
+190.99, 100, 2.5211
+190.99, 125, 3.1461
+190.99, 150, 3.7882
+190.99, 175, 4.4475
+190.99, 200, 5.1239
+190.99, 225, 5.8175
+190.99, 250, 6.5283
+190.99, 275, 7.2561
+190.99, 300, 8.0012
+190.99, 325, 8.7634
+190.99, 350, 9.5427
+190.99, 375, 10.339
+190.99, 400, 11.153
+190.99, 425, 11.984
+190.99, 450, 12.832
+190.99, 475, 13.697
+190.99, 500, 14.579
+190.99, 525, 15.478
+190.99, 550, 16.395
+190.99, 575, 17.329
+190.99, 600, 18.279
+190.99, 625, 19.247
+190.99, 650, 20.233
+190.99, 675, 21.235
+190.99, 700, 22.254
+190.99, 725, 23.291
+190.99, 750, 24.345
+190.99, 775, 25.416
+190.99, 800, 26.504
+238.73, -800, -9.9521
+238.73, -775, -9.8951
+238.73, -750, -9.8214
+238.73, -725, -9.7308
+238.73, -700, -9.6234
+238.73, -675, -9.4992
+238.73, -650, -9.3582
+238.73, -625, -9.2004
+238.73, -600, -9.0258
+238.73, -575, -8.8343
+238.73, -550, -8.626
+238.73, -525, -8.401
+238.73, -500, -8.1591
+238.73, -475, -7.9004
+238.73, -450, -7.6249
+238.73, -425, -7.3326
+238.73, -400, -7.0235
+238.73, -375, -6.6975
+238.73, -350, -6.3548
+238.73, -325, -5.9952
+238.73, -300, -5.6189
+238.73, -275, -5.2257
+238.73, -250, -4.8157
+238.73, -225, -4.3889
+238.73, -200, -3.9453
+238.73, -175, -3.4849
+238.73, -150, -3.0076
+238.73, -125, -2.5136
+238.73, -100, -2.0027
+238.73, -75, -1.475
+238.73, -50, -0.93057
+238.73, -25, -0.36928
+238.73, 0, 0.23641
+238.73, 25, 0.91917
+238.73, 50, 1.6191
+238.73, 75, 2.3361
+238.73, 100, 3.0704
+238.73, 125, 3.8217
+238.73, 150, 4.5902
+238.73, 175, 5.3759
+238.73, 200, 6.1787
+238.73, 225, 6.9987
+238.73, 250, 7.8358
+238.73, 275, 8.6901
+238.73, 300, 9.5615
+238.73, 325, 10.45
+238.73, 350, 11.356
+238.73, 375, 12.279
+238.73, 400, 13.219
+238.73, 425, 14.176
+238.73, 450, 15.15
+238.73, 475, 16.142
+238.73, 500, 17.15
+238.73, 525, 18.176
+238.73, 550, 19.219
+238.73, 575, 20.279
+238.73, 600, 21.356
+238.73, 625, 22.451
+238.73, 650, 23.562
+238.73, 675, 24.691
+238.73, 700, 25.837
+238.73, 725, 27
+238.73, 750, 28.18
+238.73, 775, 29.377
+238.73, 800, 30.592
+286.48, -800, -13.872
+286.48, -775, -13.691
+286.48, -750, -13.493
+286.48, -725, -13.279
+286.48, -700, -13.048
+286.48, -675, -12.8
+286.48, -650, -12.535
+286.48, -625, -12.253
+286.48, -600, -11.955
+286.48, -575, -11.639
+286.48, -550, -11.307
+286.48, -525, -10.958
+286.48, -500, -10.592
+286.48, -475, -10.21
+286.48, -450, -9.8105
+286.48, -425, -9.3943
+286.48, -400, -8.9613
+286.48, -375, -8.5115
+286.48, -350, -8.0448
+286.48, -325, -7.5614
+286.48, -300, -7.0612
+286.48, -275, -6.5441
+286.48, -250, -6.0103
+286.48, -225, -5.4596
+286.48, -200, -4.8921
+286.48, -175, -4.3078
+286.48, -150, -3.7067
+286.48, -125, -3.0888
+286.48, -100, -2.454
+286.48, -75, -1.8025
+286.48, -50, -1.1341
+286.48, -25, -0.44896
+286.48, 0, 0.28205
+286.48, 25, 1.0912
+286.48, 50, 1.9175
+286.48, 75, 2.7609
+286.48, 100, 3.6215
+286.48, 125, 4.4992
+286.48, 150, 5.3941
+286.48, 175, 6.3062
+286.48, 200, 7.2354
+286.48, 225, 8.1817
+286.48, 250, 9.1452
+286.48, 275, 10.126
+286.48, 300, 11.124
+286.48, 325, 12.139
+286.48, 350, 13.171
+286.48, 375, 14.22
+286.48, 400, 15.286
+286.48, 425, 16.37
+286.48, 450, 17.471
+286.48, 475, 18.588
+286.48, 500, 19.723
+286.48, 525, 20.876
+286.48, 550, 22.045
+286.48, 575, 23.231
+286.48, 600, 24.435
+286.48, 625, 25.656
+286.48, 650, 26.894
+286.48, 675, 28.149
+286.48, 700, 29.421
+286.48, 725, 30.71
+286.48, 750, 32.017
+286.48, 775, 33.34
+286.48, 800, 34.681
+334.23, -800, -17.79
+334.23, -775, -17.485
+334.23, -750, -17.164
+334.23, -725, -16.825
+334.23, -700, -16.47
+334.23, -675, -16.098
+334.23, -650, -15.709
+334.23, -625, -15.304
+334.23, -600, -14.881
+334.23, -575, -14.442
+334.23, -550, -13.986
+334.23, -525, -13.513
+334.23, -500, -13.024
+334.23, -475, -12.517
+334.23, -450, -11.994
+334.23, -425, -11.454
+334.23, -400, -10.897
+334.23, -375, -10.324
+334.23, -350, -9.7331
+334.23, -325, -9.1258
+334.23, -300, -8.5016
+334.23, -275, -7.8607
+334.23, -250, -7.203
+334.23, -225, -6.5284
+334.23, -200, -5.8371
+334.23, -175, -5.1289
+334.23, -150, -4.4039
+334.23, -125, -3.6621
+334.23, -100, -2.9035
+334.23, -75, -2.1281
+334.23, -50, -1.3359
+334.23, -25, -0.52683
+334.23, 0, 0.32954
+334.23, 25, 1.2651
+334.23, 50, 2.2177
+334.23, 75, 3.1875
+334.23, 100, 4.1745
+334.23, 125, 5.1786
+334.23, 150, 6.1999
+334.23, 175, 7.2383
+334.23, 200, 8.2939
+334.23, 225, 9.3666
+334.23, 250, 10.456
+334.23, 275, 11.563
+334.23, 300, 12.688
+334.23, 325, 13.829
+334.23, 350, 14.987
+334.23, 375, 16.163
+334.23, 400, 17.356
+334.23, 425, 18.566
+334.23, 450, 19.793
+334.23, 475, 21.037
+334.23, 500, 22.298
+334.23, 525, 23.577
+334.23, 550, 24.873
+334.23, 575, 26.185
+334.23, 600, 27.515
+334.23, 625, 28.863
+334.23, 650, 30.227
+334.23, 675, 31.608
+334.23, 700, 33.007
+334.23, 725, 34.423
+334.23, 750, 35.856
+334.23, 775, 37.306
+334.23, 800, 38.773
+381.97, -800, -21.706
+381.97, -775, -21.277
+381.97, -750, -20.832
+381.97, -725, -20.37
+381.97, -700, -19.891
+381.97, -675, -19.395
+381.97, -650, -18.882
+381.97, -625, -18.353
+381.97, -600, -17.807
+381.97, -575, -17.244
+381.97, -550, -16.664
+381.97, -525, -16.067
+381.97, -500, -15.454
+381.97, -475, -14.823
+381.97, -450, -14.176
+381.97, -425, -13.512
+381.97, -400, -12.831
+381.97, -375, -12.134
+381.97, -350, -11.419
+381.97, -325, -10.688
+381.97, -300, -9.9403
+381.97, -275, -9.1755
+381.97, -250, -8.3939
+381.97, -225, -7.5955
+381.97, -200, -6.7802
+381.97, -175, -5.9482
+381.97, -150, -5.0993
+381.97, -125, -4.2337
+381.97, -100, -3.3512
+381.97, -75, -2.4519
+381.97, -50, -1.5358
+381.97, -25, -0.60288
+381.97, 0, 0.37889
+381.97, 25, 1.4408
+381.97, 50, 2.5198
+381.97, 75, 3.616
+381.97, 100, 4.7293
+381.97, 125, 5.8598
+381.97, 150, 7.0075
+381.97, 175, 8.1723
+381.97, 200, 9.3542
+381.97, 225, 10.553
+381.97, 250, 11.77
+381.97, 275, 13.003
+381.97, 300, 14.254
+381.97, 325, 15.521
+381.97, 350, 16.806
+381.97, 375, 18.108
+381.97, 400, 19.427
+381.97, 425, 20.764
+381.97, 450, 22.117
+381.97, 475, 23.488
+381.97, 500, 24.875
+381.97, 525, 26.28
+381.97, 550, 27.702
+381.97, 575, 29.141
+381.97, 600, 30.598
+381.97, 625, 32.071
+381.97, 650, 33.562
+381.97, 675, 35.07
+381.97, 700, 36.595
+381.97, 725, 38.137
+381.97, 750, 39.696
+381.97, 775, 41.273
+381.97, 800, 42.866
+429.72, -800, -25.62
+429.72, -775, -25.068
+429.72, -750, -24.499
+429.72, -725, -23.912
+429.72, -700, -23.31
+429.72, -675, -22.69
+429.72, -650, -22.053
+429.72, -625, -21.4
+429.72, -600, -20.73
+429.72, -575, -20.043
+429.72, -550, -19.339
+429.72, -525, -18.619
+429.72, -500, -17.881
+429.72, -475, -17.127
+429.72, -450, -16.356
+429.72, -425, -15.568
+429.72, -400, -14.764
+429.72, -375, -13.942
+429.72, -350, -13.104
+429.72, -325, -12.249
+429.72, -300, -11.377
+429.72, -275, -10.488
+429.72, -250, -9.583
+429.72, -225, -8.6607
+429.72, -200, -7.7216
+429.72, -175, -6.7657
+429.72, -150, -5.7929
+429.72, -125, -4.8034
+429.72, -100, -3.797
+429.72, -75, -2.7739
+429.72, -50, -1.7339
+429.72, -25, -0.67711
+429.72, 0, 0.4301
+429.72, 25, 1.6184
+429.72, 50, 2.8238
+429.72, 75, 4.0463
+429.72, 100, 5.2861
+429.72, 125, 6.5429
+429.72, 150, 7.8169
+429.72, 175, 9.1081
+429.72, 200, 10.416
+429.72, 225, 11.742
+429.72, 250, 13.085
+429.72, 275, 14.444
+429.72, 300, 15.821
+429.72, 325, 17.215
+429.72, 350, 18.627
+429.72, 375, 20.055
+429.72, 400, 21.5
+429.72, 425, 22.963
+429.72, 450, 24.443
+429.72, 475, 25.94
+429.72, 500, 27.454
+429.72, 525, 28.985
+429.72, 550, 30.534
+429.72, 575, 32.099
+429.72, 600, 33.682
+429.72, 625, 35.282
+429.72, 650, 36.899
+429.72, 675, 38.533
+429.72, 700, 40.185
+429.72, 725, 41.853
+429.72, 750, 43.539
+429.72, 775, 45.241
+429.72, 800, 46.961
+477.46, -800, -29.533
+477.46, -775, -28.856
+477.46, -750, -28.163
+477.46, -725, -27.453
+477.46, -700, -26.727
+477.46, -675, -25.983
+477.46, -650, -25.223
+477.46, -625, -24.445
+477.46, -600, -23.651
+477.46, -575, -22.841
+477.46, -550, -22.013
+477.46, -525, -21.169
+477.46, -500, -20.307
+477.46, -475, -19.429
+477.46, -450, -18.534
+477.46, -425, -17.623
+477.46, -400, -16.694
+477.46, -375, -15.749
+477.46, -350, -14.787
+477.46, -325, -13.808
+477.46, -300, -12.812
+477.46, -275, -11.8
+477.46, -250, -10.77
+477.46, -225, -9.7241
+477.46, -200, -8.6611
+477.46, -175, -7.5813
+477.46, -150, -6.4847
+477.46, -125, -5.3713
+477.46, -100, -4.2411
+477.46, -75, -3.094
+477.46, -50, -1.9302
+477.46, -25, -0.74951
+477.46, 0, 0.48317
+477.46, 25, 1.7978
+477.46, 50, 3.1296
+477.46, 75, 4.4785
+477.46, 100, 5.8446
+477.46, 125, 7.2279
+477.46, 150, 8.6283
+477.46, 175, 10.046
+477.46, 200, 11.481
+477.46, 225, 12.932
+477.46, 250, 14.401
+477.46, 275, 15.888
+477.46, 300, 17.391
+477.46, 325, 18.911
+477.46, 350, 20.449
+477.46, 375, 22.004
+477.46, 400, 23.576
+477.46, 425, 25.165
+477.46, 450, 26.771
+477.46, 475, 28.394
+477.46, 500, 30.035
+477.46, 525, 31.692
+477.46, 550, 33.367
+477.46, 575, 35.059
+477.46, 600, 36.768
+477.46, 625, 38.494
+477.46, 650, 40.238
+477.46, 675, 41.998
+477.46, 700, 43.776
+477.46, 725, 45.571
+477.46, 750, 47.383
+477.46, 775, 49.212
+477.46, 800, 51.058
+525.21, -800, -33.443
+525.21, -775, -32.643
+525.21, -750, -31.826
+525.21, -725, -30.992
+525.21, -700, -30.142
+525.21, -675, -29.274
+525.21, -650, -28.39
+525.21, -625, -27.489
+525.21, -600, -26.571
+525.21, -575, -25.636
+525.21, -550, -24.685
+525.21, -525, -23.717
+525.21, -500, -22.732
+525.21, -475, -21.73
+525.21, -450, -20.711
+525.21, -425, -19.675
+525.21, -400, -18.623
+525.21, -375, -17.554
+525.21, -350, -16.468
+525.21, -325, -15.365
+525.21, -300, -14.245
+525.21, -275, -13.109
+525.21, -250, -11.956
+525.21, -225, -10.786
+525.21, -200, -9.5988
+525.21, -175, -8.3951
+525.21, -150, -7.1747
+525.21, -125, -5.9374
+525.21, -100, -4.6833
+525.21, -75, -3.4124
+525.21, -50, -2.1246
+525.21, -25, -0.82009
+525.21, 0, 0.53809
+525.21, 25, 1.9791
+525.21, 50, 3.4373
+525.21, 75, 4.9126
+525.21, 100, 6.4051
+525.21, 125, 7.9147
+525.21, 150, 9.4414
+525.21, 175, 10.985
+525.21, 200, 12.546
+525.21, 225, 14.125
+525.21, 250, 15.72
+525.21, 275, 17.333
+525.21, 300, 18.962
+525.21, 325, 20.609
+525.21, 350, 22.273
+525.21, 375, 23.954
+525.21, 400, 25.652
+525.21, 425, 27.368
+525.21, 450, 29.1
+525.21, 475, 30.85
+525.21, 500, 32.617
+525.21, 525, 34.401
+525.21, 550, 36.202
+525.21, 575, 38.021
+525.21, 600, 39.856
+525.21, 625, 41.709
+525.21, 650, 43.579
+525.21, 675, 45.465
+525.21, 700, 47.37
+525.21, 725, 49.291
+525.21, 750, 51.229
+525.21, 775, 53.185
+525.21, 800, 55.157
+572.96, -800, -37.352
+572.96, -775, -36.428
+572.96, -750, -35.487
+572.96, -725, -34.53
+572.96, -700, -33.555
+572.96, -675, -32.564
+572.96, -650, -31.556
+572.96, -625, -30.531
+572.96, -600, -29.489
+572.96, -575, -28.43
+572.96, -550, -27.355
+572.96, -525, -26.263
+572.96, -500, -25.154
+572.96, -475, -24.028
+572.96, -450, -22.885
+572.96, -425, -21.726
+572.96, -400, -20.55
+572.96, -375, -19.357
+572.96, -350, -18.147
+572.96, -325, -16.92
+572.96, -300, -15.677
+572.96, -275, -14.416
+572.96, -250, -13.139
+572.96, -225, -11.845
+572.96, -200, -10.535
+572.96, -175, -9.2071
+572.96, -150, -7.8628
+572.96, -125, -6.5016
+572.96, -100, -5.1236
+572.96, -75, -3.7289
+572.96, -50, -2.3173
+572.96, -25, -0.88886
+572.96, 0, 0.59487
+572.96, 25, 2.1623
+572.96, 50, 3.7468
+572.96, 75, 5.3485
+572.96, 100, 6.9673
+572.96, 125, 8.6033
+572.96, 150, 10.256
+572.96, 175, 11.927
+572.96, 200, 13.614
+572.96, 225, 15.319
+572.96, 250, 17.041
+572.96, 275, 18.779
+572.96, 300, 20.536
+572.96, 325, 22.309
+572.96, 350, 24.099
+572.96, 375, 25.907
+572.96, 400, 27.731
+572.96, 425, 29.573
+572.96, 450, 31.432
+572.96, 475, 33.308
+572.96, 500, 35.201
+572.96, 525, 37.112
+572.96, 550, 39.039
+572.96, 575, 40.984
+572.96, 600, 42.946
+572.96, 625, 44.925
+572.96, 650, 46.921
+572.96, 675, 48.934
+572.96, 700, 50.965
+572.96, 725, 53.012
+572.96, 750, 55.077
+572.96, 775, 57.159
+572.96, 800, 59.258
+954.93, -800, -68.557
+954.93, -775, -66.642
+954.93, -750, -64.711
+954.93, -725, -62.762
+954.93, -700, -60.796
+954.93, -675, -58.814
+954.93, -650, -56.815
+954.93, -625, -54.799
+954.93, -600, -52.766
+954.93, -575, -50.717
+954.93, -550, -48.65
+954.93, -525, -46.567
+954.93, -500, -44.467
+954.93, -475, -42.35
+954.93, -450, -40.217
+954.93, -425, -38.066
+954.93, -400, -35.899
+954.93, -375, -33.715
+954.93, -350, -31.514
+954.93, -325, -29.297
+954.93, -300, -27.062
+954.93, -275, -24.811
+954.93, -250, -22.543
+954.93, -225, -20.258
+954.93, -200, -17.956
+954.93, -175, -15.638
+954.93, -150, -13.302
+954.93, -125, -10.95
+954.93, -100, -8.5812
+954.93, -75, -6.1954
+954.93, -50, -3.7928
+954.93, -25, -1.3734
+954.93, 0, 1.116
+954.93, 25, 3.6944
+954.93, 50, 6.29
+954.93, 75, 8.9027
+954.93, 100, 11.533
+954.93, 125, 14.18
+954.93, 150, 16.844
+954.93, 175, 19.525
+954.93, 200, 22.223
+954.93, 225, 24.939
+954.93, 250, 27.672
+954.93, 275, 30.422
+954.93, 300, 33.189
+954.93, 325, 35.973
+954.93, 350, 38.774
+954.93, 375, 41.593
+954.93, 400, 44.429
+954.93, 425, 47.281
+954.93, 450, 50.151
+954.93, 475, 53.038
+954.93, 500, 55.943
+954.93, 525, 58.864
+954.93, 550, 61.803
+954.93, 575, 64.758
+954.93, 600, 67.731
+954.93, 625, 70.721
+954.93, 650, 73.728
+954.93, 675, 76.753
+954.93, 700, 79.794
+954.93, 725, 82.853
+954.93, 750, 85.929
+954.93, 775, 89.022
+954.93, 800, 92.132
+1193.7, -800, -88.002
+1193.7, -775, -85.467
+1193.7, -750, -82.916
+1193.7, -725, -80.348
+1193.7, -700, -77.763
+1193.7, -675, -75.161
+1193.7, -650, -72.543
+1193.7, -625, -69.908
+1193.7, -600, -67.255
+1193.7, -575, -64.586
+1193.7, -550, -61.901
+1193.7, -525, -59.198
+1193.7, -500, -56.479
+1193.7, -475, -53.743
+1193.7, -450, -50.99
+1193.7, -425, -48.22
+1193.7, -400, -45.433
+1193.7, -375, -42.63
+1193.7, -350, -39.81
+1193.7, -325, -36.973
+1193.7, -300, -34.119
+1193.7, -275, -31.248
+1193.7, -250, -28.361
+1193.7, -225, -25.456
+1193.7, -200, -22.535
+1193.7, -175, -19.597
+1193.7, -150, -16.643
+1193.7, -125, -13.671
+1193.7, -100, -10.683
+1193.7, -75, -7.6778
+1193.7, -50, -4.6558
+1193.7, -25, -1.6171
+1193.7, 0, 1.5021
+1193.7, 25, 4.7124
+1193.7, 50, 7.9398
+1193.7, 75, 11.184
+1193.7, 100, 14.446
+1193.7, 125, 17.725
+1193.7, 150, 21.021
+1193.7, 175, 24.334
+1193.7, 200, 27.665
+1193.7, 225, 31.012
+1193.7, 250, 34.377
+1193.7, 275, 37.758
+1193.7, 300, 41.157
+1193.7, 325, 44.574
+1193.7, 350, 48.007
+1193.7, 375, 51.457
+1193.7, 400, 54.925
+1193.7, 425, 58.409
+1193.7, 450, 61.911
+1193.7, 475, 65.43
+1193.7, 500, 68.966
+1193.7, 525, 72.52
+1193.7, 550, 76.09
+1193.7, 575, 79.678
+1193.7, 600, 83.282
+1193.7, 625, 86.904
+1193.7, 650, 90.543
+1193.7, 675, 94.2
+1193.7, 700, 97.873
+1193.7, 725, 101.56
+1193.7, 750, 105.27
+1193.7, 775, 109
+1193.7, 800, 112.74
+1432.4, -800, -107.4
+1432.4, -775, -104.25
+1432.4, -750, -101.08
+1432.4, -725, -97.888
+1432.4, -700, -94.684
+1432.4, -675, -91.463
+1432.4, -650, -88.225
+1432.4, -625, -84.97
+1432.4, -600, -81.699
+1432.4, -575, -78.411
+1432.4, -550, -75.106
+1432.4, -525, -71.784
+1432.4, -500, -68.445
+1432.4, -475, -65.089
+1432.4, -450, -61.717
+1432.4, -425, -58.328
+1432.4, -400, -54.922
+1432.4, -375, -51.499
+1432.4, -350, -48.06
+1432.4, -325, -44.603
+1432.4, -300, -41.13
+1432.4, -275, -37.64
+1432.4, -250, -34.133
+1432.4, -225, -30.61
+1432.4, -200, -27.069
+1432.4, -175, -23.512
+1432.4, -150, -19.938
+1432.4, -125, -16.347
+1432.4, -100, -12.739
+1432.4, -75, -9.1147
+1432.4, -50, -5.4734
+1432.4, -25, -1.8152
+1432.4, 0, 1.9346
+1432.4, 25, 5.7768
+1432.4, 50, 9.6361
+1432.4, 75, 13.513
+1432.4, 100, 17.406
+1432.4, 125, 21.317
+1432.4, 150, 25.245
+1432.4, 175, 29.19
+1432.4, 200, 33.152
+1432.4, 225, 37.131
+1432.4, 250, 41.128
+1432.4, 275, 45.142
+1432.4, 300, 49.173
+1432.4, 325, 53.22
+1432.4, 350, 57.286
+1432.4, 375, 61.368
+1432.4, 400, 65.467
+1432.4, 425, 69.584
+1432.4, 450, 73.718
+1432.4, 475, 77.868
+1432.4, 500, 82.037
+1432.4, 525, 86.222
+1432.4, 550, 90.424
+1432.4, 575, 94.644
+1432.4, 600, 98.88
+1432.4, 625, 103.13
+1432.4, 650, 107.4
+1432.4, 675, 111.69
+1432.4, 700, 116
+1432.4, 725, 120.32
+1432.4, 750, 124.66
+1432.4, 775, 129.02
+1432.4, 800, 133.39
+1671.1, -800, -126.75
+1671.1, -775, -122.98
+1671.1, -750, -119.19
+1671.1, -725, -115.38
+1671.1, -700, -111.56
+1671.1, -675, -107.72
+1671.1, -650, -103.86
+1671.1, -625, -99.988
+1671.1, -600, -96.097
+1671.1, -575, -92.189
+1671.1, -550, -88.265
+1671.1, -525, -84.324
+1671.1, -500, -80.366
+1671.1, -475, -76.391
+1671.1, -450, -72.399
+1671.1, -425, -68.391
+1671.1, -400, -64.365
+1671.1, -375, -60.323
+1671.1, -350, -56.264
+1671.1, -325, -52.188
+1671.1, -300, -48.096
+1671.1, -275, -43.986
+1671.1, -250, -39.86
+1671.1, -225, -35.717
+1671.1, -200, -31.557
+1671.1, -175, -27.381
+1671.1, -150, -23.187
+1671.1, -125, -18.977
+1671.1, -100, -14.75
+1671.1, -75, -10.506
+1671.1, -50, -6.2453
+1671.1, -25, -1.9678
+1671.1, 0, 2.4136
+1671.1, 25, 6.8876
+1671.1, 50, 11.379
+1671.1, 75, 15.887
+1671.1, 100, 20.413
+1671.1, 125, 24.955
+1671.1, 150, 29.515
+1671.1, 175, 34.092
+1671.1, 200, 38.686
+1671.1, 225, 43.297
+1671.1, 250, 47.926
+1671.1, 275, 52.571
+1671.1, 300, 57.234
+1671.1, 325, 61.914
+1671.1, 350, 66.611
+1671.1, 375, 71.325
+1671.1, 400, 76.056
+1671.1, 425, 80.805
+1671.1, 450, 85.57
+1671.1, 475, 90.353
+1671.1, 500, 95.153
+1671.1, 525, 99.97
+1671.1, 550, 104.8
+1671.1, 575, 109.66
+1671.1, 600, 114.52
+1671.1, 625, 119.41
+1671.1, 650, 124.31
+1671.1, 675, 129.23
+1671.1, 700, 134.17
+1671.1, 725, 139.12
+1671.1, 750, 144.1
+1671.1, 775, 149.08
+1671.1, 800, 154.09
+1909.9, -800, -146.06
+1909.9, -775, -141.67
+1909.9, -750, -137.26
+1909.9, -725, -132.83
+1909.9, -700, -128.39
+1909.9, -675, -123.93
+1909.9, -650, -119.45
+1909.9, -625, -114.96
+1909.9, -600, -110.45
+1909.9, -575, -105.92
+1909.9, -550, -101.38
+1909.9, -525, -96.818
+1909.9, -500, -92.241
+1909.9, -475, -87.646
+1909.9, -450, -83.035
+1909.9, -425, -78.407
+1909.9, -400, -73.763
+1909.9, -375, -69.101
+1909.9, -350, -64.423
+1909.9, -325, -59.728
+1909.9, -300, -55.016
+1909.9, -275, -50.287
+1909.9, -250, -45.542
+1909.9, -225, -40.779
+1909.9, -200, -36
+1909.9, -175, -31.204
+1909.9, -150, -26.391
+1909.9, -125, -21.562
+1909.9, -100, -16.715
+1909.9, -75, -11.852
+1909.9, -50, -6.9718
+1909.9, -25, -2.0749
+1909.9, 0, 2.939
+1909.9, 25, 8.0449
+1909.9, 50, 13.168
+1909.9, 75, 18.308
+1909.9, 100, 23.466
+1909.9, 125, 28.64
+1909.9, 150, 33.832
+1909.9, 175, 39.041
+1909.9, 200, 44.267
+1909.9, 225, 49.51
+1909.9, 250, 54.77
+1909.9, 275, 60.047
+1909.9, 300, 65.342
+1909.9, 325, 70.654
+1909.9, 350, 75.983
+1909.9, 375, 81.329
+1909.9, 400, 86.692
+1909.9, 425, 92.072
+1909.9, 450, 97.47
+1909.9, 475, 102.88
+1909.9, 500, 108.32
+1909.9, 525, 113.77
+1909.9, 550, 119.23
+1909.9, 575, 124.71
+1909.9, 600, 130.21
+1909.9, 625, 135.73
+1909.9, 650, 141.27
+1909.9, 675, 146.82
+1909.9, 700, 152.39
+1909.9, 725, 157.97
+1909.9, 750, 163.58
+1909.9, 775, 169.2
+1909.9, 800, 174.84
+2148.6, -800, -165.32
+2148.6, -775, -160.31
+2148.6, -750, -155.28
+2148.6, -725, -150.24
+2148.6, -700, -145.17
+2148.6, -675, -140.1
+2148.6, -650, -135
+2148.6, -625, -129.89
+2148.6, -600, -124.76
+2148.6, -575, -119.61
+2148.6, -550, -114.45
+2148.6, -525, -109.27
+2148.6, -500, -104.07
+2148.6, -475, -98.857
+2148.6, -450, -93.626
+2148.6, -425, -88.379
+2148.6, -400, -83.115
+2148.6, -375, -77.834
+2148.6, -350, -72.536
+2148.6, -325, -67.222
+2148.6, -300, -61.891
+2148.6, -275, -56.542
+2148.6, -250, -51.177
+2148.6, -225, -45.796
+2148.6, -200, -40.397
+2148.6, -175, -34.982
+2148.6, -150, -29.55
+2148.6, -125, -24.101
+2148.6, -100, -18.635
+2148.6, -75, -13.152
+2148.6, -50, -7.6528
+2148.6, -25, -2.1365
+2148.6, 0, 3.5108
+2148.6, 25, 9.2486
+2148.6, 50, 15.004
+2148.6, 75, 20.776
+2148.6, 100, 26.565
+2148.6, 125, 32.371
+2148.6, 150, 38.195
+2148.6, 175, 44.036
+2148.6, 200, 49.893
+2148.6, 225, 55.768
+2148.6, 250, 61.661
+2148.6, 275, 67.57
+2148.6, 300, 73.496
+2148.6, 325, 79.44
+2148.6, 350, 85.401
+2148.6, 375, 91.379
+2148.6, 400, 97.374
+2148.6, 425, 103.39
+2148.6, 450, 109.42
+2148.6, 475, 115.46
+2148.6, 500, 121.53
+2148.6, 525, 127.61
+2148.6, 550, 133.7
+2148.6, 575, 139.82
+2148.6, 600, 145.95
+2148.6, 625, 152.1
+2148.6, 650, 158.27
+2148.6, 675, 164.45
+2148.6, 700, 170.65
+2148.6, 725, 176.87
+2148.6, 750, 183.11
+2148.6, 775, 189.36
+2148.6, 800, 195.63
+2387.3, -800, -184.54
+2387.3, -775, -178.91
+2387.3, -750, -173.26
+2387.3, -725, -167.59
+2387.3, -700, -161.91
+2387.3, -675, -156.21
+2387.3, -650, -150.5
+2387.3, -625, -144.77
+2387.3, -600, -139.02
+2387.3, -575, -133.25
+2387.3, -550, -127.47
+2387.3, -525, -121.67
+2387.3, -500, -115.85
+2387.3, -475, -110.02
+2387.3, -450, -104.17
+2387.3, -425, -98.305
+2387.3, -400, -92.421
+2387.3, -375, -86.521
+2387.3, -350, -80.604
+2387.3, -325, -74.67
+2387.3, -300, -68.72
+2387.3, -275, -62.752
+2387.3, -250, -56.768
+2387.3, -225, -50.767
+2387.3, -200, -44.749
+2387.3, -175, -38.714
+2387.3, -150, -32.662
+2387.3, -125, -26.594
+2387.3, -100, -20.509
+2387.3, -75, -14.407
+2387.3, -50, -8.2882
+2387.3, -25, -2.1526
+2387.3, 0, 4.1291
+2387.3, 25, 10.499
+2387.3, 50, 16.886
+2387.3, 75, 23.29
+2387.3, 100, 29.711
+2387.3, 125, 36.149
+2387.3, 150, 42.604
+2387.3, 175, 49.077
+2387.3, 200, 55.567
+2387.3, 225, 62.074
+2387.3, 250, 68.598
+2387.3, 275, 75.139
+2387.3, 300, 81.697
+2387.3, 325, 88.273
+2387.3, 350, 94.865
+2387.3, 375, 101.48
+2387.3, 400, 108.1
+2387.3, 425, 114.75
+2387.3, 450, 121.41
+2387.3, 475, 128.09
+2387.3, 500, 134.78
+2387.3, 525, 141.49
+2387.3, 550, 148.22
+2387.3, 575, 154.97
+2387.3, 600, 161.74
+2387.3, 625, 168.52
+2387.3, 650, 175.31
+2387.3, 675, 182.13
+2387.3, 700, 188.96
+2387.3, 725, 195.81
+2387.3, 750, 202.68
+2387.3, 775, 209.56
+2387.3, 800, 216.47
+2626.1, -800, -203.71
+2626.1, -775, -197.46
+2626.1, -750, -191.19
+2626.1, -725, -184.91
+2626.1, -700, -178.61
+2626.1, -675, -172.29
+2626.1, -650, -165.95
+2626.1, -625, -159.6
+2626.1, -600, -153.23
+2626.1, -575, -146.85
+2626.1, -550, -140.45
+2626.1, -525, -134.03
+2626.1, -500, -127.59
+2626.1, -475, -121.14
+2626.1, -450, -114.67
+2626.1, -425, -108.19
+2626.1, -400, -101.68
+2626.1, -375, -95.163
+2626.1, -350, -88.626
+2626.1, -325, -82.073
+2626.1, -300, -75.503
+2626.1, -275, -68.916
+2626.1, -250, -62.313
+2626.1, -225, -55.692
+2626.1, -200, -49.055
+2626.1, -175, -42.401
+2626.1, -150, -35.73
+2626.1, -125, -29.042
+2626.1, -100, -22.338
+2626.1, -75, -15.616
+2626.1, -50, -8.8781
+2626.1, -25, -2.1231
+2626.1, 0, 4.7938
+2626.1, 25, 11.795
+2626.1, 50, 18.814
+2626.1, 75, 25.85
+2626.1, 100, 32.903
+2626.1, 125, 39.973
+2626.1, 150, 47.06
+2626.1, 175, 54.165
+2626.1, 200, 61.287
+2626.1, 225, 68.425
+2626.1, 250, 75.581
+2626.1, 275, 82.754
+2626.1, 300, 89.945
+2626.1, 325, 97.152
+2626.1, 350, 104.38
+2626.1, 375, 111.62
+2626.1, 400, 118.88
+2626.1, 425, 126.15
+2626.1, 450, 133.45
+2626.1, 475, 140.76
+2626.1, 500, 148.08
+2626.1, 525, 155.43
+2626.1, 550, 162.79
+2626.1, 575, 170.17
+2626.1, 600, 177.57
+2626.1, 625, 184.98
+2626.1, 650, 192.41
+2626.1, 675, 199.86
+2626.1, 700, 207.32
+2626.1, 725, 214.8
+2626.1, 750, 222.3
+2626.1, 775, 229.82
+2626.1, 800, 237.35
+2864.8, -800, -222.84
+2864.8, -775, -215.97
+2864.8, -750, -209.08
+2864.8, -725, -202.18
+2864.8, -700, -195.25
+2864.8, -675, -188.32
+2864.8, -650, -181.36
+2864.8, -625, -174.39
+2864.8, -600, -167.4
+2864.8, -575, -160.4
+2864.8, -550, -153.38
+2864.8, -525, -146.34
+2864.8, -500, -139.29
+2864.8, -475, -132.21
+2864.8, -450, -125.13
+2864.8, -425, -118.02
+2864.8, -400, -110.9
+2864.8, -375, -103.76
+2864.8, -350, -96.603
+2864.8, -325, -89.431
+2864.8, -300, -82.241
+2864.8, -275, -75.035
+2864.8, -250, -67.812
+2864.8, -225, -60.572
+2864.8, -200, -53.315
+2864.8, -175, -46.042
+2864.8, -150, -38.752
+2864.8, -125, -31.445
+2864.8, -100, -24.121
+2864.8, -75, -16.78
+2864.8, -50, -9.4225
+2864.8, -25, -2.0481
+2864.8, 0, 5.505
+2864.8, 25, 13.138
+2864.8, 50, 20.789
+2864.8, 75, 28.457
+2864.8, 100, 36.142
+2864.8, 125, 43.844
+2864.8, 150, 51.563
+2864.8, 175, 59.299
+2864.8, 200, 67.053
+2864.8, 225, 74.823
+2864.8, 250, 82.611
+2864.8, 275, 90.416
+2864.8, 300, 98.238
+2864.8, 325, 106.08
+2864.8, 350, 113.93
+2864.8, 375, 121.81
+2864.8, 400, 129.7
+2864.8, 425, 137.61
+2864.8, 450, 145.53
+2864.8, 475, 153.47
+2864.8, 500, 161.43
+2864.8, 525, 169.41
+2864.8, 550, 177.4
+2864.8, 575, 185.41
+2864.8, 600, 193.44
+2864.8, 625, 201.49
+2864.8, 650, 209.55
+2864.8, 675, 217.63
+2864.8, 700, 225.72
+2864.8, 725, 233.84
+2864.8, 750, 241.97
+2864.8, 775, 250.12
+2864.8, 800, 258.28
+3103.5, -800, -241.92
+3103.5, -775, -234.43
+3103.5, -750, -226.92
+3103.5, -725, -219.4
+3103.5, -700, -211.86
+3103.5, -675, -204.3
+3103.5, -650, -196.73
+3103.5, -625, -189.14
+3103.5, -600, -181.53
+3103.5, -575, -173.91
+3103.5, -550, -166.27
+3103.5, -525, -158.61
+3103.5, -500, -150.93
+3103.5, -475, -143.24
+3103.5, -450, -135.53
+3103.5, -425, -127.81
+3103.5, -400, -120.07
+3103.5, -375, -112.31
+3103.5, -350, -104.53
+3103.5, -325, -96.743
+3103.5, -300, -88.934
+3103.5, -275, -81.108
+3103.5, -250, -73.266
+3103.5, -225, -65.407
+3103.5, -200, -57.531
+3103.5, -175, -49.638
+3103.5, -150, -41.728
+3103.5, -125, -33.802
+3103.5, -100, -25.858
+3103.5, -75, -17.898
+3103.5, -50, -9.9213
+3103.5, -25, -1.9276
+3103.5, 0, 6.2626
+3103.5, 25, 14.528
+3103.5, 50, 22.81
+3103.5, 75, 31.11
+3103.5, 100, 39.427
+3103.5, 125, 47.761
+3103.5, 150, 56.112
+3103.5, 175, 64.48
+3103.5, 200, 72.865
+3103.5, 225, 81.268
+3103.5, 250, 89.688
+3103.5, 275, 98.125
+3103.5, 300, 106.58
+3103.5, 325, 115.05
+3103.5, 350, 123.54
+3103.5, 375, 132.04
+3103.5, 400, 140.57
+3103.5, 425, 149.11
+3103.5, 450, 157.66
+3103.5, 475, 166.24
+3103.5, 500, 174.83
+3103.5, 525, 183.44
+3103.5, 550, 192.06
+3103.5, 575, 200.7
+3103.5, 600, 209.36
+3103.5, 625, 218.04
+3103.5, 650, 226.74
+3103.5, 675, 235.45
+3103.5, 700, 244.17
+3103.5, 725, 252.92
+3103.5, 750, 261.68
+3103.5, 775, 270.46
+3103.5, 800, 279.26
+3342.3, -800, -260.95
+3342.3, -775, -252.84
+3342.3, -750, -244.72
+3342.3, -725, -236.57
+3342.3, -700, -228.41
+3342.3, -675, -220.24
+3342.3, -650, -212.05
+3342.3, -625, -203.84
+3342.3, -600, -195.61
+3342.3, -575, -187.37
+3342.3, -550, -179.11
+3342.3, -525, -170.83
+3342.3, -500, -162.54
+3342.3, -475, -154.22
+3342.3, -450, -145.9
+3342.3, -425, -137.55
+3342.3, -400, -129.19
+3342.3, -375, -120.81
+3342.3, -350, -112.42
+3342.3, -325, -104.01
+3342.3, -300, -95.581
+3342.3, -275, -87.136
+3342.3, -250, -78.674
+3342.3, -225, -70.195
+3342.3, -200, -61.7
+3342.3, -175, -53.188
+3342.3, -150, -44.659
+3342.3, -125, -36.113
+3342.3, -100, -27.55
+3342.3, -75, -18.971
+3342.3, -50, -10.375
+3342.3, -25, -1.7616
+3342.3, 0, 7.0667
+3342.3, 25, 15.964
+3342.3, 50, 24.878
+3342.3, 75, 33.81
+3342.3, 100, 42.758
+3342.3, 125, 51.724
+3342.3, 150, 60.707
+3342.3, 175, 69.707
+3342.3, 200, 78.725
+3342.3, 225, 87.759
+3342.3, 250, 96.811
+3342.3, 275, 105.88
+3342.3, 300, 114.97
+3342.3, 325, 124.07
+3342.3, 350, 133.19
+3342.3, 375, 142.33
+3342.3, 400, 151.48
+3342.3, 425, 160.65
+3342.3, 450, 169.84
+3342.3, 475, 179.05
+3342.3, 500, 188.27
+3342.3, 525, 197.51
+3342.3, 550, 206.77
+3342.3, 575, 216.04
+3342.3, 600, 225.33
+3342.3, 625, 234.64
+3342.3, 650, 243.97
+3342.3, 675, 253.31
+3342.3, 700, 262.67
+3342.3, 725, 272.05
+3342.3, 750, 281.44
+3342.3, 775, 290.86
+3342.3, 800, 300.28
+3581, -800, -279.94
+3581, -775, -271.21
+3581, -750, -262.47
+3581, -725, -253.7
+3581, -700, -244.93
+3581, -675, -236.13
+3581, -650, -227.32
+3581, -625, -218.49
+3581, -600, -209.64
+3581, -575, -200.78
+3581, -550, -191.9
+3581, -525, -183
+3581, -500, -174.09
+3581, -475, -165.16
+3581, -450, -156.22
+3581, -425, -147.25
+3581, -400, -138.27
+3581, -375, -129.27
+3581, -350, -120.26
+3581, -325, -111.23
+3581, -300, -102.18
+3581, -275, -93.118
+3581, -250, -84.037
+3581, -225, -74.939
+3581, -200, -65.824
+3581, -175, -56.693
+3581, -150, -47.544
+3581, -125, -38.379
+3581, -100, -29.197
+3581, -75, -19.998
+3581, -50, -10.782
+3581, -25, -1.55
+3581, 0, 7.9172
+3581, 25, 17.446
+3581, 50, 26.993
+3581, 75, 36.556
+3581, 100, 46.136
+3581, 125, 55.734
+3581, 150, 65.349
+3581, 175, 74.981
+3581, 200, 84.63
+3581, 225, 94.296
+3581, 250, 103.98
+3581, 275, 113.68
+3581, 300, 123.4
+3581, 325, 133.13
+3581, 350, 142.89
+3581, 375, 152.65
+3581, 400, 162.44
+3581, 425, 172.24
+3581, 450, 182.06
+3581, 475, 191.9
+3581, 500, 201.76
+3581, 525, 211.63
+3581, 550, 221.52
+3581, 575, 231.43
+3581, 600, 241.35
+3581, 625, 251.29
+3581, 650, 261.25
+3581, 675, 271.22
+3581, 700, 281.21
+3581, 725, 291.22
+3581, 750, 301.25
+3581, 775, 311.29
+3581, 800, 321.35
+3819.7, -800, -298.88
+3819.7, -775, -289.53
+3819.7, -750, -280.17
+3819.7, -725, -270.79
+3819.7, -700, -261.39
+3819.7, -675, -251.98
+3819.7, -650, -242.54
+3819.7, -625, -233.1
+3819.7, -600, -223.63
+3819.7, -575, -214.15
+3819.7, -550, -204.65
+3819.7, -525, -195.14
+3819.7, -500, -185.6
+3819.7, -475, -176.05
+3819.7, -450, -166.49
+3819.7, -425, -156.9
+3819.7, -400, -147.3
+3819.7, -375, -137.69
+3819.7, -350, -128.06
+3819.7, -325, -118.41
+3819.7, -300, -108.74
+3819.7, -275, -99.055
+3819.7, -250, -89.354
+3819.7, -225, -79.637
+3819.7, -200, -69.903
+3819.7, -175, -60.152
+3819.7, -150, -50.384
+3819.7, -125, -40.599
+3819.7, -100, -30.798
+3819.7, -75, -20.98
+3819.7, -50, -11.145
+3819.7, -25, -1.2929
+3819.7, 0, 8.8141
+3819.7, 25, 18.975
+3819.7, 50, 29.153
+3819.7, 75, 39.348
+3819.7, 100, 49.561
+3819.7, 125, 59.79
+3819.7, 150, 70.037
+3819.7, 175, 80.301
+3819.7, 200, 90.582
+3819.7, 225, 100.88
+3819.7, 250, 111.2
+3819.7, 275, 121.53
+3819.7, 300, 131.88
+3819.7, 325, 142.24
+3819.7, 350, 152.63
+3819.7, 375, 163.03
+3819.7, 400, 173.45
+3819.7, 425, 183.88
+3819.7, 450, 194.34
+3819.7, 475, 204.81
+3819.7, 500, 215.29
+3819.7, 525, 225.8
+3819.7, 550, 236.32
+3819.7, 575, 246.86
+3819.7, 600, 257.41
+3819.7, 625, 267.98
+3819.7, 650, 278.57
+3819.7, 675, 289.18
+3819.7, 700, 299.8
+3819.7, 725, 310.45
+3819.7, 750, 321.1
+3819.7, 775, 331.78
+3819.7, 800, 342.47
+4058.5, -800, -317.78
+4058.5, -775, -307.81
+4058.5, -750, -297.83
+4058.5, -725, -287.83
+4058.5, -700, -277.81
+4058.5, -675, -267.78
+4058.5, -650, -257.73
+4058.5, -625, -247.66
+4058.5, -600, -237.57
+4058.5, -575, -227.47
+4058.5, -550, -217.35
+4058.5, -525, -207.22
+4058.5, -500, -197.07
+4058.5, -475, -186.9
+4058.5, -450, -176.71
+4058.5, -425, -166.51
+4058.5, -400, -156.29
+4058.5, -375, -146.06
+4058.5, -350, -135.8
+4058.5, -325, -125.53
+4058.5, -300, -115.25
+4058.5, -275, -104.95
+4058.5, -250, -94.626
+4058.5, -225, -84.289
+4058.5, -200, -73.936
+4058.5, -175, -63.565
+4058.5, -150, -53.178
+4058.5, -125, -42.774
+4058.5, -100, -32.353
+4058.5, -75, -21.916
+4058.5, -50, -11.462
+4058.5, -25, -0.99032
+4058.5, 0, 9.7575
+4058.5, 25, 20.55
+4058.5, 50, 31.36
+4058.5, 75, 42.188
+4058.5, 100, 53.032
+4058.5, 125, 63.893
+4058.5, 150, 74.772
+4058.5, 175, 85.668
+4058.5, 200, 96.581
+4058.5, 225, 107.51
+4058.5, 250, 118.46
+4058.5, 275, 129.42
+4058.5, 300, 140.4
+4058.5, 325, 151.4
+4058.5, 350, 162.42
+4058.5, 375, 173.45
+4058.5, 400, 184.5
+4058.5, 425, 195.57
+4058.5, 450, 206.65
+4058.5, 475, 217.75
+4058.5, 500, 228.87
+4058.5, 525, 240.01
+4058.5, 550, 251.16
+4058.5, 575, 262.33
+4058.5, 600, 273.52
+4058.5, 625, 284.72
+4058.5, 650, 295.95
+4058.5, 675, 307.18
+4058.5, 700, 318.44
+4058.5, 725, 329.71
+4058.5, 750, 341
+4058.5, 775, 352.31
+4058.5, 800, 363.64
+4297.2, -800, -336.63
+4297.2, -775, -326.05
+4297.2, -750, -315.44
+4297.2, -725, -304.82
+4297.2, -700, -294.19
+4297.2, -675, -283.53
+4297.2, -650, -272.86
+4297.2, -625, -262.18
+4297.2, -600, -251.47
+4297.2, -575, -240.75
+4297.2, -550, -230.01
+4297.2, -525, -219.26
+4297.2, -500, -208.49
+4297.2, -475, -197.7
+4297.2, -450, -186.9
+4297.2, -425, -176.07
+4297.2, -400, -165.24
+4297.2, -375, -154.38
+4297.2, -350, -143.51
+4297.2, -325, -132.62
+4297.2, -300, -121.71
+4297.2, -275, -110.79
+4297.2, -250, -99.852
+4297.2, -225, -88.896
+4297.2, -200, -77.923
+4297.2, -175, -66.933
+4297.2, -150, -55.927
+4297.2, -125, -44.904
+4297.2, -100, -33.863
+4297.2, -75, -22.806
+4297.2, -50, -11.733
+4297.2, -25, -0.64219
+4297.2, 0, 10.747
+4297.2, 25, 22.172
+4297.2, 50, 33.614
+4297.2, 75, 45.073
+4297.2, 100, 56.549
+4297.2, 125, 68.043
+4297.2, 150, 79.553
+4297.2, 175, 91.081
+4297.2, 200, 102.63
+4297.2, 225, 114.19
+4297.2, 250, 125.77
+4297.2, 275, 137.36
+4297.2, 300, 148.98
+4297.2, 325, 160.61
+4297.2, 350, 172.25
+4297.2, 375, 183.92
+4297.2, 400, 195.6
+4297.2, 425, 207.3
+4297.2, 450, 219.02
+4297.2, 475, 230.75
+4297.2, 500, 242.5
+4297.2, 525, 254.27
+4297.2, 550, 266.05
+4297.2, 575, 277.86
+4297.2, 600, 289.67
+4297.2, 625, 301.51
+4297.2, 650, 313.36
+4297.2, 675, 325.23
+4297.2, 700, 337.12
+4297.2, 725, 349.03
+4297.2, 750, 360.95
+4297.2, 775, 372.89
+4297.2, 800, 384.85
+4535.9, -800, -355.44
+4535.9, -775, -344.23
+4535.9, -750, -333.01
+4535.9, -725, -321.77
+4535.9, -700, -310.52
+4535.9, -675, -299.24
+4535.9, -650, -287.95
+4535.9, -625, -276.65
+4535.9, -600, -265.32
+4535.9, -575, -253.98
+4535.9, -550, -242.63
+4535.9, -525, -231.25
+4535.9, -500, -219.86
+4535.9, -475, -208.45
+4535.9, -450, -197.03
+4535.9, -425, -185.59
+4535.9, -400, -174.13
+4535.9, -375, -162.66
+4535.9, -350, -151.17
+4535.9, -325, -139.66
+4535.9, -300, -128.13
+4535.9, -275, -116.59
+4535.9, -250, -105.03
+4535.9, -225, -93.457
+4535.9, -200, -81.865
+4535.9, -175, -70.256
+4535.9, -150, -58.63
+4535.9, -125, -46.987
+4535.9, -100, -35.328
+4535.9, -75, -23.652
+4535.9, -50, -11.958
+4535.9, -25, -0.24855
+4535.9, 0, 11.784
+4535.9, 25, 23.84
+4535.9, 50, 35.914
+4535.9, 75, 48.005
+4535.9, 100, 60.113
+4535.9, 125, 72.238
+4535.9, 150, 84.381
+4535.9, 175, 96.54
+4535.9, 200, 108.72
+4535.9, 225, 120.91
+4535.9, 250, 133.12
+4535.9, 275, 145.35
+4535.9, 300, 157.59
+4535.9, 325, 169.86
+4535.9, 350, 182.14
+4535.9, 375, 194.43
+4535.9, 400, 206.75
+4535.9, 425, 219.08
+4535.9, 450, 231.43
+4535.9, 475, 243.79
+4535.9, 500, 256.17
+4535.9, 525, 268.57
+4535.9, 550, 280.99
+4535.9, 575, 293.42
+4535.9, 600, 305.88
+4535.9, 625, 318.34
+4535.9, 650, 330.83
+4535.9, 675, 343.33
+4535.9, 700, 355.85
+4535.9, 725, 368.39
+4535.9, 750, 380.94
+4535.9, 775, 393.51
+4535.9, 800, 406.1
+4774.6, -800, -374.2
+4774.6, -775, -362.38
+4774.6, -750, -350.53
+4774.6, -725, -338.67
+4774.6, -700, -326.8
+4774.6, -675, -314.91
+4774.6, -650, -303
+4774.6, -625, -291.07
+4774.6, -600, -279.13
+4774.6, -575, -267.17
+4774.6, -550, -255.19
+4774.6, -525, -243.2
+4774.6, -500, -231.19
+4774.6, -475, -219.16
+4774.6, -450, -207.12
+4774.6, -425, -195.06
+4774.6, -400, -182.98
+4774.6, -375, -170.89
+4774.6, -350, -158.78
+4774.6, -325, -146.65
+4774.6, -300, -134.51
+4774.6, -275, -122.35
+4774.6, -250, -110.17
+4774.6, -225, -97.973
+4774.6, -200, -85.761
+4774.6, -175, -73.533
+4774.6, -150, -61.288
+4774.6, -125, -49.026
+4774.6, -100, -36.747
+4774.6, -75, -24.451
+4774.6, -50, -12.139
+4774.6, -25, 0.19499
+4774.6, 0, 12.866
+4774.6, 25, 25.555
+4774.6, 50, 38.26
+4774.6, 75, 50.983
+4774.6, 100, 63.723
+4774.6, 125, 76.48
+4774.6, 150, 89.255
+4774.6, 175, 102.05
+4774.6, 200, 114.85
+4774.6, 225, 127.68
+4774.6, 250, 140.52
+4774.6, 275, 153.38
+4774.6, 300, 166.26
+4774.6, 325, 179.15
+4774.6, 350, 192.07
+4774.6, 375, 204.99
+4774.6, 400, 217.94
+4774.6, 425, 230.9
+4774.6, 450, 243.88
+4774.6, 475, 256.88
+4774.6, 500, 269.89
+4774.6, 525, 282.93
+4774.6, 550, 295.97
+4774.6, 575, 309.04
+4774.6, 600, 322.12
+4774.6, 625, 335.22
+4774.6, 650, 348.34
+4774.6, 675, 361.48
+4774.6, 700, 374.63
+4774.6, 725, 387.8
+4774.6, 750, 400.98
+4774.6, 775, 414.18
+4774.6, 800, 427.4
+4994.3, -800, -391.42
+4994.3, -775, -379.03
+4994.3, -750, -366.61
+4994.3, -725, -354.19
+4994.3, -700, -341.74
+4994.3, -675, -329.28
+4994.3, -650, -316.8
+4994.3, -625, -304.3
+4994.3, -600, -291.79
+4994.3, -575, -279.26
+4994.3, -550, -266.72
+4994.3, -525, -254.15
+4994.3, -500, -241.57
+4994.3, -475, -228.98
+4994.3, -450, -216.36
+4994.3, -425, -203.73
+4994.3, -400, -191.09
+4994.3, -375, -178.42
+4994.3, -350, -165.74
+4994.3, -325, -153.04
+4994.3, -300, -140.33
+4994.3, -275, -127.6
+4994.3, -250, -114.85
+4994.3, -225, -102.09
+4994.3, -200, -89.306
+4994.3, -175, -76.508
+4994.3, -150, -63.693
+4994.3, -125, -50.861
+4994.3, -100, -38.012
+4994.3, -75, -25.147
+4994.3, -50, -12.264
+4994.3, -25, 0.65077
+4994.3, 0, 13.903
+4994.3, 25, 27.173
+4994.3, 50, 40.46
+4994.3, 75, 53.764
+4994.3, 100, 67.086
+4994.3, 125, 80.424
+4994.3, 150, 93.78
+4994.3, 175, 107.15
+4994.3, 200, 120.54
+4994.3, 225, 133.95
+4994.3, 250, 147.37
+4994.3, 275, 160.81
+4994.3, 300, 174.27
+4994.3, 325, 187.75
+4994.3, 350, 201.24
+4994.3, 375, 214.75
+4994.3, 400, 228.28
+4994.3, 425, 241.82
+4994.3, 450, 255.38
+4994.3, 475, 268.96
+4994.3, 500, 282.56
+4994.3, 525, 296.17
+4994.3, 550, 309.8
+4994.3, 575, 323.45
+4994.3, 600, 337.11
+4994.3, 625, 350.79
+4994.3, 650, 364.49
+4994.3, 675, 378.21
+4994.3, 700, 391.94
+4994.3, 725, 405.69
+4994.3, 750, 419.46
+4994.3, 775, 433.24
+4994.3, 800, 447.04
diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/GenericMap240kW.vemo b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/GenericMap240kW.vemo
new file mode 100644
index 0000000000..3a3db6415f
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/GenericMap240kW.vemo
@@ -0,0 +1,2016 @@
+rpm, T, P_bat
+0, -1600, 19.6898
+0, -1550, 18.5438
+0, -1500, 17.4322
+0, -1450, 16.3546
+0, -1400, 15.3116
+0, -1350, 14.3028
+0, -1300, 13.3282
+0, -1250, 12.388
+0, -1200, 11.482
+0, -1150, 10.6104
+0, -1100, 9.7732
+0, -1050, 8.9702
+0, -1000, 8.2014
+0, -950, 7.467
+0, -900, 6.7668
+0, -850, 6.101
+0, -800, 5.4696
+0, -750, 4.8724
+0, -700, 4.3094
+0, -650, 3.7808
+0, -600, 3.2866
+0, -550, 2.8266
+0, -500, 2.4008
+0, -450, 2.0094
+0, -400, 1.65234
+0, -350, 1.32956
+0, -300, 1.04106
+0, -250, 0.78688
+0, -200, 0.56698
+0, -150, 0.3814
+0, -100, 0.23012
+0, -50, 0.113132
+0, 0, 0.0722
+0, 50, 0.173958
+0, 100, 0.31002
+0, 150, 0.48038
+0, 200, 0.68504
+0, 250, 0.924
+0, 300, 1.19728
+0, 350, 1.50484
+0, 400, 1.8467
+0, 450, 2.2228
+0, 500, 2.6334
+0, 550, 3.0782
+0, 600, 3.5572
+0, 650, 4.0706
+0, 700, 4.6182
+0, 750, 5.2002
+0, 800, 5.8166
+0, 850, 6.4672
+0, 900, 7.152
+0, 950, 7.8712
+0, 1000, 8.6246
+0, 1050, 9.4124
+0, 1100, 10.2346
+0, 1150, 11.091
+0, 1200, 11.9816
+0, 1250, 12.9066
+0, 1300, 13.866
+0, 1350, 14.8596
+0, 1400, 15.8874
+0, 1450, 16.9496
+0, 1500, 18.0462
+0, 1550, 19.177
+0, 1600, 20.342
+47.746, -1600, 11.6734
+47.746, -1550, 10.7802
+47.746, -1500, 9.9212
+47.746, -1450, 9.0964
+47.746, -1400, 8.306
+47.746, -1350, 7.55
+47.746, -1300, 6.8282
+47.746, -1250, 6.1408
+47.746, -1200, 5.4876
+47.746, -1150, 4.8688
+47.746, -1100, 4.2842
+47.746, -1050, 3.7338
+47.746, -1000, 3.218
+47.746, -950, 2.7362
+47.746, -900, 2.289
+47.746, -850, 1.87586
+47.746, -800, 1.4971
+47.746, -750, 1.15458
+47.746, -700, 0.8472
+47.746, -650, 0.57532
+47.746, -600, 0.33706
+47.746, -550, 0.132434
+47.746, -500, -0.038572
+47.746, -450, -0.175958
+47.746, -400, -0.27972
+47.746, -350, -0.34986
+47.746, -300, -0.38638
+47.746, -250, -0.38928
+47.746, -200, -0.35854
+47.746, -150, -0.2942
+47.746, -100, -0.19622
+47.746, -50, -0.064626
+47.746, 0, 0.1449
+47.746, 50, 0.49942
+47.746, 100, 0.88822
+47.746, 150, 1.31134
+47.746, 200, 1.76874
+47.746, 250, 2.2604
+47.746, 300, 2.7864
+47.746, 350, 3.3468
+47.746, 400, 3.9414
+47.746, 450, 4.5704
+47.746, 500, 5.2336
+47.746, 550, 5.931
+47.746, 600, 6.663
+47.746, 650, 7.429
+47.746, 700, 8.2294
+47.746, 750, 9.0642
+47.746, 800, 9.9332
+47.746, 850, 10.8366
+47.746, 900, 11.7742
+47.746, 950, 12.7462
+47.746, 1000, 13.7524
+47.746, 1050, 14.793
+47.746, 1100, 15.8678
+47.746, 1150, 16.977
+47.746, 1200, 18.1204
+47.746, 1250, 19.2982
+47.746, 1300, 20.51
+47.746, 1350, 21.756
+47.746, 1400, 23.038
+47.746, 1450, 24.352
+47.746, 1500, 25.702
+47.746, 1550, 27.084
+47.746, 1600, 28.502
+95.493, -1600, 3.6606
+95.493, -1550, 3.0202
+95.493, -1500, 2.415
+95.493, -1450, 1.84914
+95.493, -1400, 1.32068
+95.493, -1350, 0.82584
+95.493, -1300, 0.36462
+95.493, -1250, -0.062986
+95.493, -1200, -0.45696
+95.493, -1150, -0.81732
+95.493, -1100, -1.14404
+95.493, -1050, -1.43716
+95.493, -1000, -1.69664
+95.493, -950, -1.9225
+95.493, -900, -2.1148
+95.493, -850, -2.2734
+95.493, -800, -2.3984
+95.493, -750, -2.4898
+95.493, -700, -2.5474
+95.493, -650, -2.5716
+95.493, -600, -2.5622
+95.493, -550, -2.519
+95.493, -500, -2.4422
+95.493, -450, -2.3318
+95.493, -400, -2.1878
+95.493, -350, -2.0102
+95.493, -300, -1.79906
+95.493, -250, -1.5542
+95.493, -200, -1.27574
+95.493, -150, -0.96364
+95.493, -100, -0.61792
+95.493, -50, -0.23858
+95.493, 0, 0.2213
+95.493, 50, 0.82856
+95.493, 100, 1.47014
+95.493, 150, 2.146
+95.493, 200, 2.8562
+95.493, 250, 3.6006
+95.493, 300, 4.3794
+95.493, 350, 5.1924
+95.493, 400, 6.0398
+95.493, 450, 6.9216
+95.493, 500, 7.8376
+95.493, 550, 8.7878
+95.493, 600, 9.7724
+95.493, 650, 10.7912
+95.493, 700, 11.8444
+95.493, 750, 12.932
+95.493, 800, 14.0538
+95.493, 850, 15.2098
+95.493, 900, 16.4002
+95.493, 950, 17.6248
+95.493, 1000, 18.8838
+95.493, 1050, 20.178
+95.493, 1100, 21.504
+95.493, 1150, 22.866
+95.493, 1200, 24.262
+95.493, 1250, 25.694
+95.493, 1300, 27.158
+95.493, 1350, 28.658
+95.493, 1400, 30.19
+95.493, 1450, 31.758
+95.493, 1500, 33.36
+95.493, 1550, 34.996
+95.493, 1600, 36.668
+143.24, -1600, -4.2142
+143.24, -1550, -4.5958
+143.24, -1500, -4.9438
+143.24, -1450, -5.258
+143.24, -1400, -5.5388
+143.24, -1350, -5.7858
+143.24, -1300, -5.9994
+143.24, -1250, -6.1792
+143.24, -1200, -6.3254
+143.24, -1150, -6.438
+143.24, -1100, -6.517
+143.24, -1050, -6.5624
+143.24, -1000, -6.5742
+143.24, -950, -6.5522
+143.24, -900, -6.4968
+143.24, -850, -6.4076
+143.24, -800, -6.2848
+143.24, -750, -6.1284
+143.24, -700, -5.9384
+143.24, -650, -5.7148
+143.24, -600, -5.4576
+143.24, -550, -5.1668
+143.24, -500, -4.8422
+143.24, -450, -4.4842
+143.24, -400, -4.0924
+143.24, -350, -3.667
+143.24, -300, -3.208
+143.24, -250, -2.7154
+143.24, -200, -2.1892
+143.24, -150, -1.62942
+143.24, -100, -1.03596
+143.24, -50, -0.40888
+143.24, 0, 0.30144
+143.24, 50, 1.16144
+143.24, 100, 2.0558
+143.24, 150, 2.9844
+143.24, 200, 3.9474
+143.24, 250, 4.9446
+143.24, 300, 5.976
+143.24, 350, 7.0418
+143.24, 400, 8.142
+143.24, 450, 9.2764
+143.24, 500, 10.4452
+143.24, 550, 11.6482
+143.24, 600, 12.8856
+143.24, 650, 14.1572
+143.24, 700, 15.463
+143.24, 750, 16.8034
+143.24, 800, 18.1778
+143.24, 850, 19.5868
+143.24, 900, 21.03
+143.24, 950, 22.508
+143.24, 1000, 24.02
+143.24, 1050, 25.566
+143.24, 1100, 27.146
+143.24, 1150, 28.76
+143.24, 1200, 30.41
+143.24, 1250, 32.092
+143.24, 1300, 33.81
+143.24, 1350, 35.562
+143.24, 1400, 37.348
+143.24, 1450, 39.168
+143.24, 1500, 41.024
+143.24, 1550, 42.912
+143.24, 1600, 44.836
+190.99, -1600, -12.061
+190.99, -1550, -12.1948
+190.99, -1500, -12.295
+190.99, -1450, -12.3616
+190.99, -1400, -12.3946
+190.99, -1350, -12.394
+190.99, -1300, -12.3598
+190.99, -1250, -12.2918
+190.99, -1200, -12.1902
+190.99, -1150, -12.0552
+190.99, -1100, -11.8864
+190.99, -1050, -11.684
+190.99, -1000, -11.448
+190.99, -950, -11.1784
+190.99, -900, -10.8752
+190.99, -850, -10.5382
+190.99, -800, -10.1678
+190.99, -750, -9.7636
+190.99, -700, -9.3258
+190.99, -650, -8.8544
+190.99, -600, -8.3496
+190.99, -550, -7.8108
+190.99, -500, -7.2386
+190.99, -450, -6.6328
+190.99, -400, -5.9934
+190.99, -350, -5.3202
+190.99, -300, -4.6134
+190.99, -250, -3.8732
+190.99, -200, -3.0992
+190.99, -150, -2.2916
+190.99, -100, -1.45038
+190.99, -50, -0.57554
+190.99, 0, 0.38528
+190.99, 50, 1.49804
+190.99, 100, 2.6452
+190.99, 150, 3.8264
+190.99, 200, 5.0422
+190.99, 250, 6.2922
+190.99, 300, 7.5764
+190.99, 350, 8.895
+190.99, 400, 10.2478
+190.99, 450, 11.635
+190.99, 500, 13.0566
+190.99, 550, 14.5122
+190.99, 600, 16.0024
+190.99, 650, 17.5268
+190.99, 700, 19.0854
+190.99, 750, 20.678
+190.99, 800, 22.306
+190.99, 850, 23.968
+190.99, 900, 25.664
+190.99, 950, 27.394
+190.99, 1000, 29.158
+190.99, 1050, 30.956
+190.99, 1100, 32.79
+190.99, 1150, 34.658
+190.99, 1200, 36.558
+190.99, 1250, 38.494
+190.99, 1300, 40.466
+190.99, 1350, 42.47
+190.99, 1400, 44.508
+190.99, 1450, 46.582
+190.99, 1500, 48.69
+190.99, 1550, 50.832
+190.99, 1600, 53.008
+238.73, -1600, -19.9042
+238.73, -1550, -19.7902
+238.73, -1500, -19.6428
+238.73, -1450, -19.4616
+238.73, -1400, -19.2468
+238.73, -1350, -18.9984
+238.73, -1300, -18.7164
+238.73, -1250, -18.4008
+238.73, -1200, -18.0516
+238.73, -1150, -17.6686
+238.73, -1100, -17.252
+238.73, -1050, -16.802
+238.73, -1000, -16.3182
+238.73, -950, -15.8008
+238.73, -900, -15.2498
+238.73, -850, -14.6652
+238.73, -800, -14.047
+238.73, -750, -13.395
+238.73, -700, -12.7096
+238.73, -650, -11.9904
+238.73, -600, -11.2378
+238.73, -550, -10.4514
+238.73, -500, -9.6314
+238.73, -450, -8.7778
+238.73, -400, -7.8906
+238.73, -350, -6.9698
+238.73, -300, -6.0152
+238.73, -250, -5.0272
+238.73, -200, -4.0054
+238.73, -150, -2.95
+238.73, -100, -1.86114
+238.73, -50, -0.73856
+238.73, 0, 0.47282
+238.73, 50, 1.83834
+238.73, 100, 3.2382
+238.73, 150, 4.6722
+238.73, 200, 6.1408
+238.73, 250, 7.6434
+238.73, 300, 9.1804
+238.73, 350, 10.7518
+238.73, 400, 12.3574
+238.73, 450, 13.9974
+238.73, 500, 15.6716
+238.73, 550, 17.3802
+238.73, 600, 19.123
+238.73, 650, 20.9
+238.73, 700, 22.712
+238.73, 750, 24.558
+238.73, 800, 26.438
+238.73, 850, 28.352
+238.73, 900, 30.3
+238.73, 950, 32.284
+238.73, 1000, 34.3
+238.73, 1050, 36.352
+238.73, 1100, 38.438
+238.73, 1150, 40.558
+238.73, 1200, 42.712
+238.73, 1250, 44.902
+238.73, 1300, 47.124
+238.73, 1350, 49.382
+238.73, 1400, 51.674
+238.73, 1450, 54
+238.73, 1500, 56.36
+238.73, 1550, 58.754
+238.73, 1600, 61.184
+286.48, -1600, -27.744
+286.48, -1550, -27.382
+286.48, -1500, -26.986
+286.48, -1450, -26.558
+286.48, -1400, -26.096
+286.48, -1350, -25.6
+286.48, -1300, -25.07
+286.48, -1250, -24.506
+286.48, -1200, -23.91
+286.48, -1150, -23.278
+286.48, -1100, -22.614
+286.48, -1050, -21.916
+286.48, -1000, -21.184
+286.48, -950, -20.42
+286.48, -900, -19.621
+286.48, -850, -18.7886
+286.48, -800, -17.9226
+286.48, -750, -17.023
+286.48, -700, -16.0896
+286.48, -650, -15.1228
+286.48, -600, -14.1224
+286.48, -550, -13.0882
+286.48, -500, -12.0206
+286.48, -450, -10.9192
+286.48, -400, -9.7842
+286.48, -350, -8.6156
+286.48, -300, -7.4134
+286.48, -250, -6.1776
+286.48, -200, -4.908
+286.48, -150, -3.605
+286.48, -100, -2.2682
+286.48, -50, -0.89792
+286.48, 0, 0.5641
+286.48, 50, 2.1824
+286.48, 100, 3.835
+286.48, 150, 5.5218
+286.48, 200, 7.243
+286.48, 250, 8.9984
+286.48, 300, 10.7882
+286.48, 350, 12.6124
+286.48, 400, 14.4708
+286.48, 450, 16.3634
+286.48, 500, 18.2904
+286.48, 550, 20.252
+286.48, 600, 22.248
+286.48, 650, 24.278
+286.48, 700, 26.342
+286.48, 750, 28.44
+286.48, 800, 30.572
+286.48, 850, 32.74
+286.48, 900, 34.942
+286.48, 950, 37.176
+286.48, 1000, 39.446
+286.48, 1050, 41.752
+286.48, 1100, 44.09
+286.48, 1150, 46.462
+286.48, 1200, 48.87
+286.48, 1250, 51.312
+286.48, 1300, 53.788
+286.48, 1350, 56.298
+286.48, 1400, 58.842
+286.48, 1450, 61.42
+286.48, 1500, 64.034
+286.48, 1550, 66.68
+286.48, 1600, 69.362
+334.23, -1600, -35.58
+334.23, -1550, -34.97
+334.23, -1500, -34.328
+334.23, -1450, -33.65
+334.23, -1400, -32.94
+334.23, -1350, -32.196
+334.23, -1300, -31.418
+334.23, -1250, -30.608
+334.23, -1200, -29.762
+334.23, -1150, -28.884
+334.23, -1100, -27.972
+334.23, -1050, -27.026
+334.23, -1000, -26.048
+334.23, -950, -25.034
+334.23, -900, -23.988
+334.23, -850, -22.908
+334.23, -800, -21.794
+334.23, -750, -20.648
+334.23, -700, -19.4662
+334.23, -650, -18.2516
+334.23, -600, -17.0032
+334.23, -550, -15.7214
+334.23, -500, -14.406
+334.23, -450, -13.0568
+334.23, -400, -11.6742
+334.23, -350, -10.2578
+334.23, -300, -8.8078
+334.23, -250, -7.3242
+334.23, -200, -5.807
+334.23, -150, -4.2562
+334.23, -100, -2.6718
+334.23, -50, -1.05366
+334.23, 0, 0.65908
+334.23, 50, 2.5302
+334.23, 100, 4.4354
+334.23, 150, 6.375
+334.23, 200, 8.349
+334.23, 250, 10.3572
+334.23, 300, 12.3998
+334.23, 350, 14.4766
+334.23, 400, 16.5878
+334.23, 450, 18.7332
+334.23, 500, 20.912
+334.23, 550, 23.126
+334.23, 600, 25.376
+334.23, 650, 27.658
+334.23, 700, 29.974
+334.23, 750, 32.326
+334.23, 800, 34.712
+334.23, 850, 37.132
+334.23, 900, 39.586
+334.23, 950, 42.074
+334.23, 1000, 44.596
+334.23, 1050, 47.154
+334.23, 1100, 49.746
+334.23, 1150, 52.37
+334.23, 1200, 55.03
+334.23, 1250, 57.726
+334.23, 1300, 60.454
+334.23, 1350, 63.216
+334.23, 1400, 66.014
+334.23, 1450, 68.846
+334.23, 1500, 71.712
+334.23, 1550, 74.612
+334.23, 1600, 77.546
+381.97, -1600, -43.412
+381.97, -1550, -42.554
+381.97, -1500, -41.664
+381.97, -1450, -40.74
+381.97, -1400, -39.782
+381.97, -1350, -38.79
+381.97, -1300, -37.764
+381.97, -1250, -36.706
+381.97, -1200, -35.614
+381.97, -1150, -34.488
+381.97, -1100, -33.328
+381.97, -1050, -32.134
+381.97, -1000, -30.908
+381.97, -950, -29.646
+381.97, -900, -28.352
+381.97, -850, -27.024
+381.97, -800, -25.662
+381.97, -750, -24.268
+381.97, -700, -22.838
+381.97, -650, -21.376
+381.97, -600, -19.8806
+381.97, -550, -18.351
+381.97, -500, -16.7878
+381.97, -450, -15.191
+381.97, -400, -13.5604
+381.97, -350, -11.8964
+381.97, -300, -10.1986
+381.97, -250, -8.4674
+381.97, -200, -6.7024
+381.97, -150, -4.9038
+381.97, -100, -3.0716
+381.97, -50, -1.20576
+381.97, 0, 0.75778
+381.97, 50, 2.8816
+381.97, 100, 5.0396
+381.97, 150, 7.232
+381.97, 200, 9.4586
+381.97, 250, 11.7196
+381.97, 300, 14.015
+381.97, 350, 16.3446
+381.97, 400, 18.7084
+381.97, 450, 21.106
+381.97, 500, 23.54
+381.97, 550, 26.006
+381.97, 600, 28.508
+381.97, 650, 31.042
+381.97, 700, 33.612
+381.97, 750, 36.216
+381.97, 800, 38.854
+381.97, 850, 41.528
+381.97, 900, 44.234
+381.97, 950, 46.976
+381.97, 1000, 49.75
+381.97, 1050, 52.56
+381.97, 1100, 55.404
+381.97, 1150, 58.282
+381.97, 1200, 61.196
+381.97, 1250, 64.142
+381.97, 1300, 67.124
+381.97, 1350, 70.14
+381.97, 1400, 73.19
+381.97, 1450, 76.274
+381.97, 1500, 79.392
+381.97, 1550, 82.546
+381.97, 1600, 85.732
+429.72, -1600, -51.24
+429.72, -1550, -50.136
+429.72, -1500, -48.998
+429.72, -1450, -47.824
+429.72, -1400, -46.62
+429.72, -1350, -45.38
+429.72, -1300, -44.106
+429.72, -1250, -42.8
+429.72, -1200, -41.46
+429.72, -1150, -40.086
+429.72, -1100, -38.678
+429.72, -1050, -37.238
+429.72, -1000, -35.762
+429.72, -950, -34.254
+429.72, -900, -32.712
+429.72, -850, -31.136
+429.72, -800, -29.528
+429.72, -750, -27.884
+429.72, -700, -26.208
+429.72, -650, -24.498
+429.72, -600, -22.754
+429.72, -550, -20.976
+429.72, -500, -19.166
+429.72, -450, -17.3214
+429.72, -400, -15.4432
+429.72, -350, -13.5314
+429.72, -300, -11.5858
+429.72, -250, -9.6068
+429.72, -200, -7.594
+429.72, -150, -5.5478
+429.72, -100, -3.4678
+429.72, -50, -1.35422
+429.72, 0, 0.8602
+429.72, 50, 3.2368
+429.72, 100, 5.6476
+429.72, 150, 8.0926
+429.72, 200, 10.5722
+429.72, 250, 13.0858
+429.72, 300, 15.6338
+429.72, 350, 18.2162
+429.72, 400, 20.832
+429.72, 450, 23.484
+429.72, 500, 26.17
+429.72, 550, 28.888
+429.72, 600, 31.642
+429.72, 650, 34.43
+429.72, 700, 37.254
+429.72, 750, 40.11
+429.72, 800, 43
+429.72, 850, 45.926
+429.72, 900, 48.886
+429.72, 950, 51.88
+429.72, 1000, 54.908
+429.72, 1050, 57.97
+429.72, 1100, 61.068
+429.72, 1150, 64.198
+429.72, 1200, 67.364
+429.72, 1250, 70.564
+429.72, 1300, 73.798
+429.72, 1350, 77.066
+429.72, 1400, 80.37
+429.72, 1450, 83.706
+429.72, 1500, 87.078
+429.72, 1550, 90.482
+429.72, 1600, 93.922
+477.46, -1600, -59.066
+477.46, -1550, -57.712
+477.46, -1500, -56.326
+477.46, -1450, -54.906
+477.46, -1400, -53.454
+477.46, -1350, -51.966
+477.46, -1300, -50.446
+477.46, -1250, -48.89
+477.46, -1200, -47.302
+477.46, -1150, -45.682
+477.46, -1100, -44.026
+477.46, -1050, -42.338
+477.46, -1000, -40.614
+477.46, -950, -38.858
+477.46, -900, -37.068
+477.46, -850, -35.246
+477.46, -800, -33.388
+477.46, -750, -31.498
+477.46, -700, -29.574
+477.46, -650, -27.616
+477.46, -600, -25.624
+477.46, -550, -23.6
+477.46, -500, -21.54
+477.46, -450, -19.4482
+477.46, -400, -17.3222
+477.46, -350, -15.1626
+477.46, -300, -12.9694
+477.46, -250, -10.7426
+477.46, -200, -8.4822
+477.46, -150, -6.188
+477.46, -100, -3.8604
+477.46, -50, -1.49902
+477.46, 0, 0.96634
+477.46, 50, 3.5956
+477.46, 100, 6.2592
+477.46, 150, 8.957
+477.46, 200, 11.6892
+477.46, 250, 14.4558
+477.46, 300, 17.2566
+477.46, 350, 20.092
+477.46, 400, 22.962
+477.46, 450, 25.864
+477.46, 500, 28.802
+477.46, 550, 31.776
+477.46, 600, 34.782
+477.46, 650, 37.822
+477.46, 700, 40.898
+477.46, 750, 44.008
+477.46, 800, 47.152
+477.46, 850, 50.33
+477.46, 900, 53.542
+477.46, 950, 56.788
+477.46, 1000, 60.07
+477.46, 1050, 63.384
+477.46, 1100, 66.734
+477.46, 1150, 70.118
+477.46, 1200, 73.536
+477.46, 1250, 76.988
+477.46, 1300, 80.476
+477.46, 1350, 83.996
+477.46, 1400, 87.552
+477.46, 1450, 91.142
+477.46, 1500, 94.766
+477.46, 1550, 98.424
+477.46, 1600, 102.116
+525.21, -1600, -66.886
+525.21, -1550, -65.286
+525.21, -1500, -63.652
+525.21, -1450, -61.984
+525.21, -1400, -60.284
+525.21, -1350, -58.548
+525.21, -1300, -56.78
+525.21, -1250, -54.978
+525.21, -1200, -53.142
+525.21, -1150, -51.272
+525.21, -1100, -49.37
+525.21, -1050, -47.434
+525.21, -1000, -45.464
+525.21, -950, -43.46
+525.21, -900, -41.422
+525.21, -850, -39.35
+525.21, -800, -37.246
+525.21, -750, -35.108
+525.21, -700, -32.936
+525.21, -650, -30.73
+525.21, -600, -28.49
+525.21, -550, -26.218
+525.21, -500, -23.912
+525.21, -450, -21.572
+525.21, -400, -19.1976
+525.21, -350, -16.7902
+525.21, -300, -14.3494
+525.21, -250, -11.8748
+525.21, -200, -9.3666
+525.21, -150, -6.8248
+525.21, -100, -4.2492
+525.21, -50, -1.64018
+525.21, 0, 1.07618
+525.21, 50, 3.9582
+525.21, 100, 6.8746
+525.21, 150, 9.8252
+525.21, 200, 12.8102
+525.21, 250, 15.8294
+525.21, 300, 18.8828
+525.21, 350, 21.97
+525.21, 400, 25.092
+525.21, 450, 28.25
+525.21, 500, 31.44
+525.21, 550, 34.666
+525.21, 600, 37.924
+525.21, 650, 41.218
+525.21, 700, 44.546
+525.21, 750, 47.908
+525.21, 800, 51.304
+525.21, 850, 54.736
+525.21, 900, 58.2
+525.21, 950, 61.7
+525.21, 1000, 65.234
+525.21, 1050, 68.802
+525.21, 1100, 72.404
+525.21, 1150, 76.042
+525.21, 1200, 79.712
+525.21, 1250, 83.418
+525.21, 1300, 87.158
+525.21, 1350, 90.93
+525.21, 1400, 94.74
+525.21, 1450, 98.582
+525.21, 1500, 102.458
+525.21, 1550, 106.37
+525.21, 1600, 110.314
+572.96, -1600, -74.704
+572.96, -1550, -72.856
+572.96, -1500, -70.974
+572.96, -1450, -69.06
+572.96, -1400, -67.11
+572.96, -1350, -65.128
+572.96, -1300, -63.112
+572.96, -1250, -61.062
+572.96, -1200, -58.978
+572.96, -1150, -56.86
+572.96, -1100, -54.71
+572.96, -1050, -52.526
+572.96, -1000, -50.308
+572.96, -950, -48.056
+572.96, -900, -45.77
+572.96, -850, -43.452
+572.96, -800, -41.1
+572.96, -750, -38.714
+572.96, -700, -36.294
+572.96, -650, -33.84
+572.96, -600, -31.354
+572.96, -550, -28.832
+572.96, -500, -26.278
+572.96, -450, -23.69
+572.96, -400, -21.07
+572.96, -350, -18.4142
+572.96, -300, -15.7256
+572.96, -250, -13.0032
+572.96, -200, -10.2472
+572.96, -150, -7.4578
+572.96, -100, -4.6346
+572.96, -50, -1.77772
+572.96, 0, 1.18974
+572.96, 50, 4.3246
+572.96, 100, 7.4936
+572.96, 150, 10.697
+572.96, 200, 13.9346
+572.96, 250, 17.2066
+572.96, 300, 20.512
+572.96, 350, 23.854
+572.96, 400, 27.228
+572.96, 450, 30.638
+572.96, 500, 34.082
+572.96, 550, 37.558
+572.96, 600, 41.072
+572.96, 650, 44.618
+572.96, 700, 48.198
+572.96, 750, 51.814
+572.96, 800, 55.462
+572.96, 850, 59.146
+572.96, 900, 62.864
+572.96, 950, 66.616
+572.96, 1000, 70.402
+572.96, 1050, 74.224
+572.96, 1100, 78.078
+572.96, 1150, 81.968
+572.96, 1200, 85.892
+572.96, 1250, 89.85
+572.96, 1300, 93.842
+572.96, 1350, 97.868
+572.96, 1400, 101.93
+572.96, 1450, 106.024
+572.96, 1500, 110.154
+572.96, 1550, 114.318
+572.96, 1600, 118.516
+954.93, -1600, -137.114
+954.93, -1550, -133.284
+954.93, -1500, -129.422
+954.93, -1450, -125.524
+954.93, -1400, -121.592
+954.93, -1350, -117.628
+954.93, -1300, -113.63
+954.93, -1250, -109.598
+954.93, -1200, -105.532
+954.93, -1150, -101.434
+954.93, -1100, -97.3
+954.93, -1050, -93.134
+954.93, -1000, -88.934
+954.93, -950, -84.7
+954.93, -900, -80.434
+954.93, -850, -76.132
+954.93, -800, -71.798
+954.93, -750, -67.43
+954.93, -700, -63.028
+954.93, -650, -58.594
+954.93, -600, -54.124
+954.93, -550, -49.622
+954.93, -500, -45.086
+954.93, -450, -40.516
+954.93, -400, -35.912
+954.93, -350, -31.276
+954.93, -300, -26.604
+954.93, -250, -21.9
+954.93, -200, -17.1624
+954.93, -150, -12.3908
+954.93, -100, -7.5856
+954.93, -50, -2.7468
+954.93, 0, 2.232
+954.93, 50, 7.3888
+954.93, 100, 12.58
+954.93, 150, 17.8054
+954.93, 200, 23.066
+954.93, 250, 28.36
+954.93, 300, 33.688
+954.93, 350, 39.05
+954.93, 400, 44.446
+954.93, 450, 49.878
+954.93, 500, 55.344
+954.93, 550, 60.844
+954.93, 600, 66.378
+954.93, 650, 71.946
+954.93, 700, 77.548
+954.93, 750, 83.186
+954.93, 800, 88.858
+954.93, 850, 94.562
+954.93, 900, 100.302
+954.93, 950, 106.076
+954.93, 1000, 111.886
+954.93, 1050, 117.728
+954.93, 1100, 123.606
+954.93, 1150, 129.516
+954.93, 1200, 135.462
+954.93, 1250, 141.442
+954.93, 1300, 147.456
+954.93, 1350, 153.506
+954.93, 1400, 159.588
+954.93, 1450, 165.706
+954.93, 1500, 171.858
+954.93, 1550, 178.044
+954.93, 1600, 184.264
+1193.7, -1600, -176.004
+1193.7, -1550, -170.934
+1193.7, -1500, -165.832
+1193.7, -1450, -160.696
+1193.7, -1400, -155.526
+1193.7, -1350, -150.322
+1193.7, -1300, -145.086
+1193.7, -1250, -139.816
+1193.7, -1200, -134.51
+1193.7, -1150, -129.172
+1193.7, -1100, -123.802
+1193.7, -1050, -118.396
+1193.7, -1000, -112.958
+1193.7, -950, -107.486
+1193.7, -900, -101.98
+1193.7, -850, -96.44
+1193.7, -800, -90.866
+1193.7, -750, -85.26
+1193.7, -700, -79.62
+1193.7, -650, -73.946
+1193.7, -600, -68.238
+1193.7, -550, -62.496
+1193.7, -500, -56.722
+1193.7, -450, -50.912
+1193.7, -400, -45.07
+1193.7, -350, -39.194
+1193.7, -300, -33.286
+1193.7, -250, -27.342
+1193.7, -200, -21.366
+1193.7, -150, -15.3556
+1193.7, -100, -9.3116
+1193.7, -50, -3.2342
+1193.7, 0, 3.0042
+1193.7, 50, 9.4248
+1193.7, 100, 15.8796
+1193.7, 150, 22.368
+1193.7, 200, 28.892
+1193.7, 250, 35.45
+1193.7, 300, 42.042
+1193.7, 350, 48.668
+1193.7, 400, 55.33
+1193.7, 450, 62.024
+1193.7, 500, 68.754
+1193.7, 550, 75.516
+1193.7, 600, 82.314
+1193.7, 650, 89.148
+1193.7, 700, 96.014
+1193.7, 750, 102.914
+1193.7, 800, 109.85
+1193.7, 850, 116.818
+1193.7, 900, 123.822
+1193.7, 950, 130.86
+1193.7, 1000, 137.932
+1193.7, 1050, 145.04
+1193.7, 1100, 152.18
+1193.7, 1150, 159.356
+1193.7, 1200, 166.564
+1193.7, 1250, 173.808
+1193.7, 1300, 181.086
+1193.7, 1350, 188.4
+1193.7, 1400, 195.746
+1193.7, 1450, 203.12
+1193.7, 1500, 210.54
+1193.7, 1550, 218
+1193.7, 1600, 225.48
+1432.4, -1600, -214.8
+1432.4, -1550, -208.5
+1432.4, -1500, -202.16
+1432.4, -1450, -195.776
+1432.4, -1400, -189.368
+1432.4, -1350, -182.926
+1432.4, -1300, -176.45
+1432.4, -1250, -169.94
+1432.4, -1200, -163.398
+1432.4, -1150, -156.822
+1432.4, -1100, -150.212
+1432.4, -1050, -143.568
+1432.4, -1000, -136.89
+1432.4, -950, -130.178
+1432.4, -900, -123.434
+1432.4, -850, -116.656
+1432.4, -800, -109.844
+1432.4, -750, -102.998
+1432.4, -700, -96.12
+1432.4, -650, -89.206
+1432.4, -600, -82.26
+1432.4, -550, -75.28
+1432.4, -500, -68.266
+1432.4, -450, -61.22
+1432.4, -400, -54.138
+1432.4, -350, -47.024
+1432.4, -300, -39.876
+1432.4, -250, -32.694
+1432.4, -200, -25.478
+1432.4, -150, -18.2294
+1432.4, -100, -10.9468
+1432.4, -50, -3.6304
+1432.4, 0, 3.8692
+1432.4, 50, 11.5536
+1432.4, 100, 19.2722
+1432.4, 150, 27.026
+1432.4, 200, 34.812
+1432.4, 250, 42.634
+1432.4, 300, 50.49
+1432.4, 350, 58.38
+1432.4, 400, 66.304
+1432.4, 450, 74.262
+1432.4, 500, 82.256
+1432.4, 550, 90.284
+1432.4, 600, 98.346
+1432.4, 650, 106.44
+1432.4, 700, 114.572
+1432.4, 750, 122.736
+1432.4, 800, 130.934
+1432.4, 850, 139.168
+1432.4, 900, 147.436
+1432.4, 950, 155.736
+1432.4, 1000, 164.074
+1432.4, 1050, 172.444
+1432.4, 1100, 180.848
+1432.4, 1150, 189.288
+1432.4, 1200, 197.76
+1432.4, 1250, 206.26
+1432.4, 1300, 214.8
+1432.4, 1350, 223.38
+1432.4, 1400, 232
+1432.4, 1450, 240.64
+1432.4, 1500, 249.32
+1432.4, 1550, 258.04
+1432.4, 1600, 266.78
+1671.1, -1600, -253.5
+1671.1, -1550, -245.96
+1671.1, -1500, -238.38
+1671.1, -1450, -230.76
+1671.1, -1400, -223.12
+1671.1, -1350, -215.44
+1671.1, -1300, -207.72
+1671.1, -1250, -199.976
+1671.1, -1200, -192.194
+1671.1, -1150, -184.378
+1671.1, -1100, -176.53
+1671.1, -1050, -168.648
+1671.1, -1000, -160.732
+1671.1, -950, -152.782
+1671.1, -900, -144.798
+1671.1, -850, -136.782
+1671.1, -800, -128.73
+1671.1, -750, -120.646
+1671.1, -700, -112.528
+1671.1, -650, -104.376
+1671.1, -600, -96.192
+1671.1, -550, -87.972
+1671.1, -500, -79.72
+1671.1, -450, -71.434
+1671.1, -400, -63.114
+1671.1, -350, -54.762
+1671.1, -300, -46.374
+1671.1, -250, -37.954
+1671.1, -200, -29.5
+1671.1, -150, -21.012
+1671.1, -100, -12.4906
+1671.1, -50, -3.9356
+1671.1, 0, 4.8272
+1671.1, 50, 13.7752
+1671.1, 100, 22.758
+1671.1, 150, 31.774
+1671.1, 200, 40.826
+1671.1, 250, 49.91
+1671.1, 300, 59.03
+1671.1, 350, 68.184
+1671.1, 400, 77.372
+1671.1, 450, 86.594
+1671.1, 500, 95.852
+1671.1, 550, 105.142
+1671.1, 600, 114.468
+1671.1, 650, 123.828
+1671.1, 700, 133.222
+1671.1, 750, 142.65
+1671.1, 800, 152.112
+1671.1, 850, 161.61
+1671.1, 900, 171.14
+1671.1, 950, 180.706
+1671.1, 1000, 190.306
+1671.1, 1050, 199.94
+1671.1, 1100, 209.6
+1671.1, 1150, 219.32
+1671.1, 1200, 229.04
+1671.1, 1250, 238.82
+1671.1, 1300, 248.62
+1671.1, 1350, 258.46
+1671.1, 1400, 268.34
+1671.1, 1450, 278.24
+1671.1, 1500, 288.2
+1671.1, 1550, 298.16
+1671.1, 1600, 308.18
+1909.9, -1600, -292.12
+1909.9, -1550, -283.34
+1909.9, -1500, -274.52
+1909.9, -1450, -265.66
+1909.9, -1400, -256.78
+1909.9, -1350, -247.86
+1909.9, -1300, -238.9
+1909.9, -1250, -229.92
+1909.9, -1200, -220.9
+1909.9, -1150, -211.84
+1909.9, -1100, -202.76
+1909.9, -1050, -193.636
+1909.9, -1000, -184.482
+1909.9, -950, -175.292
+1909.9, -900, -166.07
+1909.9, -850, -156.814
+1909.9, -800, -147.526
+1909.9, -750, -138.202
+1909.9, -700, -128.846
+1909.9, -650, -119.456
+1909.9, -600, -110.032
+1909.9, -550, -100.574
+1909.9, -500, -91.084
+1909.9, -450, -81.558
+1909.9, -400, -72
+1909.9, -350, -62.408
+1909.9, -300, -52.782
+1909.9, -250, -43.124
+1909.9, -200, -33.43
+1909.9, -150, -23.704
+1909.9, -100, -13.9436
+1909.9, -50, -4.1498
+1909.9, 0, 5.878
+1909.9, 50, 16.0898
+1909.9, 100, 26.336
+1909.9, 150, 36.616
+1909.9, 200, 46.932
+1909.9, 250, 57.28
+1909.9, 300, 67.664
+1909.9, 350, 78.082
+1909.9, 400, 88.534
+1909.9, 450, 99.02
+1909.9, 500, 109.54
+1909.9, 550, 120.094
+1909.9, 600, 130.684
+1909.9, 650, 141.308
+1909.9, 700, 151.966
+1909.9, 750, 162.658
+1909.9, 800, 173.384
+1909.9, 850, 184.144
+1909.9, 900, 194.94
+1909.9, 950, 205.76
+1909.9, 1000, 216.64
+1909.9, 1050, 227.54
+1909.9, 1100, 238.46
+1909.9, 1150, 249.42
+1909.9, 1200, 260.42
+1909.9, 1250, 271.46
+1909.9, 1300, 282.54
+1909.9, 1350, 293.64
+1909.9, 1400, 304.78
+1909.9, 1450, 315.94
+1909.9, 1500, 327.16
+1909.9, 1550, 338.4
+1909.9, 1600, 349.68
+2148.6, -1600, -330.64
+2148.6, -1550, -320.62
+2148.6, -1500, -310.56
+2148.6, -1450, -300.48
+2148.6, -1400, -290.34
+2148.6, -1350, -280.2
+2148.6, -1300, -270
+2148.6, -1250, -259.78
+2148.6, -1200, -249.52
+2148.6, -1150, -239.22
+2148.6, -1100, -228.9
+2148.6, -1050, -218.54
+2148.6, -1000, -208.14
+2148.6, -950, -197.714
+2148.6, -900, -187.252
+2148.6, -850, -176.758
+2148.6, -800, -166.23
+2148.6, -750, -155.668
+2148.6, -700, -145.072
+2148.6, -650, -134.444
+2148.6, -600, -123.782
+2148.6, -550, -113.084
+2148.6, -500, -102.354
+2148.6, -450, -91.592
+2148.6, -400, -80.794
+2148.6, -350, -69.964
+2148.6, -300, -59.1
+2148.6, -250, -48.202
+2148.6, -200, -37.27
+2148.6, -150, -26.304
+2148.6, -100, -15.3056
+2148.6, -50, -4.273
+2148.6, 0, 7.0216
+2148.6, 50, 18.4972
+2148.6, 100, 30.008
+2148.6, 150, 41.552
+2148.6, 200, 53.13
+2148.6, 250, 64.742
+2148.6, 300, 76.39
+2148.6, 350, 88.072
+2148.6, 400, 99.786
+2148.6, 450, 111.536
+2148.6, 500, 123.322
+2148.6, 550, 135.14
+2148.6, 600, 146.992
+2148.6, 650, 158.88
+2148.6, 700, 170.802
+2148.6, 750, 182.758
+2148.6, 800, 194.748
+2148.6, 850, 206.78
+2148.6, 900, 218.84
+2148.6, 950, 230.92
+2148.6, 1000, 243.06
+2148.6, 1050, 255.22
+2148.6, 1100, 267.4
+2148.6, 1150, 279.64
+2148.6, 1200, 291.9
+2148.6, 1250, 304.2
+2148.6, 1300, 316.54
+2148.6, 1350, 328.9
+2148.6, 1400, 341.3
+2148.6, 1450, 353.74
+2148.6, 1500, 366.22
+2148.6, 1550, 378.72
+2148.6, 1600, 391.26
+2387.3, -1600, -369.08
+2387.3, -1550, -357.82
+2387.3, -1500, -346.52
+2387.3, -1450, -335.18
+2387.3, -1400, -323.82
+2387.3, -1350, -312.42
+2387.3, -1300, -301
+2387.3, -1250, -289.54
+2387.3, -1200, -278.04
+2387.3, -1150, -266.5
+2387.3, -1100, -254.94
+2387.3, -1050, -243.34
+2387.3, -1000, -231.7
+2387.3, -950, -220.04
+2387.3, -900, -208.34
+2387.3, -850, -196.61
+2387.3, -800, -184.842
+2387.3, -750, -173.042
+2387.3, -700, -161.208
+2387.3, -650, -149.34
+2387.3, -600, -137.44
+2387.3, -550, -125.504
+2387.3, -500, -113.536
+2387.3, -450, -101.534
+2387.3, -400, -89.498
+2387.3, -350, -77.428
+2387.3, -300, -65.324
+2387.3, -250, -53.188
+2387.3, -200, -41.018
+2387.3, -150, -28.814
+2387.3, -100, -16.5764
+2387.3, -50, -4.3052
+2387.3, 0, 8.2582
+2387.3, 50, 20.998
+2387.3, 100, 33.772
+2387.3, 150, 46.58
+2387.3, 200, 59.422
+2387.3, 250, 72.298
+2387.3, 300, 85.208
+2387.3, 350, 98.154
+2387.3, 400, 111.134
+2387.3, 450, 124.148
+2387.3, 500, 137.196
+2387.3, 550, 150.278
+2387.3, 600, 163.394
+2387.3, 650, 176.546
+2387.3, 700, 189.73
+2387.3, 750, 202.96
+2387.3, 800, 216.2
+2387.3, 850, 229.5
+2387.3, 900, 242.82
+2387.3, 950, 256.18
+2387.3, 1000, 269.56
+2387.3, 1050, 282.98
+2387.3, 1100, 296.44
+2387.3, 1150, 309.94
+2387.3, 1200, 323.48
+2387.3, 1250, 337.04
+2387.3, 1300, 350.62
+2387.3, 1350, 364.26
+2387.3, 1400, 377.92
+2387.3, 1450, 391.62
+2387.3, 1500, 405.36
+2387.3, 1550, 419.12
+2387.3, 1600, 432.94
+2626.1, -1600, -407.42
+2626.1, -1550, -394.92
+2626.1, -1500, -382.38
+2626.1, -1450, -369.82
+2626.1, -1400, -357.22
+2626.1, -1350, -344.58
+2626.1, -1300, -331.9
+2626.1, -1250, -319.2
+2626.1, -1200, -306.46
+2626.1, -1150, -293.7
+2626.1, -1100, -280.9
+2626.1, -1050, -268.06
+2626.1, -1000, -255.18
+2626.1, -950, -242.28
+2626.1, -900, -229.34
+2626.1, -850, -216.38
+2626.1, -800, -203.36
+2626.1, -750, -190.326
+2626.1, -700, -177.252
+2626.1, -650, -164.146
+2626.1, -600, -151.006
+2626.1, -550, -137.832
+2626.1, -500, -124.626
+2626.1, -450, -111.384
+2626.1, -400, -98.11
+2626.1, -350, -84.802
+2626.1, -300, -71.46
+2626.1, -250, -58.084
+2626.1, -200, -44.676
+2626.1, -150, -31.232
+2626.1, -100, -17.7562
+2626.1, -50, -4.2462
+2626.1, 0, 9.5876
+2626.1, 50, 23.59
+2626.1, 100, 37.628
+2626.1, 150, 51.7
+2626.1, 200, 65.806
+2626.1, 250, 79.946
+2626.1, 300, 94.12
+2626.1, 350, 108.33
+2626.1, 400, 122.574
+2626.1, 450, 136.85
+2626.1, 500, 151.162
+2626.1, 550, 165.508
+2626.1, 600, 179.89
+2626.1, 650, 194.304
+2626.1, 700, 208.76
+2626.1, 750, 223.24
+2626.1, 800, 237.76
+2626.1, 850, 252.3
+2626.1, 900, 266.9
+2626.1, 950, 281.52
+2626.1, 1000, 296.16
+2626.1, 1050, 310.86
+2626.1, 1100, 325.58
+2626.1, 1150, 340.34
+2626.1, 1200, 355.14
+2626.1, 1250, 369.96
+2626.1, 1300, 384.82
+2626.1, 1350, 399.72
+2626.1, 1400, 414.64
+2626.1, 1450, 429.6
+2626.1, 1500, 444.6
+2626.1, 1550, 459.64
+2626.1, 1600, 474.7
+2864.8, -1600, -445.68
+2864.8, -1550, -431.94
+2864.8, -1500, -418.16
+2864.8, -1450, -404.36
+2864.8, -1400, -390.5
+2864.8, -1350, -376.64
+2864.8, -1300, -362.72
+2864.8, -1250, -348.78
+2864.8, -1200, -334.8
+2864.8, -1150, -320.8
+2864.8, -1100, -306.76
+2864.8, -1050, -292.68
+2864.8, -1000, -278.58
+2864.8, -950, -264.42
+2864.8, -900, -250.26
+2864.8, -850, -236.04
+2864.8, -800, -221.8
+2864.8, -750, -207.52
+2864.8, -700, -193.206
+2864.8, -650, -178.862
+2864.8, -600, -164.482
+2864.8, -550, -150.07
+2864.8, -500, -135.624
+2864.8, -450, -121.144
+2864.8, -400, -106.63
+2864.8, -350, -92.084
+2864.8, -300, -77.504
+2864.8, -250, -62.89
+2864.8, -200, -48.242
+2864.8, -150, -33.56
+2864.8, -100, -18.845
+2864.8, -50, -4.0962
+2864.8, 0, 11.01
+2864.8, 50, 26.276
+2864.8, 100, 41.578
+2864.8, 150, 56.914
+2864.8, 200, 72.284
+2864.8, 250, 87.688
+2864.8, 300, 103.126
+2864.8, 350, 118.598
+2864.8, 400, 134.106
+2864.8, 450, 149.646
+2864.8, 500, 165.222
+2864.8, 550, 180.832
+2864.8, 600, 196.476
+2864.8, 650, 212.16
+2864.8, 700, 227.86
+2864.8, 750, 243.62
+2864.8, 800, 259.4
+2864.8, 850, 275.22
+2864.8, 900, 291.06
+2864.8, 950, 306.94
+2864.8, 1000, 322.86
+2864.8, 1050, 338.82
+2864.8, 1100, 354.8
+2864.8, 1150, 370.82
+2864.8, 1200, 386.88
+2864.8, 1250, 402.98
+2864.8, 1300, 419.1
+2864.8, 1350, 435.26
+2864.8, 1400, 451.44
+2864.8, 1450, 467.68
+2864.8, 1500, 483.94
+2864.8, 1550, 500.24
+2864.8, 1600, 516.56
+3103.5, -1600, -483.84
+3103.5, -1550, -468.86
+3103.5, -1500, -453.84
+3103.5, -1450, -438.8
+3103.5, -1400, -423.72
+3103.5, -1350, -408.6
+3103.5, -1300, -393.46
+3103.5, -1250, -378.28
+3103.5, -1200, -363.06
+3103.5, -1150, -347.82
+3103.5, -1100, -332.54
+3103.5, -1050, -317.22
+3103.5, -1000, -301.86
+3103.5, -950, -286.48
+3103.5, -900, -271.06
+3103.5, -850, -255.62
+3103.5, -800, -240.14
+3103.5, -750, -224.62
+3103.5, -700, -209.06
+3103.5, -650, -193.486
+3103.5, -600, -177.868
+3103.5, -550, -162.216
+3103.5, -500, -146.532
+3103.5, -450, -130.814
+3103.5, -400, -115.062
+3103.5, -350, -99.276
+3103.5, -300, -83.456
+3103.5, -250, -67.604
+3103.5, -200, -51.716
+3103.5, -150, -35.796
+3103.5, -100, -19.8426
+3103.5, -50, -3.8552
+3103.5, 0, 12.5252
+3103.5, 50, 29.056
+3103.5, 100, 45.62
+3103.5, 150, 62.22
+3103.5, 200, 78.854
+3103.5, 250, 95.522
+3103.5, 300, 112.224
+3103.5, 350, 128.96
+3103.5, 400, 145.73
+3103.5, 450, 162.536
+3103.5, 500, 179.376
+3103.5, 550, 196.25
+3103.5, 600, 213.16
+3103.5, 650, 230.1
+3103.5, 700, 247.08
+3103.5, 750, 264.08
+3103.5, 800, 281.14
+3103.5, 850, 298.22
+3103.5, 900, 315.32
+3103.5, 950, 332.48
+3103.5, 1000, 349.66
+3103.5, 1050, 366.88
+3103.5, 1100, 384.12
+3103.5, 1150, 401.4
+3103.5, 1200, 418.72
+3103.5, 1250, 436.08
+3103.5, 1300, 453.48
+3103.5, 1350, 470.9
+3103.5, 1400, 488.34
+3103.5, 1450, 505.84
+3103.5, 1500, 523.36
+3103.5, 1550, 540.92
+3103.5, 1600, 558.52
+3342.3, -1600, -521.9
+3342.3, -1550, -505.68
+3342.3, -1500, -489.44
+3342.3, -1450, -473.14
+3342.3, -1400, -456.82
+3342.3, -1350, -440.48
+3342.3, -1300, -424.1
+3342.3, -1250, -407.68
+3342.3, -1200, -391.22
+3342.3, -1150, -374.74
+3342.3, -1100, -358.22
+3342.3, -1050, -341.66
+3342.3, -1000, -325.08
+3342.3, -950, -308.44
+3342.3, -900, -291.8
+3342.3, -850, -275.1
+3342.3, -800, -258.38
+3342.3, -750, -241.62
+3342.3, -700, -224.84
+3342.3, -650, -208.02
+3342.3, -600, -191.162
+3342.3, -550, -174.272
+3342.3, -500, -157.348
+3342.3, -450, -140.39
+3342.3, -400, -123.4
+3342.3, -350, -106.376
+3342.3, -300, -89.318
+3342.3, -250, -72.226
+3342.3, -200, -55.1
+3342.3, -150, -37.942
+3342.3, -100, -20.75
+3342.3, -50, -3.5232
+3342.3, 0, 14.1334
+3342.3, 50, 31.928
+3342.3, 100, 49.756
+3342.3, 150, 67.62
+3342.3, 200, 85.516
+3342.3, 250, 103.448
+3342.3, 300, 121.414
+3342.3, 350, 139.414
+3342.3, 400, 157.45
+3342.3, 450, 175.518
+3342.3, 500, 193.622
+3342.3, 550, 211.76
+3342.3, 600, 229.94
+3342.3, 650, 248.14
+3342.3, 700, 266.38
+3342.3, 750, 284.66
+3342.3, 800, 302.96
+3342.3, 850, 321.3
+3342.3, 900, 339.68
+3342.3, 950, 358.1
+3342.3, 1000, 376.54
+3342.3, 1050, 395.02
+3342.3, 1100, 413.54
+3342.3, 1150, 432.08
+3342.3, 1200, 450.66
+3342.3, 1250, 469.28
+3342.3, 1300, 487.94
+3342.3, 1350, 506.62
+3342.3, 1400, 525.34
+3342.3, 1450, 544.1
+3342.3, 1500, 562.88
+3342.3, 1550, 581.72
+3342.3, 1600, 600.56
+3581, -1600, -559.88
+3581, -1550, -542.42
+3581, -1500, -524.94
+3581, -1450, -507.4
+3581, -1400, -489.86
+3581, -1350, -472.26
+3581, -1300, -454.64
+3581, -1250, -436.98
+3581, -1200, -419.28
+3581, -1150, -401.56
+3581, -1100, -383.8
+3581, -1050, -366
+3581, -1000, -348.18
+3581, -950, -330.32
+3581, -900, -312.44
+3581, -850, -294.5
+3581, -800, -276.54
+3581, -750, -258.54
+3581, -700, -240.52
+3581, -650, -222.46
+3581, -600, -204.36
+3581, -550, -186.236
+3581, -500, -168.074
+3581, -450, -149.878
+3581, -400, -131.648
+3581, -350, -113.386
+3581, -300, -95.088
+3581, -250, -76.758
+3581, -200, -58.394
+3581, -150, -39.996
+3581, -100, -21.564
+3581, -50, -3.1
+3581, 0, 15.8344
+3581, 50, 34.892
+3581, 100, 53.986
+3581, 150, 73.112
+3581, 200, 92.272
+3581, 250, 111.468
+3581, 300, 130.698
+3581, 350, 149.962
+3581, 400, 169.26
+3581, 450, 188.592
+3581, 500, 207.96
+3581, 550, 227.36
+3581, 600, 246.8
+3581, 650, 266.26
+3581, 700, 285.78
+3581, 750, 305.3
+3581, 800, 324.88
+3581, 850, 344.48
+3581, 900, 364.12
+3581, 950, 383.8
+3581, 1000, 403.52
+3581, 1050, 423.26
+3581, 1100, 443.04
+3581, 1150, 462.86
+3581, 1200, 482.7
+3581, 1250, 502.58
+3581, 1300, 522.5
+3581, 1350, 542.44
+3581, 1400, 562.42
+3581, 1450, 582.44
+3581, 1500, 602.5
+3581, 1550, 622.58
+3581, 1600, 642.7
+3819.7, -1600, -597.76
+3819.7, -1550, -579.06
+3819.7, -1500, -560.34
+3819.7, -1450, -541.58
+3819.7, -1400, -522.78
+3819.7, -1350, -503.96
+3819.7, -1300, -485.08
+3819.7, -1250, -466.2
+3819.7, -1200, -447.26
+3819.7, -1150, -428.3
+3819.7, -1100, -409.3
+3819.7, -1050, -390.28
+3819.7, -1000, -371.2
+3819.7, -950, -352.1
+3819.7, -900, -332.98
+3819.7, -850, -313.8
+3819.7, -800, -294.6
+3819.7, -750, -275.38
+3819.7, -700, -256.12
+3819.7, -650, -236.82
+3819.7, -600, -217.48
+3819.7, -550, -198.11
+3819.7, -500, -178.708
+3819.7, -450, -159.274
+3819.7, -400, -139.806
+3819.7, -350, -120.304
+3819.7, -300, -100.768
+3819.7, -250, -81.198
+3819.7, -200, -61.596
+3819.7, -150, -41.96
+3819.7, -100, -22.29
+3819.7, -50, -2.5858
+3819.7, 0, 17.6282
+3819.7, 50, 37.95
+3819.7, 100, 58.306
+3819.7, 150, 78.696
+3819.7, 200, 99.122
+3819.7, 250, 119.58
+3819.7, 300, 140.074
+3819.7, 350, 160.602
+3819.7, 400, 181.164
+3819.7, 450, 201.76
+3819.7, 500, 222.4
+3819.7, 550, 243.06
+3819.7, 600, 263.76
+3819.7, 650, 284.48
+3819.7, 700, 305.26
+3819.7, 750, 326.06
+3819.7, 800, 346.9
+3819.7, 850, 367.76
+3819.7, 900, 388.68
+3819.7, 950, 409.62
+3819.7, 1000, 430.58
+3819.7, 1050, 451.6
+3819.7, 1100, 472.64
+3819.7, 1150, 493.72
+3819.7, 1200, 514.82
+3819.7, 1250, 535.96
+3819.7, 1300, 557.14
+3819.7, 1350, 578.36
+3819.7, 1400, 599.6
+3819.7, 1450, 620.9
+3819.7, 1500, 642.2
+3819.7, 1550, 663.56
+3819.7, 1600, 684.94
+4058.5, -1600, -635.56
+4058.5, -1550, -615.62
+4058.5, -1500, -595.66
+4058.5, -1450, -575.66
+4058.5, -1400, -555.62
+4058.5, -1350, -535.56
+4058.5, -1300, -515.46
+4058.5, -1250, -495.32
+4058.5, -1200, -475.14
+4058.5, -1150, -454.94
+4058.5, -1100, -434.7
+4058.5, -1050, -414.44
+4058.5, -1000, -394.14
+4058.5, -950, -373.8
+4058.5, -900, -353.42
+4058.5, -850, -333.02
+4058.5, -800, -312.58
+4058.5, -750, -292.12
+4058.5, -700, -271.6
+4058.5, -650, -251.06
+4058.5, -600, -230.5
+4058.5, -550, -209.9
+4058.5, -500, -189.252
+4058.5, -450, -168.578
+4058.5, -400, -147.872
+4058.5, -350, -127.13
+4058.5, -300, -106.356
+4058.5, -250, -85.548
+4058.5, -200, -64.706
+4058.5, -150, -43.832
+4058.5, -100, -22.924
+4058.5, -50, -1.98064
+4058.5, 0, 19.515
+4058.5, 50, 41.1
+4058.5, 100, 62.72
+4058.5, 150, 84.376
+4058.5, 200, 106.064
+4058.5, 250, 127.786
+4058.5, 300, 149.544
+4058.5, 350, 171.336
+4058.5, 400, 193.162
+4058.5, 450, 215.02
+4058.5, 500, 236.92
+4058.5, 550, 258.84
+4058.5, 600, 280.8
+4058.5, 650, 302.8
+4058.5, 700, 324.84
+4058.5, 750, 346.9
+4058.5, 800, 369
+4058.5, 850, 391.14
+4058.5, 900, 413.3
+4058.5, 950, 435.5
+4058.5, 1000, 457.74
+4058.5, 1050, 480.02
+4058.5, 1100, 502.32
+4058.5, 1150, 524.66
+4058.5, 1200, 547.04
+4058.5, 1250, 569.44
+4058.5, 1300, 591.9
+4058.5, 1350, 614.36
+4058.5, 1400, 636.88
+4058.5, 1450, 659.42
+4058.5, 1500, 682
+4058.5, 1550, 704.62
+4058.5, 1600, 727.28
+4297.2, -1600, -673.26
+4297.2, -1550, -652.1
+4297.2, -1500, -630.88
+4297.2, -1450, -609.64
+4297.2, -1400, -588.38
+4297.2, -1350, -567.06
+4297.2, -1300, -545.72
+4297.2, -1250, -524.36
+4297.2, -1200, -502.94
+4297.2, -1150, -481.5
+4297.2, -1100, -460.02
+4297.2, -1050, -438.52
+4297.2, -1000, -416.98
+4297.2, -950, -395.4
+4297.2, -900, -373.8
+4297.2, -850, -352.14
+4297.2, -800, -330.48
+4297.2, -750, -308.76
+4297.2, -700, -287.02
+4297.2, -650, -265.24
+4297.2, -600, -243.42
+4297.2, -550, -221.58
+4297.2, -500, -199.704
+4297.2, -450, -177.792
+4297.2, -400, -155.846
+4297.2, -350, -133.866
+4297.2, -300, -111.854
+4297.2, -250, -89.808
+4297.2, -200, -67.726
+4297.2, -150, -45.612
+4297.2, -100, -23.466
+4297.2, -50, -1.28438
+4297.2, 0, 21.494
+4297.2, 50, 44.344
+4297.2, 100, 67.228
+4297.2, 150, 90.146
+4297.2, 200, 113.098
+4297.2, 250, 136.086
+4297.2, 300, 159.106
+4297.2, 350, 182.162
+4297.2, 400, 205.26
+4297.2, 450, 228.38
+4297.2, 500, 251.54
+4297.2, 550, 274.72
+4297.2, 600, 297.96
+4297.2, 650, 321.22
+4297.2, 700, 344.5
+4297.2, 750, 367.84
+4297.2, 800, 391.2
+4297.2, 850, 414.6
+4297.2, 900, 438.04
+4297.2, 950, 461.5
+4297.2, 1000, 485
+4297.2, 1050, 508.54
+4297.2, 1100, 532.1
+4297.2, 1150, 555.72
+4297.2, 1200, 579.34
+4297.2, 1250, 603.02
+4297.2, 1300, 626.72
+4297.2, 1350, 650.46
+4297.2, 1400, 674.24
+4297.2, 1450, 698.06
+4297.2, 1500, 721.9
+4297.2, 1550, 745.78
+4297.2, 1600, 769.7
+4535.9, -1600, -710.88
+4535.9, -1550, -688.46
+4535.9, -1500, -666.02
+4535.9, -1450, -643.54
+4535.9, -1400, -621.04
+4535.9, -1350, -598.48
+4535.9, -1300, -575.9
+4535.9, -1250, -553.3
+4535.9, -1200, -530.64
+4535.9, -1150, -507.96
+4535.9, -1100, -485.26
+4535.9, -1050, -462.5
+4535.9, -1000, -439.72
+4535.9, -950, -416.9
+4535.9, -900, -394.06
+4535.9, -850, -371.18
+4535.9, -800, -348.26
+4535.9, -750, -325.32
+4535.9, -700, -302.34
+4535.9, -650, -279.32
+4535.9, -600, -256.26
+4535.9, -550, -233.18
+4535.9, -500, -210.06
+4535.9, -450, -186.914
+4535.9, -400, -163.73
+4535.9, -350, -140.512
+4535.9, -300, -117.26
+4535.9, -250, -93.974
+4535.9, -200, -70.656
+4535.9, -150, -47.304
+4535.9, -100, -23.916
+4535.9, -50, -0.4971
+4535.9, 0, 23.568
+4535.9, 50, 47.68
+4535.9, 100, 71.828
+4535.9, 150, 96.01
+4535.9, 200, 120.226
+4535.9, 250, 144.476
+4535.9, 300, 168.762
+4535.9, 350, 193.08
+4535.9, 400, 217.44
+4535.9, 450, 241.82
+4535.9, 500, 266.24
+4535.9, 550, 290.7
+4535.9, 600, 315.18
+4535.9, 650, 339.72
+4535.9, 700, 364.28
+4535.9, 750, 388.86
+4535.9, 800, 413.5
+4535.9, 850, 438.16
+4535.9, 900, 462.86
+4535.9, 950, 487.58
+4535.9, 1000, 512.34
+4535.9, 1050, 537.14
+4535.9, 1100, 561.98
+4535.9, 1150, 586.84
+4535.9, 1200, 611.76
+4535.9, 1250, 636.68
+4535.9, 1300, 661.66
+4535.9, 1350, 686.66
+4535.9, 1400, 711.7
+4535.9, 1450, 736.78
+4535.9, 1500, 761.88
+4535.9, 1550, 787.02
+4535.9, 1600, 812.2
+4774.6, -1600, -748.4
+4774.6, -1550, -724.76
+4774.6, -1500, -701.06
+4774.6, -1450, -677.34
+4774.6, -1400, -653.6
+4774.6, -1350, -629.82
+4774.6, -1300, -606
+4774.6, -1250, -582.14
+4774.6, -1200, -558.26
+4774.6, -1150, -534.34
+4774.6, -1100, -510.38
+4774.6, -1050, -486.4
+4774.6, -1000, -462.38
+4774.6, -950, -438.32
+4774.6, -900, -414.24
+4774.6, -850, -390.12
+4774.6, -800, -365.96
+4774.6, -750, -341.78
+4774.6, -700, -317.56
+4774.6, -650, -293.3
+4774.6, -600, -269.02
+4774.6, -550, -244.7
+4774.6, -500, -220.34
+4774.6, -450, -195.946
+4774.6, -400, -171.522
+4774.6, -350, -147.066
+4774.6, -300, -122.576
+4774.6, -250, -98.052
+4774.6, -200, -73.494
+4774.6, -150, -48.902
+4774.6, -100, -24.278
+4774.6, -50, 0.38998
+4774.6, 0, 25.732
+4774.6, 50, 51.11
+4774.6, 100, 76.52
+4774.6, 150, 101.966
+4774.6, 200, 127.446
+4774.6, 250, 152.96
+4774.6, 300, 178.51
+4774.6, 350, 204.1
+4774.6, 400, 229.7
+4774.6, 450, 255.36
+4774.6, 500, 281.04
+4774.6, 550, 306.76
+4774.6, 600, 332.52
+4774.6, 650, 358.3
+4774.6, 700, 384.14
+4774.6, 750, 409.98
+4774.6, 800, 435.88
+4774.6, 850, 461.8
+4774.6, 900, 487.76
+4774.6, 950, 513.76
+4774.6, 1000, 539.78
+4774.6, 1050, 565.86
+4774.6, 1100, 591.94
+4774.6, 1150, 618.08
+4774.6, 1200, 644.24
+4774.6, 1250, 670.44
+4774.6, 1300, 696.68
+4774.6, 1350, 722.96
+4774.6, 1400, 749.26
+4774.6, 1450, 775.6
+4774.6, 1500, 801.96
+4774.6, 1550, 828.36
+4774.6, 1600, 854.8
+4994.3, -1600, -782.84
+4994.3, -1550, -758.06
+4994.3, -1500, -733.22
+4994.3, -1450, -708.38
+4994.3, -1400, -683.48
+4994.3, -1350, -658.56
+4994.3, -1300, -633.6
+4994.3, -1250, -608.6
+4994.3, -1200, -583.58
+4994.3, -1150, -558.52
+4994.3, -1100, -533.44
+4994.3, -1050, -508.3
+4994.3, -1000, -483.14
+4994.3, -950, -457.96
+4994.3, -900, -432.72
+4994.3, -850, -407.46
+4994.3, -800, -382.18
+4994.3, -750, -356.84
+4994.3, -700, -331.48
+4994.3, -650, -306.08
+4994.3, -600, -280.66
+4994.3, -550, -255.2
+4994.3, -500, -229.7
+4994.3, -450, -204.18
+4994.3, -400, -178.612
+4994.3, -350, -153.016
+4994.3, -300, -127.386
+4994.3, -250, -101.722
+4994.3, -200, -76.024
+4994.3, -150, -50.294
+4994.3, -100, -24.528
+4994.3, -50, 1.30154
+4994.3, 0, 27.806
+4994.3, 50, 54.346
+4994.3, 100, 80.92
+4994.3, 150, 107.528
+4994.3, 200, 134.172
+4994.3, 250, 160.848
+4994.3, 300, 187.56
+4994.3, 350, 214.3
+4994.3, 400, 241.08
+4994.3, 450, 267.9
+4994.3, 500, 294.74
+4994.3, 550, 321.62
+4994.3, 600, 348.54
+4994.3, 650, 375.5
+4994.3, 700, 402.48
+4994.3, 750, 429.5
+4994.3, 800, 456.56
+4994.3, 850, 483.64
+4994.3, 900, 510.76
+4994.3, 950, 537.92
+4994.3, 1000, 565.12
+4994.3, 1050, 592.34
+4994.3, 1100, 619.6
+4994.3, 1150, 646.9
+4994.3, 1200, 674.22
+4994.3, 1250, 701.58
+4994.3, 1300, 728.98
+4994.3, 1350, 756.42
+4994.3, 1400, 783.88
+4994.3, 1450, 811.38
+4994.3, 1500, 838.92
+4994.3, 1550, 866.48
+4994.3, 1600, 894.08
diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/HybridStrategyParams.vctl b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/HybridStrategyParams.vctl
new file mode 100644
index 0000000000..5a94a8a4c5
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/HybridStrategyParams.vctl
@@ -0,0 +1,15 @@
+{
+  "Header": {
+    "CreatedBy": " ()",
+    "Date": "2016-10-13T08:55:11.0271885Z",
+    "AppVersion": "3",
+    "FileVersion": 1
+  },
+  "Body": {
+	"ICE IgnitionOn Speed": "600" ,
+	"ICE RampUp Torque":  "-800"  ,
+    "Electric Motor Ramp Down Time On Engine Start": "0.1",
+  "Generator Speed": "1400" ,
+  "Generator Torque":  "600" 
+  }
+}
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Truck.vacc b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Truck.vacc
new file mode 100644
index 0000000000..54e7786487
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/Truck.vacc
@@ -0,0 +1,6 @@
+v [km/h],acc [m/s�],dec [m/s�]
+0,1,-1
+25,1,-1
+50,0.642857143,-1
+60,0.5,-0.5
+120,0.5,-0.5
diff --git a/VectoCore/VectoCoreTest/VectoCoreTest.csproj b/VectoCore/VectoCoreTest/VectoCoreTest.csproj
index 4542920f7e..d1520bd466 100644
--- a/VectoCore/VectoCoreTest/VectoCoreTest.csproj
+++ b/VectoCore/VectoCoreTest/VectoCoreTest.csproj
@@ -87,6 +87,7 @@
     <Otherwise />
   </Choose>
   <ItemGroup>
+    <Compile Include="FileIO\JsonReadHybridTest.cs" />
     <Compile Include="Integration\AMTShiftStrategyTests.cs" />
     <Compile Include="Algorithms\CSVDigestValueTest.cs" />
     <Compile Include="Algorithms\MeanShiftClusteringTest.cs" />
@@ -318,6 +319,87 @@
     <None Include="TestData\Hybrids\ElectricMotor\GenericMap240kW.vemo">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </None>
+    <None Include="TestData\Hybrids\GenericVehicle_Group2_P2\175kW.vfld">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="TestData\Hybrids\GenericVehicle_Group2_P2\175kW.vmap">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="TestData\Hybrids\GenericVehicle_Group2_P2\AMT_12.vgbx">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="TestData\Hybrids\GenericVehicle_Group2_P2\Axle_4x2.vtlm">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="TestData\Hybrids\GenericVehicle_Group2_P2\Class2_RigidTruck.vveh">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="TestData\Hybrids\GenericVehicle_Group2_P2\Class2_RigidTruck_ParHyb_ENG.vecto">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="TestData\Hybrids\GenericVehicle_Group2_P2\Engine_175kW_6.8l.veng">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="TestData\Hybrids\GenericVehicle_Group2_P2\Gear_1.vtlm">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="TestData\Hybrids\GenericVehicle_Group2_P2\Gear_10.vtlm">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="TestData\Hybrids\GenericVehicle_Group2_P2\Gear_11.vtlm">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="TestData\Hybrids\GenericVehicle_Group2_P2\Gear_12.vtlm">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="TestData\Hybrids\GenericVehicle_Group2_P2\Gear_2.vtlm">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="TestData\Hybrids\GenericVehicle_Group2_P2\Gear_3.vtlm">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="TestData\Hybrids\GenericVehicle_Group2_P2\Gear_4.vtlm">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="TestData\Hybrids\GenericVehicle_Group2_P2\Gear_5.vtlm">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="TestData\Hybrids\GenericVehicle_Group2_P2\Gear_6.vtlm">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="TestData\Hybrids\GenericVehicle_Group2_P2\Gear_7.vtlm">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="TestData\Hybrids\GenericVehicle_Group2_P2\Gear_8.vtlm">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="TestData\Hybrids\GenericVehicle_Group2_P2\Gear_9.vtlm">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="TestData\Hybrids\GenericVehicle_Group2_P2\GenericBattery.vbat">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="TestData\Hybrids\GenericVehicle_Group2_P2\GenericEMotor.vem">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="TestData\Hybrids\GenericVehicle_Group2_P2\GenericEMotor.vemp">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="TestData\Hybrids\GenericVehicle_Group2_P2\GenericEMotor240kW.vem">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="TestData\Hybrids\GenericVehicle_Group2_P2\GenericEMotor240kW.vemp">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="TestData\Hybrids\GenericVehicle_Group2_P2\GenericMap.vemo">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="TestData\Hybrids\GenericVehicle_Group2_P2\GenericMap240kW.vemo">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="TestData\Hybrids\GenericVehicle_Group2_P2\Truck.vacc">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
     <None Include="TestData\Integration\Buses\SingleBus.vecto">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </None>
-- 
GitLab