Code development platform for open source projects from the European Union institutions

Skip to content
Snippets Groups Projects
Commit 749e9539 authored by Terry Burns's avatar Terry Burns Committed by Kostis ANAGNOSTOPOULOS
Browse files

Pending FInal Checks By Mike, Ready to proceed to Upper Modules 6 and above.

parent 3b824fd6
No related branches found
No related tags found
No related merge requests found
Showing
with 615 additions and 244 deletions
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
<UpdatePeriodically>false</UpdatePeriodically> <UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired> <UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions> <MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>2</ApplicationRevision> <ApplicationRevision>5</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion> <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<UseApplicationTrust>false</UseApplicationTrust> <UseApplicationTrust>false</UseApplicationTrust>
<PublishWizardCompleted>true</PublishWizardCompleted> <PublishWizardCompleted>true</PublishWizardCompleted>
......
This diff is collapsed.
Imports System.IO
Namespace Electrics
''' <summary>
''' Alternator Efficiency Map -
''' </summary>
''' <remarks></remarks>
Public Class AlternatorMapX
Implements IAlternatorMap
''' <summary>
''' path to csv file containing map data
''' expects header row
''' Columns - [rpm - integer], [efficiency float, range 0-1], [max regen power float]
''' </summary>
''' <remarks></remarks>
Private ReadOnly filePath As String
Private map As Dictionary(Of AlternatorMapKey, AlternatorMapValues)
''' <summary>
''' Creates a new instance of AlternatorMap class
''' </summary>
''' <param name="filePath">full path to csv data</param>
''' <remarks></remarks>
Public Sub New(ByVal filePath As String)
Me.filePath = filePath
End Sub
''' <summary>
''' Initialise the map from supplied csv data
''' </summary>
''' <returns>Boolean - true if map is created successfully</returns>
''' <remarks></remarks>
Public Function Initialise() As Boolean Implements IAlternatorMap.Initialise
If File.Exists(filePath) Then
Using sr As StreamReader = New StreamReader(filePath)
'get array og lines fron csv
Dim lines() As String = sr.ReadToEnd().Split(CType(Environment.NewLine, Char()), StringSplitOptions.RemoveEmptyEntries)
'Must have at least 2 entries in map to make it usable [dont forget the header row]
If (lines.Count() < 3) Then
Throw New ArgumentException("Insufficient rows in csv to build a usable map")
End If
map = New Dictionary(Of AlternatorMapKey, AlternatorMapValues)()
Dim firstline As Boolean = True
For Each line As String In lines
If Not firstline Then
'split the line
Dim elements() As String = line.Split(New Char() {","}, StringSplitOptions.RemoveEmptyEntries)
'3 entries per line required
If (elements.Length <> 3) Then
Throw New ArgumentException("Incorrect number of values in csv file")
End If
'add values to map
'Create AlternatorKey
Dim aKey As AlternatorMapKey = New AlternatorMapKey(elements(0), elements(1))
Dim aValue As AlternatorMapValues = New AlternatorMapValues()
'Add Efficiency Value to Key.
map.Add(aKey, New AlternatorMapValues(elements(2)))
Else
firstline = False
End If
Next line
End Using
Return True
Else
Throw New ArgumentException("Supplied input file does not exist")
End If
End Function
''' <summary>
''' Returns the alternator efficiency at given rpm
''' </summary>
''' <param name="rpm">alternator rotation speed</param>
''' <returns>Single</returns>
''' <remarks></remarks>
Public Function GetEfficiency(ByVal rpm As single, ByVal amps As single) As AlternatorMapValues Implements IAlternatorMap.GetEfficiency
Dim key As New AlternatorMapKey(amps, rpm)
Return GetValueOrInterpolate(key)
End Function
''' <summary>
''' Returns a AlternatorMapValues instance containing the entries at a given key, or new interpolated values
''' </summary>
''' <returns>AlternatorMapValues</returns>
''' <remarks>Throws exception if Rpm or Amps are outside the map </remarks>
Private Function GetValueOrInterpolate(mapKey As AlternatorMapKey) As AlternatorMapValues
'check the rpm is within the map
Dim min As AlternatorMapKey = map.Keys.Min()
Dim max As AlternatorMapKey = map.Keys.Max()
'If mapKey.amps < min.amps Or mapKey.amps > max.amps Or mapKey.rpm < min.rpm Or mapKey.rpm > max.rpm Then
' Throw New ArgumentOutOfRangeException(String.Format("Extrapolation - Amp/Rpm Values should should be in the range {0} to {1}", min.ToString(), max.ToString()))
'End If
'LIMITING
If mapKey.amps < min.amps then mapKey.amps=min.amps
If mapKey.amps > max.amps then mapKey.amps = max.amps
If mapKey.rpm < min.rpm then mapKey.rpm = min.rpm
If mapKey.rpm > max.rpm then mapKey.rpm= max.rpm
'Check if the rpm is in the current memo
'If supplied present key, we can just return the values
If map.ContainsKey(mapKey) Then
Return map(mapKey)
End If
'Get Pre and Post Keys
Dim rpmPre As AlternatorMapValues
Dim rpmPost As AlternatorMapValues
Dim ampsPre As AlternatorMapValues
Dim ampsPost As AlternatorMapValues
'Pre and Post Data Points
Dim intRpmPre As Integer
Dim intRpmPost As Integer
Dim intAmpsPre As Integer
Dim intAmpsPost As Integer
intRpmPre = (From m In map Where m.Key.rpm <= mapKey.rpm Select m.Key.rpm).Last()
intRpmPost = (From m In map Where m.Key.rpm => mapKey.rpm Select m.Key.rpm).First()
intAmpsPre = (From m In map Where m.Key.amps <= mapKey.amps Select m.Key.amps).Last()
intAmpsPost = (From m In map Where m.Key.amps => mapKey.amps Select m.Key.amps).First()
Dim dAmps As Single
dim dAmpEfficiency as single
Dim ampsEfficiencySlope as single
Dim dRpm As Integer
Dim dRpmEfficiency as single
Dim rpmEfficiencySlope As Single
Dim interpolatedEfficiency As single
Dim ampPreEfficiency As Single
Dim ampPostEfficiency As Single
Dim rpmPreEfficiency As Single
Dim rpmPostEfficiency As Single
'*********** IF PRE AND POST RPM OR PRE AND POST AMPS are the same, the calculation is different. ***********
'SO
'Case RPM is the same
If intRpmPre = intRpmPost then
dAmps = intAmpsPost - intAmpsPre
ampPreEfficiency = map( New AlternatorMapKey( intAmpsPre, intRpmPre)).Efficiency
ampPostEfficiency = map( New AlternatorMapKey( intAmpsPost, intRpmPre)).Efficiency
interpolatedEfficiency = ampPreEfficiency + ( ( ampPostEfficiency-ampPreEfficiency ) * (( mapKey.amps - intAmpsPre ) / ( intAmpsPost-intAmpsPre )))
Return New AlternatorMapValues(interpolatedEfficiency)
End If
If intAmpsPre = intAmpsPost then
rpmPreEfficiency = map( New AlternatorMapKey( intAmpsPre, intRpmPre)).Efficiency
rpmPostEfficiency = map( New AlternatorMapKey( intAmpsPre, intRpmPost)).Efficiency
interpolatedEfficiency = rpmPreEfficiency + ( ( rpmPostEfficiency-rpmPreEfficiency ) * (( mapKey.rpm - intRpmPre ) / ( intRpmPost-intRpmPre )))
Return New AlternatorMapValues(interpolatedEfficiency)
End If
rpmPre = map(New AlternatorMapKey(intAmpsPre, intRpmPre))
rpmPost = map(New AlternatorMapKey(intAmpsPre, intRpmPost))
ampsPre = map(New AlternatorMapKey(intAmpsPost, intRpmPre))
ampsPost = map(New AlternatorMapKey(intAmpsPost, intRpmPost))
'*************************************************************************
'The following biaxial linear interpolation formula was provided
'by Engineering. See example below.
'
' 1500 2000 4000
' 10 A-B <=Interpolated Horizontally
' (C-D)-(A-B) <=Interpolated Virtically
' 27 C-D <=Interpolated Horizontally
'
'************************************************************************
'
'*** A-B Efficiency ( Lower Using Lower Amps )
'get the delta values for rpm and the values
dRpm = intRpmPost - intRpmPre
dRpmEfficiency = rpmPost.Efficiency - rpmPre.Efficiency
'calculate the slopes
rpmEfficiencySlope = dRpmEfficiency / dRpm
'calculate the new values
'Dim AB_Efficiency As Single = If( drpm=0,rpmPre.Efficiency, ((mapKey.rpm - intRpmPre) * rpmEfficiencySlope) + rpmPre.Efficiency)
Dim AB_Efficiency As Single = ((mapKey.rpm - intRpmPre) * rpmEfficiencySlope) + rpmPre.Efficiency
'*** C-D Efficiency ( Using Higher Amps )
'get the delta values for rpm and the values
dRpm = intRpmPost - intRpmPre
dRpmEfficiency = ampsPost.Efficiency - ampsPre.Efficiency
'calculate the slopes
rpmEfficiencySlope = dRpmEfficiency / dRpm
'calculate the new values
'Dim CD_Efficiency As Single = If( dRpm=0, rpmPre.Efficiency, ((mapKey.rpm - intRpmPre) * rpmEfficiencySlope) + ampsPre.Efficiency)
Dim CD_Efficiency As Single = ((mapKey.rpm - intRpmPre) * rpmEfficiencySlope) + ampsPre.Efficiency
'(C-D) - (A-B) Efficiency
'Deltas
dAmps = intAmpsPost - intAmpsPre
dAmpEfficiency = CD_Efficiency - AB_Efficiency
'slopes
ampsEfficiencySlope = dAmpEfficiency / dAmps
'calculate final Values
' Dim ABCDEfficiency As Single = If( dAmps=0, CD_Efficiency, ((mapKey.amps - intAmpsPre) * ampsEfficiencySlope) + AB_Efficiency)
Dim ABCDEfficiency As Single = ((mapKey.amps - intAmpsPre) * ampsEfficiencySlope) + AB_Efficiency
Return New AlternatorMapValues(ABCDEfficiency)
End Function
Private Structure AlternatorMapKey
Implements IComparable
Public amps As Integer
Public rpm As Integer
Public Sub New(ByVal amps As Integer, ByVal rpm As Integer)
Me.amps = amps
Me.rpm = rpm
End Sub
Public Overrides Function ToString() As String
Return "Amps:" & amps & " / " & "Rpm:" & rpm
End Function
Public Function CompareTo(obj As Object) As Integer Implements IComparable.CompareTo
Dim compared As AlternatorMapKey = CType(obj, AlternatorMapKey)
Dim otherAlternatorMapKey As AlternatorMapKey = CType(obj, AlternatorMapKey)
'Same Place
If (Me.amps = otherAlternatorMapKey.amps AndAlso Me.rpm = otherAlternatorMapKey.rpm) Then
Return 0
End If
'smaller
If (Me.amps > otherAlternatorMapKey.amps) Or (Me.rpm > otherAlternatorMapKey.rpm) Then
Return 1
Else
Return -1
End If
End Function
End Structure
End Class
End Namespace
\ No newline at end of file
...@@ -15,7 +15,7 @@ Namespace Electrics ...@@ -15,7 +15,7 @@ Namespace Electrics
''' <param name="rpm">alternator rotation speed</param> ''' <param name="rpm">alternator rotation speed</param>
''' <returns>Single</returns> ''' <returns>Single</returns>
''' <remarks></remarks> ''' <remarks></remarks>
Function GetEfficiency(ByVal rpm As Integer, ByVal amps As Integer) As AlternatorMapValues Function GetEfficiency(ByVal rpm As single, ByVal amps As single) As AlternatorMapValues
End Interface End Interface
......
...@@ -28,7 +28,7 @@ End Sub ...@@ -28,7 +28,7 @@ End Sub
Public Sub SetDefaults() Public Sub SetDefaults()
OverrunUtilisationForCompressionFraction = 0.97 OverrunUtilisationForCompressionFraction = 0.97
BrakingWithRetarderNIperKG = 0.0006 BrakingWithRetarderNIperKG = 0.0005
BrakingNoRetarderNIperKG = 0.00081 BrakingNoRetarderNIperKG = 0.00081
BreakingPerKneelingNIperKGinMM = 0.000066 BreakingPerKneelingNIperKGinMM = 0.000066
PerDoorOpeningNI = 12.7 PerDoorOpeningNI = 12.7
......
...@@ -74,6 +74,7 @@ ...@@ -74,6 +74,7 @@
<ItemGroup> <ItemGroup>
<Compile Include="AuxillaryEnvironment.vb" /> <Compile Include="AuxillaryEnvironment.vb" />
<Compile Include="Electrics\AlternatorMapValues.vb" /> <Compile Include="Electrics\AlternatorMapValues.vb" />
<Compile Include="Electrics\AlternatorMap.vb" />
<Compile Include="Electrics\ElectricsUserInputsConfig.vb" /> <Compile Include="Electrics\ElectricsUserInputsConfig.vb" />
<Compile Include="Electrics\IElectricsUserInputsConfig.vb" /> <Compile Include="Electrics\IElectricsUserInputsConfig.vb" />
<Compile Include="Electrics\IM0_5_SmartAlternatorSetEfficiency.vb" /> <Compile Include="Electrics\IM0_5_SmartAlternatorSetEfficiency.vb" />
...@@ -105,7 +106,7 @@ ...@@ -105,7 +106,7 @@
<Compile Include="Pneumatics\ActuationsKey.vb" /> <Compile Include="Pneumatics\ActuationsKey.vb" />
<Compile Include="Pneumatics\IM3_AveragePneumaticLoadDemand.vb" /> <Compile Include="Pneumatics\IM3_AveragePneumaticLoadDemand.vb" />
<Compile Include="Pneumatics\M4_AirCompressor.vb" /> <Compile Include="Pneumatics\M4_AirCompressor.vb" />
<Compile Include="Electrics\AlternatorMap.vb" /> <Compile Include="Electrics\AlternatorMapOLDREMOVELATER.vb" />
<Compile Include="Electrics\M2_AverageElectricalLoadDemand.vb" /> <Compile Include="Electrics\M2_AverageElectricalLoadDemand.vb" />
<Compile Include="Hvac\M1_AverageHVACLoadDemand.vb" /> <Compile Include="Hvac\M1_AverageHVACLoadDemand.vb" />
<Compile Include="Pneumatics\M3_AveragePneumaticLoadDemand.vb" /> <Compile Include="Pneumatics\M3_AveragePneumaticLoadDemand.vb" />
......
...@@ -19,7 +19,7 @@ Namespace Mocks ...@@ -19,7 +19,7 @@ Namespace Mocks
End If End If
End Function End Function
Public Function GetEfficiency(ByVal rpm As Integer, ByVal amps As Integer) As AlternatorMapValues Implements IAlternatorMap.GetEfficiency Public Function GetEfficiency(ByVal rpm As single, ByVal amps As single) As AlternatorMapValues Implements IAlternatorMap.GetEfficiency
Return New AlternatorMapValues() Return New AlternatorMapValues()
End Function End Function
......
...@@ -36,7 +36,7 @@ End Sub ...@@ -36,7 +36,7 @@ End Sub
<TestCase(55,7000,0.6304f)> _ <TestCase(55,7000,0.6304f)> _
<TestCase(10,3000,0.63f)> _ <TestCase(10,3000,0.63f)> _
<TestCase(136,3000,0.3347f)> _ <TestCase(136,3000,0.3347f)> _
Public sub FourCornerWithInterpolatedOtherTest(ByVal amps as integer, ByVal rpm as integer, ByVal expected as single) Public sub FourCornerWithInterpolatedOtherTest(ByVal amps as single, ByVal rpm as single, ByVal expected as single)
Dim map As IAlternatorMap = GetInitialisedMap() Dim map As IAlternatorMap = GetInitialisedMap()
Dim target As IAlternatorMap = GetInitialisedMap( ) Dim target As IAlternatorMap = GetInitialisedMap( )
...@@ -49,8 +49,8 @@ End Sub ...@@ -49,8 +49,8 @@ End Sub
<TestCase(18,1750,0.656323552f)> _ <TestCase(18,1750,0.656323552f)> _
<TestCase(18,6500,0.5280294f)> _ <TestCase(18,6500,0.5280294f)> _
<TestCase(130,1750,0.0f)> _ <TestCase(130,1750,0.0f)> _
<TestCase(130,6500,0.6150136f)> _ <TestCase(130.5f,6500,0.6144f)> _
Public sub InterpolatedCornersBothMidPreviousTest(ByVal amps as integer, ByVal rpm as integer, ByVal expected as single) Public sub InterpolatedCornersBothMidPreviousTest(ByVal amps as single, ByVal rpm as single, ByVal expected as single)
Dim map As IAlternatorMap = GetInitialisedMap() Dim map As IAlternatorMap = GetInitialisedMap()
Dim target As IAlternatorMap = GetInitialisedMap( ) Dim target As IAlternatorMap = GetInitialisedMap( )
...@@ -62,6 +62,46 @@ Public sub InterpolatedCornersBothMidPreviousTest(ByVal amps as integer, ByVal ...@@ -62,6 +62,46 @@ Public sub InterpolatedCornersBothMidPreviousTest(ByVal amps as integer, ByVal
End Sub End Sub
<Test()> _
<TestCase(18.5f, 1750, 0.6587500f)> _
<TestCase(40, 1750, 0.4736750f)> _
<TestCase(58, 1750, 0.1602250f)> _
<TestCase(65.5f, 1750, 0.2095500f)> _
<TestCase(96.5f, 1750, 0.1730000f)> _
<TestCase(130.5f, 1750, 0.0000000f)> _
<TestCase(18.5f, 3000, 0.6580250f)> _
<TestCase(40, 3000, 0.5983000f)> _
<TestCase(58, 3000, 0.4768250f)> _
<TestCase(65.5f, 3000, 0.5783500f)> _
<TestCase(96.5f, 3000, 0.5268000f)> _
<TestCase(130.5f, 3000, 0.3373500f)> _
<TestCase(18.5f, 5000, 0.6054750f)> _
<TestCase(40, 5000, 0.6572500f)> _
<TestCase(58, 5000, 0.7006000f)> _
<TestCase(65.5f, 5000, 0.7151250f)> _
<TestCase(96.5f, 5000, 0.6870250f)> _
<TestCase(130.5f, 5000, 0.6505750f)> _
<TestCase(18.5f, 6500, 0.5296250f)> _
<TestCase(40, 6500, 0.5982500f)> _
<TestCase(58, 6500, 0.6557000f)> _
<TestCase(65.5f, 6500, 0.6814250f)> _
<TestCase(96.5f, 6500, 0.6561750f)> _
<TestCase(130.5f, 6500, 0.6144000f)> _
Public Sub InterpolatedAllMidPointsTest( byval amps As Single, byval rpm As Single, byval expected As single)
Dim map As IAlternatorMap = GetInitialisedMap()
Dim target As IAlternatorMap = GetInitialisedMap( )
Dim actual As Single = map.GetEfficiency( rpm,amps).Efficiency
Assert.AreEqual(expected, CType(Math.Round(actual,6),Single))
End Sub
#Region "Helpers" #Region "Helpers"
...@@ -79,6 +119,11 @@ End Sub ...@@ -79,6 +119,11 @@ End Sub
#End Region #End Region
End Class
End Class
End Namespace End Namespace
\ No newline at end of file
...@@ -86,7 +86,7 @@ Namespace UnitTests ...@@ -86,7 +86,7 @@ Namespace UnitTests
Dim target As New M3_AveragePneumaticLoadDemand(_defaultInputConfig, psAuxConfig, psActuationsMap, psCompressorMap, _vehicleMassKG, "Urban", _cycleDurationMinutes) Dim target As New M3_AveragePneumaticLoadDemand(_defaultInputConfig, psAuxConfig, psActuationsMap, psCompressorMap, _vehicleMassKG, "Urban", _cycleDurationMinutes)
Dim expected As Single = 7947.684 Dim expected As Single = 7664.94
Dim actual As Single = target.TotalAirDemand() Dim actual As Single = target.TotalAirDemand()
Assert.AreEqual(expected, actual) Assert.AreEqual(expected, actual)
...@@ -107,7 +107,7 @@ Namespace UnitTests ...@@ -107,7 +107,7 @@ Namespace UnitTests
Dim target As New M3_AveragePneumaticLoadDemand(_defaultInputConfig, psAuxConfig, psActuationsMap, psCompressorMap, _vehicleMassKG, "Urban", _cycleDurationMinutes) Dim target As New M3_AveragePneumaticLoadDemand(_defaultInputConfig, psAuxConfig, psActuationsMap, psCompressorMap, _vehicleMassKG, "Urban", _cycleDurationMinutes)
Dim expected As Single = 31.9030322 Dim expected As Single = 30.7680626
Dim actual As Single = target.GetAveragePowerDemandAtCrankFromPneumatics() Dim actual As Single = target.GetAveragePowerDemandAtCrankFromPneumatics()
Assert.AreEqual(expected, actual) Assert.AreEqual(expected, actual)
...@@ -130,7 +130,7 @@ Namespace UnitTests ...@@ -130,7 +130,7 @@ Namespace UnitTests
Dim target As New M3_AveragePneumaticLoadDemand(_defaultInputConfig, psAuxConfig, psActuationsMap, psCompressorMap, _vehicleMassKG, "Urban", _cycleDurationMinutes) Dim target As New M3_AveragePneumaticLoadDemand(_defaultInputConfig, psAuxConfig, psActuationsMap, psCompressorMap, _vehicleMassKG, "Urban", _cycleDurationMinutes)
Dim expected As Single = 25.78023 Dim expected As Single = 24.863081
Dim actual As Single = target.GetAveragePowerDemandAtCrankFromPneumatics() Dim actual As Single = target.GetAveragePowerDemandAtCrankFromPneumatics()
Assert.AreEqual(expected, actual) Assert.AreEqual(expected, actual)
...@@ -150,7 +150,7 @@ Namespace UnitTests ...@@ -150,7 +150,7 @@ Namespace UnitTests
Dim target As New M3_AveragePneumaticLoadDemand(_defaultInputConfig, psAuxConfig, psActuationsMap, psCompressorMap, _vehicleMassKG, "Urban", _cycleDurationMinutes) Dim target As New M3_AveragePneumaticLoadDemand(_defaultInputConfig, psAuxConfig, psActuationsMap, psCompressorMap, _vehicleMassKG, "Urban", _cycleDurationMinutes)
Dim expected As Single = 7947.684 Dim expected As Single = 7664.94
Dim actual As Single = target.TotalAirConsumedPerCycle() Dim actual As Single = target.TotalAirConsumedPerCycle()
Assert.AreEqual(expected, actual) Assert.AreEqual(expected, actual)
...@@ -173,7 +173,7 @@ Namespace UnitTests ...@@ -173,7 +173,7 @@ Namespace UnitTests
Dim target As New M3_AveragePneumaticLoadDemand(_defaultInputConfig, psAuxConfig, psActuationsMap, psCompressorMap, _vehicleMassKG, "Urban", _cycleDurationMinutes) Dim target As New M3_AveragePneumaticLoadDemand(_defaultInputConfig, psAuxConfig, psActuationsMap, psCompressorMap, _vehicleMassKG, "Urban", _cycleDurationMinutes)
Dim expected As Single = 8863.295 Dim expected As Single = 8545.207
Dim actual As Single = target.TotalAirConsumedPerCycle() Dim actual As Single = target.TotalAirConsumedPerCycle()
Assert.AreEqual(expected, actual) Assert.AreEqual(expected, actual)
...@@ -220,7 +220,7 @@ Namespace UnitTests ...@@ -220,7 +220,7 @@ Namespace UnitTests
Dim target As New M3_AveragePneumaticLoadDemand(_defaultInputConfig, psAuxConfig, psActuationsMap, psCompressorMap, _vehicleMassKG, "Urban", _cycleDurationMinutes) Dim target As New M3_AveragePneumaticLoadDemand(_defaultInputConfig, psAuxConfig, psActuationsMap, psCompressorMap, _vehicleMassKG, "Urban", _cycleDurationMinutes)
Dim expected As Single = 8557.52 Dim expected As Single = 8274.78
Dim actual As Single = Math.Round(target.TotalAirConsumedPerCycle(), 2) Dim actual As Single = Math.Round(target.TotalAirConsumedPerCycle(), 2)
...@@ -240,11 +240,11 @@ Namespace UnitTests ...@@ -240,11 +240,11 @@ Namespace UnitTests
psCompressorMap.Initialise() psCompressorMap.Initialise()
_defaultInputConfig.AirSuspensionControl = "mechanically" _defaultInputConfig.AirSuspensionControl = "Mechanically"
Dim target As New M3_AveragePneumaticLoadDemand(_defaultInputConfig, psAuxConfig, psActuationsMap, psCompressorMap, _vehicleMassKG, "Urban", _cycleDurationMinutes) Dim target As New M3_AveragePneumaticLoadDemand(_defaultInputConfig, psAuxConfig, psActuationsMap, psCompressorMap, _vehicleMassKG, "Urban", _cycleDurationMinutes)
Dim expected As Single = 8726.18 Dim expected As Single = 8443.44
Dim actual As Single = Math.Round(target.TotalAirConsumedPerCycle(), 2) Dim actual As Single = Math.Round(target.TotalAirConsumedPerCycle(), 2)
...@@ -264,11 +264,11 @@ Namespace UnitTests ...@@ -264,11 +264,11 @@ Namespace UnitTests
psCompressorMap.Initialise() psCompressorMap.Initialise()
_defaultInputConfig.AdBlueDosing = "Electric" _defaultInputConfig.AdBlueDosing = "Pneumatic"
Dim target As New M3_AveragePneumaticLoadDemand(_defaultInputConfig, psAuxConfig, psActuationsMap, psCompressorMap, _vehicleMassKG, "Urban", _cycleDurationMinutes) Dim target As New M3_AveragePneumaticLoadDemand(_defaultInputConfig, psAuxConfig, psActuationsMap, psCompressorMap, _vehicleMassKG, "Urban", _cycleDurationMinutes)
Dim expected As Single = 7490.96 Dim expected As Single = 7664.94
Dim actual As Single = Math.Round(target.TotalAirConsumedPerCycle(), 2) Dim actual As Single = Math.Round(target.TotalAirConsumedPerCycle(), 2)
...@@ -292,7 +292,7 @@ Namespace UnitTests ...@@ -292,7 +292,7 @@ Namespace UnitTests
Dim target As New M3_AveragePneumaticLoadDemand(_defaultInputConfig, psAuxConfig, psActuationsMap, psCompressorMap, _vehicleMassKG, "Urban", _cycleDurationMinutes) Dim target As New M3_AveragePneumaticLoadDemand(_defaultInputConfig, psAuxConfig, psActuationsMap, psCompressorMap, _vehicleMassKG, "Urban", _cycleDurationMinutes)
Dim expected As Single = 6880.88 Dim expected As Single = 6598.14
Dim actual As Single = Math.Round(target.TotalAirConsumedPerCycle(), 2) Dim actual As Single = Math.Round(target.TotalAirConsumedPerCycle(), 2)
......
...@@ -76,7 +76,7 @@ End Sub ...@@ -76,7 +76,7 @@ End Sub
Public Sub AlternatorsEfficiencyIdle2000rpmTest() Public Sub AlternatorsEfficiencyIdle2000rpmTest()
Initialise() Initialise()
Dim expected As Single = 0.5769231 Dim expected As Single = 0.577212
Dim actual As Single = target.AlternatorsEfficiencyIdleResultCard() Dim actual As Single = target.AlternatorsEfficiencyIdleResultCard()
Assert.AreEqual(expected, actual) Assert.AreEqual(expected, actual)
...@@ -89,7 +89,7 @@ End Sub ...@@ -89,7 +89,7 @@ End Sub
Public Sub AlternatorsEfficiencyTraction2000rpmTest() Public Sub AlternatorsEfficiencyTraction2000rpmTest()
Initialise() Initialise()
Dim expected As Single = 0.5769231 Dim expected As Single = 0.577212
Dim actual As Single = target.AlternatorsEfficiencyTractionOnResultCard() Dim actual As Single = target.AlternatorsEfficiencyTractionOnResultCard()
Assert.AreEqual(expected, actual) Assert.AreEqual(expected, actual)
...@@ -101,7 +101,7 @@ End Sub ...@@ -101,7 +101,7 @@ End Sub
Public Sub AlternatorsEfficiencyOverrun2000rpmTest() Public Sub AlternatorsEfficiencyOverrun2000rpmTest()
Initialise() Initialise()
Dim expected As Single = 0.5769231 Dim expected As Single = 0.577212
Dim actual As Single = target.AlternatorsEfficiencyOverrunResultCard() Dim actual As Single = target.AlternatorsEfficiencyOverrunResultCard()
Assert.AreEqual(expected, actual) Assert.AreEqual(expected, actual)
......
...@@ -89,7 +89,7 @@ Public Sub EfficiencyValueTest() ...@@ -89,7 +89,7 @@ Public Sub EfficiencyValueTest()
Dim actual As Single = target.AlternatorsEfficiency Dim actual As Single = target.AlternatorsEfficiency
Dim expected As Single = 0.6388235 Dim expected As Single = 0.6378931
Assert.AreEqual(expected, actual) Assert.AreEqual(expected, actual)
......
...@@ -74,7 +74,7 @@ Public Sub AveragePowerDemandAtCrankFromHVACElectricsWattsTest() ...@@ -74,7 +74,7 @@ Public Sub AveragePowerDemandAtCrankFromHVACElectricsWattsTest()
Dim target As IM1_AverageHVACLoadDemand = GETM1Instance() Dim target As IM1_AverageHVACLoadDemand = GETM1Instance()
Dim expected As Single = 194.029846 Dim expected As Single = 196.576889
dim actual as Single = target.AveragePowerDemandAtCrankFromHVACElectricsWatts dim actual as Single = target.AveragePowerDemandAtCrankFromHVACElectricsWatts
Assert.AreEqual( expected , actual) Assert.AreEqual( expected , actual)
......
...@@ -64,7 +64,7 @@ Namespace UnitTests ...@@ -64,7 +64,7 @@ Namespace UnitTests
<Test()> <Test()>
Public Sub GetAveragePowerAtCrankTest() Public Sub GetAveragePowerAtCrankTest()
Dim target As M2_AverageElectricalLoadDemand = GetAverageElectricalDemandInstance() Dim target As M2_AverageElectricalLoadDemand = GetAverageElectricalDemandInstance()
Dim expected As Single = 2272.85522 Dim expected As Single = 2302.69116
Dim actual As Single = target.GetAveragePowerAtCrank() Dim actual As Single = target.GetAveragePowerAtCrank()
Assert.AreEqual(expected, actual) Assert.AreEqual(expected, actual)
End Sub End Sub
......
...@@ -65,7 +65,7 @@ Public Sub PowerAtCrankIdleWatts() ...@@ -65,7 +65,7 @@ Public Sub PowerAtCrankIdleWatts()
Initialise() Initialise()
_target = New M5__SmartAlternatorSetGeneration(_m05,_powerNetVoltage,_altGearPullyEfficiency) _target = New M5__SmartAlternatorSetGeneration(_m05,_powerNetVoltage,_altGearPullyEfficiency)
Dim expected As Single =1993.34644 Dim expected As Single =1992.34875
Dim actual As Single = _target.AlternatorsGenerationPowerAtCrankIdleWatts() Dim actual As Single = _target.AlternatorsGenerationPowerAtCrankIdleWatts()
Assert.AreEqual( expected, actual) Assert.AreEqual( expected, actual)
...@@ -77,7 +77,7 @@ Public Sub PowerAtCrankTractionWatts() ...@@ -77,7 +77,7 @@ Public Sub PowerAtCrankTractionWatts()
Initialise() Initialise()
_target = New M5__SmartAlternatorSetGeneration(_m05,_powerNetVoltage,_altGearPullyEfficiency) _target = New M5__SmartAlternatorSetGeneration(_m05,_powerNetVoltage,_altGearPullyEfficiency)
Dim expected As Single =1993.34644 Dim expected As Single =1992.34875
Dim actual As Single = _target.AlternatorsGenerationPowerAtCrankTractionOnWatts() Dim actual As Single = _target.AlternatorsGenerationPowerAtCrankTractionOnWatts()
Assert.AreEqual( expected, actual) Assert.AreEqual( expected, actual)
...@@ -89,7 +89,7 @@ Public Sub PowerAtCrankOverrunWatts() ...@@ -89,7 +89,7 @@ Public Sub PowerAtCrankOverrunWatts()
Initialise() Initialise()
_target = New M5__SmartAlternatorSetGeneration(_m05,_powerNetVoltage,_altGearPullyEfficiency) _target = New M5__SmartAlternatorSetGeneration(_m05,_powerNetVoltage,_altGearPullyEfficiency)
Dim expected As Single =1993.34644 Dim expected As Single =1992.34875
Dim actual As Single = _target.AlternatorsGenerationPowerAtCrankOverrunWatts() Dim actual As Single = _target.AlternatorsGenerationPowerAtCrankOverrunWatts()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment