From eea84d6b70dfc2754340225c7ad59eea47461e7d Mon Sep 17 00:00:00 2001
From: "VKMTHD\\haraldmartini" <harald.martini@student.tugraz.at>
Date: Fri, 23 Sep 2022 09:09:16 +0200
Subject: [PATCH] added 2 tons to gvm for PEVs, Added electrical power demand
 for pneumatic system

---
 .../VectoCore/Configuration/Constants.cs      |  2 +
 .../AuxiliaryDataAdapter.cs                   | 45 +++++++----
 ...DeclarationModeHeavyLorryRunDataFactory.cs |  8 +-
 .../Auxiliaries/IDeclarationAuxiliaryTable.cs |  7 ++
 .../Auxiliaries/PneumaticSystem.cs            | 60 +++++++++++++-
 .../Declaration/Auxiliaries/SteeringPump.cs   | 11 ++-
 .../Models/Declaration/TruckSegments.cs       | 33 ++++++--
 .../Models/Simulation/Data/ModalResult.cs     |  8 +-
 .../Models/Simulation/Data/VectoRunData.cs    |  4 +-
 .../Impl/ElectricAuxiliaries.cs               |  1 +
 .../Resources/Declaration/VAUX/ES-Tech.csv    |  6 +-
 .../Resources/Declaration/VAUX/PS-Table.csv   | 78 +++++++++----------
 .../Models/Declaration/DeclarationDataTest.cs |  6 +-
 .../Models/Simulation/AuxTests.cs             |  2 +-
 14 files changed, 191 insertions(+), 80 deletions(-)

diff --git a/VectoCore/VectoCore/Configuration/Constants.cs b/VectoCore/VectoCore/Configuration/Constants.cs
index 4f24d99292..5c659f02e6 100644
--- a/VectoCore/VectoCore/Configuration/Constants.cs
+++ b/VectoCore/VectoCore/Configuration/Constants.cs
@@ -329,7 +329,9 @@ namespace TUGraz.VectoCore.Configuration
 			public static readonly Meter GearboxLookaheadForAccelerationEstimation = 100.SI<Meter>();
 
 			public static readonly Kilogram MaximumGrossVehicleMass = 40000.SI<Kilogram>();
+			public static readonly Kilogram MaximumGrossVehicleMassPEV = 42000.SI<Kilogram>();
 			public static readonly Kilogram MaximumGrossVehicleMassEMS = 60000.SI<Kilogram>();
+			public static readonly Kilogram MaximumGrossVehicleMassEMS_PEV = 62000.SI<Kilogram>();
 
 			public static readonly MeterPerSecond HighwaySpeedThreshold = 70.KMPHtoMeterPerSecond();
 			public static readonly MeterPerSecond RuralSpeedThreshold = 50.KMPHtoMeterPerSecond();
diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/SimulationComponents/AuxiliaryDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/SimulationComponents/AuxiliaryDataAdapter.cs
index b9bcede113..2a60810209 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/SimulationComponents/AuxiliaryDataAdapter.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/SimulationComponents/AuxiliaryDataAdapter.cs
@@ -123,6 +123,8 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.SimulationComponen
 					"In Declaration Mode exactly 4 Auxiliaries must be defined for battery electric vehicles: Steering pump, HVAC, Electric System, Pneumatic System.");
 			}
 
