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