From 1e15892a7f495fc7e922eb9861bb01d3ceb6c65a Mon Sep 17 00:00:00 2001
From: Markus Quaritsch <markus.quaritsch@tugraz.at>
Date: Thu, 31 Oct 2019 09:08:26 +0100
Subject: [PATCH] more refactoring: rename properties, move electric constants,
 ...

---
 .../UI/frmCombinedAlternators.vb              | 34 +++++------
 .../VectoAuxiliariesTests/Mocks/M1_Mock.vb    | 16 +++---
 .../UnitTests/ElectricalConsumerTests.vb      |  9 +--
 ..._NonSmart_AlternatorsSetEfficiencyTests.vb |  2 +-
 .../UnitTests/M11Tests.vb                     |  4 +-
 .../M1_AverageHVACLoadDemandTests.vb          |  8 +--
 .../UnitTests/M8Tests.vb                      |  4 +-
 .../UnitTests/M9Tests.vb                      |  4 +-
 .../VectoCore/Configuration/Constants.cs      | 20 +++++++
 .../BusAuxiliaries/AdvancedAuxiliaries.cs     |  4 +-
 .../Models/BusAuxiliaries/AuxiliaryConfig.cs  |  3 -
 .../Impl/Electrics/Alternator.cs              | 51 +++++++++--------
 .../Impl/Electrics/CombinedAlternator.cs      | 39 +------------
 .../Impl/Electrics/ElectricalConsumer.cs      | 57 ++++++++++++++-----
 .../Impl/Electrics/M00Impl.cs                 |  7 ++-
 .../Impl/Electrics/M02Impl.cs                 |  3 +-
 .../Impl/Electrics/M05Impl.cs                 |  3 +-
 .../Impl/Electrics/M0_5Impl.cs                |  2 +-
 .../DownstreamModules/Impl/HVAC/M01Impl.cs    | 15 ++---
 .../DownstreamModules/Impl/M06Impl.cs         |  4 +-
 .../DownstreamModules/Impl/M08Impl.cs         |  2 +-
 .../DownstreamModules/Impl/M09Impl.cs         |  2 +-
 .../DownstreamModules/Impl/M11Impl.cs         |  2 +-
 .../Electrics/ElectricConstants.cs            | 22 -------
 .../DownstreamModules/HVAC/ISSMCalculate.cs   | 41 +------------
 .../DownstreamModules/HVAC/ISSMRun.cs         |  8 +--
 .../DownstreamModules/HVAC/ISSMTOOL.cs        |  7 +--
 .../IM0_NonSmart_AlternatorsSetEfficiency.cs  |  2 +-
 .../IM1_AverageHVACLoadDemand.cs              |  8 +--
 .../IM2_AverageElectrialLoadDemand.cs         |  2 +-
 VectoCore/VectoCore/VectoCore.csproj          |  7 +--
 31 files changed, 164 insertions(+), 228 deletions(-)
 delete mode 100644 VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ElectricConstants.cs

diff --git a/VECTO/BusAuxiliaries/UI/frmCombinedAlternators.vb b/VECTO/BusAuxiliaries/UI/frmCombinedAlternators.vb
index b2a73eb21f..19e457bc1b 100644
--- a/VECTO/BusAuxiliaries/UI/frmCombinedAlternators.vb
+++ b/VECTO/BusAuxiliaries/UI/frmCombinedAlternators.vb
@@ -313,12 +313,12 @@ Public Class frmCombinedAlternators
                     Dim dr As DialogResult = MessageBox.Show(String.Format("Do you want to delete  '{0}' ?", alternatorName), "",
                                                             MessageBoxButtons.YesNo)
                     If dr = Windows.Forms.DialogResult.Yes Then
-                        If combinedAlt.DeleteAlternator(alternatorName, feedback, True) Then
-                            BindGrid()
-                        Else
+                        'If combinedAlt.DeleteAlternator(alternatorName, feedback, True) Then
+                        '    BindGrid()
+                        'Else
                             MessageBox.Show(feedback)
 
-                        End If
+                        'End If
 
                     End If
 
@@ -390,16 +390,16 @@ Public Class frmCombinedAlternators
 
         If txtIndex.Text.Trim.Length = 0 Then
             'This is an Add
-            If Not combinedAlt.AddAlternator(GetAlternatorFromPanel(), feedback) Then
+            'If Not combinedAlt.AddAlternator(GetAlternatorFromPanel(), feedback) Then
                 MessageBox.Show(feedback)
-            Else
+            'Else
 
 
-                BindGrid()
+            '    BindGrid()
 
-                UpdateButtonText()
+            '    UpdateButtonText()
 
-            End If
+            'End If
 
         Else
 
@@ -419,17 +419,17 @@ Public Class frmCombinedAlternators
 
             'This is an update so delete the one being updated
 
-            If _
-                combinedAlt.DeleteAlternator(altName, feedback, False) AndAlso
-                combinedAlt.AddAlternator(GetAlternatorFromPanel(), feedback) Then
+            'If _
+            '    combinedAlt.DeleteAlternator(altName, feedback, False) AndAlso
+            '    combinedAlt.AddAlternator(GetAlternatorFromPanel(), feedback) Then
 
-                BindGrid()
-                ClearEditPanel()
-                UpdateButtonText()
+            '    BindGrid()
+            '    ClearEditPanel()
+            '    UpdateButtonText()
 
-            Else
+            'Else
                 MessageBox.Show(feedback)
-            End If
+            'End If
 
         End If
     End Sub
diff --git a/VECTOAux/VectoAuxiliariesTests/Mocks/M1_Mock.vb b/VECTOAux/VectoAuxiliariesTests/Mocks/M1_Mock.vb
index 70f5550e41..13d7bafe33 100644
--- a/VECTOAux/VectoAuxiliariesTests/Mocks/M1_Mock.vb
+++ b/VECTOAux/VectoAuxiliariesTests/Mocks/M1_Mock.vb
@@ -13,23 +13,23 @@ Public Class M1_Mock
 	Public _AveragePowerDemandAtCrankFromHVACMechanicalsWatts As Watt
 	Public _HVACFuelingLitresPerHour As KilogramPerSecond
 
-	Public Function AveragePowerDemandAtAlternatorFromHVACElectricsWatts() As Watt _
-		Implements IM1_AverageHVACLoadDemand.AveragePowerDemandAtAlternatorFromHVACElectricsWatts
+	Public Function AveragePowerDemandAtAlternatorFromHVACElectrics() As Watt _
+		Implements IM1_AverageHVACLoadDemand.AveragePowerDemandAtAlternatorFromHVACElectrics
 		Return _AveragePowerDemandAtAlternatorFromHVACElectricsWatts
 	End Function
 