+			var alternatorEfficiency = DeclarationData.AlternatorEfficiency;
+
 			foreach (var auxType in AuxiliaryTypes)
 			{
 				var auxData = auxInputData.Auxiliaries.FirstOrDefault(a => a.Type == auxType);
@@ -142,19 +144,19 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.SimulationComponen
 				switch (auxType)
 				{
 					case AuxiliaryType.Fan:
-						AddFan(mission, hdvClass, jobType, auxData, aux, retVal);
+						AddFan(mission, hdvClass, jobType, auxData, aux, alternatorEfficiency, retVal);
 						break;
 					case AuxiliaryType.SteeringPump:
-						AddSteeringPumps(mission, hdvClass, numSteeredAxles, jobType, auxData, aux, retVal);
+						AddSteeringPumps(mission, hdvClass, numSteeredAxles, jobType, auxData, alternatorEfficiency, aux, retVal);
 						break;
 					case AuxiliaryType.HVAC:
-						AddHVAC(mission, hdvClass, aux, auxData,retVal);
+						AddHVAC(mission, hdvClass, aux, auxData, alternatorEfficiency ,retVal);
 						break;
 					case AuxiliaryType.PneumaticSystem:
-						AddPneumaticSystem(mission, jobType, auxData, aux,retVal);
+						AddPneumaticSystem(mission, jobType, auxData, alternatorEfficiency, aux,retVal);
 						break;
 					case AuxiliaryType.ElectricSystem:
-						AddElectricSystem(mission, aux, auxData, retVal);
+						AddElectricSystem(mission, aux, auxData, alternatorEfficiency, retVal);
 						break;
 					default: continue;
 				}
@@ -167,7 +169,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.SimulationComponen
 		}
 
 		private static void AddElectricSystem(MissionType mission, VectoRunData.AuxData aux,
-			IAuxiliaryDeclarationInputData auxData, List<VectoRunData.AuxData> auxDataList)
+			IAuxiliaryDeclarationInputData auxData, double alternatorEfficiency, List<VectoRunData.AuxData> auxDataList)
 		{
 			aux.PowerDemandMech = DeclarationData.ElectricSystem.Lookup(mission, auxData.Technology.FirstOrDefault()).PowerDemand;
 			aux.ID = Constants.Auxiliaries.IDs.ElectricSystem;
@@ -175,7 +177,8 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.SimulationComponen
 		}
 
 		private static void AddPneumaticSystem(MissionType mission, VectoSimulationJobType jobType,
-			IAuxiliaryDeclarationInputData auxData, VectoRunData.AuxData aux, List<VectoRunData.AuxData> auxDataList)
+			IAuxiliaryDeclarationInputData auxData, double alternatorEfficiency, VectoRunData.AuxData aux,
+			List<VectoRunData.AuxData> auxDataList)
 		{
 			if (!DeclarationData.PneumaticSystem.IsApplicable(jobType,
 					auxData.Technology.FirstOrDefault())) {
@@ -187,22 +190,31 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.SimulationComponen
 				.PowerDemand;
 			aux.ID = Constants.Auxiliaries.IDs.PneumaticSystem;
 			aux.IsFullyElectric = DeclarationData.PneumaticSystem.IsFullyElectric(auxData.Technology.FirstOrDefault());
+			if (aux.IsFullyElectric) {
+				aux.PowerDemandElectric =
+					DeclarationData.PneumaticSystem.GetElectricPowerDemand(mission,
+						auxData.Technology.FirstOrDefault());
+			} else {
+				aux.PowerDemandElectric = aux.PowerDemandMech * alternatorEfficiency;
+			}
 			auxDataList.Add(aux);
 		}
 
 		private static void AddHVAC(MissionType mission, VehicleClass hdvClass, VectoRunData.AuxData aux,
-			IAuxiliaryDeclarationInputData auxData, List<VectoRunData.AuxData> auxDataList)
+			IAuxiliaryDeclarationInputData auxData, double alternatorEfficiency, List<VectoRunData.AuxData> auxDataList)
 		{
 			aux.PowerDemandMech = DeclarationData.HeatingVentilationAirConditioning.Lookup(
 				mission,
 				auxData.Technology.FirstOrDefault(), hdvClass).PowerDemand;
 			aux.ID = Constants.Auxiliaries.IDs.HeatingVentilationAirCondition;
+			aux.PowerDemandElectric = aux.PowerDemandMech * alternatorEfficiency; //TODO: calculate electrical power demand
 			auxDataList.Add(aux);
 			return;
 		}
 
 		private static void AddSteeringPumps(MissionType mission, VehicleClass hdvClass, int? numSteeredAxles,
-			VectoSimulationJobType jobType, IAuxiliaryDeclarationInputData auxData, VectoRunData.AuxData aux,
+			VectoSimulationJobType jobType, IAuxiliaryDeclarationInputData auxData, double alternatorEfficiency,
+			VectoRunData.AuxData aux,
 			List<VectoRunData.AuxData> auxDataList)
 		{
 			
@@ -219,7 +231,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.SimulationComponen
 
 			
 			var powerDemand = DeclarationData.SteeringPump.Lookup(mission, hdvClass, auxData.Technology);
-			if (powerDemand.mech != 0.SI<Watt>()) {
+			if (powerDemand.mechanicalPumps != 0.SI<Watt>()) {
 				var spMech = new VectoRunData.AuxData
 				{
 					DemandType = AuxiliaryDemandType.Constant,
@@ -227,14 +239,14 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.SimulationComponen
 						.ToList(),
 					IsFullyElectric = false,
 					ID = Constants.Auxiliaries.IDs.SteeringPump,
-					PowerDemandMech = powerDemand.mech,
+					PowerDemandMech = powerDemand.mechanicalPumps,
 					MissionType = mission,
 				};
 
 				auxDataList.Add(spMech);
 			}
 
-			if (powerDemand.electric != 0.SI<Watt>()) {
+			if (powerDemand.electricPumps != 0.SI<Watt>()) {
 				var spElectric = new VectoRunData.AuxData
 				{
 					DemandType = AuxiliaryDemandType.Constant,
@@ -242,7 +254,8 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.SimulationComponen
 						.ToList(),
 					IsFullyElectric = true,
 					ID = Constants.Auxiliaries.IDs.SteeringPump_el,
-					PowerDemandMech = powerDemand.electric,
+					PowerDemandElectric = powerDemand.electricPumps * alternatorEfficiency,
+					PowerDemandMech = powerDemand.electricPumps / alternatorEfficiency, //in case the fully electric pumps are connected to a Conventional vehicle
 					MissionType = mission,
 				};
 
@@ -252,7 +265,8 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.SimulationComponen
 		}
 
 		private static void AddFan(MissionType mission, VehicleClass hdvClass, VectoSimulationJobType jobType,
-			IAuxiliaryDeclarationInputData auxData, VectoRunData.AuxData aux, List<VectoRunData.AuxData> auxDataList)
+			IAuxiliaryDeclarationInputData auxData, VectoRunData.AuxData aux, double alternatorEfficiency,
+			List<VectoRunData.AuxData> auxDataList)
 		{
 			if (!DeclarationData.Fan.IsApplicable(hdvClass, jobType, auxData.Technology.FirstOrDefault())) {
 				throw new VectoException(
@@ -266,7 +280,8 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.SimulationComponen
 			aux.PowerDemandMech = DeclarationData.Fan.LookupPowerDemand(hdvClass, mission, auxData.Technology.FirstOrDefault());
 			aux.ID = Constants.Auxiliaries.IDs.Fan;
 			aux.IsFullyElectric = DeclarationData.Fan.IsFullyElectric(hdvClass, auxData.Technology.FirstOrDefault());
-
+		
+			aux.PowerDemandElectric = aux.PowerDemandMech * alternatorEfficiency; 
 			auxDataList.Add(aux);
 		}
 
diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/HeavyLorryRunDataFactory/DeclarationModeHeavyLorryRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/HeavyLorryRunDataFactory/DeclarationModeHeavyLorryRunDataFactory.cs
index 6b5698812f..48ade0b2df 100644
--- a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/HeavyLorryRunDataFactory/DeclarationModeHeavyLorryRunDataFactory.cs
+++ b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/HeavyLorryRunDataFactory/DeclarationModeHeavyLorryRunDataFactory.cs
@@ -145,14 +145,14 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl.DeclarationMode.HeavyLorryRunDa
 				return GetNextRun();
 			}
 
-			protected Segment GetSegment(IVehicleDeclarationInputData vehicle)
+			protected Segment GetSegment(IVehicleDeclarationInputData vehicle, bool batteryElectric = false)
 			{
 				_allowVocational = true;
 				Segment segment;
 				try
 				{
 					segment = DeclarationData.TruckSegments.Lookup(
-						vehicle.VehicleCategory, vehicle.AxleConfiguration, vehicle.GrossVehicleMassRating,
+						vehicle.VehicleCategory, batteryElectric, vehicle.AxleConfiguration, vehicle.GrossVehicleMassRating,
 						vehicle.CurbMassChassis,
 						vehicle.VocationalVehicle);
 				}
@@ -160,7 +160,7 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl.DeclarationMode.HeavyLorryRunDa
 				{
 					_allowVocational = false;
 					segment = DeclarationData.TruckSegments.Lookup(
-						vehicle.VehicleCategory, vehicle.AxleConfiguration, vehicle.GrossVehicleMassRating,
+						vehicle.VehicleCategory, batteryElectric, vehicle.AxleConfiguration, vehicle.GrossVehicleMassRating,
 						vehicle.CurbMassChassis,
 						false);
 				}
@@ -409,7 +409,7 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl.DeclarationMode.HeavyLorryRunDa
 
 			protected override void Initialize()
 			{
-				_segment = GetSegment(InputDataProvider.JobInputData.Vehicle);
+				_segment = GetSegment(InputDataProvider.JobInputData.Vehicle, true);
 
 			}
 
diff --git a/VectoCore/VectoCore/Models/Declaration/Auxiliaries/IDeclarationAuxiliaryTable.cs b/VectoCore/VectoCore/Models/Declaration/Auxiliaries/IDeclarationAuxiliaryTable.cs
index f461cec691..a25e98e2ba 100644
--- a/VectoCore/VectoCore/Models/Declaration/Auxiliaries/IDeclarationAuxiliaryTable.cs
+++ b/VectoCore/VectoCore/Models/Declaration/Auxiliaries/IDeclarationAuxiliaryTable.cs
@@ -30,6 +30,8 @@
 */
 
 using TUGraz.VectoCommon.InputData;
+using TUGraz.VectoCommon.Models;
+using TUGraz.VectoCommon.Utils;
 
 namespace TUGraz.VectoCore.Models.Declaration.Auxiliaries
 {
@@ -50,4 +52,9 @@ namespace TUGraz.VectoCore.Models.Declaration.Auxiliaries
 		bool IsFullyElectric(string technology);
 		string[] FullyElectricTechnologies();
 	}
+
+	public interface IDeclarationAuxiliaryElectricPowerTable
+	{
+		Watt GetElectricPowerDemand(MissionType mission, string technology);
+	}
 }
\ No newline at end of file
diff --git a/VectoCore/VectoCore/Models/Declaration/Auxiliaries/PneumaticSystem.cs b/VectoCore/VectoCore/Models/Declaration/Auxiliaries/PneumaticSystem.cs
index d89df7ef9b..406b1ae457 100644
--- a/VectoCore/VectoCore/Models/Declaration/Auxiliaries/PneumaticSystem.cs
+++ b/VectoCore/VectoCore/Models/Declaration/Auxiliaries/PneumaticSystem.cs
@@ -39,10 +39,11 @@ using TUGraz.VectoCore.Utils;
 
 namespace TUGraz.VectoCore.Models.Declaration.Auxiliaries
 {
-	public sealed class PneumaticSystem : LookupData<MissionType, string, AuxDemandEntry>, IDeclarationAuxiliaryTable, IDeclarationAuxiliaryArchitectureTable, IDeclarationAuxiliaryFullyElectricTable
+	public sealed class PneumaticSystem : LookupData<MissionType, string, AuxDemandEntry>, IDeclarationAuxiliaryTable, IDeclarationAuxiliaryArchitectureTable, IDeclarationAuxiliaryFullyElectricTable, IDeclarationAuxiliaryElectricPowerTable
 	{
 		private IDeclarationAuxiliaryArchitectureTable _declarationAuxiliaryArchitectureTableImplementation = new PneumaticSystemArchitectureTable();
 		private IDeclarationAuxiliaryFullyElectricTable _declarationAuxiliaryFullyElectricTableImplementation = new PneumaticSystemFullyElectricTable();
+		private IDeclarationAuxiliaryElectricPowerTable _declarationAuxiliaryElectricPowerTableImplementation = new PneumaticSystemElectricPowerTable();
 		protected override string ResourceId => DeclarationData.DeclarationDataResourcePrefix + ".VAUX.PS-Table.csv";
 
 		protected override string ErrorMessage => "Auxiliary Lookup Error: No value found for Pneumatic System. Mission: '{0}', Technology: '{1}'";
@@ -52,11 +53,17 @@ namespace TUGraz.VectoCore.Models.Declaration.Auxiliaries
 			foreach (DataRow row in table.Rows) {
 				var technology = row.Field<string>("technology");
 				foreach (DataColumn col in table.Columns.Cast<DataColumn>().Skip(table.Columns.IndexOf("fullyelectric") + 1)) {
+					if (col.Caption == "longhaul_el")
+					{
+						break;
+					}
 					if (col.Caption != "technology") {
 						Data[Tuple.Create(col.Caption.ParseEnum<MissionType>(), technology)] = new AuxDemandEntry() {
 							PowerDemand = row.ParseDouble(col.Caption).SI<Watt>()
 						};
 					}
+
+					
 				}
 			}
 		}
@@ -107,5 +114,56 @@ namespace TUGraz.VectoCore.Models.Declaration.Auxiliaries
 		}
 
 		#endregion
+
+
+
+
+		#region Implementation of IDeclarationAuxiliaryElectricPowerTable
+
+		public Watt GetElectricPowerDemand(MissionType mission, string technology)
+		{
+			return _declarationAuxiliaryElectricPowerTableImplementation.GetElectricPowerDemand(mission, technology);
+		}
+
+		private class PneumaticSystemElectricPowerTable : LookupData<MissionType, string, AuxDemandEntry>, IDeclarationAuxiliaryElectricPowerTable
+		{
+			#region Overrides of LookupData
+
+			protected override string ResourceId => DeclarationData.DeclarationDataResourcePrefix + ".VAUX.PS-Table.csv";
+			protected override string ErrorMessage => "Auxiliary Lookup Error: No fully electric value found for Pneumatic System. Mission: '{0}', Technology: '{1}'";
+			protected override void ParseData(DataTable table)
+			{
+				foreach (DataRow row in table.Rows)
+				{
+					
+					var electric = row.ParseBoolean("fullyelectric");
+					if (!electric)
+					{
+						continue;
+					}
+					var technology = row["technology"].ToString();
+					foreach (DataColumn col in table.Columns.Cast<DataColumn>().Skip(table.Columns.IndexOf("longhaul_el")))
+					{
+						Data[Tuple.Create(col.Caption.Replace("_el", "").ParseEnum<MissionType>(), technology)] = new AuxDemandEntry()
+						{
+							PowerDemand = row.ParseDouble(col.Caption).SI<Watt>()
+						};
+					}
+				}
+			}
+
+			#endregion
+
+			#region Implementation of IDeclarationAuxiliaryElectricPowerTable
+
+			public Watt GetElectricPowerDemand(MissionType mission, string technology)
+			{
+				return Lookup(mission, technology).PowerDemand;
+			}
+
+			#endregion
+		}
+
+		#endregion
 	}
 }
\ No newline at end of file
diff --git a/VectoCore/VectoCore/Models/Declaration/Auxiliaries/SteeringPump.cs b/VectoCore/VectoCore/Models/Declaration/Auxiliaries/SteeringPump.cs
index d4ed26a400..905f1331c1 100644
--- a/VectoCore/VectoCore/Models/Declaration/Auxiliaries/SteeringPump.cs
+++ b/VectoCore/VectoCore/Models/Declaration/Auxiliaries/SteeringPump.cs
@@ -47,8 +47,15 @@ namespace TUGraz.VectoCore.Models.Declaration.Auxiliaries
 		private readonly SteeringPumpBaseLine _baseLookup = new SteeringPumpBaseLine();
 		private readonly SteeringPumpAxles _axleLookup = new SteeringPumpAxles();
 		private readonly SteeringPumpTechnologies _techLookup = new SteeringPumpTechnologies();
-
-		public (Watt mech, Watt electric) Lookup(MissionType mission, VehicleClass hdvClass, IEnumerable<string> technologies)
+		/// <summary>
+		/// Returns the power demand of the steering pumps split into mechanical pumps and electric pumps
+		/// </summary>
+		/// <param name="mission"></param>
+		/// <param name="hdvClass"></param>
+		/// <param name="technologies"></param>
+		/// <returns>Note: The power demand is mechanical also for the electric pumps</returns>
+		/// <exception cref="VectoException"></exception>
+		public (Watt mechanicalPumps, Watt electricPumps) Lookup(MissionType mission, VehicleClass hdvClass, IEnumerable<string> technologies)
 		{
 			var baseLine = _baseLookup.Lookup(mission, hdvClass);
 			var powerMech = new SteeringPumpValues<Watt>(0.SI<Watt>(), 0.SI<Watt>(), 0.SI<Watt>());
diff --git a/VectoCore/VectoCore/Models/Declaration/TruckSegments.cs b/VectoCore/VectoCore/Models/Declaration/TruckSegments.cs
index c36a2bd389..a69fc0621e 100644
--- a/VectoCore/VectoCore/Models/Declaration/TruckSegments.cs
+++ b/VectoCore/VectoCore/Models/Declaration/TruckSegments.cs
@@ -35,6 +35,7 @@ using System.Data;
 using System.IO;
 using System.Linq;
 using TUGraz.VectoCommon.Exceptions;
+using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.Configuration;
@@ -59,8 +60,8 @@ namespace TUGraz.VectoCore.Models.Declaration
 			VehicleCategory vehicleCategory, AxleConfiguration axleConfiguration,
 			Kilogram grossVehicleMassRating, Kilogram curbWeight, bool vocational)
 		{
-
-			return Lookup(vehicleCategory, axleConfiguration, grossVehicleMassRating, curbWeight, vocational, false);
+			
+			return Lookup(vehicleCategory, axleConfiguration, grossVehicleMassRating, curbWeight, vocational, false, false);
 		}
 
 		public VehicleCategory[] GetVehicleCategories(bool declarationOnly = true)
@@ -81,9 +82,16 @@ namespace TUGraz.VectoCore.Models.Declaration
 								.Select(row => AxleConfigurationHelper.Parse(row.Field<string>("axleconf."))).Distinct();
 		}
 
