From ec59c21b83f677844d70099d878b7eb952ca665a Mon Sep 17 00:00:00 2001
From: Markus Quaritsch <markus.quaritsch@tugraz.at>
Date: Fri, 3 Jun 2022 17:00:05 +0200
Subject: [PATCH] work on saving IEPC-S jobs

---
 VECTO/GUI/VectoJobForm.vb    |  4 ++--
 VECTO/GUI/VehicleForm.vb     |  4 ++--
 VECTO/Input Files/Vehicle.vb | 20 +++++++++++++-------
 3 files changed, 17 insertions(+), 11 deletions(-)

diff --git a/VECTO/GUI/VectoJobForm.vb b/VECTO/GUI/VectoJobForm.vb
index a5dd446079..15b78f8082 100644
--- a/VECTO/GUI/VectoJobForm.vb
+++ b/VECTO/GUI/VectoJobForm.vb
@@ -491,7 +491,7 @@ Public Class VectoJobForm
 		Else
 			TbShiftStrategyParams.Text = GetRelativePath(inputData.DriverInputData.GearshiftInputData.Source, _basePath)
 		End If
-		If (JobType = VectoSimulationJobType.ParallelHybridVehicle OrElse JobType = VectoSimulationJobType.SerialHybridVehicle) Then
+		If (JobType = VectoSimulationJobType.ParallelHybridVehicle OrElse JobType = VectoSimulationJobType.SerialHybridVehicle OrElse JobType = VectoSimulationJobType.IEPC_S OrElse JobType = VectoSimulationJobType.IHPC) Then
 			tbHybridStrategyParams.Text = GetRelativePath(inputData.JobInputData.HybridStrategyParameters.Source, _basePath)
 		End If
 
@@ -1075,7 +1075,7 @@ Public Class VectoJobForm
                 pnShiftParams.Enabled = True
                 gbEngineStopStart.Visible = False
             Case VectoSimulationJobType.IEPC_S
-                pnEngine.Enabled = False
+                pnEngine.Enabled = True
                 pnGearbox.Enabled = True
                 GrAuxMech.Enabled = False
                 pnShiftParams.Enabled = True
diff --git a/VECTO/GUI/VehicleForm.vb b/VECTO/GUI/VehicleForm.vb
index ef9a269edc..476cba2399 100644
--- a/VECTO/GUI/VehicleForm.vb
+++ b/VECTO/GUI/VehicleForm.vb
@@ -475,7 +475,7 @@ Public Class VehicleForm
 				Next
 			End If
             end If
-			if vehicle.VehicleType = VectoSimulationJobType.IEPC_E OrElse vehicle.VehicleType = VectoSimulationJobType.IHPC Then
+			if vehicle.VehicleType = VectoSimulationJobType.IEPC_E OrElse vehicle.VehicleType = VectoSimulationJobType.IEPC_S Then
 				Dim iepc = vehicle.Components.IEPCEngineeringInputData
 				tbIEPCFilePath.Text = GetRelativePath(iepc.DataSource.SourceFile, basePath)
 			End If
@@ -486,7 +486,7 @@ Public Class VehicleForm
 			End If
 		End If
 
-		If (vehicle.VehicleType = VectoSimulationJobType.SerialHybridVehicle) Then
+		If (vehicle.VehicleType = VectoSimulationJobType.SerialHybridVehicle OrElse vehicle.VehicleType = VectoSimulationJobType.IEPC_S) Then
 			Dim gen As ElectricMachineEntry(Of IElectricMotorEngineeringInputData) = vehicle.Components.ElectricMachines.Entries.First(Function(x) x.Position = PowertrainPosition.GEN)
 			tbGenSetEM.Text = GetRelativePath(gen.ElectricMachine.DataSource.SourceFile, basePath)
 			tbGenSetCount.Text = gen.Count.ToGUIFormat()
diff --git a/VECTO/Input Files/Vehicle.vb b/VECTO/Input Files/Vehicle.vb
index 44f8c6919e..328caf3488 100644
--- a/VECTO/Input Files/Vehicle.vb	
+++ b/VECTO/Input Files/Vehicle.vb	
@@ -1079,17 +1079,20 @@ Public Class ElectricMachinesWrapper
 
 	Public ReadOnly Property Entries As IList(Of ElectricMachineEntry(Of IElectricMotorDeclarationInputData)) Implements IElectricMachinesDeclarationInputData.Entries
 		Get
-			Dim retval As IList(Of ElectricMachineEntry(Of IElectricMotorDeclarationInputData)) = New List(Of ElectricMachineEntry(Of IElectricMotorDeclarationInputData))(New ElectricMachineEntry(Of IElectricMotorDeclarationInputData)() {
-			New ElectricMachineEntry(Of IElectricMotorDeclarationInputData) With {
+			Dim retval As IList(Of ElectricMachineEntry(Of IElectricMotorDeclarationInputData)) = New List(Of ElectricMachineEntry(Of IElectricMotorDeclarationInputData))
+		    If (Vehicle.VehicleType = VectoSimulationJobType.BatteryElectricVehicle OrElse Vehicle.VehicleType = VectoSimulationJobType.ParallelHybridVehicle OrElse Vehicle.VehicleType = VectoSimulationJobType.SerialHybridVehicle) Then 
+
+		        retval.Add(New ElectricMachineEntry(Of IElectricMotorDeclarationInputData) With {
 					.ElectricMachine = new ElectricMachineWrapper(Vehicle.ElectricMotorFile),
 					.MechanicalTransmissionEfficiency = If(IsNumeric(Vehicle.ElectricMotorMechLossMap.OriginalPath), Vehicle.ElectricMotorMechLossMap.OriginalPath.ToDouble(), double.NaN), 
 					.MechanicalTransmissionLossMap = If(IsNumeric(Vehicle.ElectricMotorMechLossMap.OriginalPath), Nothing, VectoCSVFile.Read(Vehicle.ElectricMotorMechLossMap.FullPath)),
 					.Position = Vehicle.ElectricMotorPosition, 
 					.RatioADC = Vehicle.ElectricMotorRatio, 
 					.RatioPerGear = vehicle.ElectricMotorPerGearRatios,
-					.Count = Vehicle.ElectricMotorCount}})
+					.Count = Vehicle.ElectricMotorCount})
+		    End If
 
-			if (Vehicle.VehicleType = VectoSimulationJobType.SerialHybridVehicle) Then
+			if (Vehicle.VehicleType = VectoSimulationJobType.SerialHybridVehicle OrElse Vehicle.VehicleType = VectoSimulationJobType.IEPC_S) Then
 				retval.Add(New ElectricMachineEntry(Of IElectricMotorDeclarationInputData) With {
 							  .ElectricMachine = new ElectricMachineWrapper(Vehicle.GenSetEMFile),
 							  .MechanicalTransmissionEfficiency = If(IsNumeric(Vehicle.GenSetMechLossMap.OriginalPath), Vehicle.GenSetMechLossMap.OriginalPath.ToDouble(), double.NaN), 
@@ -1103,15 +1106,18 @@ Public Class ElectricMachinesWrapper
 	End Property
 	Public ReadOnly Property IElectricMachinesEngineeringInputData_Entries As IList(Of ElectricMachineEntry(Of IElectricMotorEngineeringInputData)) Implements IElectricMachinesEngineeringInputData.Entries
 		Get
-			Dim retval As IList(Of ElectricMachineEntry(Of IElectricMotorEngineeringInputData)) =  New List(Of ElectricMachineEntry(Of IElectricMotorEngineeringInputData))(New ElectricMachineEntry(Of IElectricMotorEngineeringInputData)() {
-			New ElectricMachineEntry(Of IElectricMotorEngineeringInputData)() With {
+			Dim retval As IList(Of ElectricMachineEntry(Of IElectricMotorEngineeringInputData)) =  New List(Of ElectricMachineEntry(Of IElectricMotorEngineeringInputData))
+		    
+		    If (Vehicle.VehicleType = VectoSimulationJobType.BatteryElectricVehicle OrElse Vehicle.VehicleType = VectoSimulationJobType.ParallelHybridVehicle OrElse Vehicle.VehicleType = VectoSimulationJobType.SerialHybridVehicle) Then 
+		        retval.Add(New ElectricMachineEntry(Of IElectricMotorEngineeringInputData) With {
 					.ElectricMachine = new ElectricMachineWrapper(Vehicle.ElectricMotorFile),
 					.MechanicalTransmissionEfficiency = If(IsNumeric(Vehicle.ElectricMotorMechLossMap.OriginalPath), Vehicle.ElectricMotorMechLossMap.OriginalPath.ToDouble(), double.NaN), 
 					.MechanicalTransmissionLossMap = If(IsNumeric(Vehicle.ElectricMotorMechLossMap.OriginalPath), Nothing, VectoCSVFile.Read(Vehicle.ElectricMotorMechLossMap.FullPath)),
 					.Position = Vehicle.ElectricMotorPosition, 
 					.RatioADC = Vehicle.ElectricMotorRatio, 
 					.RatioPerGear = Vehicle.ElectricMotorPerGearRatios,
-					.Count = Vehicle.ElectricMotorCount}})
+					.Count = Vehicle.ElectricMotorCount})
+		    End If
 
 			if (Vehicle.VehicleType = VectoSimulationJobType.SerialHybridVehicle) Then
 				retval.Add(New ElectricMachineEntry(Of IElectricMotorEngineeringInputData) With {
-- 
GitLab