From 08aa4fa32c326b745997671d67d821fa820d6271 Mon Sep 17 00:00:00 2001
From: "Burns, Terry" <Terry.Burns@ricardo.com>
Date: Thu, 13 Nov 2014 10:34:04 +0000
Subject: [PATCH] WIP

git-tfs-id: [http://tfs00.element.root.com:8080/tfs/TFSCollection]$/VECTO;C1675
---
 .../DownstreamModules/IM10.vb                 | 10 ++-
 .../VectoAuxiliaries/DownstreamModules/M10.vb | 74 +++++++++++++++----
 .../VectoAuxiliaries/DownstreamModules/M9.vb  |  4 +-
 3 files changed, 67 insertions(+), 21 deletions(-)

diff --git a/VECTOAux/VectoAuxiliaries/DownstreamModules/IM10.vb b/VECTOAux/VectoAuxiliaries/DownstreamModules/IM10.vb
index 8ac3b50cd8..03dd8041b6 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 71993d73d6..6609c1cfd3 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 fb6bbc289c..594a2452d4 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
-- 
GitLab