-	Public Function AveragePowerDemandAtCrankFromHVACElectricsWatts() As Watt _
-		Implements IM1_AverageHVACLoadDemand.AveragePowerDemandAtCrankFromHVACElectricsWatts
+	Public Function AveragePowerDemandAtCrankFromHVACElectrics() As Watt _
+		Implements IM1_AverageHVACLoadDemand.AveragePowerDemandAtCrankFromHVACElectrics
 		Return _AveragePowerDemandAtCrankFromHVACElectricsWatts
 	End Function
 
-	Public Function AveragePowerDemandAtCrankFromHVACMechanicalsWatts() As Watt _
-		Implements IM1_AverageHVACLoadDemand.AveragePowerDemandAtCrankFromHVACMechanicalsWatts
+	Public Function AveragePowerDemandAtCrankFromHVACMechanicals() As Watt _
+		Implements IM1_AverageHVACLoadDemand.AveragePowerDemandAtCrankFromHVACMechanicals
 		Return _AveragePowerDemandAtCrankFromHVACMechanicalsWatts
 	End Function
 
-	Public Function HVACFuelingLitresPerHour() As KilogramPerSecond _
-	    Implements IM1_AverageHVACLoadDemand.HVACFuelingLitresPerHour
+	Public Function HVACFueling() As KilogramPerSecond _
+	    Implements IM1_AverageHVACLoadDemand.HVACFueling
 		Return _HVACFuelingLitresPerHour
 	End Function
 
diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/ElectricalConsumerTests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/ElectricalConsumerTests.vb
index a3cc3bd82d..a230147d08 100644
--- a/VECTOAux/VectoAuxiliariesTests/UnitTests/ElectricalConsumerTests.vb
+++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/ElectricalConsumerTests.vb
@@ -2,6 +2,7 @@
 
 Imports NUnit.Framework
 Imports TUGraz.VectoCommon.Utils
+Imports TUGraz.VectoCore.Configuration
 Imports TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics
 Imports TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics
 
@@ -47,7 +48,7 @@ Namespace UnitTests
 		<Test()>
 		Public Sub ToLow_PhaseIdleTractionOn_ThrowsArgumentException()
 			Dim target As ElectricalConsumer
-			Assert.That(Sub() target = New ElectricalConsumer(False, "", "Doors per Door", 20.SI(of Ampere), ElectricConstants.PhaseIdleTractionOnMin - 1,
+			Assert.That(Sub() target = New ElectricalConsumer(False, "", "Doors per Door", 20.SI(of Ampere), Constants.BusAuxiliaries.ElectricConstants.PhaseIdleTractionOnMin - 1,
 											26.3.SI(of Volt), 1, ""), Throws.InstanceOf(Of ArgumentException))
 
 		End Sub
@@ -55,7 +56,7 @@ Namespace UnitTests
 		<Test()>
 		Public Sub ToHigh_PhaseIdleTractionOn_ThrowsArgumentException()
 			Dim target As ElectricalConsumer
-			Assert.That(Sub() target = New ElectricalConsumer(False, "", "Doors per Door", 20.SI(of Ampere), ElectricConstants.PhaseIdleTractionMax + 1,
+			Assert.That(Sub() target = New ElectricalConsumer(False, "", "Doors per Door", 20.SI(of Ampere), Constants.BusAuxiliaries.ElectricConstants.PhaseIdleTractionMax + 1,
 											26.3.SI(of Volt), 1, ""), Throws.InstanceOf(Of ArgumentException))
 		End Sub
 
@@ -71,7 +72,7 @@ Namespace UnitTests
 		Public Sub ToLowPowerNetVoltageTest_ThrowsArgumentException()
 			Dim target As ElectricalConsumer
 			Assert.That(Sub() target = New ElectricalConsumer(False, "", "Doors per Door", 20.SI(of Ampere), 0.5,
-											(ElectricConstants.PowenetVoltageMin - 1).SI(of Volt), 1, ""), Throws.InstanceOf(Of ArgumentException))
+											(Constants.BusAuxiliaries.ElectricConstants.PowenetVoltageMin - 1).SI(of Volt), 1, ""), Throws.InstanceOf(Of ArgumentException))
 
 		End Sub
 
@@ -80,7 +81,7 @@ Namespace UnitTests
 		Public Sub ToHighPowerNetVoltageTest_ThrowsArgumentException()
 			Dim target As ElectricalConsumer
 			Assert.That(Sub() target = New ElectricalConsumer(False, "", "Doors per Door", 20.SI(of Ampere), 0.5,
-											(ElectricConstants.PowenetVoltageMax + 1).SI(of Volt), 1, ""), Throws.InstanceOf(Of ArgumentException))
+											(Constants.BusAuxiliaries.ElectricConstants.PowenetVoltageMax + 1).SI(of Volt), 1, ""), Throws.InstanceOf(Of ArgumentException))
 
 		End Sub
 	End Class
diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/M0_NonSmart_AlternatorsSetEfficiencyTests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/M0_NonSmart_AlternatorsSetEfficiencyTests.vb
index a833b59b54..6395085da3 100644
--- a/VECTOAux/VectoAuxiliariesTests/UnitTests/M0_NonSmart_AlternatorsSetEfficiencyTests.vb
+++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/M0_NonSmart_AlternatorsSetEfficiencyTests.vb
@@ -130,7 +130,7 @@ Namespace UnitTests
             Dim actual As Ampere
             Dim expected As Single = 0
 
-            actual = target.GetHVACElectricalPowerDemandAmps()
+            actual = target.GetHVACElectricalCurrentDemand()
 
             Assert.AreEqual(expected, actual.Value(), 0.001)
         End Sub
diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/M11Tests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/M11Tests.vb
index 4467e4fcec..3b7b7a5c91 100644
--- a/VECTOAux/VectoAuxiliariesTests/UnitTests/M11Tests.vb
+++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/M11Tests.vb
@@ -49,7 +49,7 @@ Namespace UnitTests
 			sgnlsMock.Setup(Function(x) x.EngineDrivelineTorque).Returns(IP4.SI(Of NewtonMeter))
 			sgnlsMock.Setup(Function(x) x.PreExistingAuxPower).Returns(0.SI(Of Watt))
 			m3Mock.Setup(Function(x) x.GetAveragePowerDemandAtCrankFromPneumatics).Returns(IP5.SI(Of Watt))
-			m1Mock.Setup(Function(x) x.AveragePowerDemandAtCrankFromHVACMechanicalsWatts).Returns(IP6.SI(Of Watt))
+			m1Mock.Setup(Function(x) x.AveragePowerDemandAtCrankFromHVACMechanicals).Returns(IP6.SI(Of Watt))
 			sgnlsMock.Setup(Function(x) x.EngineSpeed).Returns(IP7.RPMtoRad())
 			sgnlsMock.Setup(Function(x) x.EngineStopped).Returns(IP8)
 
