diff --git a/VECTOAux/VectoAuxiliaries/DownstreamModules/IM10.vb b/VECTOAux/VectoAuxiliaries/DownstreamModules/IM10.vb index 8ac3b50cd8d64329eb4895b0c0fa2a7bffa4b4d6..03dd8041b6a4c8eeb80042870ff597f2d5169151 100644 --- a/VECTOAux/VectoAuxiliaries/DownstreamModules/IM10.vb +++ b/VECTOAux/VectoAuxiliaries/DownstreamModules/IM10.vb @@ -10,10 +10,16 @@ Namespace DownstreamModules Public Interface IM10 'Interpolated FC between points 2-1 Representing non-smart Pneumatics = BaseFuel Consumption with average auxillary loads -ReadOnly Property InterFCNonSmartPneumatics As Single +ReadOnly Property BaseFuelConsumptionWithAverageAuxiliaryLoads As Single + + + 'Interpolated FC between points 2-3-1 Representing smart Pneumatics = Fuel consumption with smart Pneumatics and average electrical power demand -ReadOnly Property InterFCSmartPneumatics As Single +ReadOnly Property FuelConsumptionSmartPneumaticsAndAverageElectricalPowerDemand As Single + + + End Interface diff --git a/VECTOAux/VectoAuxiliaries/DownstreamModules/M10.vb b/VECTOAux/VectoAuxiliaries/DownstreamModules/M10.vb index 71993d73d62f7d114e0485fe89ac152d6d014e44..6609c1cfd357064ed139dc1b0eaa2c6f2db0965e 100644 --- a/VECTOAux/VectoAuxiliaries/DownstreamModules/M10.vb +++ b/VECTOAux/VectoAuxiliaries/DownstreamModules/M10.vb @@ -10,33 +10,75 @@ Public Class M10 Implements IM10 -Private m4 As IM4_AirCompressor -Private m9 As IM9 +'Privates +#Region "Private Fields = > Constructor Requirements" +Private m3 As IM3_AveragePneumaticLoadDemand +Private m9 As IM9 +'Not Currently used but there for ease of refactoring in future. Private signals As ISignals - - - - Public ReadOnly Property InterFCNonSmartPneumatics As Single Implements IM10.InterFCNonSmartPneumatics +#End Region +Private Enum InterpolationType + NonSmartPneumtaics + SmartPneumtaics +End Enum +Private Function Interpolate( interpType As InterpolationType) As Single + + Dim returnValue As Single + Dim x1,y1,x2,y2,x3,y3 As Single + + x1=m9.LitresOfAirCompressorOnContinually + y1=m9.TotalCycleFuelConsumptionCompressorOnContinuously + x2=0 + y2=m9.TotalCycleFuelConsumptionCompressorOffContinuously + x3=m9.LitresOfAirCompressorOnOnlyInOverrun + y3=m9.TotalCycleFuelConsumptionCompressorOffContinuously + + + Select Case interpType + + 'Non-Smart Pneumatics + Case InterpolationType.NonSmartPneumtaics + + 'Smart Pneumatics + Case InterpolationType.SmartPneumtaics + + End Select + + + Return returnValue + +End Function + + + 'Public + #Region "Public Properties" + + Public ReadOnly Property BaseFuelConsumptionWithAverageAuxiliaryLoads As Single Implements IM10.BaseFuelConsumptionWithAverageAuxiliaryLoads Get - + Return Interpolate(InterpolationType.NonSmartPneumtaics) End Get End Property - - Public ReadOnly Property InterFCSmartPneumatics As Single Implements IM10.InterFCSmartPneumatics + Public ReadOnly Property FuelConsumptionSmartPneumaticsAndAverageElectricalPowerDemand As Single Implements IM10.FuelConsumptionSmartPneumaticsAndAverageElectricalPowerDemand Get - + Return Interpolate( InterpolationType.SmartPneumtaics) End Get End Property - - -Public sub new( m4 As IM4_AirCompressor, m9 As IM9, fcMap As IFUELMAP , signals As ISignals) - - - + +#End Region + #Region "Contructors" + + Public sub new( m3 As IM3_AveragePneumaticLoadDemand, m9 As IM9, signals As ISignals) + + Me.m3=Me + Me.m9=m9 + Me.signals= signals + End Sub +#end region + End Class diff --git a/VECTOAux/VectoAuxiliaries/DownstreamModules/M9.vb b/VECTOAux/VectoAuxiliaries/DownstreamModules/M9.vb index fb6bbc289cc7bf9725fc9040640d8f7effca5b3f..594a2452d42e040f07ef6af2965d486ff31558bb 100644 --- a/VECTOAux/VectoAuxiliaries/DownstreamModules/M9.vb +++ b/VECTOAux/VectoAuxiliaries/DownstreamModules/M9.vb @@ -6,9 +6,8 @@ Namespace DownstreamModules Public Class M9 Implements IM9 - - + #Region "Aggregates" 'AG1 @@ -160,7 +159,6 @@ End Property End Sub - End Class End Namespace