From 5ec31dc677c7a781c01736c43874194d3590d622 Mon Sep 17 00:00:00 2001
From: "Zarb, Glenn" <STC\GZ1>
Date: Tue, 14 Jul 2015 09:46:46 +0000
Subject: [PATCH] Schematics V11 Change D & F

git-tfs-id: [http://tfs00.element.root.com:8080/tfs/TFSCollection]$/VECTO;C2013
---
 .../DownstreamModules/IM11.vb                 | 128 ++++----
 .../VectoAuxiliaries/DownstreamModules/M11.vb | 304 ++++++++++--------
 2 files changed, 240 insertions(+), 192 deletions(-)

diff --git a/VECTOAux/VectoAuxiliaries/DownstreamModules/IM11.vb b/VECTOAux/VectoAuxiliaries/DownstreamModules/IM11.vb
index 154f5a3f7d..b8ad5d4d7a 100644
--- a/VECTOAux/VectoAuxiliaries/DownstreamModules/IM11.vb
+++ b/VECTOAux/VectoAuxiliaries/DownstreamModules/IM11.vb
@@ -18,66 +18,74 @@ Namespace DownstreamModules
 
 Public Interface IM11
   
-  ''' <summary>
-  ''' Smart Electrical Total Cycle Electrical Energy Generated During Overrun Only(J)
-  ''' </summary>
-  ''' <value></value>
-  ''' <returns></returns>
-  ''' <remarks></remarks>
-  ReadOnly Property SmartElectricalTotalCycleElectricalEnergyGeneratedDuringOverrunOnly As Single
-
-  ''' <summary>
-  ''' Smart Electrical Total Cycle Eletrical EnergyGenerated (J)
-  ''' </summary>
-  ''' <value></value>
-  ''' <returns></returns>
-  ''' <remarks></remarks>
-  ReadOnly Property SmartElectricalTotalCycleEletricalEnergyGenerated As single
-
-  ''' <summary>
-  ''' Total Cycle Electrical Demand (J)
-  ''' </summary>
-  ''' <value></value>
-  ''' <returns></returns>
-  ''' <remarks></remarks>
-  ReadOnly Property TotalCycleElectricalDemand As single
-
-  ''' <summary>
-  ''' Total Cycle Fuel Consumption: Smart Electrical Load (g)
-  ''' </summary>
-  ''' <value></value>
-  ''' <returns></returns>
-  ''' <remarks></remarks>
-  ReadOnly Property TotalCycleFuelConsumptionSmartElectricalLoad As single
-
-  ''' <summary>
-  ''' Total Cycle Fuel Consumption: Zero Electrical Load (g)
-  ''' </summary>
-  ''' <value></value>
-  ''' <returns></returns>
-  ''' <remarks></remarks>
-  ReadOnly Property TotalCycleFuelConsumptionZeroElectricalLoad As single
-
-  ''' <summary>
-  ''' Stop Start Sensitive: Total Cycle Electrical Demand (J)
-  ''' </summary>
-  ''' <value></value>
-  ''' <returns></returns>
-  ''' <remarks></remarks>
-  ReadOnly Property StopStartSensitiveTotalCycleElectricalDemand As Single
-
-  ''' <summary>
-  ''' Clears aggregated values ( Sets them to zero ).
-  ''' </summary>
-  ''' <remarks></remarks>
-  Sub ClearAggregates()  
-  
-  ''' <summary>
-  ''' Increments all aggregated outputs
-  ''' </summary>
-  ''' <param name="stepTimeInSeconds">Single : Mutiplies the values to be aggregated by number of seconds</param>
-  ''' <remarks></remarks>
-  Sub CycleStep(Optional stepTimeInSeconds As Single = 0.0) 
+        ''' <summary>
+        ''' Smart Electrical Total Cycle Electrical Energy Generated During Overrun Only(J)
+        ''' </summary>
+        ''' <value></value>
+        ''' <returns></returns>
+        ''' <remarks></remarks>
+        ReadOnly Property SmartElectricalTotalCycleElectricalEnergyGeneratedDuringOverrunOnly As Single
+
+        ''' <summary>
+        ''' Smart Electrical Total Cycle Eletrical EnergyGenerated (J)
+        ''' </summary>
+        ''' <value></value>
+        ''' <returns></returns>
+        ''' <remarks></remarks>
+        ReadOnly Property SmartElectricalTotalCycleEletricalEnergyGenerated As Single
+
+        ''' <summary>
+        ''' Total Cycle Electrical Demand (J)
+        ''' </summary>
+        ''' <value></value>
+        ''' <returns></returns>
+        ''' <remarks></remarks>
+        ReadOnly Property TotalCycleElectricalDemand As Single
+
+        ''' <summary>
+        ''' Total Cycle Fuel Consumption: Smart Electrical Load (g)
+        ''' </summary>
+        ''' <value></value>
+        ''' <returns></returns>
+        ''' <remarks></remarks>
+        ReadOnly Property TotalCycleFuelConsumptionSmartElectricalLoad As Single
+
+        ''' <summary>
+        ''' Total Cycle Fuel Consumption: Zero Electrical Load (g)
+        ''' </summary>
+        ''' <value></value>
+        ''' <returns></returns>
+        ''' <remarks></remarks>
+        ReadOnly Property TotalCycleFuelConsumptionZeroElectricalLoad As Single
+
+        ''' <summary>
+        ''' Stop Start Sensitive: Total Cycle Electrical Demand (J)
+        ''' </summary>
+        ''' <value></value>
+        ''' <returns></returns>
+        ''' <remarks></remarks>
+        ReadOnly Property StopStartSensitiveTotalCycleElectricalDemand As Single
+
+        ''' <summary>
+        ''' Total Cycle Fuel Consuption : Average Loads (g)
+        ''' </summary>
+        ''' <value></value>
+        ''' <returns></returns>
+        ''' <remarks></remarks>
+        ReadOnly Property TotalCycleFuelConsuptionAverageLoads As Single
+
+        ''' <summary>
+        ''' Clears aggregated values ( Sets them to zero ).
+        ''' </summary>
+        ''' <remarks></remarks>
+        Sub ClearAggregates()
+
+        ''' <summary>
+        ''' Increments all aggregated outputs
+        ''' </summary>
+        ''' <param name="stepTimeInSeconds">Single : Mutiplies the values to be aggregated by number of seconds</param>
+        ''' <remarks></remarks>
+        Sub CycleStep(Optional stepTimeInSeconds As Single = 0.0)
 
 
 End Interface
diff --git a/VECTOAux/VectoAuxiliaries/DownstreamModules/M11.vb b/VECTOAux/VectoAuxiliaries/DownstreamModules/M11.vb
index 99beaa41e8..3b356e4fbf 100644
--- a/VECTOAux/VectoAuxiliaries/DownstreamModules/M11.vb
+++ b/VECTOAux/VectoAuxiliaries/DownstreamModules/M11.vb
@@ -15,181 +15,221 @@ Imports VectoAuxiliaries.Hvac
 
 Namespace DownstreamModules
 
-  Public Class M11
-    Implements IM11
-
-  Private Const RPM_to_RadiansPerSecond as single= 9.55 
-
-  #Region "Private Aggregates"
- 'Private Aggregations
-  Private AG1 As Single
-  Private AG2 As Single
-  Private AG3 As Single
-  Private AG4 As single
-  Private AG5 As single
-  Private AG6 As single
-  #End Region
+    Public Class M11
+        Implements IM11
 
-  #Region "Private Fields Assigned by Constructor."
+        Private Const RPM_to_RadiansPerSecond As Single = 9.55
 
-  Private M1      As IM1_AverageHVACLoadDemand
-  Private M3      As IM3_AveragePneumaticLoadDemand
-  Private M6      As IM6
-  Private M8      As IM8
-  Private fmap    As IFUELMAP
-  Private signals As ISignals
+#Region "Private Aggregates"
+        'Private Aggregations
+        Private AG1 As Single
+        Private AG2 As Single
+        Private AG3 As Single
+        Private AG4 As Single
+        Private AG5 As Single
+        Private AG6 As Single
+        Private AG7 As Single
+#End Region
 
-  #End Region
+#Region "Private Fields Assigned by Constructor."
 
-  'Staging Calculations
-  Private Function Sum0( byval rpm As Single ) As Single
+        Private M1 As IM1_AverageHVACLoadDemand
+        Private M3 As IM3_AveragePneumaticLoadDemand
+        Private M6 As IM6
+        Private M8 As IM8
+        Private fmap As IFUELMAP
+        Private signals As ISignals
 
-   If rpm<1 then rpm=1
+#End Region
 
-   Return rpm/RPM_to_RadiansPerSecond
+        'Staging Calculations
+        Private Function Sum0(ByVal rpm As Single) As Single
 
+            If rpm < 1 Then rpm = 1
 
-  End Function
-  Private ReadOnly Property Sum1 As single
-      Get
-       Return m6.OverrunFlag * m8.SmartElectricalAlternatorPowerGenAtCrank
-      End Get
-  End Property
-  Private ReadOnly Property Sum2 As Single
-      Get
-       Return m3.GetAveragePowerDemandAtCrankFromPneumatics + m1.AveragePowerDemandAtCrankFromHVACMechanicalsWatts
-      End Get
-  End Property
-  Private ReadOnly Property Sum3 As Single
-      Get
-       Return m8.SmartElectricalAlternatorPowerGenAtCrank / Sum0(signals.EngineSpeed)
-      End Get
-  End Property
-  Private ReadOnly Property Sum4 As Single
-      Get
-        Return Sum2 / Sum0(signals.EngineSpeed)
-      End Get
-  End Property
-  Private ReadOnly Property Sum5 As Single
-    Get
-     Return Sum4 + signals.EngineDrivelineTorque
-    End Get
-End Property
-  Private ReadOnly Property Sum6 As Single
-    Get
-      Return Sum3 + Sum5
-    End Get
-End Property
-  Private readonly Property Sum7 As Single
-    Get
+            Return rpm / RPM_to_RadiansPerSecond
 
-      'SCM 3_02
-      Dim intrp1 As Single = fmap.fFCdelaunay_Intp(signals.EngineSpeed, sum6)
-      intrp1 = If( Not Single.IsNaN( intrp1) andAlso intrp1>0,intrp1,0)
-      Return intrp1
 
-    End Get
-End Property
-  Private ReadOnly Property Sum8 As Single
-    Get
+        End Function
+        Private ReadOnly Property Sum1 As Single
+            Get
+                Return m6.OverrunFlag * m8.SmartElectricalAlternatorPowerGenAtCrank
+            End Get
+        End Property
+        Private ReadOnly Property Sum2 As Single
+            Get
+                Return m3.GetAveragePowerDemandAtCrankFromPneumatics + m1.AveragePowerDemandAtCrankFromHVACMechanicalsWatts
+            End Get
+        End Property
+        Private ReadOnly Property Sum3 As Single
+            Get
+                Return m8.SmartElectricalAlternatorPowerGenAtCrank / Sum0(signals.EngineSpeed)
+            End Get
+        End Property
+        Private ReadOnly Property Sum4 As Single
+            Get
+                Return Sum2 / Sum0(signals.EngineSpeed)
+            End Get
+        End Property
+        Private ReadOnly Property Sum5 As Single
+            Get
+                Return Sum4 + Sum9
+            End Get
+        End Property
+        Private ReadOnly Property Sum6 As Single
+            Get
+                Return Sum3 + Sum5
+            End Get
+        End Property
+        Private ReadOnly Property Sum7 As Single
+            Get
+
+                'SCM 3_02
+                Dim intrp1 As Single = fmap.fFCdelaunay_Intp(signals.EngineSpeed, sum6)
+                intrp1 = If(Not Single.IsNaN(intrp1) AndAlso intrp1 > 0, intrp1, 0)
+                Return intrp1
+
+            End Get
+        End Property
+        Private ReadOnly Property Sum8 As Single
+            Get
+
+                'SCHM 3_2
+                Dim intrp2 As Single = fmap.fFCdelaunay_Intp(signals.EngineSpeed, sum5)
+                intrp2 = If(Not Single.IsNaN(intrp2) AndAlso intrp2 > 0, intrp2, 0)
+                Return intrp2
+
+            End Get
+        End Property
+        Private ReadOnly Property Sum9 As Single
+            Get
+
+                Return signals.EngineDrivelineTorque + signals.PreExistingAuxPower
+
+            End Get
+        End Property
+        Private ReadOnly Property Sum10 As Single
+            Get
+
+                Return M6.AvgPowerDemandAtCrankFromElectricsIncHVAC \ Sum0(signals.EngineSpeed)
+
+            End Get
+        End Property
+        Private ReadOnly Property Sum11 As Single
+            Get
+
+                Return Sum5 + Sum10
+
+            End Get
+        End Property
+        Private ReadOnly Property Sum12 As Single
+            Get
 
-    'SCHM 3_2
-      Dim intrp2 As Single = fmap.fFCdelaunay_Intp(signals.EngineSpeed, sum5)
-      intrp2 = If( Not Single.IsNaN( intrp2) andAlso intrp2>0,intrp2,0)
-      Return intrp2
+                'SCHM 3_2
+                Dim intrp3 As Single = fmap.fFCdelaunay_Intp(signals.EngineSpeed, Sum11)
+                intrp3 = If(Not Single.IsNaN(intrp3) AndAlso intrp3 > 0, intrp3, 0)
+                Return intrp3
 
-    End Get
-  End Property
+            End Get
+        End Property
 
-  'OUT1
-  Public ReadOnly Property SmartElectricalTotalCycleElectricalEnergyGeneratedDuringOverrunOnly As Single Implements IM11.SmartElectricalTotalCycleElectricalEnergyGeneratedDuringOverrunOnly
+        'OUT1
+        Public ReadOnly Property SmartElectricalTotalCycleElectricalEnergyGeneratedDuringOverrunOnly As Single Implements IM11.SmartElectricalTotalCycleElectricalEnergyGeneratedDuringOverrunOnly
+            Get
+                Return AG1
+            End Get
+        End Property
+        'OUT2
+        Public ReadOnly Property SmartElectricalTotalCycleEletricalEnergyGenerated As Single Implements IM11.SmartElectricalTotalCycleEletricalEnergyGenerated
             Get
-              Return AG1
+                Return AG2
             End Get
         End Property
-  'OUT2
-  Public ReadOnly Property SmartElectricalTotalCycleEletricalEnergyGenerated As Single Implements IM11.SmartElectricalTotalCycleEletricalEnergyGenerated
+        'OUT3
+        Public ReadOnly Property TotalCycleElectricalDemand As Single Implements IM11.TotalCycleElectricalDemand
             Get
-             Return AG2
+                Return AG3
             End Get
         End Property
-  'OUT3
-  Public ReadOnly Property TotalCycleElectricalDemand As Single Implements IM11.TotalCycleElectricalDemand
+        'OUT4
+        Public ReadOnly Property TotalCycleFuelConsumptionSmartElectricalLoad As Single Implements IM11.TotalCycleFuelConsumptionSmartElectricalLoad
             Get
-             Return AG3
+                Return AG4
             End Get
         End Property
-  'OUT4
-  Public ReadOnly Property TotalCycleFuelConsumptionSmartElectricalLoad As Single Implements IM11.TotalCycleFuelConsumptionSmartElectricalLoad
+        'OUT5
+        Public ReadOnly Property TotalCycleFuelConsumptionZeroElectricalLoad As Single Implements IM11.TotalCycleFuelConsumptionZeroElectricalLoad
             Get
-             Return AG4
+                Return AG5
             End Get
         End Property
-  'OUT5
-  Public ReadOnly Property TotalCycleFuelConsumptionZeroElectricalLoad As Single Implements IM11.TotalCycleFuelConsumptionZeroElectricalLoad
+        'OUT6
+        Public ReadOnly Property StopStartSensitiveTotalCycleElectricalDemand As Single Implements IM11.StopStartSensitiveTotalCycleElectricalDemand
             Get
-             Return AG5
+                Return AG6
             End Get
         End Property
-  'OUT6
-  Public ReadOnly Property StopStartSensitiveTotalCycleElectricalDemand As Single Implements IM11.StopStartSensitiveTotalCycleElectricalDemand
+        'OUT7
+        Public ReadOnly Property TotalCycleFuelConsuptionAverageLoads As Single Implements IM11.TotalCycleFuelConsuptionAverageLoads
             Get
-            Return AG6
+                Return AG7
             End Get
         End Property
 
-  Private ReadOnly Property SW1 As single
-    Get
-     Return If( signals.EngineStopped,0, 1)
-    End Get
-End Property
+        Private ReadOnly Property SW1 As Single
+            Get
+                Return If(signals.EngineStopped, 0, 1)
+            End Get
+        End Property
+
+        'Clear at the beginning of cycle
+        Sub ClearAggregates() Implements IM11.ClearAggregates
+
+            AG1 = 0
+            AG2 = 0
+            AG3 = 0
+            AG4 = 0
+            AG5 = 0
+            AG6 = 0
+            AG7 = 0
+
+        End Sub
+
+        'Add to Aggregates dependent on cycle step time.
+        Sub CycleStep(Optional stepTimeInSeconds As Single = 0.0) Implements IM11.CycleStep
 
- 'Clear at the beginning of cycle
-  Sub ClearAggregates() Implements IM11.ClearAggregates
-   
-   AG1=0
-   AG2=0
-   AG3=0
-   AG4=0
-   AG5=0
-   ag6=0
+            'S/S Insensitive
+            AG3 += (stepTimeInSeconds * m6.AvgPowerDemandAtCrankFromElectricsIncHVAC)
 
- End Sub
- 
-  'Add to Aggregates dependent on cycle step time.
-  Sub CycleStep(Optional stepTimeInSeconds As Single = 0.0) Implements IM11.CycleStep
 
-  'S/S Insensitive
-   AG3+=  (  stepTimeInSeconds *   m6.AvgPowerDemandAtCrankFromElectricsIncHVAC         )
+            If Signals.EngineStopped Then Return
 
+            'S/S Sensitive
+            AG1 += (stepTimeInSeconds * sum1 * SW1)
+            AG2 += (stepTimeInSeconds * M8.SmartElectricalAlternatorPowerGenAtCrank * SW1)
 
-   If Signals.EngineStopped then return
+            AG6 += (stepTimeInSeconds * m6.AvgPowerDemandAtCrankFromElectricsIncHVAC * SW1)
 
-   'S/S Sensitive
-   AG1+=  (  stepTimeInSeconds *   sum1                                           * SW1 )
-   AG2+=  (  stepTimeInSeconds *   M8.SmartElectricalAlternatorPowerGenAtCrank    * SW1 )
+            'These need to be divided by 3600 as the Fuel Map output is in Grams/Second.
+            AG4 += (stepTimeInSeconds * sum7 / 3600 * SW1)
+            AG5 += (stepTimeInSeconds * Sum8 / 3600 * SW1)
+            AG7 += (stepTimeInSeconds * Sum12 / 3600 * SW1)
 
-   AG6+=  (  stepTimeInSeconds *   m6.AvgPowerDemandAtCrankFromElectricsIncHVAC   * SW1 )
+        End Sub
 
-   'These need to be divided by 3600 as the Fuel Map output is in Grams/Second.
-   AG4+=  (  stepTimeInSeconds *   sum7 / 3600                                    * SW1 )
-   AG5+=  (  stepTimeInSeconds *   Sum8 / 3600                                    * SW1 )
-       
- End Sub
- 
-  'Constructor
-  Public Sub new ( m1 As IM1_AverageHVACLoadDemand, m3 As IM3_AveragePneumaticLoadDemand, m6 As IM6, m8 As IM8, fmap As IFUELMAP, signals As ISignals)
+        'Constructor
+        Public Sub New(m1 As IM1_AverageHVACLoadDemand, m3 As IM3_AveragePneumaticLoadDemand, m6 As IM6, m8 As IM8, fmap As IFUELMAP, signals As ISignals)
 
-      me.M1      = m1
-      me.M3      = m3
-      me.M6      = m6
-      me.M8      = m8
-      Me.fmap    = fmap
-      Me.signals = signals
+            Me.M1 = m1
+            Me.M3 = m3
+            Me.M6 = m6
+            Me.M8 = m8
+            Me.fmap = fmap
+            Me.signals = signals
 
- End Sub
+        End Sub
 
-End Class
+    End Class
 
 End Namespace
 
-- 
GitLab