@@ -105,7 +105,7 @@ Namespace UnitTests
 			m6Mock.Setup(Function(x) x.AvgPowerDemandAtCrankFromElectricsIncHVAC).Returns(IP3.SI(Of Watt))
 			sgnlsMock.Setup(Function(x) x.EngineDrivelineTorque).Returns(IP4.SI(Of NewtonMeter))
 			m3Mock.Setup(Function(x) x.GetAveragePowerDemandAtCrankFromPneumatics).Returns(IP5.SI(Of Watt))
-			m1Mock.Setup(Function(x) x.AveragePowerDemandAtCrankFromHVACMechanicalsWatts).Returns(IP6.SI(Of Watt))
+			m1Mock.Setup(Function(x) x.AveragePowerDemandAtCrankFromHVACMechanicals).Returns(IP6.SI(Of Watt))
 			sgnlsMock.Setup(Function(x) x.EngineSpeed).Returns(IP7.RPMtoRad())
 			sgnlsMock.Setup(Function(x) x.EngineStopped).Returns(IP8)
 
diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/M1_AverageHVACLoadDemandTests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/M1_AverageHVACLoadDemandTests.vb
index 8179b4fab6..9ad62f8faa 100644
--- a/VECTOAux/VectoAuxiliariesTests/UnitTests/M1_AverageHVACLoadDemandTests.vb
+++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/M1_AverageHVACLoadDemandTests.vb
@@ -92,7 +92,7 @@ Namespace UnitTests
 
             Dim target As IM1_AverageHVACLoadDemand = GETM1Instance()
             Dim expected As Single = 1580.276
-            Dim actual As Watt = target.AveragePowerDemandAtCrankFromHVACMechanicalsWatts
+            Dim actual As Watt = target.AveragePowerDemandAtCrankFromHVACMechanicals
 
             Assert.AreEqual(expected, actual.Value(), 0.001)
         End Sub
@@ -103,7 +103,7 @@ Namespace UnitTests
 
             Dim target As IM1_AverageHVACLoadDemand = GETM1Instance()
             Dim expected As Single = 0
-            Dim actual As Watt = target.AveragePowerDemandAtCrankFromHVACElectricsWatts
+            Dim actual As Watt = target.AveragePowerDemandAtCrankFromHVACElectrics
 
             Assert.AreEqual(expected, actual.Value(), 0.001)
         End Sub
@@ -114,7 +114,7 @@ Namespace UnitTests
 
             Dim target As IM1_AverageHVACLoadDemand = GETM1Instance()
             Dim expected As Single = 0
-            Dim actual As Watt = target.AveragePowerDemandAtAlternatorFromHVACElectricsWatts
+            Dim actual As Watt = target.AveragePowerDemandAtAlternatorFromHVACElectrics
 
             Assert.AreEqual(expected, actual.Value(), 0.001)
         End Sub
@@ -125,7 +125,7 @@ Namespace UnitTests
 
             Dim target As IM1_AverageHVACLoadDemand = GETM1Instance()
             Dim expected As Single = 0
-            Dim actual As KilogramPerSecond = target.HVACFuelingLitresPerHour()
+            Dim actual As KilogramPerSecond = target.HVACFueling()
 
             Assert.AreEqual(expected, actual.Value(), 0.001)
         End Sub
diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/M8Tests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/M8Tests.vb
index 1d41f630c6..87ded89676 100644
--- a/VECTOAux/VectoAuxiliariesTests/UnitTests/M8Tests.vb
+++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/M8Tests.vb
@@ -54,7 +54,7 @@ Namespace UnitTests
 			Dim m7MOCK = New Mock(Of IM7)()
 			Dim sigsMock = New Mock(Of ISignals)()
 
-			m1MOCK.Setup(Function(x) x.AveragePowerDemandAtCrankFromHVACMechanicalsWatts).Returns(IP1.SI(Of Watt))
+			m1MOCK.Setup(Function(x) x.AveragePowerDemandAtCrankFromHVACMechanicals).Returns(IP1.SI(Of Watt))
 			m7MOCK.Setup(Function(x) x.SmartElectricalAndPneumaticAuxAltPowerGenAtCrank()).Returns(IP2.SI(Of Watt))
 			m7MOCK.Setup(Function(x) x.SmartElectricalAndPneumaticAuxAirCompPowerGenAtCrank()).Returns(IP3.SI(Of Watt))
 			m7MOCK.Setup(Function(x) x.SmartElectricalOnlyAuxAltPowerGenAtCrank()).Returns(IP4.SI(Of Watt))
@@ -100,7 +100,7 @@ Namespace UnitTests
 			Dim m7MOCK = New Mock(Of IM7)()
 			Dim sigsMock = New Mock(Of ISignals)()
 
-			m1MOCK.Setup(Function(x) x.AveragePowerDemandAtCrankFromHVACMechanicalsWatts).Returns(IP1.SI(Of Watt))
+			m1MOCK.Setup(Function(x) x.AveragePowerDemandAtCrankFromHVACMechanicals).Returns(IP1.SI(Of Watt))
 			m7MOCK.Setup(Function(x) x.SmartElectricalAndPneumaticAuxAltPowerGenAtCrank()).Returns(IP2.SI(Of Watt))
 			m7MOCK.Setup(Function(x) x.SmartElectricalAndPneumaticAuxAirCompPowerGenAtCrank()).Returns(IP3.SI(Of Watt))
 			m7MOCK.Setup(Function(x) x.SmartElectricalOnlyAuxAltPowerGenAtCrank()).Returns(IP4.SI(Of Watt))
diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/M9Tests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/M9Tests.vb
index 8991f44162..93a8c2974d 100644
--- a/VECTOAux/VectoAuxiliariesTests/UnitTests/M9Tests.vb
+++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/M9Tests.vb
@@ -42,7 +42,7 @@ Namespace UnitTests
 			Dim psac As New Mock(Of IPneumaticsAuxilliariesConfig)
 
 			m6Mock.Setup(Function(x) x.AvgPowerDemandAtCrankFromElectricsIncHVAC).Returns(IP1.SI(Of Watt))
-			m1Mock.Setup(Function(x) x.AveragePowerDemandAtCrankFromHVACMechanicalsWatts).Returns(IP2.SI(Of Watt))
+			m1Mock.Setup(Function(x) x.AveragePowerDemandAtCrankFromHVACMechanicals).Returns(IP2.SI(Of Watt))
 			m4Mock.Setup(Function(x) x.GetPowerCompressorOn).Returns(IP3.SI(Of Watt))
 			m4Mock.Setup(Function(x) x.GetPowerCompressorOff).Returns(IP4.SI(Of Watt))
 			sgnlsMock.Setup(Function(x) x.EngineDrivelineTorque).Returns(IP5.SI(Of NewtonMeter))