+		public Segment Lookup(
+			VehicleCategory vehicleCategory, bool isBatteryElectric, AxleConfiguration axleConfiguration,
+			Kilogram grossVehicleMassRating, Kilogram curbWeight, bool vocational)
+		{
+			return Lookup(vehicleCategory,  axleConfiguration, grossVehicleMassRating, curbWeight, vocational,false, isBatteryElectric);
+		}
+
 		public Segment Lookup(
 			VehicleCategory vehicleCategory, AxleConfiguration axleConfiguration,
-			Kilogram grossVehicleMassRating, Kilogram curbWeight, bool vocational, bool considerInvalid)
+			Kilogram grossVehicleMassRating, Kilogram curbWeight, bool vocational, bool considerInvalid, bool isBatteryElectric)
 		{
 			var row = GetSegmentDataRow(vehicleCategory, axleConfiguration, grossVehicleMassRating, vocational, considerInvalid);
 			if (row == null) {
@@ -102,7 +110,7 @@ namespace TUGraz.VectoCore.Models.Declaration
 					RessourceHelper.ReadStream(
 						DeclarationData.DeclarationDataResourcePrefix + ".VACC." +
 						row.Field<string>(".vaccfile")),
-				Missions = CreateMissions(grossVehicleMassRating, curbWeight, row, vehicleHeight),
+				Missions = CreateMissions(grossVehicleMassRating, curbWeight, row, vehicleHeight, isBatteryElectric),
 				DesignSpeed = row.ParseDouble("designspeed").KMPHtoMeterPerSecond(),
 
 				//GrossVehicleMassRating = grossVehicleMassRating,
@@ -179,8 +187,8 @@ namespace TUGraz.VectoCore.Models.Declaration
 			return row.SI<SquareMeter>("cdxa_default");
 		}
 
-		private static Mission[] CreateMissions(
-			Kilogram grossVehicleWeight, Kilogram curbWeight, DataRow row, Meter vehicleHeight)
+		private static Mission[] CreateMissions(Kilogram grossVehicleWeight, Kilogram curbWeight, DataRow row,
+			Meter vehicleHeight, bool isBatteryElectric)
 		{
 			var missionTypes = Enum.GetValues(typeof(MissionType)).Cast<MissionType>();
 			var missions = new List<Mission>();
@@ -189,7 +197,18 @@ namespace TUGraz.VectoCore.Models.Declaration
 				var body = GetBody(row, missionType);
 				var trailers = GetTrailers(row, missionType);
 
-				var maxGVW = missionType.IsEMS()? Constants.SimulationSettings.MaximumGrossVehicleMassEMS : Constants.SimulationSettings.MaximumGrossVehicleMass;
+				Kilogram maxGVW;
+				if (missionType.IsEMS()) {
+					maxGVW = isBatteryElectric
+						? Constants.SimulationSettings.MaximumGrossVehicleMassEMS_PEV
+						: Constants.SimulationSettings.MaximumGrossVehicleMassEMS;
+				} else {
+					maxGVW = isBatteryElectric
+						? Constants.SimulationSettings.MaximumGrossVehicleMassPEV
+						: Constants.SimulationSettings.MaximumGrossVehicleMass;
+				}
+				
+	
 				
 				// limit gvw to MaxGVW (40t)
 				var gvw = VectoMath.Min(
diff --git a/VectoCore/VectoCore/Models/Simulation/Data/ModalResult.cs b/VectoCore/VectoCore/Models/Simulation/Data/ModalResult.cs
index 85d03318d5..f1a76b9f84 100644
--- a/VectoCore/VectoCore/Models/Simulation/Data/ModalResult.cs
+++ b/VectoCore/VectoCore/Models/Simulation/Data/ModalResult.cs
@@ -322,10 +322,10 @@ namespace TUGraz.VectoCore.Models.Simulation.Data
 			ModalResultField.P_DCDC_Out,
 			ModalResultField.P_DCDC_missing,
 
-			//Debug
-			ModalResultField.DCDCStateCount_,
-			ModalResultField.SimIntervalCurrent_,
-			ModalResultField.SimIntervalPrev_
+			////Debug
+			//ModalResultField.DCDCStateCount_,
+			//ModalResultField.SimIntervalCurrent_,
+			//ModalResultField.SimIntervalPrev_
 		};
 
 		protected internal readonly Dictionary<IFuelProperties, Dictionary<ModalResultField, DataColumn>> FuelColumns = new Dictionary<IFuelProperties, Dictionary<ModalResultField, DataColumn>>();
diff --git a/VectoCore/VectoCore/Models/Simulation/Data/VectoRunData.cs b/VectoCore/VectoCore/Models/Simulation/Data/VectoRunData.cs
index fbd8db5c6a..a740bceebd 100644
--- a/VectoCore/VectoCore/Models/Simulation/Data/VectoRunData.cs
+++ b/VectoCore/VectoCore/Models/Simulation/Data/VectoRunData.cs
@@ -184,10 +184,13 @@ namespace TUGraz.VectoCore.Models.Simulation.Data
 			public IList<string> Technology;
 
 			[SIRange(0, 100 * Constants.Kilo)] public Watt PowerDemandMech;
+			[SIRange(0, 100 * Constants.Kilo)] public Watt PowerDemandElectric;
 
 			[JsonIgnore]
 			public Func<DrivingCycleData.DrivingCycleEntry, Watt> PowerDemandMechFunc;
 
+
+
 			[Required] public AuxiliaryDemandType DemandType;
 
 			[Required] public bool ConnectToDcDc;
@@ -196,7 +199,6 @@ namespace TUGraz.VectoCore.Models.Simulation.Data
 
 			public MissionType? MissionType;
 
-			public double AlternatorEfficiency { get; }
 
 
 		}
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/ElectricAuxiliaries.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/ElectricAuxiliaries.cs
index 56f86b29c8..acbe1407ac 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/ElectricAuxiliaries.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/ElectricAuxiliaries.cs
@@ -47,6 +47,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 		public Watt PowerDemand(Second absTime, Second dt, bool dryRun)
 		{
 			var left = VehicleContainer.DrivingCycleInfo.CycleData.LeftSample;
+			
 			var sum = 0.SI<Watt>();
 			foreach (var auxData in _auxData) {
 				if (auxData.DemandType == AuxiliaryDemandType.Constant) {
diff --git a/VectoCore/VectoCore/Resources/Declaration/VAUX/ES-Tech.csv b/VectoCore/VectoCore/Resources/Declaration/VAUX/ES-Tech.csv
index 74a7d9a7ab..8a2638c77f 100644
--- a/VectoCore/VectoCore/Resources/Declaration/VAUX/ES-Tech.csv
+++ b/VectoCore/VectoCore/Resources/Declaration/VAUX/ES-Tech.csv
@@ -1,3 +1,3 @@
-Technology                                       , Long haul , Regional delivery , Urban delivery , Municipal utility , Construction
-Standard technology                              , 1200      , 1000              , 1000           , 1000              , 1000
-"Standard technology - LED headlights, all"      , 1150      , 950               , 950            , 950               , 950
+Technology                                  ,Long haul ,Regional delivery ,Urban delivery ,Municipal utility ,Construction
+Standard technology                         ,1714.2857 ,        1428.5714 ,     1428.5714 ,        1428.5714 ,   1428.5714
+"Standard technology - LED headlights, all" ,1642.8571 ,        1357.1429 ,     1357.1429 ,        1357.1429 ,   1357.1429
\ No newline at end of file
diff --git a/VectoCore/VectoCore/Resources/Declaration/VAUX/PS-Table.csv b/VectoCore/VectoCore/Resources/Declaration/VAUX/PS-Table.csv
index 1ea3f170aa..5981bff102 100644
--- a/VectoCore/VectoCore/Resources/Declaration/VAUX/PS-Table.csv
+++ b/VectoCore/VectoCore/Resources/Declaration/VAUX/PS-Table.csv
@@ -1,39 +1,39 @@
-Technology                                 ,conventional ,P-HEV ,S-HEV ,PEV ,fully electric ,Long Haul ,Regional Delivery ,Urban  Delivery ,Municipal utility ,Construction
-Small                                      ,           1 ,    1 ,    1 ,  0 ,             0 ,     1400 ,             1300 ,           1200 ,             1200 ,        1300
-Small + ESS                                ,           1 ,    1 ,    1 ,  0 ,             0 ,      900 ,              800 ,            800 ,              800 ,         800
-Small + visco clutch                       ,           1 ,    1 ,    1 ,  0 ,             0 ,      800 ,              700 ,            700 ,              700 ,         700
-Small + mech. clutch                       ,           1 ,    1 ,    1 ,  0 ,             0 ,      600 ,              600 ,            650 ,              650 ,         600
-Small + ESS + AMS                          ,           1 ,    1 ,    1 ,  0 ,             0 ,      500 ,              400 ,            500 ,              500 ,         400
-Small + visco clutch + AMS                 ,           1 ,    1 ,    1 ,  0 ,             0 ,      400 ,              300 ,            400 ,              400 ,         300
-Small + mech. clutch + AMS                 ,           1 ,    1 ,    1 ,  0 ,             0 ,      200 ,              200 ,            350 ,              350 ,         200
-Medium Supply 1-stage                      ,           1 ,    1 ,    1 ,  0 ,             0 ,     1600 ,             1400 ,           1350 ,             1350 ,        1500
-Medium Supply 1-stage + ESS                ,           1 ,    1 ,    1 ,  0 ,             0 ,     1000 ,              900 ,            900 ,              900 ,         900
-Medium Supply 1-stage + visco clutch       ,           1 ,    1 ,    1 ,  0 ,             0 ,      850 ,              800 ,            800 ,              800 ,         750
-Medium Supply 1-stage + mech. clutch       ,           1 ,    1 ,    1 ,  0 ,             0 ,      600 ,              550 ,            550 ,              550 ,         600
-Medium Supply 1-stage + ESS + AMS          ,           1 ,    1 ,    1 ,  0 ,             0 ,      600 ,              700 ,            700 ,              700 ,         500
-Medium Supply 1-stage + visco clutch + AMS ,           1 ,    1 ,    1 ,  0 ,             0 ,      450 ,              600 ,            600 ,              600 ,         350
-Medium Supply 1-stage + mech. clutch + AMS ,           1 ,    1 ,    1 ,  0 ,             0 ,      200 ,              350 ,            350 ,              350 ,         200
-Medium Supply 2-stage                      ,           1 ,    1 ,    1 ,  0 ,             0 ,     2100 ,             1750 ,           1700 ,             1700 ,        2100
-Medium Supply 2-stage + ESS                ,           1 ,    1 ,    1 ,  0 ,             0 ,     1100 ,             1050 ,           1000 ,             1000 ,        1000
-Medium Supply 2-stage + visco clutch       ,           1 ,    1 ,    1 ,  0 ,             0 ,     1000 ,              850 ,            800 ,              800 ,         900
-Medium Supply 2-stage + mech. clutch       ,           1 ,    1 ,    1 ,  0 ,             0 ,      700 ,              650 ,            600 ,              600 ,         800
-Medium Supply 2-stage + ESS + AMS          ,           1 ,    1 ,    1 ,  0 ,             0 ,      700 ,              850 ,            800 ,              800 ,         500
-Medium Supply 2-stage + visco clutch + AMS ,           1 ,    1 ,    1 ,  0 ,             0 ,      600 ,              650 ,            600 ,              600 ,         400
-Medium Supply 2-stage + mech. clutch + AMS ,           1 ,    1 ,    1 ,  0 ,             0 ,      300 ,              450 ,            400 ,              400 ,         300
-Large Supply                               ,           1 ,    1 ,    1 ,  0 ,             0 ,     4300 ,             3600 ,           3500 ,             3500 ,        4100
-Large Supply + ESS                         ,           1 ,    1 ,    1 ,  0 ,             0 ,     1600 ,             1300 ,           1200 ,             1200 ,        1500
-Large Supply + visco clutch                ,           1 ,    1 ,    1 ,  0 ,             0 ,     1300 ,             1100 ,           1000 ,             1000 ,        1200
-Large Supply + mech. clutch                ,           1 ,    1 ,    1 ,  0 ,             0 ,      800 ,              800 ,            700 ,              700 ,         900
-Large Supply + ESS + AMS                   ,           1 ,    1 ,    1 ,  0 ,             0 ,     1100 ,             1000 ,           1000 ,             1000 ,        1000
-Large Supply + visco clutch + AMS          ,           1 ,    1 ,    1 ,  0 ,             0 ,      800 ,              800 ,            800 ,              800 ,         700
-Large Supply + mech. clutch + AMS          ,           1 ,    1 ,    1 ,  0 ,             0 ,      300 ,              500 ,            500 ,              500 ,         400
-Vacuum pump                                ,           1 ,    1 ,    1 ,  0 ,             0 ,      190 ,              160 ,            130 ,              130 ,         130
-Small + elec. driven                       ,           1 ,    1 ,    1 ,  1 ,             1 ,     1071 ,             1071 ,           1161 ,             1161 ,        1071
-Small + elec. driven + AMS                 ,           1 ,    1 ,    1 ,  1 ,             1 ,      357 ,              357 ,            625 ,              625 ,         357
-Medium Supply 1-stage + elec. driven       ,           1 ,    1 ,    1 ,  1 ,             1 ,     1071 ,              982 ,            982 ,              982 ,        1071
-Medium Supply 1-stage + elec. driven + AMS ,           1 ,    1 ,    1 ,  1 ,             1 ,      357 ,              625 ,            625 ,              625 ,         357
-Medium Supply 2-stage + elec. driven       ,           1 ,    1 ,    1 ,  1 ,             1 ,     1250 ,             1161 ,           1071 ,             1071 ,        1429
-Medium Supply 2-stage + elec. driven + AMS ,           1 ,    1 ,    1 ,  1 ,             1 ,      536 ,              804 ,            714 ,              714 ,         536
-Large Supply + elec. driven                ,           1 ,    1 ,    1 ,  1 ,             1 ,     1429 ,             1429 ,           1250 ,             1250 ,        1607
-Large Supply + elec. driven + AMS          ,           1 ,    1 ,    1 ,  1 ,             1 ,      536 ,              893 ,            893 ,              893 ,         714
-Vacuum pump + elec. driven                 ,           1 ,    1 ,    1 ,  1 ,             1 ,      339 ,              286 ,            232 ,              232 ,         232
\ No newline at end of file
+Technology                                 ,conventional ,P-HEV ,S-HEV ,PEV ,fully electric ,Long Haul ,Regional Delivery ,Urban  Delivery ,Municipal utility ,Construction ,Long Haul_el ,Regional Delivery_el ,Urban  Delivery_el ,Municipal utility_el ,Construction_el
+Small                                      ,           1 ,    1 ,    1 ,  0 ,             0 ,     1400 ,             1300 ,           1200 ,             1200 ,        1300 ,n.a.         ,n.a.                 ,n.a.               ,n.a.                 ,n.a.
+Small + ESS                                ,           1 ,    1 ,    1 ,  0 ,             0 ,      900 ,              800 ,            800 ,              800 ,         800 ,n.a.         ,n.a.                 ,n.a.               ,n.a.                 ,n.a.
+Small + visco clutch                       ,           1 ,    1 ,    1 ,  0 ,             0 ,      800 ,              700 ,            700 ,              700 ,         700 ,n.a.         ,n.a.                 ,n.a.               ,n.a.                 ,n.a.
+Small + mech. clutch                       ,           1 ,    1 ,    1 ,  0 ,             0 ,      600 ,              600 ,            650 ,              650 ,         600 ,n.a.         ,n.a.                 ,n.a.               ,n.a.                 ,n.a.
+Small + ESS + AMS                          ,           1 ,    1 ,    1 ,  0 ,             0 ,      500 ,              400 ,            500 ,              500 ,         400 ,n.a.         ,n.a.                 ,n.a.               ,n.a.                 ,n.a.
+Small + visco clutch + AMS                 ,           1 ,    1 ,    1 ,  0 ,             0 ,      400 ,              300 ,            400 ,              400 ,         300 ,n.a.         ,n.a.                 ,n.a.               ,n.a.                 ,n.a.
+Small + mech. clutch + AMS                 ,           1 ,    1 ,    1 ,  0 ,             0 ,      200 ,              200 ,            350 ,              350 ,         200 ,n.a.         ,n.a.                 ,n.a.               ,n.a.                 ,n.a.
+Medium Supply 1-stage                      ,           1 ,    1 ,    1 ,  0 ,             0 ,     1600 ,             1400 ,           1350 ,             1350 ,        1500 ,n.a.         ,n.a.                 ,n.a.               ,n.a.                 ,n.a.
+Medium Supply 1-stage + ESS                ,           1 ,    1 ,    1 ,  0 ,             0 ,     1000 ,              900 ,            900 ,              900 ,         900 ,n.a.         ,n.a.                 ,n.a.               ,n.a.                 ,n.a.
+Medium Supply 1-stage + visco clutch       ,           1 ,    1 ,    1 ,  0 ,             0 ,      850 ,              800 ,            800 ,              800 ,         750 ,n.a.         ,n.a.                 ,n.a.               ,n.a.                 ,n.a.
+Medium Supply 1-stage + mech. clutch       ,           1 ,    1 ,    1 ,  0 ,             0 ,      600 ,              550 ,            550 ,              550 ,         600 ,n.a.         ,n.a.                 ,n.a.               ,n.a.                 ,n.a.
+Medium Supply 1-stage + ESS + AMS          ,           1 ,    1 ,    1 ,  0 ,             0 ,      600 ,              700 ,            700 ,              700 ,         500 ,n.a.         ,n.a.                 ,n.a.               ,n.a.                 ,n.a.
+Medium Supply 1-stage + visco clutch + AMS ,           1 ,    1 ,    1 ,  0 ,             0 ,      450 ,              600 ,            600 ,              600 ,         350 ,n.a.         ,n.a.                 ,n.a.               ,n.a.                 ,n.a.
+Medium Supply 1-stage + mech. clutch + AMS ,           1 ,    1 ,    1 ,  0 ,             0 ,      200 ,              350 ,            350 ,              350 ,         200 ,n.a.         ,n.a.                 ,n.a.               ,n.a.                 ,n.a.
+Medium Supply 2-stage                      ,           1 ,    1 ,    1 ,  0 ,             0 ,     2100 ,             1750 ,           1700 ,             1700 ,        2100 ,n.a.         ,n.a.                 ,n.a.               ,n.a.                 ,n.a.
+Medium Supply 2-stage + ESS                ,           1 ,    1 ,    1 ,  0 ,             0 ,     1100 ,             1050 ,           1000 ,             1000 ,        1000 ,n.a.         ,n.a.                 ,n.a.               ,n.a.                 ,n.a.
+Medium Supply 2-stage + visco clutch       ,           1 ,    1 ,    1 ,  0 ,             0 ,     1000 ,              850 ,            800 ,              800 ,         900 ,n.a.         ,n.a.                 ,n.a.               ,n.a.                 ,n.a.
+Medium Supply 2-stage + mech. clutch       ,           1 ,    1 ,    1 ,  0 ,             0 ,      700 ,              650 ,            600 ,              600 ,         800 ,n.a.         ,n.a.                 ,n.a.               ,n.a.                 ,n.a.
+Medium Supply 2-stage + ESS + AMS          ,           1 ,    1 ,    1 ,  0 ,             0 ,      700 ,              850 ,            800 ,              800 ,         500 ,n.a.         ,n.a.                 ,n.a.               ,n.a.                 ,n.a.
+Medium Supply 2-stage + visco clutch + AMS ,           1 ,    1 ,    1 ,  0 ,             0 ,      600 ,              650 ,            600 ,              600 ,         400 ,n.a.         ,n.a.                 ,n.a.               ,n.a.                 ,n.a.
+Medium Supply 2-stage + mech. clutch + AMS ,           1 ,    1 ,    1 ,  0 ,             0 ,      300 ,              450 ,            400 ,              400 ,         300 ,n.a.         ,n.a.                 ,n.a.               ,n.a.                 ,n.a.
+Large Supply                               ,           1 ,    1 ,    1 ,  0 ,             0 ,     4300 ,             3600 ,           3500 ,             3500 ,        4100 ,n.a.         ,n.a.                 ,n.a.               ,n.a.                 ,n.a.
+Large Supply + ESS                         ,           1 ,    1 ,    1 ,  0 ,             0 ,     1600 ,             1300 ,           1200 ,             1200 ,        1500 ,n.a.         ,n.a.                 ,n.a.               ,n.a.                 ,n.a.
+Large Supply + visco clutch                ,           1 ,    1 ,    1 ,  0 ,             0 ,     1300 ,             1100 ,           1000 ,             1000 ,        1200 ,n.a.         ,n.a.                 ,n.a.               ,n.a.                 ,n.a.
+Large Supply + mech. clutch                ,           1 ,    1 ,    1 ,  0 ,             0 ,      800 ,              800 ,            700 ,              700 ,         900 ,n.a.         ,n.a.                 ,n.a.               ,n.a.                 ,n.a.
+Large Supply + ESS + AMS                   ,           1 ,    1 ,    1 ,  0 ,             0 ,     1100 ,             1000 ,           1000 ,             1000 ,        1000 ,n.a.         ,n.a.                 ,n.a.               ,n.a.                 ,n.a.
+Large Supply + visco clutch + AMS          ,           1 ,    1 ,    1 ,  0 ,             0 ,      800 ,              800 ,            800 ,              800 ,         700 ,n.a.         ,n.a.                 ,n.a.               ,n.a.                 ,n.a.
+Large Supply + mech. clutch + AMS          ,           1 ,    1 ,    1 ,  0 ,             0 ,      300 ,              500 ,            500 ,              500 ,         400 ,n.a.         ,n.a.                 ,n.a.               ,n.a.                 ,n.a.
+Vacuum pump                                ,           1 ,    1 ,    1 ,  0 ,             0 ,      190 ,              160 ,            130 ,              130 ,         130 ,n.a.         ,n.a.                 ,n.a.               ,n.a.                 ,n.a.
+Small + elec. driven                       ,           1 ,    1 ,    1 ,  1 ,             1 ,     1071 ,             1071 ,           1161 ,             1161 ,        1071 ,750          ,750                  ,813                ,813                  ,750
+Small + elec. driven + AMS                 ,           1 ,    1 ,    1 ,  1 ,             1 ,      357 ,              357 ,            625 ,              625 ,         357 ,675          ,675                  ,732                ,732                  ,675
+Medium Supply 1-stage + elec. driven       ,           1 ,    1 ,    1 ,  1 ,             1 ,     1071 ,              982 ,            982 ,              982 ,        1071 ,750          ,687                  ,687                ,687                  ,750
+Medium Supply 1-stage + elec. driven + AMS ,           1 ,    1 ,    1 ,  1 ,             1 ,      357 ,              625 ,            625 ,              625 ,         357 ,675          ,618                  ,618                ,618                  ,675
+Medium Supply 2-stage + elec. driven       ,           1 ,    1 ,    1 ,  1 ,             1 ,     1250 ,             1161 ,           1071 ,             1071 ,        1429 ,875          ,813                  ,750                ,750                  ,1000
+Medium Supply 2-stage + elec. driven + AMS ,           1 ,    1 ,    1 ,  1 ,             1 ,      536 ,              804 ,            714 ,              714 ,         536 ,788          ,732                  ,675                ,675                  ,900
+Large Supply + elec. driven                ,           1 ,    1 ,    1 ,  1 ,             1 ,     1429 ,             1429 ,           1250 ,             1250 ,        1607 ,1000         ,1000                 ,875                ,875                  ,1125
+Large Supply + elec. driven + AMS          ,           1 ,    1 ,    1 ,  1 ,             1 ,      536 ,              893 ,            893 ,              893 ,         714 ,900          ,900                  ,788                ,788                  ,1013
+Vacuum pump + elec. driven                 ,           1 ,    1 ,    1 ,  1 ,             1 ,      339 ,              286 ,            232 ,              232 ,         232 ,237          ,200                  ,162                ,162                  ,162
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/Models/Declaration/DeclarationDataTest.cs b/VectoCore/VectoCoreTest/Models/Declaration/DeclarationDataTest.cs
index 8aeaff6b5f..ef9de6a8ab 100644
--- a/VectoCore/VectoCoreTest/Models/Declaration/DeclarationDataTest.cs
+++ b/VectoCore/VectoCoreTest/Models/Declaration/DeclarationDataTest.cs
@@ -575,7 +575,7 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration
         {
             AssertHelper.AreRelativeEqual(expected,
                 DeclarationData.SteeringPump.Lookup(mission, hdvClass,
-                    new[] { axle1, axle2, axle3, axle4 }.TakeWhile(a => a != null).ToArray()).mech);
+                    new[] { axle1, axle2, axle3, axle4 }.TakeWhile(a => a != null).ToArray()).mechanicalPumps);
         }
 
         [TestCase]
@@ -586,7 +586,7 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration
             const MissionType mission = MissionType.LongHaul;
             const VehicleClass hdvClass = VehicleClass.Class5;
             var first = DeclarationData.SteeringPump.Lookup(mission, hdvClass,
-                new[] { axle1 }.TakeWhile(a => a != null).ToArray()).mech;
+                new[] { axle1 }.TakeWhile(a => a != null).ToArray()).mechanicalPumps;
 
             for (var i = 0; i < 10; i++)
             {
@@ -595,7 +595,7 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration
             }
 
             var last = DeclarationData.SteeringPump.Lookup(mission, hdvClass,
-                new[] { axle1 }.TakeWhile(a => a != null).ToArray()).mech;
+                new[] { axle1 }.TakeWhile(a => a != null).ToArray()).mechanicalPumps;
 
             Assert.AreEqual(first.Value(), last.Value(), 1e-3);
         }
diff --git a/VectoCore/VectoCoreTest/Models/Simulation/AuxTests.cs b/VectoCore/VectoCoreTest/Models/Simulation/AuxTests.cs
index cf71bab028..17fba4958f 100644
--- a/VectoCore/VectoCoreTest/Models/Simulation/AuxTests.cs
+++ b/VectoCore/VectoCoreTest/Models/Simulation/AuxTests.cs
@@ -127,7 +127,7 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
 			aux.AddConstant("PS", DeclarationData.PneumaticSystem.Lookup(mission, "Medium Supply 1-stage").PowerDemand);
 			aux.AddConstant("STP",
 				DeclarationData.SteeringPump.Lookup(MissionType.LongHaul, hdvClass,
-					new[] { "Variable displacement mech. controlled" }).mech);
+					new[] { "Variable displacement mech. controlled" }).mechanicalPumps);
 			aux.AddConstant("ES", DeclarationData.ElectricSystem.Lookup(mission).PowerDemand);
 			aux.AddConstant("AC",
 				DeclarationData.HeatingVentilationAirConditioning.Lookup(mission, "Default", hdvClass).PowerDemand);
-- 
GitLab