diff --git a/VECTO/mAAUX_Global.vb b/VECTO/mAAUX_Global.vb index 1eb3e26e569b7043e27eff5c55ea4c974d61b591..76cad83e19a3b5a99b9a13cd8cf37502a44c77ad 100644 --- a/VECTO/mAAUX_Global.vb +++ b/VECTO/mAAUX_Global.vb @@ -1,6 +1,7 @@ Imports System.Collections.Generic Imports VectoAuxiliaries Imports System.IO +Imports TUGraz.VectoCommon.Utils Module mAAUX_Global Public ClutchEngaged As Boolean @@ -60,9 +61,9 @@ Module mAAUX_Global 'Set Statics advancedAuxModel.VectoInputs.Cycle = DetermineCycleNameFromCurrentFile() - advancedAuxModel.VectoInputs.VehicleWeightKG = VEH.Mass + advancedAuxModel.VectoInputs.VehicleWeightKG = VEH.Mass.SI(Of Kilogram)() advancedAuxModel.VectoInputs.FuelMap = fuelMap 'ENG.FuelMapFullPath - advancedAuxModel.VectoInputs.FuelDensity = Cfg.FuelDens + advancedAuxModel.VectoInputs.FuelDensity = CType(Cfg.FuelDens, Double).SI().Kilo.Gramm.Per.Liter 'Set Signals advancedAuxModel.Signals.TotalCycleTimeSeconds = CycleTimeInSeconds diff --git a/VECTOAux/VectoAuxiliaries/AdvancedAuxiliaries.vb b/VECTOAux/VectoAuxiliaries/AdvancedAuxiliaries.vb index 14f62188b501ad4e1425e11de57136c9f360ee57..d7c2bc0f999f09385b584e7b55e4acac3b5593f5 100644 --- a/VECTOAux/VectoAuxiliaries/AdvancedAuxiliaries.vb +++ b/VECTOAux/VectoAuxiliaries/AdvancedAuxiliaries.vb @@ -169,7 +169,7 @@ Public Class AdvancedAuxiliaries auxConfig.PneumaticAuxillariesConfig, actuationsMap, compressorMap, - VectoInputs.VehicleWeightKG.SI(Of Kilogram), + VectoInputs.VehicleWeightKG, VectoInputs.Cycle, Signals) diff --git a/VECTOAux/VectoAuxiliaries/AuxiliaryConfig.vb b/VECTOAux/VectoAuxiliaries/AuxiliaryConfig.vb index dc5c160b7300d49fea22f4fcc2c9ed5c8c3d024d..d7f3d83ceab362ade3cd56ec93732da3fb6b1ab6 100644 --- a/VECTOAux/VectoAuxiliaries/AuxiliaryConfig.vb +++ b/VECTOAux/VectoAuxiliaries/AuxiliaryConfig.vb @@ -84,7 +84,7 @@ Public Class AuxiliaryConfig 'Set Default Values Private Sub setDefaults() - Dim tmp As VectoInputs = New VectoInputs With {.Cycle = "Urban", .VehicleWeightKG = 16500, .PowerNetVoltage = 28.3} + Dim tmp As VectoInputs = New VectoInputs With {.Cycle = "Urban", .VehicleWeightKG = 16500.SI(Of Kilogram)(), .PowerNetVoltage = 28.3.SI(Of Volt)()} VectoInputs = tmp Signals = New Signals With {.EngineSpeed = 2000, .TotalCycleTimeSeconds = 3114, .ClutchEngaged = False} diff --git a/VECTOAux/VectoAuxiliaries/DownstreamModules/M14.vb b/VECTOAux/VectoAuxiliaries/DownstreamModules/M14.vb index a3b4ec87cbb5515780c379eee66da7d29d00ed66..db250383b942c7720c088547a7371874f15b8e9d 100644 --- a/VECTOAux/VectoAuxiliaries/DownstreamModules/M14.vb +++ b/VECTOAux/VectoAuxiliaries/DownstreamModules/M14.vb @@ -30,7 +30,7 @@ Namespace DownstreamModules 'Staging Calculations Private ReadOnly Property S1 As Joule Get - Return (m13.WHTCTotalCycleFuelConsumptionGrams.Value * constants.DieselGCVJperGram * 1000).SI(Of Joule)() + Return m13.WHTCTotalCycleFuelConsumptionGrams * constants.DieselGCVJperGram End Get End Property @@ -62,7 +62,7 @@ Namespace DownstreamModules Get 'Return (S5.Value() * ssm.FuelPerHBaseAsjusted(S4.Value() / 1000) / 3600 * (constants.FuelDensity)).SI(Of Kilogram)() Return _ - (S5 * ssm.FuelPerHBaseAsjusted(S4.Value() / 1000).SI().Liter.Per.Hour * constants.FuelDensity.SI().Gramm.Per.Liter). + (S5 * ssm.FuelPerHBaseAsjusted(S4.Value() / 1000).SI().Liter.Per.Hour * constants.FuelDensity). Cast(Of Kilogram)() End Get End Property @@ -75,7 +75,7 @@ Namespace DownstreamModules Private ReadOnly Property S8 As Liter Get - Return (S7 / (constants.FuelDensity.SI().Gramm.Per.Liter)).Cast(Of Liter)() + Return (S7 / (constants.FuelDensity)).Cast(Of Liter)() End Get End Property @@ -92,3 +92,4 @@ Namespace DownstreamModules End Property End Class End Namespace + diff --git a/VECTOAux/VectoAuxiliaries/Electrics/ElectricsUserInputsConfig.vb b/VECTOAux/VectoAuxiliaries/Electrics/ElectricsUserInputsConfig.vb index dc75e5465a0f5690bbb567b64b4dd096cd51b25e..6ccffb23e7ba00ab224c3726aa5ca4eabaa60a4d 100644 --- a/VECTOAux/VectoAuxiliaries/Electrics/ElectricsUserInputsConfig.vb +++ b/VECTOAux/VectoAuxiliaries/Electrics/ElectricsUserInputsConfig.vb @@ -9,6 +9,7 @@ ' ' See the LICENSE.txt for the specific language governing permissions and limitations. +Imports TUGraz.VectoCommon.Utils Imports VectoAuxiliaries.Electrics Namespace Electrics @@ -41,7 +42,7 @@ Namespace Electrics DoorActuationTimeSecond = 4 StoredEnergyEfficiency = 0.935 AlternatorGearEfficiency = 0.92 - PowerNetVoltage = vectoInputs.PowerNetVoltage + PowerNetVoltage = vectoInputs.PowerNetVoltage.Value() ResultCardIdle = New ResultCard(New List(Of SmartResult)) ResultCardOverrun = New ResultCard(New List(Of SmartResult)) ResultCardTraction = New ResultCard(New List(Of SmartResult)) diff --git a/VECTOAux/VectoAuxiliaries/Hvac/HVACConstants.vb b/VECTOAux/VectoAuxiliaries/Hvac/HVACConstants.vb index 29a76fdd1182ff01c6cc6db50f720abf7fd2722d..dbe43d9244320fbcc9578f7b805116e8ea5977ed 100644 --- a/VECTOAux/VectoAuxiliaries/Hvac/HVACConstants.vb +++ b/VECTOAux/VectoAuxiliaries/Hvac/HVACConstants.vb @@ -14,27 +14,33 @@ Namespace Hvac Public Class HVACConstants Implements IHVACConstants - Private _fuelDensity As Double + Private _fuelDensity As KilogramPerCubicMeter Public Sub New() - _fuelDensity = 0.832 + _fuelDensity = 835.SI(Of KilogramPerCubicMeter)() End Sub - Public Sub New(fuelDensitySingle As Double) + Public Sub New(fuelDensitySingle As KilogramPerCubicMeter) _fuelDensity = fuelDensitySingle End Sub - Public ReadOnly Property DieselGCVJperGram As Double Implements IHVACConstants.DieselGCVJperGram + Public ReadOnly Property DieselGCVJperGram As JoulePerKilogramm Implements IHVACConstants.DieselGCVJperGram Get - Return 44800 + Return 44800.SI().Joule.Per.Gramm.Cast(Of JoulePerKilogramm)() End Get End Property - Public ReadOnly Property FuelDensity As Double Implements IHVACConstants.FuelDensity + Public ReadOnly Property FuelDensity As KilogramPerCubicMeter Implements IHVACConstants.FuelDensity Get Return _fuelDensity End Get End Property + + Public ReadOnly Property FuelDensityAsGramPerLiter As Double Implements IHVACConstants.FuelDensityAsGramPerLiter + Get + Return _fuelDensity.Value() * 1000 + End Get + End Property End Class End Namespace diff --git a/VECTOAux/VectoAuxiliaries/Hvac/IHVACConstants.vb b/VECTOAux/VectoAuxiliaries/Hvac/IHVACConstants.vb index 4b93b7b9d354f5c69748278f45a2b29beefe09b9..7748f5a9c39d26793239dfbc9f5f63986b427cbf 100644 --- a/VECTOAux/VectoAuxiliaries/Hvac/IHVACConstants.vb +++ b/VECTOAux/VectoAuxiliaries/Hvac/IHVACConstants.vb @@ -8,7 +8,7 @@ Namespace Hvac ''' <value></value> ''' <returns></returns> ''' <remarks></remarks> - ReadOnly Property DieselGCVJperGram As Double + ReadOnly Property DieselGCVJperGram As JoulePerKilogramm ''' <summary> ''' 835 [g/l] @@ -16,7 +16,9 @@ Namespace Hvac ''' <value></value> ''' <returns></returns> ''' <remarks></remarks> - ReadOnly Property FuelDensity As Double + ReadOnly Property FuelDensity As KilogramPerCubicMeter + + ReadOnly Property FuelDensityAsGramPerLiter As Double End Interface End Namespace diff --git a/VECTOAux/VectoAuxiliaries/Hvac/SSMCalculate.vb b/VECTOAux/VectoAuxiliaries/Hvac/SSMCalculate.vb index b50292e32bfe6eb862b3b57fcd989183c5a12e9a..12b5ac6feaba175e3b03d1099b9cad394e8b699b 100644 --- a/VECTOAux/VectoAuxiliaries/Hvac/SSMCalculate.vb +++ b/VECTOAux/VectoAuxiliaries/Hvac/SSMCalculate.vb @@ -712,7 +712,8 @@ Namespace Hvac Dim FuelLPerHBaseCurrentResult As Double = (Math.Min(Math.Abs(BaseHeatingW_FuelFiredHeating / 1000), genInputs.AH_FuelFiredHeaterkW) / - genInputs.BC_AuxHeaterEfficiency) * (1 / (genInputs.BC_GCVDieselOrHeatingOil * ssmTOOL.HVACConstants.FuelDensity)) + genInputs.BC_AuxHeaterEfficiency) * + (1 / (genInputs.BC_GCVDieselOrHeatingOil * ssmTOOL.HVACConstants.FuelDensityAsGramPerLiter)) Return FuelLPerHBaseCurrentResult * Weight End Function @@ -783,7 +784,8 @@ Namespace Hvac End If Dim FuelLPerHBaseAdjusted As Double = Math.Min(result, genInputs.AH_FuelFiredHeaterkW) / - genInputs.BC_AuxHeaterEfficiency * (1 / (genInputs.BC_GCVDieselOrHeatingOil * ssmTOOL.HVACConstants.FuelDensity)) + genInputs.BC_AuxHeaterEfficiency * + (1 / (genInputs.BC_GCVDieselOrHeatingOil * ssmTOOL.HVACConstants.FuelDensityAsGramPerLiter)) Return FuelLPerHBaseAdjusted * Weight End Function diff --git a/VECTOAux/VectoAuxiliariesTests/IntegrationTests/AuxDemandTest.vb b/VECTOAux/VectoAuxiliariesTests/IntegrationTests/AuxDemandTest.vb index 58f061f3c67d82830605f975a28455f8dfd1850d..d0830d37155bb9783db0a4e2bd492dc4f5223b82 100644 --- a/VECTOAux/VectoAuxiliariesTests/IntegrationTests/AuxDemandTest.vb +++ b/VECTOAux/VectoAuxiliariesTests/IntegrationTests/AuxDemandTest.vb @@ -19,8 +19,8 @@ Namespace IntegrationTests Dim aux As AdvancedAuxiliaries = New AdvancedAuxiliaries aux.VectoInputs.Cycle = "Coach" - aux.VectoInputs.VehicleWeightKG = vehicleWeight - aux.VectoInputs.FuelDensity = 0.832 + aux.VectoInputs.VehicleWeightKG = vehicleWeight.SI(Of Kilogram)() + aux.VectoInputs.FuelDensity = 0.832.SI().Kilo.Gramm.Per.Liter.Cast(Of KilogramPerCubicMeter)() Dim fuelMap As cMAP = New cMAP() fuelMap.FilePath = engineFCMapFilePath fuelMap.ReadFile(False) @@ -65,8 +65,8 @@ Namespace IntegrationTests Dim aux As AdvancedAuxiliaries = New AdvancedAuxiliaries aux.VectoInputs.Cycle = "Coach" - aux.VectoInputs.VehicleWeightKG = 12000 - aux.VectoInputs.FuelDensity = 0.832 + aux.VectoInputs.VehicleWeightKG = 12000.SI(Of Kilogram)() + aux.VectoInputs.FuelDensity = 0.832.SI().Kilo.Gramm.Per.Liter.Cast(Of KilogramPerCubicMeter)() Dim fuelMap As cMAP = New cMAP() fuelMap.FilePath = engineFCMapFilePath fuelMap.ReadFile(False) diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/M14Tests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/M14Tests.vb index 32cc2b7e9c78abd4d91dda3d9930697c8efa577e..f5f7f3ad65a1c03005cd74d36d83e0fd9b2ccf5c 100644 --- a/VECTOAux/VectoAuxiliariesTests/UnitTests/M14Tests.vb +++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/M14Tests.vb @@ -100,14 +100,14 @@ Namespace UnitTests Dim ip1 As Double = 1000.0 Dim ip5 As Double = 3114 - Dim expectedOut1 As Double = 1799.3334 ' 780333.4 + Dim expectedOut1 As Double = 1799.3334 ' 780333.4 Dim expectedOut2 As Double = 2.13093 Dim m13 As New Mock(Of IM13) Dim hvacSSM As New Mock(Of ISSMTOOL) Dim signals As New Mock(Of ISignals) Dim ssmMock As ISSMTOOL = New SSMToolMock() - Dim constants As IHVACConstants = New HVACConstants(835) + Dim constants As IHVACConstants = New HVACConstants(835.SI(Of KilogramPerCubicMeter)) 'Moq' Arrangements m13.Setup(Function(x) x.WHTCTotalCycleFuelConsumptionGrams).Returns((ip1 / 1000).SI(Of Kilogram)) @@ -119,7 +119,7 @@ Namespace UnitTests 'Assert Assert.AreEqual(expectedOut1.SI().Gramm.Value(), m14.TotalCycleFCGrams.Value(), 0.1) - Assert.AreEqual(expectedOut2, m14.TotalCycleFCLitres.Value(), 0.00001) + Assert.AreEqual(expectedOut2.SI().Liter.Value(), m14.TotalCycleFCLitres.Value(), 0.00001) End Sub End Class End Namespace diff --git a/VectoCommon/AdvancedAuxiliaryInterfaces/IVectoInputs.vb b/VectoCommon/AdvancedAuxiliaryInterfaces/IVectoInputs.vb index 4f31f2b45b341f28111e562bf3bc015216952e4c..11e637ce9ef92dd4a6b0b111de163955cc0690f6 100644 --- a/VectoCommon/AdvancedAuxiliaryInterfaces/IVectoInputs.vb +++ b/VectoCommon/AdvancedAuxiliaryInterfaces/IVectoInputs.vb @@ -8,6 +8,7 @@ ' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ' ' See the LICENSE.txt for the specific language governing permissions and limitations. +Imports TUGraz.VectoCommon.Utils Public Interface IVectoInputs ''' <summary> @@ -16,7 +17,7 @@ Public Interface IVectoInputs ''' <value></value> ''' <returns></returns> ''' <remarks></remarks> - Property VehicleWeightKG As Single + Property VehicleWeightKG As Kilogram ''' <summary> ''' Cycle ( Urban, Interurban etc ) @@ -32,7 +33,7 @@ Public Interface IVectoInputs ''' <value></value> ''' <returns></returns> ''' <remarks></remarks> - Property PowerNetVoltage As Single + Property PowerNetVoltage As Volt ''' <summary> ''' Fuel Map Used in Vecto. @@ -50,5 +51,5 @@ Public Interface IVectoInputs ''' <value></value> ''' <returns></returns> ''' <remarks></remarks> - Property FuelDensity As Double + Property FuelDensity As KilogramPerCubicMeter End Interface diff --git a/VectoCommon/AdvancedAuxiliaryInterfaces/VectoInputs.vb b/VectoCommon/AdvancedAuxiliaryInterfaces/VectoInputs.vb index e0b5b0459671531efc14dfeae6fa136ebab592a2..bf8f81c84d29c764ff0e7f974fbf9549092d1c11 100644 --- a/VectoCommon/AdvancedAuxiliaryInterfaces/VectoInputs.vb +++ b/VectoCommon/AdvancedAuxiliaryInterfaces/VectoInputs.vb @@ -9,6 +9,7 @@ ' ' See the LICENSE.txt for the specific language governing permissions and limitations. Imports Newtonsoft.Json +Imports TUGraz.VectoCommon.Utils Public Class VectoInputs Implements IVectoInputs @@ -27,7 +28,17 @@ Public Class VectoInputs ''' <value></value> ''' <returns></returns> ''' <remarks></remarks> - Public Property VehicleWeightKG As Single Implements IVectoInputs.VehicleWeightKG + <JsonIgnore> + Public Property VehicleWeightKG As Kilogram Implements IVectoInputs.VehicleWeightKG + Get + Return _vehicleWeight.SI(Of Kilogram)() + End Get + Set(value As Kilogram) + _vehicleWeight = value.Value() + End Set + End Property + + <JsonProperty("VehicleWeightKG")> Dim _vehicleWeight As Double ''' <summary> ''' Powernet Voltage (V) @@ -35,7 +46,17 @@ Public Class VectoInputs ''' <value></value> ''' <returns></returns> ''' <remarks>This is the power voltage available in the bus - usually 26.3 Volts</remarks> - Public Property PowerNetVoltage As Single Implements IVectoInputs.PowerNetVoltage + <JsonIgnore> + Public Property PowerNetVoltage As Volt Implements IVectoInputs.PowerNetVoltage + Get + Return _powerNetVoltage.SI(Of Volt)() + End Get + Set(value As Volt) + _powerNetVoltage = value.Value() + End Set + End Property + + <JsonProperty("PowerNetVoltage")> Dim _powerNetVoltage As Double ''' <summary> ''' Fuel Map Same One as used in Vecto. @@ -55,6 +76,16 @@ Public Class VectoInputs ''' <value></value> ''' <returns></returns> ''' <remarks></remarks> - Public Property FuelDensity As Double Implements IVectoInputs.FuelDensity + <JsonIgnore> + Public Property FuelDensity As KilogramPerCubicMeter Implements IVectoInputs.FuelDensity + Get + Return _fuelDensity.SI(Of KilogramPerCubicMeter)() + End Get + Set(value As KilogramPerCubicMeter) + _fuelDensity = value.Value() + End Set + End Property + + <JsonProperty("FuelDensity")> Dim _fuelDensity As Double End Class diff --git a/VectoCommon/VectoCommon/Utils/SI.cs b/VectoCommon/VectoCommon/Utils/SI.cs index c521e02e03a034b1d09f92c95a39790106e09047..1c86329c28d3aa769a8144460f55c0896db9f84f 100644 --- a/VectoCommon/VectoCommon/Utils/SI.cs +++ b/VectoCommon/VectoCommon/Utils/SI.cs @@ -423,6 +423,34 @@ namespace TUGraz.VectoCommon.Utils } } + /// <summary> + /// SI Class for Kilogram Square Meter [kgm^2]. + /// </summary> + public class KilogramPerCubicMeter : SIBase<KilogramPerCubicMeter> + { + private static readonly Unit[] NumeratorDefault = { Unit.k, Unit.g }; + private static readonly Unit[] DenominatorDefault = { Unit.m, Unit.m, Unit.m }; + + [DebuggerHidden] + private KilogramPerCubicMeter(double value) : base(value, NumeratorDefault, DenominatorDefault) {} + + [DebuggerHidden] + public static Kilogram operator *(KilogramPerCubicMeter kilogramPerCubicMeter, CubicMeter cubicMeter) + { + return SIBase<Kilogram>.Create(kilogramPerCubicMeter.Val * cubicMeter.Value()); + } + + public static Kilogram operator *(KilogramPerCubicMeter kilogramPerCubicMeter, Liter liter) + { + return SIBase<Kilogram>.Create(kilogramPerCubicMeter.Val * liter.Value() / 1000); + } + + public static CubicMeter operator /(Kilogram kg, KilogramPerCubicMeter kgm3) + { + return SIBase<CubicMeter>.Create(kg.Value() / kgm3.Val); + } + } + /// <summary> /// SI Class for Kilogramm per watt second [kg/Ws]. /// </summary> @@ -532,17 +560,17 @@ namespace TUGraz.VectoCommon.Utils } } - public class JoulePerGram : SIBase<JoulePerGram> + public class JoulePerKilogramm : SIBase<JoulePerKilogramm> { - private static readonly Unit[] NumeratorDefault = { Unit.W, Unit.s }; - private static readonly Unit[] DenominatorDefault = { Unit.g }; + private static readonly Unit[] NumeratorDefault = { Unit.J }; + private static readonly Unit[] DenominatorDefault = { Unit.k, Unit.g }; - private JoulePerGram(double val) : base(val, NumeratorDefault, DenominatorDefault) {} + private JoulePerKilogramm(double val) : base(val, NumeratorDefault, DenominatorDefault) {} - //public static Joule operator *(Gram gram, JoulePerGram jpg) - //{ - // return SIBase<Joule>.Create(gram.Value() * jpg.Val); - //} + public static Joule operator *(Kilogram kg, JoulePerKilogramm jpg) + { + return SIBase<Joule>.Create(kg.Value() * jpg.Val); + } } @@ -1001,6 +1029,7 @@ namespace TUGraz.VectoCommon.Utils h, milli, t, + J, Ampere, NI, // norm liter liter, @@ -1165,12 +1194,13 @@ namespace TUGraz.VectoCommon.Utils /// Casts the SI Unit to the concrete unit type (if the units allow such an cast). /// </summary> /// <typeparam name="T">the specialized SI unit. e.g. Watt, NewtonMeter, Second</typeparam> - [DebuggerHidden] + //[DebuggerHidden] public T Cast<T>() where T : SIBase<T> { - var t = SIBase<T>.Create(Val); - if (!HasEqualUnit(t)) { - throw new VectoException("SI Unit Conversion failed: From {0} to {1}", this, t); + var si = ToBasicUnits(); + var t = SIBase<T>.Create(si.Val); + if (!si.HasEqualUnit(t)) { + throw new VectoException("SI Unit Conversion failed: From {0} to {1}", si, t); } return t; } @@ -1222,6 +1252,20 @@ namespace TUGraz.VectoCommon.Utils numerator.Add(Unit.k); numerator.Add(Unit.g); break; + case Unit.J: + numerator.Add(Unit.k); + numerator.Add(Unit.g); + numerator.Add(Unit.m); + numerator.Add(Unit.m); + denominator.Add(Unit.s); + denominator.Add(Unit.s); + break; + case Unit.liter: + factor /= 1000; + numerator.Add(Unit.m); + numerator.Add(Unit.m); + numerator.Add(Unit.m); + break; case Unit.min: factor *= 60; numerator.Add(Unit.s); @@ -1349,7 +1393,13 @@ namespace TUGraz.VectoCommon.Utils [DebuggerHidden] public SI Liter { - [DebuggerHidden] get { return new SI(this, fromUnit: Unit.liter, toUnit: Unit.liter); } + [DebuggerHidden] get { return new SI(this, fromUnit: Unit.liter, factor: 0.1, toUnit: Unit.m, exponent: 3); } + } + + [DebuggerHidden] + public SI Joule + { + [DebuggerHidden] get { return new SI(this, fromUnit: Unit.J, toUnit: Unit.J); } } /// <summary> diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/BusAuxiliariesAdapter.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/BusAuxiliariesAdapter.cs index 35626c22f165f2a341c42f8d002d68173255073a..4f5540a0bc0243c1d36bc5bed7651f9472348c09 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/BusAuxiliariesAdapter.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/BusAuxiliariesAdapter.cs @@ -62,10 +62,10 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl // 'Set Statics tmpAux.VectoInputs.Cycle = DetermineCycle(cycleName, tmpAux.Signals); - tmpAux.VectoInputs.VehicleWeightKG = (float)vehicleWeight.Value(); + tmpAux.VectoInputs.VehicleWeightKG = vehicleWeight; _fcMapAdapter = new FuelConsumptionAdapter() { FcMap = fcMap }; tmpAux.VectoInputs.FuelMap = _fcMapAdapter; - tmpAux.VectoInputs.FuelDensity = Physics.FuelDensity.Value(); + tmpAux.VectoInputs.FuelDensity = Physics.FuelDensity; //'Set Signals tmpAux.Signals.EngineIdleSpeed = (float)(engineIdleSpeed.Value() / Constants.RPMToRad); diff --git a/VectoCore/VectoCore/Utils/Physics.cs b/VectoCore/VectoCore/Utils/Physics.cs index d6fc577855771f0e27495b3131326c6a690a4d48..8f5bf94c62883d108664e9ba93cb5a653f3cdb05 100644 --- a/VectoCore/VectoCore/Utils/Physics.cs +++ b/VectoCore/VectoCore/Utils/Physics.cs @@ -44,12 +44,12 @@ namespace TUGraz.VectoCore.Utils /// <summary> /// Density of air. /// </summary> - public static SI AirDensity = 1.188.SI().Kilo.Gramm.Per.Cubic.Meter; + public static KilogramPerCubicMeter AirDensity = 1.188.SI<KilogramPerCubicMeter>(); /// <summary> /// Density of fuel. /// </summary> - public static SI FuelDensity = 0.832.SI().Kilo.Gramm.Per.Cubic.Dezi.Meter; + public static KilogramPerCubicMeter FuelDensity = 832.SI<KilogramPerCubicMeter>(); public static readonly double RollResistanceExponent = 0.9;