@@ -96,7 +96,7 @@ Namespace UnitTests
 			fMapMock.Setup(Function(x) x.GetFuelConsumption(1.SI(Of NewtonMeter), 1.RPMtoRad())).Returns(
 				(-1 / 1000).SI(Of KilogramPerSecond)())
 			m6Mock.Setup(Function(x) x.AvgPowerDemandAtCrankFromElectricsIncHVAC).Returns(IP1.SI(Of Watt))
-			m1Mock.Setup(Function(x) x.AveragePowerDemandAtCrankFromHVACMechanicalsWatts).Returns(IP2.SI(Of Watt))
+			m1Mock.Setup(Function(x) x.AveragePowerDemandAtCrankFromHVACMechanicals).Returns(IP2.SI(Of Watt))
 			m4Mock.Setup(Function(x) x.GetPowerCompressorOn).Returns(IP3.SI(Of Watt))
 			m4Mock.Setup(Function(x) x.GetPowerCompressorOff).Returns(IP4.SI(Of Watt))
 			sgnlsMock.Setup(Function(x) x.EngineDrivelineTorque).Returns(IP5.SI(Of NewtonMeter))
diff --git a/VectoCore/VectoCore/Configuration/Constants.cs b/VectoCore/VectoCore/Configuration/Constants.cs
index 58d598ffd1..221c32b5de 100644
--- a/VectoCore/VectoCore/Configuration/Constants.cs
+++ b/VectoCore/VectoCore/Configuration/Constants.cs
@@ -112,6 +112,26 @@ namespace TUGraz.VectoCore.Configuration
 				public const double StoredEnergyEfficiency = 0.935;
 			}
 
+			public static class ElectricConstants
+			{
+				// Anticipated Min and Max Allowable values for Powernet, normally 26.3 volts but could be 48 in the future.
+				public const double PowenetVoltageMin = 6;
+				public const double PowenetVoltageMax = 50;
+
+				// Duty Cycle IE Percentage of use
+				public const double PhaseIdleTractionOnMin = 0;
+				public const double PhaseIdleTractionMax = 1;
+
+				// Max Min Expected Consumption for a Single Consumer, negative values allowed as bonuses.
+				public const int NonminalConsumerConsumptionAmpsMin = -10;
+				public const int NominalConsumptionAmpsMax = 100;
+
+
+				// Alternator
+				public const double AlternatorPulleyEfficiencyMin = 0.1;
+				public const double AlternatorPulleyEfficiencyMax = 1;
+			}
+
 			public static class ElectricalConsumers
 			{
 				public const string DoorsPerVehicleConsumer = "Doors per vehicle";
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/AdvancedAuxiliaries.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/AdvancedAuxiliaries.cs
index 29a2210694..b0b193a314 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/AdvancedAuxiliaries.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/AdvancedAuxiliaries.cs
@@ -379,14 +379,14 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries {
 		public Watt AA_AveragePowerDemandCrankHVACMechanicals
 		{
 			get {
-				return M1.AveragePowerDemandAtCrankFromHVACMechanicalsWatts();
+				return M1.AveragePowerDemandAtCrankFromHVACMechanicals();
 			}
 		}
 
 		public Watt AA_AveragePowerDemandCrankHVACElectricals
 		{
 			get {
-				return M1.AveragePowerDemandAtCrankFromHVACElectricsWatts();
+				return M1.AveragePowerDemandAtCrankFromHVACElectrics();
 			}
 		}
 
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/AuxiliaryConfig.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/AuxiliaryConfig.cs
index 17b82ffbb2..0366d4a8e7 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/AuxiliaryConfig.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/AuxiliaryConfig.cs
@@ -37,12 +37,9 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries {
 		public IFuelConsumptionMap FuelMap { get; internal set; }
 
 		// Vecto Signals
-		[JsonIgnore]
 		public ISignals Signals { get; internal set; }
 
 		// Constructors
-		//public AuxiliaryConfig() /*: this("EMPTY")*/ { }
-
 		
 		
 		private bool CompareElectricalConfiguration(IAuxiliaryConfig other)
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/Alternator.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/Alternator.cs
index 084339ff30..a928e33e60 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/Alternator.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/Alternator.cs
@@ -12,6 +12,30 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric
 	{
 		//private ICombinedAlternatorSignals signals;
 
+		// Constructors
+
+		public Alternator(List<ICombinedAlternatorMapRow> inputs)
+		{
+			AlternatorName = inputs.First().AlternatorName;
+			PulleyRatio = inputs.First().PulleyRatio;
+
+			var values2k = inputs.Where(x => x.RPM.AsRPM.IsEqual(2000))
+								.Select(x => new KeyValuePair<Ampere, double>(x.Amps, x.Efficiency))
+								.ToDictionary(x => x.Key, x => x.Value);
+			var values4k = inputs.Where(x => x.RPM.AsRPM.IsEqual(4000))
+								.Select(x => new KeyValuePair<Ampere, double>(x.Amps, x.Efficiency))
+								.ToDictionary(x => x.Key, x => x.Value);
+			var values6k = inputs.Where(x => x.RPM.AsRPM.IsEqual(6000))
+								.Select(x => new KeyValuePair<Ampere, double>(x.Amps, x.Efficiency))
+								.ToDictionary(x => x.Key, x => x.Value);
+
+			BuildInputTable(values2k, InputTable2000);
+			BuildInputTable(values4k, InputTable4000);
+			BuildInputTable(values6k, InputTable6000);
+
+			CreateRangeTable();
+		}
+
 		// D6
 		public string AlternatorName { get; set; }
 
@@ -51,30 +75,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric
 		}
 
 
-		// Constructors
-		public Alternator() { }
-
-		public Alternator(List<ICombinedAlternatorMapRow> inputs)
-		{
-			AlternatorName = inputs.First().AlternatorName;
-			PulleyRatio = inputs.First().PulleyRatio;
-
-			var values2k = inputs.Where(x => x.RPM.AsRPM.IsEqual(2000))
-														.Select(x => new KeyValuePair<Ampere, double>(x.Amps, x.Efficiency))
-														.ToDictionary(x => x.Key, x => x.Value);
-			var values4k = inputs.Where(x => x.RPM.AsRPM.IsEqual(4000))
-														.Select(x => new KeyValuePair<Ampere, double>(x.Amps, x.Efficiency))
-														.ToDictionary(x => x.Key, x => x.Value);
-			var values6k = inputs.Where(x => x.RPM.AsRPM.IsEqual(6000))
-														.Select(x => new KeyValuePair<Ampere, double>(x.Amps, x.Efficiency))
-														.ToDictionary(x => x.Key, x => x.Value);
-
-			BuildInputTable(values2k, InputTable2000);
-			BuildInputTable(values4k, InputTable4000);
-			BuildInputTable(values6k, InputTable6000);
-
-			CreateRangeTable();
-		}
+		
 
 		public static double Iterpolate<T>(List<AltUserInput<T>> values, T x) where T:SI
 		{
@@ -90,7 +91,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric
 				return values.First(f => f.Amps == highestX).Eff;
 
 			// On Bounds check
-			if (values.Where(w => w.Amps == x).Count() == 1)
+			if (values.Count(w => w.Amps == x) == 1)
 				return values.First(w => w.Amps == x).Eff;
 
 			// OK, we need to interpolate.
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternator.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternator.cs
index faff9a18d0..7edecd1a7b 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternator.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternator.cs
@@ -23,8 +23,6 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric
 			Source = source;
 			Signals = signals;
 
-			
-
 			Initialise(alternatorData);
 
 			// Calculate alternators average which is used only in the pre-run
@@ -99,42 +97,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric
 			return true;
 		}
 
-		public bool AddAlternator(List<ICombinedAlternatorMapRow> rows, ref string feedback)
-		{
-			if (!AddNewAlternator(rows, ref feedback)) {
-				feedback = string.Format("Unable to add new alternator : {0}", feedback);
-				return false;
-			}
 
-			return true;
-		}
-
-		public bool DeleteAlternator(string alternatorName, ref string feedback, bool CountValidation)
-		{
-
-			// Is this the last alternator, if so deny the user the right to remove it.
-			if (CountValidation && Alternators.Count < 2) {
-				feedback = "There must be at least one alternator remaining, operation aborted.";
-				return false;
-			}
-
-			if (Alternators.All(w => w.AlternatorName != alternatorName)) {
-				feedback = "This alternator does not exist";
-				return false;
-			}
-
-			var altToRemove = Alternators.First(w => w.AlternatorName == alternatorName);
-			var numAlternators = Alternators.Count;
-
-			Alternators.Remove(altToRemove);
-
-			if (Alternators.Count == numAlternators - 1) {
-				return true;
-			}
-
-			feedback = string.Format("The alternator {0} could not be removed : {1}", alternatorName, feedback);
-			return false;
-		}
 		
 
 		public bool Save(string aaltPath)
@@ -142,7 +105,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric
 			var sb = new StringBuilder();
 			
 			// write headers  
-			sb.AppendLine("[AlternatorName],[RPM],[Amps],[Efficiency],[PulleyRatio]");
+			sb.AppendLine("AlternatorName,RPM,Amps,Efficiency,PulleyRatio");
 
 			// write details
 			foreach (var alt in Alternators.OrderBy(o => o.AlternatorName)) {
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricalConsumer.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricalConsumer.cs
index 96f8c0826a..93bb5b5dc1 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricalConsumer.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricalConsumer.cs
@@ -2,6 +2,7 @@
 using System.ComponentModel;
 using TUGraz.VectoCommon.BusAuxiliaries;
 using TUGraz.VectoCommon.Utils;
+using TUGraz.VectoCore.Configuration;
 using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics;
 
 // Copyright 2017 European Union.
@@ -40,20 +41,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric
 			Volt powerNetVoltage, int numberInVehicle, string info)
 		{
 			// Illegal Value Check.
-			if (category.Trim().Length == 0)
-				throw new ArgumentException("Category Name cannot be empty");
-			if (consumerName.Trim().Length == 0)
-				throw new ArgumentException("ConsumerName Name cannot be empty");
-			if (phaseIdleTractionOn < ElectricConstants.PhaseIdleTractionOnMin |
-				phaseIdleTractionOn > ElectricConstants.PhaseIdleTractionMax)
-				throw new ArgumentException("PhaseIdle_TractionOn must have a value between 0 and 1");
-			if (nominalConsumptionAmps < ElectricConstants.NonminalConsumerConsumptionAmpsMin |
-				nominalConsumptionAmps > ElectricConstants.NominalConsumptionAmpsMax)
-				throw new ArgumentException("NominalConsumptionAmps must have a value between 0 and 100");
-			if (powerNetVoltage < ElectricConstants.PowenetVoltageMin | powerNetVoltage > ElectricConstants.PowenetVoltageMax)
-				throw new ArgumentException("PowerNetVoltage must have a value between 6 and 48");
-			if (numberInVehicle < 0)
-				throw new ArgumentException("Cannot have less than 0 consumers in the vehicle");
+			ValidateInput(category, consumerName, nominalConsumptionAmps, phaseIdleTractionOn, powerNetVoltage, numberInVehicle);
 
 			// Good, now assign.
 			BaseVehicle = baseVehicle;
@@ -67,7 +55,46 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric
 			
 		}
 
-		
+		protected void ValidateInput(
+			string category, string consumerName, Ampere nominalConsumptionAmps, double phaseIdleTractionOn, Volt powerNetVoltage,
+			int numberInVehicle)
+		{
+			if (category.Trim().Length == 0) {
+				throw new ArgumentException("Category Name cannot be empty");
+			}
+			if (consumerName.Trim().Length == 0) {
+				throw new ArgumentException("ConsumerName Name cannot be empty");
+			}
+			if (phaseIdleTractionOn < Constants.BusAuxiliaries.ElectricConstants.PhaseIdleTractionOnMin |
+				phaseIdleTractionOn > Constants.BusAuxiliaries.ElectricConstants.PhaseIdleTractionMax) {
+				throw new ArgumentException(
+					string.Format(
+						"PhaseIdle_TractionOn must have a value between {0} and {1}",
+						Constants.BusAuxiliaries.ElectricConstants.PhaseIdleTractionOnMin,
+						Constants.BusAuxiliaries.ElectricConstants.PhaseIdleTractionMax));
+			}
+			if (nominalConsumptionAmps < Constants.BusAuxiliaries.ElectricConstants.NonminalConsumerConsumptionAmpsMin |
+				nominalConsumptionAmps > Constants.BusAuxiliaries.ElectricConstants.NominalConsumptionAmpsMax) {
+				throw new ArgumentException(
+					string.Format(
+						"NominalConsumptionAmps must have a value between {0} and {1}",
+						Constants.BusAuxiliaries.ElectricConstants.NonminalConsumerConsumptionAmpsMin,
+						Constants.BusAuxiliaries.ElectricConstants.NominalConsumptionAmpsMax));
+			}
+			if (powerNetVoltage < Constants.BusAuxiliaries.ElectricConstants.PowenetVoltageMin |
+				powerNetVoltage > Constants.BusAuxiliaries.ElectricConstants.PowenetVoltageMax) {
+				throw new ArgumentException(
+					string.Format(
+						"PowerNetVoltage must have a value between {0} and {1}",
+						Constants.BusAuxiliaries.ElectricConstants.PowenetVoltageMin,
+						Constants.BusAuxiliaries.ElectricConstants.PowenetVoltageMax));
+			}
+			if (numberInVehicle < 0) {
+				throw new ArgumentException("Cannot have less than 0 consumers in the vehicle");
+			}
+		}
+
+
 		// Properties
 		public bool BaseVehicle
 		{
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M00Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M00Impl.cs
index 18518c0154..5b170ce1df 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M00Impl.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M00Impl.cs
@@ -1,6 +1,7 @@
 using System;
 using TUGraz.VectoCommon.BusAuxiliaries;
 using TUGraz.VectoCommon.Utils;
+using TUGraz.VectoCore.Configuration;
 using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules;
 using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics;
 using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC;
@@ -26,7 +27,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric
 				throw new ArgumentException("No Alternator Efficiency Map Supplied");
 			}
 
-			if (powernetVoltage < ElectricConstants.PowenetVoltageMin || powernetVoltage > ElectricConstants.PowenetVoltageMax) {
+			if (powernetVoltage < Constants.BusAuxiliaries.ElectricConstants.PowenetVoltageMin || powernetVoltage > Constants.BusAuxiliaries.ElectricConstants.PowenetVoltageMax) {
 				throw new ArgumentException("Powernet Voltage out of range");
 			}
 
@@ -47,7 +48,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric
 
 		#region Implementation of IM0_NonSmart_AlternatorsSetEfficiency
 
-		public Ampere GetHVACElectricalPowerDemandAmps
+		public Ampere GetHVACElectricalCurrentDemand
 		{
 			get { return _ElectricalPowerW / _powernetVoltage; }
 		}
@@ -56,7 +57,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric
 		{
 			get {
 				var baseCurrentDemandAmps = _m0_1.GetTotalAverageDemandAmpsIncludingBaseLoad; // _electricalConsumersList.GetTotalAverageDemandAmps(false);
-				var totalDemandAmps = baseCurrentDemandAmps + GetHVACElectricalPowerDemandAmps;
+				var totalDemandAmps = baseCurrentDemandAmps + GetHVACElectricalCurrentDemand;
 				return _alternatorEfficiencyMap.GetEfficiency(_signals.EngineSpeed, totalDemandAmps);
 			}
 		}
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M02Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M02Impl.cs
index d6a921ef44..aa566df23b 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M02Impl.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M02Impl.cs
@@ -1,5 +1,6 @@
 using System;
 using TUGraz.VectoCommon.Utils;
+using TUGraz.VectoCore.Configuration;
 using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules;
 using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics;
 
@@ -25,7 +26,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric
 			if (altPulleyEfficiency.IsEqual(0) || altPulleyEfficiency > 1) {
 				throw new ArgumentException("Alternator Gear efficiency out of range.");
 			}
-			if (powerNetVoltage < ElectricConstants.PowenetVoltageMin || powerNetVoltage > ElectricConstants.PowenetVoltageMax) {
+			if (powerNetVoltage < Constants.BusAuxiliaries.ElectricConstants.PowenetVoltageMin || powerNetVoltage > Constants.BusAuxiliaries.ElectricConstants.PowenetVoltageMax) {
 				throw new ArgumentException("Powernet Voltage out of known range.");
 			}
 
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M05Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M05Impl.cs
index 8b593b5a38..32b8d76d8d 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M05Impl.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M05Impl.cs
@@ -1,5 +1,6 @@
 using System;
 using TUGraz.VectoCommon.Utils;
+using TUGraz.VectoCore.Configuration;
 using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules;
 using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics;
 
@@ -18,7 +19,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric
 				throw new ArgumentException("Please supply a valid module M05");
 			}
 
-			if (powernetVoltage < ElectricConstants.PowenetVoltageMin || powernetVoltage > ElectricConstants.PowenetVoltageMax) {
+			if (powernetVoltage < Constants.BusAuxiliaries.ElectricConstants.PowenetVoltageMin || powernetVoltage > Constants.BusAuxiliaries.ElectricConstants.PowenetVoltageMax) {
 				throw new ArgumentException("Powernet Voltage out of range");
 			}
 			if (alternatorGearEfficiency < 0 || alternatorGearEfficiency > 1) {
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M0_5Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M0_5Impl.cs
index 9560b56251..97637642be 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M0_5Impl.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M0_5Impl.cs
@@ -61,7 +61,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric
 
 		private Ampere HvacPlusNonBaseCurrents()
 		{
-			return _m0.GetHVACElectricalPowerDemandAmps + _m0_1.GetTotalAverageDemandAmpsWithoutBaseLoad;
+			return _m0.GetHVACElectricalCurrentDemand + _m0_1.GetTotalAverageDemandAmpsWithoutBaseLoad;
 		}
 
 		public Ampere SmartIdleCurrent
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/M01Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/M01Impl.cs
index 062bc7b787..0b2bfb01a9 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/M01Impl.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/M01Impl.cs
@@ -1,5 +1,6 @@
 using System;
 using TUGraz.VectoCommon.Utils;
+using TUGraz.VectoCore.Configuration;
 using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules;
 using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics;
 using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC;
@@ -23,10 +24,10 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 				throw new ArgumentException("Module0 as supplied is null");
 			}
 
-			if (altGearEfficiency < ElectricConstants.AlternatorPulleyEfficiencyMin ||
-				altGearEfficiency > ElectricConstants.AlternatorPulleyEfficiencyMax) {
+			if (altGearEfficiency < Constants.BusAuxiliaries.ElectricConstants.AlternatorPulleyEfficiencyMin ||
+				altGearEfficiency > Constants.BusAuxiliaries.ElectricConstants.AlternatorPulleyEfficiencyMax) {
 				throw new ArgumentException(string.Format("Gear efficiency must be between {0} and {1}",
-						ElectricConstants.AlternatorPulleyEfficiencyMin, ElectricConstants.AlternatorPulleyEfficiencyMax));
+						Constants.BusAuxiliaries.ElectricConstants.AlternatorPulleyEfficiencyMin, Constants.BusAuxiliaries.ElectricConstants.AlternatorPulleyEfficiencyMax));
 			}
 			
 			
@@ -53,22 +54,22 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 
 		#region Implementation of IM1_AverageHVACLoadDemand
 
-		public Watt AveragePowerDemandAtCrankFromHVACMechanicalsWatts()
+		public Watt AveragePowerDemandAtCrankFromHVACMechanicals()
 		{
 			return _MechanicalPowerW * (1 / _compressorGearEfficiency);
 		}
 
-		public Watt AveragePowerDemandAtAlternatorFromHVACElectricsWatts()
+		public Watt AveragePowerDemandAtAlternatorFromHVACElectrics()
 		{
 			return _ElectricalPowerW;
 		}
 
-		public Watt AveragePowerDemandAtCrankFromHVACElectricsWatts()
+		public Watt AveragePowerDemandAtCrankFromHVACElectrics()
 		{
 			return _ElectricalPowerW * (1 / _m0.AlternatorsEfficiency / _alternatorGearEfficiency);
 		}
 
-		public KilogramPerSecond HVACFuelingLitresPerHour()
+		public KilogramPerSecond HVACFueling()
 		{
 			return _FuelingLPerH;
 		}
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M06Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M06Impl.cs
index 25f2bf11ad..e186080995 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M06Impl.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M06Impl.cs
@@ -38,9 +38,9 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl
 
 		protected override void DoCalculate()
 		{
-			var sum1 = _m1.AveragePowerDemandAtCrankFromHVACElectricsWatts() + _m2.GetAveragePowerAtCrankFromElectrics();
+			var sum1 = _m1.AveragePowerDemandAtCrankFromHVACElectrics() + _m2.GetAveragePowerAtCrankFromElectrics();
 			var sw1 = _signals.SmartElectrics ? _m5.AlternatorsGenerationPowerAtCrankTractionOn() : sum1;
-			var sum2 = _m1.AveragePowerDemandAtCrankFromHVACMechanicalsWatts() + sw1 +
+			var sum2 = _m1.AveragePowerDemandAtCrankFromHVACMechanicals() + sw1 +
 						_m3.GetAveragePowerDemandAtCrankFromPneumatics();
 			var sum3 = _signals.EngineMotoringPower + _signals.InternalEnginePower + sum2;
 			var vc0 = sum3 <= 0;
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M08Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M08Impl.cs
index 00bca59c62..be643764ba 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M08Impl.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M08Impl.cs
@@ -35,7 +35,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl
 			var sw2 = _signals.SmartPneumatics ? sum3 : sum4;
 			var sw5 = _signals.SmartElectrics ? sw1 : sw2;
 			var sw6 = !_signals.EngineStopped;
-			var sum5 = _m1.AveragePowerDemandAtCrankFromHVACMechanicalsWatts() + sw5;
+			var sum5 = _m1.AveragePowerDemandAtCrankFromHVACMechanicals() + sw5;
 			var sum6 = sw6 ? sum5 : 0.SI<Watt>();
 
 			var sw3 = _signals.SmartPneumatics ? _m7.SmartElectricalAndPneumaticAuxAltPowerGenAtCrank :
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M09Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M09Impl.cs
index c1576eb421..f76f762ea4 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M09Impl.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M09Impl.cs
@@ -84,7 +84,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl
 				throw new DivideByZeroException("Engine speed is zero and cannot be used as a divisor.");
 			}
 
-			var s1 = M6.AvgPowerDemandAtCrankFromElectricsIncHVAC + M1.AveragePowerDemandAtCrankFromHVACMechanicalsWatts();
+			var s1 = M6.AvgPowerDemandAtCrankFromElectricsIncHVAC + M1.AveragePowerDemandAtCrankFromHVACMechanicals();
 			var s2 = M4.GetPowerCompressorOn() / S0(Signals.EngineSpeed);
 			var s3 = M4.GetPowerCompressorOff() / S0(Signals.EngineSpeed);
 			var s4 = s1 / S0(Signals.EngineSpeed);
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M11Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M11Impl.cs
index bb474fdd26..5115b534c7 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M11Impl.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M11Impl.cs
@@ -110,7 +110,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl
 
 			AG6 += (M6.AvgPowerDemandAtCrankFromElectricsIncHVAC * stepTimeInSeconds);
 
-			var sum2 = M3.GetAveragePowerDemandAtCrankFromPneumatics() + M1.AveragePowerDemandAtCrankFromHVACMechanicalsWatts();
+			var sum2 = M3.GetAveragePowerDemandAtCrankFromPneumatics() + M1.AveragePowerDemandAtCrankFromHVACMechanicals();
 			var sum3 = M8.SmartElectricalAlternatorPowerGenAtCrank / Sum0(Signals.EngineSpeed);
 			var sum4 = sum2 / Sum0(Signals.EngineSpeed);
 			var sum9 = Signals.EngineDrivelineTorque +
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ElectricConstants.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ElectricConstants.cs
deleted file mode 100644
index bacd8618ec..0000000000
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ElectricConstants.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics
-{
-	public class ElectricConstants
-	{
-		// Anticipated Min and Max Allowable values for Powernet, normally 26.3 volts but could be 48 in the future.
-		public const double PowenetVoltageMin = 6;
-		public const double PowenetVoltageMax = 50;
-
-		// Duty Cycle IE Percentage of use
-		public const double PhaseIdleTractionOnMin = 0;
-		public const double PhaseIdleTractionMax = 1;
-
-		// Max Min Expected Consumption for a Single Consumer, negative values allowed as bonuses.
-		public const int NonminalConsumerConsumptionAmpsMin = -10;
-		public const int NominalConsumptionAmpsMax = 100;
-
-
-		// Alternator
-		public const double AlternatorPulleyEfficiencyMin = 0.1;
-		public const double AlternatorPulleyEfficiencyMax = 1;
-	}
-}
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMCalculate.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMCalculate.cs
index 7ef16cba9d..5cbe37bd4d 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMCalculate.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMCalculate.cs
@@ -4,10 +4,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HV
 {
 	public interface ISSMCalculate
 	{
-		//ISSMRun Run1 { get; set; }
-		//ISSMRun Run2 { get; set; }
-
-
+		
 		Watt ElectricalWBase { get; }
 		Watt MechanicalWBase { get; }
 		KilogramPerSecond FuelPerHBase { get; }
@@ -17,43 +14,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HV
 		KilogramPerSecond FuelPerHBaseAdjusted { get; }
 
 
-		// BaseValues
-		// - Heating
-		//Watt BaseHeatingW_Mechanical { get; }
-		//Watt BaseHeatingW_ElectricalCoolingHeating { get; }
-		//Watt BaseHeatingW_ElectricalVentilation { get; }
-		//Watt BaseHeatingW_FuelFiredHeating { get; }
-
-		// Cooling                                                    
-		//Watt BaseCoolingW_Mechanical { get; }
-		//Watt BaseCoolingW_ElectricalCoolingHeating { get; }
-		//Watt BaseCoolingW_ElectricalVentilation { get; }
-		//Watt BaseCoolingW_FuelFiredHeating { get; }
-
-		// Cooling
-		//Watt BaseVentilationW_Mechanical { get; }
-		//Watt BaseVentilationW_ElectricalCoolingHeating { get; }
-		//Watt BaseVentilationW_ElectricalVentilation { get; }
-		//Watt BaseVentilationW_FuelFiredHeating { get; }
-
-
-		// TechListBenefits
-		// - Heating
-		//double TechListAdjustedHeatingW_Mechanical { get; }
-		//double TechListAdjustedHeatingW_ElectricalCoolingHeating { get; }
-		//double TechListAdjustedHeatingW_ElectricalVentilation { get; }
 		double TechListAdjustedHeatingW_FuelFiredHeating { get; }
 
-		// Cooling          TechListAdjusted                                      
-		//double TechListAdjustedCoolingW_Mechanical { get; }
-		//double TechListAdjustedCoolingW_ElectricalCoolingHeating { get; }
-		//double TechListAdjustedCoolingW_ElectricalVentilation { get; }
-		//double TechListAdjustedCoolingW_FuelFiredHeating { get; }
-
-		// Cooling          TechListAdjusted
-		//double TechListAdjustedVentilationW_Mechanical { get; }
-		//double TechListAdjustedVentilationW_ElectricalCoolingHeating { get; }
-		//double TechListAdjustedVentilationW_ElectricalVentilation { get; }
-		//double TechListAdjustedVentilationW_FuelFiredHeating { get; }
 	}
 }
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMRun.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMRun.cs
index ec0d9099af..199df29069 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMRun.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMRun.cs
@@ -4,14 +4,8 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HV
 {
 	public interface ISSMRun
 	{
-		//double HVACOperation { get; }
-		//Kelvin TCalc { get; }
-		//Kelvin TemperatureDelta { get; }
-		//Watt QWall { get; }
-		//Watt WattsPerPass { get; }
-		//Watt Solar { get; }
+		
 		Watt TotalW(Kelvin environmentTemperature, WattPerSquareMeter solarFactor);
-		//double TotalKW { get; }
 		Watt FuelW(Kelvin environmentTemperature, WattPerSquareMeter solarFactor);
 		Watt TechListAmendedFuelW(Kelvin environmentTemperature, WattPerSquareMeter solarFactor);
 	}
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMTOOL.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMTOOL.cs
index b58d42025e..e60149fdfc 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMTOOL.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMTOOL.cs
@@ -20,12 +20,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HV
 
 		Watt EngineWasteHeatkW { get; }
 
-		//void Clone(ISSMTOOL from);
-
-		//bool Load(string filePath);
-
-		//bool Save(string filePath);
-
+		
 		bool IsEqualTo(ISSMTOOL source);
 
 		/// <summary>
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM0_NonSmart_AlternatorsSetEfficiency.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM0_NonSmart_AlternatorsSetEfficiency.cs
index e4a96301b6..f75f9a1587 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM0_NonSmart_AlternatorsSetEfficiency.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM0_NonSmart_AlternatorsSetEfficiency.cs
@@ -22,7 +22,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules
 		///  <value></value>
 		///  <returns></returns>
 		///  <remarks></remarks>
-		Ampere GetHVACElectricalPowerDemandAmps { get; }
+		Ampere GetHVACElectricalCurrentDemand { get; }
 
 		/// <summary>
 		///  Gets Alternator Efficiency (0-1)
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM1_AverageHVACLoadDemand.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM1_AverageHVACLoadDemand.cs
index c462d97c82..c85c80d331 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM1_AverageHVACLoadDemand.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM1_AverageHVACLoadDemand.cs
@@ -21,27 +21,27 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules
 		/// 	</summary>
 		/// 	<returns></returns>
 		/// 	<remarks></remarks>
-		Watt AveragePowerDemandAtCrankFromHVACMechanicalsWatts();
+		Watt AveragePowerDemandAtCrankFromHVACMechanicals();
 
 		/// <summary>
 		/// 	Average Power Demand At Alternator From HVAC Electrics (W)
 		/// 	</summary>
 		/// 	<returns></returns>
 		/// 	<remarks></remarks>
-		Watt AveragePowerDemandAtAlternatorFromHVACElectricsWatts();
+		Watt AveragePowerDemandAtAlternatorFromHVACElectrics();
 
 		/// <summary>
 		/// 	Average Power Demand At Crank From HVAC Electrics  (W)
 		/// 	</summary>
 		/// 	<returns></returns>
 		/// 	<remarks></remarks>
-		Watt AveragePowerDemandAtCrankFromHVACElectricsWatts();
+		Watt AveragePowerDemandAtCrankFromHVACElectrics();
 
 		/// <summary>
 		/// 	HVAC Fueling   (L/H)
 		/// 	</summary>
 		/// 	<returns>Litres Per Hour</returns>
 		/// 	<remarks></remarks>
-		KilogramPerSecond HVACFuelingLitresPerHour();
+		KilogramPerSecond HVACFueling();
 	}
 }
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM2_AverageElectrialLoadDemand.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM2_AverageElectrialLoadDemand.cs
index 04add94522..ffa43ee9de 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM2_AverageElectrialLoadDemand.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM2_AverageElectrialLoadDemand.cs
@@ -15,7 +15,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules
 {
 	public interface IM2_AverageElectricalLoadDemand : IAbstractModule
 	{
-		//Watt GetAveragePowerDemandAtAlternator();
+		
 		Watt GetAveragePowerAtCrankFromElectrics();
 	}
 }
diff --git a/VectoCore/VectoCore/VectoCore.csproj b/VectoCore/VectoCore/VectoCore.csproj
index facac77f97..a7f6ac5a32 100644
--- a/VectoCore/VectoCore/VectoCore.csproj
+++ b/VectoCore/VectoCore/VectoCore.csproj
@@ -311,11 +311,8 @@
     <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\Pneumatics\PneumaticsAuxilliariesConfig.cs" />
     <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\Pneumatics\PneumaticUserInputsConfig.cs" />
     <Compile Include="Models\BusAuxiliaries\Interfaces\DownstreamModules\Electrics\AltUserInput.cs" />
-    <Compile Include="Models\BusAuxiliaries\Interfaces\DownstreamModules\Electrics\ElectricConstants.cs" />
     <Compile Include="Models\BusAuxiliaries\Interfaces\DownstreamModules\Electrics\IAlternator.cs" />
     <Compile Include="Models\BusAuxiliaries\Interfaces\DownstreamModules\Electrics\ICombinedAlternator.cs" />
-    <Compile Include="Models\BusAuxiliaries\Interfaces\DownstreamModules\Electrics\ICombinedAlternatorSignals.cs" />
-    <Compile Include="Models\BusAuxiliaries\Interfaces\DownstreamModules\HVAC\Class1.cs" />
     <Compile Include="Models\BusAuxiliaries\Interfaces\DownstreamModules\HVAC\ISSMCalculate.cs" />
     <Compile Include="Models\BusAuxiliaries\Interfaces\DownstreamModules\HVAC\ISSMRun.cs" />
     <Compile Include="Models\BusAuxiliaries\Interfaces\DownstreamModules\HVAC\ISSMTOOL.cs" />
@@ -824,9 +821,7 @@
       <Name>VectoHashing</Name>
     </ProjectReference>
   </ItemGroup>
-  <ItemGroup>
-    <Folder Include="Models\BusAuxiliaries\Interfaces\DownstreamModules\PneumaticSystem\" />
-  </ItemGroup>
+  <ItemGroup />
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
        Other similar extension points exist, see Microsoft.Common.targets.
-- 
GitLab