From 90f77fb9f88d15c3f31b446f4a2b03a23b036163 Mon Sep 17 00:00:00 2001 From: Markus Quaritsch <markus.quaritsch@tugraz.at> Date: Wed, 10 Feb 2021 13:25:01 +0100 Subject: [PATCH] implementing bus auxiliaries in engineering mode, including testcases, gui adaptations --- VECTO.sln.DotSettings | 1 + VECTO/AdvancedAuxiliariesModule.vb | 199 - ...usAuxiliariesEngParametersForm.Designer.vb | 988 ++++ .../GUI/BusAuxiliariesEngParametersForm.resx | 224 + VECTO/GUI/BusAuxiliariesEngParametersForm.vb | 366 ++ ...b => HybridStrategyParamsForm.Designer.vb} | 2 +- ...orm.resx => HybridStrategyParamsForm.resx} | 0 ...amsForm.vb => HybridStrategyParamsForm.vb} | 0 VECTO/GUI/MainForm.vb | 3 +- VECTO/GUI/VectoJobForm.Designer.vb | 854 ++-- VECTO/GUI/VectoJobForm.resx | 21 +- VECTO/GUI/VectoJobForm.vb | 179 +- VECTO/Input Files/AdvancedAuxiliary.vb | 48 - VECTO/Input Files/BusParamsEngineering.vb | 129 + VECTO/Input Files/VectoJob.vb | 34 +- VECTO/VECTO.vbproj | 22 +- .../VectoAuxiliariesTests/Mocks/M3_Mock.vb | 10 +- .../AveragePneumaticLoadDemandTests.vb | 2 +- .../M0_5_SmartAlternatorSetEfficiencyTests.vb | 2 +- .../UnitTests/M14Tests.vb | 26 +- .../UnitTests/SSMTOOLTests.vb | 26 +- ...ISSMInputs.cs => ISSMDeclarationInputs.cs} | 23 +- .../InputData/EngineeringInputData.cs | 56 +- .../VectoCommon/Models/AuxiliaryModel.cs | 63 - .../Utils/SIConvertExtensionMethods.cs | 4 + VectoCommon/VectoCommon/VectoCommon.csproj | 3 +- .../JSON/JSONBusAuxiliariesEngineeringData.cs | 126 + .../InputData/FileIO/JSON/JSONInputData.cs | 40 +- .../FileIO/JSON/JSONInputDataFactory.cs | 12 + .../InputData/FileIO/JSON/JSONSubComponent.cs | 282 +- .../InputData/FileIO/JSON/SSMInputData.cs | 4 +- .../XMLEngineeringAuxiliariesDataProvider.cs | 18 +- .../DeclarationDataAdapterPrimaryBus.cs | 2 +- .../EngineeringDataAdapter.cs | 98 +- .../EngineeringModeVectoRunDataFactory.cs | 9 +- .../Models/BusAuxiliaries/BusAuxiliaries.cs | 33 +- .../DownstreamModules/Impl/HVAC/M01Impl.cs | 2 +- .../Impl/HVAC/SSMCalculate.cs | 10 +- .../DownstreamModules/Impl/HVAC/SSMInputs.cs | 18 +- .../DownstreamModules/Impl/HVAC/SSMTOOL.cs | 43 +- .../DownstreamModules/Impl/M06Impl.cs | 4 +- .../DownstreamModules/Impl/M07Impl.cs | 4 +- .../DownstreamModules/Impl/M14Impl.cs | 25 +- .../Impl/Pneumatics/M03Impl.cs | 6 +- .../DownstreamModules/HVAC/ISSMTOOL.cs | 39 +- .../IM3_AveragePneumaticLoadDemand.cs | 1 - .../Interfaces/IBusAuxiliaries.cs | 4 +- .../OutputData/FileIO/BusAuxWriter.cs | 23 +- .../OutputData/FileIO/JSONFileWriter.cs | 46 +- .../OutputData/SummaryDataContainer.cs | 12 +- VectoCore/VectoCore/VectoCore.csproj | 1 + .../CompletedBusFactorMethodTest.cs | 16 +- .../EngineeringModeBusAuxTest.cs | 94 + .../Buses/EngineeringMode/250kW.vfld | 11 + .../Buses/EngineeringMode/250kW.vmap | 107 + .../Buses/EngineeringMode/Axle_Coach.vtlm | 883 ++++ .../Buses/EngineeringMode/BusAuxData.vaux | 31 + .../BusAuxData_SmartES-SmartPS.vaux | 31 + .../EngineeringMode/BusAuxData_SmartES.vaux | 31 + .../EngineeringMode/BusAuxData_SmartPS.vaux | 31 + .../DEFAULT_3-Cylinder_2-Stage_598ccm.ACMP | 9 + .../Buses/EngineeringMode/Default.vrlm | 32 + .../Buses/EngineeringMode/Driver.vacc | 6 + .../EngineeringMode/Engine_250kW_7.7l.veng | 21 + .../Buses/EngineeringMode/Gear_1.vtlm | 233 + .../Buses/EngineeringMode/Gear_2.vtlm | 233 + .../Buses/EngineeringMode/Gear_3.vtlm | 233 + .../Buses/EngineeringMode/Gear_4.vtlm | 233 + .../Buses/EngineeringMode/Gear_5.vtlm | 233 + .../Buses/EngineeringMode/Gear_6.vtlm | 233 + .../Buses/EngineeringMode/Interurban.vdri | 4200 +++++++++++++++++ .../Buses/EngineeringMode/InterurbanBus.vveh | 64 + .../InterurbanBus_ENG_BusAux.vecto | 46 + ...rurbanBus_ENG_BusAux_SmartES-SmartPS.vecto | 46 + .../InterurbanBus_ENG_BusAux_SmartES.vecto | 46 + .../InterurbanBus_ENG_BusAux_SmartPS.vecto | 46 + .../Buses/EngineeringMode/MT_6_Bus.vgbx | 68 + VectoCore/VectoCoreTest/VectoCoreTest.csproj | 76 + 78 files changed, 10176 insertions(+), 1264 deletions(-) delete mode 100644 VECTO/AdvancedAuxiliariesModule.vb create mode 100644 VECTO/GUI/BusAuxiliariesEngParametersForm.Designer.vb create mode 100644 VECTO/GUI/BusAuxiliariesEngParametersForm.resx create mode 100644 VECTO/GUI/BusAuxiliariesEngParametersForm.vb rename VECTO/GUI/{HybridStratebyParamsForm.Designer.vb => HybridStrategyParamsForm.Designer.vb} (99%) rename VECTO/GUI/{HybridStratebyParamsForm.resx => HybridStrategyParamsForm.resx} (100%) rename VECTO/GUI/{HybridStratebyParamsForm.vb => HybridStrategyParamsForm.vb} (100%) delete mode 100644 VECTO/Input Files/AdvancedAuxiliary.vb create mode 100644 VECTO/Input Files/BusParamsEngineering.vb rename VectoCommon/VectoCommon/BusAuxiliaries/{ISSMInputs.cs => ISSMDeclarationInputs.cs} (90%) delete mode 100644 VectoCommon/VectoCommon/Models/AuxiliaryModel.cs create mode 100644 VectoCore/VectoCore/InputData/FileIO/JSON/JSONBusAuxiliariesEngineeringData.cs create mode 100644 VectoCore/VectoCoreTest/Models/EngineeringMode/EngineeringModeBusAuxTest.cs create mode 100644 VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/250kW.vfld create mode 100644 VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/250kW.vmap create mode 100644 VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/Axle_Coach.vtlm create mode 100644 VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/BusAuxData.vaux create mode 100644 VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/BusAuxData_SmartES-SmartPS.vaux create mode 100644 VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/BusAuxData_SmartES.vaux create mode 100644 VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/BusAuxData_SmartPS.vaux create mode 100644 VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/DEFAULT_3-Cylinder_2-Stage_598ccm.ACMP create mode 100644 VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/Default.vrlm create mode 100644 VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/Driver.vacc create mode 100644 VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/Engine_250kW_7.7l.veng create mode 100644 VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/Gear_1.vtlm create mode 100644 VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/Gear_2.vtlm create mode 100644 VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/Gear_3.vtlm create mode 100644 VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/Gear_4.vtlm create mode 100644 VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/Gear_5.vtlm create mode 100644 VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/Gear_6.vtlm create mode 100644 VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/Interurban.vdri create mode 100644 VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/InterurbanBus.vveh create mode 100644 VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/InterurbanBus_ENG_BusAux.vecto create mode 100644 VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/InterurbanBus_ENG_BusAux_SmartES-SmartPS.vecto create mode 100644 VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/InterurbanBus_ENG_BusAux_SmartES.vecto create mode 100644 VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/InterurbanBus_ENG_BusAux_SmartPS.vecto create mode 100644 VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/MT_6_Bus.vgbx diff --git a/VECTO.sln.DotSettings b/VECTO.sln.DotSettings index 978725d131..5ef26f0f90 100644 --- a/VECTO.sln.DotSettings +++ b/VECTO.sln.DotSettings @@ -1,4 +1,5 @@ <wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation"> + <s:Boolean x:Key="/Default/CodeEditing/GenerateMemberBody/WrapIntoRegions/@EntryValue">True</s:Boolean> <s:Boolean x:Key="/Default/CodeInspection/CodeAnnotations/NamespacesWithAnnotations/=HashingTool_002EAnnotations/@EntryIndexedValue">True</s:Boolean> <s:String x:Key="/Default/CodeStyle/CodeCleanup/SilentCleanupProfile/@EntryValue">Default: Reformat Code</s:String> <s:String x:Key="/Default/CodeStyle/CodeFormatting/CommonFormatter/ALIGNMENT_TAB_FILL_STYLE/@EntryValue">USE_TABS_ONLY</s:String> diff --git a/VECTO/AdvancedAuxiliariesModule.vb b/VECTO/AdvancedAuxiliariesModule.vb deleted file mode 100644 index d4a2a41924..0000000000 --- a/VECTO/AdvancedAuxiliariesModule.vb +++ /dev/null @@ -1,199 +0,0 @@ -Imports System.Collections.Generic -Imports System.IO -Imports System.Linq -Imports System.Runtime.Remoting -Imports TUGraz.VectoCore.Models.BusAuxiliaries - -Module AdvancedAuxiliariesModule - 'Public WithEvents AdvancedAuxModel As IBusAuxiliaries - - Dim _returnList As Dictionary(Of String, AdvancedAuxiliary) = Nothing - - 'Public Sub AAEventAuxiliaryEvent(ByRef sender As Object, ByVal message As String, - ' ByVal messageType As AdvancedAuxiliaryMessageType) Handles AdvancedAuxModel.AuxiliaryEvent - - - ' WorkerMsg(CType(messageType, MessageType), message, "Advanced Auxiliaries") - 'End Sub - - 'AA-TB - - 'AA-TB - ''' <summary> - ''' Discovers Advanced Auxiliaries Assemblies in 'targetDirectory' Directory - ''' </summary> - ''' <returns>List(Of cAdvancedAuxiliary)</returns> - ''' <remarks>Target Directory would normally be the executing directory, but can be in another location.</remarks> - Public Function DiscoverAdvancedAuxiliaries() As Dictionary(Of String, AdvancedAuxiliary) - - If Not _returnList Is Nothing Then - Return _returnList - End If - - _returnList = New Dictionary(Of String, AdvancedAuxiliary) - 'Dim o As ObjectHandle - Dim busAux As BusAuxiliaries - - - 'Create Default - Dim classicAux As AdvancedAuxiliary = New AdvancedAuxiliary() - _returnList.Add(classicAux.AssemblyName, classicAux) - - - 'Try - ' Dim fileEntries As String() = Directory.GetFiles(GetAAUXSourceDirectory) - ' ' Process the list of files found in the directory. - ' Dim fileName As String - - ' For Each fileName In fileEntries - - ' If fileName.Contains("Auxiliaries.dll") Then - - ' 'Get filenamewith - ' Dim fileNameWoPath As String = GetFilenameWithoutPath(fileName, True) - ' Dim fileNameWoExtentsion As String = GetFilenameWithoutPath(fileName, False) - - ' o = Activator.CreateInstance(fileNameWoExtentsion, "VectoAuxiliaries.AdvancedAuxiliaries") - - busAux = new BusAuxiliaries(Nothing) - - Dim advancedAuxiliary As AdvancedAuxiliary = New AdvancedAuxiliary(busAux.AuxiliaryName, - busAux.AuxiliaryVersion, - "BUSAUX", "BusAuxiliaries") - _returnList.Add(advancedAuxiliary.AuxiliaryVersion, advancedAuxiliary) - ' End If - - ' Next fileName - - 'Catch ex As Exception - ' MessageBox.Show("Unable to obtain Advanced Auxiliary Assemblies") - 'End Try - - - Return _returnList - End Function - - 'AA-TB - ''' <summary> - ''' Invokes Advanced Auxiliaries Configuration Screen - ''' </summary> - ''' <param name="vectoFilePath">String : Contains the path of the vecto file.</param> - ''' <returns>Boolean. True if aauxFile is valid after operation , false of not.</returns> - ''' <remarks></remarks> - Public Function ConfigureAdvancedAuxiliaries(ByVal assemblyName As String, ByVal version As String, filePath As String, - vectoFilePath As String) As Boolean - - - Dim auxList As Dictionary(Of String, AdvancedAuxiliary) = DiscoverAdvancedAuxiliaries() - Dim o As ObjectHandle - Dim busAux As BusAuxiliaries - Dim result As Boolean - - Dim chosenAssembly As KeyValuePair(Of String, AdvancedAuxiliary) = - auxList.First(Function(x) x.Value.AssemblyName = assemblyName AndAlso x.Value.AuxiliaryVersion = version) - - If String.IsNullOrEmpty(chosenAssembly.Value.AssemblyName) Then Return False - - 'Open Assembly and invoke the configuration using the paths supplied. - - Try - 'o = Activator.CreateInstance(chosenAssembly.Value.AssemblyName, "VectoAuxiliaries.AdvancedAuxiliaries") - busAux = New BusAuxiliaries(Nothing) ' DirectCast(o.Unwrap, IAdvancedAuxiliaries) - - Configure(filePath, vectoFilePath) - - Catch ex As Exception - - result = False - - End Try - - Return result - End Function - - Function Configure(filePath As String, vectoFilePath As String) As Boolean - Try - - Dim frmAuxiliaryConfig As New frmAuxiliaryConfig(filePath, vectoFilePath) - - frmAuxiliaryConfig.Show() - - If frmAuxiliaryConfig.DialogResult <> DialogResult.OK Then - - Return True - - Else - - Return False - - End If - - - Catch ex As Exception - - Return False - - End Try - End Function - - - ''' <summary> - ''' Gets location of Advanced Auxiliaries Directory which contains all the assemblies available. - ''' </summary> - ''' <returns>Path where Auxiliaries can be found : String</returns> - ''' <remarks></remarks> - Public Function GetAAUXSourceDirectory() As String - - - Return Path.GetDirectoryName(Application.ExecutablePath) - End Function - - - Public Function ResolveAAUXFilePath(vectoPath As String, filename As String) As String - - 'No Vecto Path supplied - If vectoPath = "" Then Return filename - - 'This is not relative - If filename.Contains(":\") Then - - 'Filepath is already absolute - Return filename - Else - Return vectoPath & filename - End If - End Function - - - Public Function ValidateAAUXFile(ByVal absoluteAAuxPath As String, - ByVal assemblyName As String, - ByVal version As String, - ByRef message As String) As Boolean - - Dim auxList As Dictionary(Of String, AdvancedAuxiliary) = DiscoverAdvancedAuxiliaries() - Dim busAux as BusAuxiliaries - Dim result As Boolean - - - Dim chosenAssembly As KeyValuePair(Of String, AdvancedAuxiliary) = - auxList.First(Function(x) x.Value.AssemblyName = assemblyName AndAlso x.Value.AuxiliaryVersion = version) - - If String.IsNullOrEmpty(chosenAssembly.Value.AssemblyName) Then Return False - - - 'Open Assembly and invoke the validation using the paths supplied. - Try - 'o = Activator.CreateInstance(chosenAssembly.Value.AssemblyName, "VectoAuxiliaries.AdvancedAuxiliaries") - busAux = New BusAuxiliaries(Nothing) ' DirectCast(o.Unwrap, IAdvancedAuxiliaries) - - 'result = busAux.ValidateAAUXFile(absoluteAAuxPath, message) - - Catch ex As Exception - - result = False - - End Try - - Return result - End Function -End Module diff --git a/VECTO/GUI/BusAuxiliariesEngParametersForm.Designer.vb b/VECTO/GUI/BusAuxiliariesEngParametersForm.Designer.vb new file mode 100644 index 0000000000..da7791c94b --- /dev/null +++ b/VECTO/GUI/BusAuxiliariesEngParametersForm.Designer.vb @@ -0,0 +1,988 @@ +' Copyright 2017 European Union. +' Licensed under the EUPL (the 'Licence'); +' +' * You may not use this work except in compliance with the Licence. +' * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl +' * Unless required by applicable law or agreed to in writing, +' software distributed under the Licence is distributed on an "AS IS" basis, +' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +' +' See the LICENSE.txt for the specific language governing permissions and limitations. +Imports System.ComponentModel +Imports Microsoft.VisualBasic.CompilerServices + +<DesignerGenerated()> +Partial Class BusAuxiliariesEngParametersForm + Inherits Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + <DebuggerNonUserCode()> + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + <DebuggerStepThrough()> + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(BusAuxiliariesEngParametersForm)) + Me.ButCancel = New System.Windows.Forms.Button() + Me.ButOK = New System.Windows.Forms.Button() + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip() + Me.ToolStripBtNew = New System.Windows.Forms.ToolStripButton() + Me.ToolStripBtOpen = New System.Windows.Forms.ToolStripButton() + Me.ToolStripBtSave = New System.Windows.Forms.ToolStripButton() + Me.ToolStripBtSaveAs = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator3 = New System.Windows.Forms.ToolStripSeparator() + Me.ToolStripBtSendTo = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator() + Me.ToolStripButton1 = New System.Windows.Forms.ToolStripButton() + Me.StatusStrip1 = New System.Windows.Forms.StatusStrip() + Me.LbStatus = New System.Windows.Forms.ToolStripStatusLabel() + Me.PictureBox1 = New System.Windows.Forms.PictureBox() + Me.CmOpenFile = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.OpenWithToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ShowInFolderToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.lblTitle = New System.Windows.Forms.Label() + Me.gbElectricSystem = New System.Windows.Forms.GroupBox() + Me.pnCurrentDemand = New System.Windows.Forms.Panel() + Me.lblCurrentDemand = New System.Windows.Forms.Label() + Me.lblCurrentDemandUnit = New System.Windows.Forms.Label() + Me.tbCurrentDemand = New System.Windows.Forms.TextBox() + Me.pnCurrentDemandEngineOffDriving = New System.Windows.Forms.Panel() + Me.lblCurrentDemandEngineOffDriving = New System.Windows.Forms.Label() + Me.lblCurrentDemandEngineOffDrivingUnit = New System.Windows.Forms.Label() + Me.tbCurrentDemandEngineOffDriving = New System.Windows.Forms.TextBox() + Me.pnCurrentDemandEngineOffStandstill = New System.Windows.Forms.Panel() + Me.lblCurrentDemandEngineIffStandstill = New System.Windows.Forms.Label() + Me.lblCurrentDemandEngienOffStandstillUnit = New System.Windows.Forms.Label() + Me.tbCurrentDemandEngineOffStandstill = New System.Windows.Forms.TextBox() + Me.pnAlternatorEfficiency = New System.Windows.Forms.Panel() + Me.lblAlternatorEfficiency = New System.Windows.Forms.Label() + Me.lblAlternatorEfficiencyUnit = New System.Windows.Forms.Label() + Me.TextBox1 = New System.Windows.Forms.TextBox() + Me.Panel1 = New System.Windows.Forms.Panel() + Me.cbSmartElectric = New System.Windows.Forms.CheckBox() + Me.pnSmartElectricParams = New System.Windows.Forms.Panel() + Me.pnMaxAlternatorPower = New System.Windows.Forms.Panel() + Me.lblMaxAlternatorPower = New System.Windows.Forms.Label() + Me.lblMaxAlternatorPowerUnit = New System.Windows.Forms.Label() + Me.tbMaxAlternatorPower = New System.Windows.Forms.TextBox() + Me.pnElectricStorageCapacity = New System.Windows.Forms.Panel() + Me.lblElectricStorageCapacity = New System.Windows.Forms.Label() + Me.lblElectricStorageCapacityUnit = New System.Windows.Forms.Label() + Me.tbElectricStorageCapacity = New System.Windows.Forms.TextBox() + Me.bgPneumaticSystem = New System.Windows.Forms.GroupBox() + Me.pnAverageAirDemand = New System.Windows.Forms.Panel() + Me.lblAverageAirDemand = New System.Windows.Forms.Label() + Me.lblAverageAirDemandUnit = New System.Windows.Forms.Label() + Me.tbAverageAirDemand = New System.Windows.Forms.TextBox() + Me.pnCompressorMap = New System.Windows.Forms.Panel() + Me.btnBrowseCompressorMap = New System.Windows.Forms.Button() + Me.tbCompressorMap = New System.Windows.Forms.TextBox() + Me.lblCompressorMap = New System.Windows.Forms.Label() + Me.pnCompressorRatio = New System.Windows.Forms.Panel() + Me.lblCompressorRatio = New System.Windows.Forms.Label() + Me.lblCompressorRatioUnit = New System.Windows.Forms.Label() + Me.tbCompressorRatio = New System.Windows.Forms.TextBox() + Me.pnSmartCompressor = New System.Windows.Forms.Panel() + Me.cbSmartCompressor = New System.Windows.Forms.CheckBox() + Me.gbHVAC = New System.Windows.Forms.GroupBox() + Me.pnHvacMechPowerDemand = New System.Windows.Forms.Panel() + Me.lblHvacMechPowerDemand = New System.Windows.Forms.Label() + Me.lblHvacMechPowerDemandUnit = New System.Windows.Forms.Label() + Me.tbHvacMechPowerDemand = New System.Windows.Forms.TextBox() + Me.pnHvacElecPowerDemand = New System.Windows.Forms.Panel() + Me.lblHvacElectricPowerDemand = New System.Windows.Forms.Label() + Me.lblHvacElectricPowerDemandUnit = New System.Windows.Forms.Label() + Me.tbHvacElectricPowerDemand = New System.Windows.Forms.TextBox() + Me.pnHvacAuxHeaterPwr = New System.Windows.Forms.Panel() + Me.lblHvacAuxHEaterPwr = New System.Windows.Forms.Label() + Me.lblHvacAuxHeaterPwrUnit = New System.Windows.Forms.Label() + Me.tbHvacAuxHeaterPwr = New System.Windows.Forms.TextBox() + Me.pnHvacHeatingDemand = New System.Windows.Forms.Panel() + Me.lblHvacHeatingDemand = New System.Windows.Forms.Label() + Me.lblHvacHeatingDemandUnit = New System.Windows.Forms.Label() + Me.tbHvacHeatingDemand = New System.Windows.Forms.TextBox() + Me.ToolStrip1.SuspendLayout + Me.StatusStrip1.SuspendLayout + CType(Me.PictureBox1,System.ComponentModel.ISupportInitialize).BeginInit + Me.CmOpenFile.SuspendLayout + Me.gbElectricSystem.SuspendLayout + Me.pnCurrentDemand.SuspendLayout + Me.pnCurrentDemandEngineOffDriving.SuspendLayout + Me.pnCurrentDemandEngineOffStandstill.SuspendLayout + Me.pnAlternatorEfficiency.SuspendLayout + Me.Panel1.SuspendLayout + Me.pnSmartElectricParams.SuspendLayout + Me.pnMaxAlternatorPower.SuspendLayout + Me.pnElectricStorageCapacity.SuspendLayout + Me.bgPneumaticSystem.SuspendLayout + Me.pnAverageAirDemand.SuspendLayout + Me.pnCompressorMap.SuspendLayout + Me.pnCompressorRatio.SuspendLayout + Me.pnSmartCompressor.SuspendLayout + Me.gbHVAC.SuspendLayout + Me.pnHvacMechPowerDemand.SuspendLayout + Me.pnHvacElecPowerDemand.SuspendLayout + Me.pnHvacAuxHeaterPwr.SuspendLayout + Me.pnHvacHeatingDemand.SuspendLayout + Me.SuspendLayout + ' + 'ButCancel + ' + Me.ButCancel.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles) + Me.ButCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel + Me.ButCancel.Location = New System.Drawing.Point(421, 688) + Me.ButCancel.Name = "ButCancel" + Me.ButCancel.Size = New System.Drawing.Size(75, 23) + Me.ButCancel.TabIndex = 13 + Me.ButCancel.Text = "Cancel" + Me.ButCancel.UseVisualStyleBackColor = true + ' + 'ButOK + ' + Me.ButOK.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles) + Me.ButOK.Location = New System.Drawing.Point(340, 688) + Me.ButOK.Name = "ButOK" + Me.ButOK.Size = New System.Drawing.Size(75, 23) + Me.ButOK.TabIndex = 12 + Me.ButOK.Text = "Save" + Me.ButOK.UseVisualStyleBackColor = true + ' + 'ToolStrip1 + ' + Me.ToolStrip1.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripBtNew, Me.ToolStripBtOpen, Me.ToolStripBtSave, Me.ToolStripBtSaveAs, Me.ToolStripSeparator3, Me.ToolStripBtSendTo, Me.ToolStripSeparator1, Me.ToolStripButton1}) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 0) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(508, 25) + Me.ToolStrip1.TabIndex = 30 + Me.ToolStrip1.Text = "ToolStrip1" + ' + 'ToolStripBtNew + ' + Me.ToolStripBtNew.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripBtNew.Image = Global.TUGraz.VECTO.My.Resources.Resources.blue_document_icon + Me.ToolStripBtNew.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripBtNew.Name = "ToolStripBtNew" + Me.ToolStripBtNew.Size = New System.Drawing.Size(23, 22) + Me.ToolStripBtNew.Text = "ToolStripButton1" + Me.ToolStripBtNew.ToolTipText = "New" + ' + 'ToolStripBtOpen + ' + Me.ToolStripBtOpen.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripBtOpen.Image = Global.TUGraz.VECTO.My.Resources.Resources.Open_icon + Me.ToolStripBtOpen.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripBtOpen.Name = "ToolStripBtOpen" + Me.ToolStripBtOpen.Size = New System.Drawing.Size(23, 22) + Me.ToolStripBtOpen.Text = "ToolStripButton1" + Me.ToolStripBtOpen.ToolTipText = "Open..." + ' + 'ToolStripBtSave + ' + Me.ToolStripBtSave.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripBtSave.Image = Global.TUGraz.VECTO.My.Resources.Resources.Actions_document_save_icon + Me.ToolStripBtSave.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripBtSave.Name = "ToolStripBtSave" + Me.ToolStripBtSave.Size = New System.Drawing.Size(23, 22) + Me.ToolStripBtSave.Text = "ToolStripButton1" + Me.ToolStripBtSave.ToolTipText = "Save" + ' + 'ToolStripBtSaveAs + ' + Me.ToolStripBtSaveAs.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripBtSaveAs.Image = Global.TUGraz.VECTO.My.Resources.Resources.Actions_document_save_as_icon + Me.ToolStripBtSaveAs.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripBtSaveAs.Name = "ToolStripBtSaveAs" + Me.ToolStripBtSaveAs.Size = New System.Drawing.Size(23, 22) + Me.ToolStripBtSaveAs.Text = "ToolStripButton1" + Me.ToolStripBtSaveAs.ToolTipText = "Save As..." + ' + 'ToolStripSeparator3 + ' + Me.ToolStripSeparator3.Name = "ToolStripSeparator3" + Me.ToolStripSeparator3.Size = New System.Drawing.Size(6, 25) + ' + 'ToolStripBtSendTo + ' + Me.ToolStripBtSendTo.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripBtSendTo.Image = Global.TUGraz.VECTO.My.Resources.Resources.export_icon + Me.ToolStripBtSendTo.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripBtSendTo.Name = "ToolStripBtSendTo" + Me.ToolStripBtSendTo.Size = New System.Drawing.Size(23, 22) + Me.ToolStripBtSendTo.Text = "Send to Job Editor" + Me.ToolStripBtSendTo.ToolTipText = "Send to Job Editor" + ' + 'ToolStripSeparator1 + ' + Me.ToolStripSeparator1.Name = "ToolStripSeparator1" + Me.ToolStripSeparator1.Size = New System.Drawing.Size(6, 25) + ' + 'ToolStripButton1 + ' + Me.ToolStripButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton1.Image = Global.TUGraz.VECTO.My.Resources.Resources.Help_icon + Me.ToolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton1.Name = "ToolStripButton1" + Me.ToolStripButton1.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton1.Text = "Help" + ' + 'StatusStrip1 + ' + Me.StatusStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.LbStatus}) + Me.StatusStrip1.Location = New System.Drawing.Point(0, 714) + Me.StatusStrip1.Name = "StatusStrip1" + Me.StatusStrip1.Size = New System.Drawing.Size(508, 22) + Me.StatusStrip1.SizingGrip = false + Me.StatusStrip1.TabIndex = 37 + Me.StatusStrip1.Text = "StatusStrip1" + ' + 'LbStatus + ' + Me.LbStatus.Name = "LbStatus" + Me.LbStatus.Size = New System.Drawing.Size(39, 17) + Me.LbStatus.Text = "Status" + ' + 'PictureBox1 + ' + Me.PictureBox1.BackColor = System.Drawing.Color.White + Me.PictureBox1.Image = Global.TUGraz.VECTO.My.Resources.Resources.VECTO_ENG + Me.PictureBox1.Location = New System.Drawing.Point(0, 28) + Me.PictureBox1.Name = "PictureBox1" + Me.PictureBox1.Size = New System.Drawing.Size(502, 40) + Me.PictureBox1.TabIndex = 39 + Me.PictureBox1.TabStop = false + ' + 'CmOpenFile + ' + Me.CmOpenFile.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.OpenWithToolStripMenuItem, Me.ShowInFolderToolStripMenuItem}) + Me.CmOpenFile.Name = "CmOpenFile" + Me.CmOpenFile.Size = New System.Drawing.Size(153, 48) + ' + 'OpenWithToolStripMenuItem + ' + Me.OpenWithToolStripMenuItem.Name = "OpenWithToolStripMenuItem" + Me.OpenWithToolStripMenuItem.Size = New System.Drawing.Size(152, 22) + Me.OpenWithToolStripMenuItem.Text = "Open with ..." + ' + 'ShowInFolderToolStripMenuItem + ' + Me.ShowInFolderToolStripMenuItem.Name = "ShowInFolderToolStripMenuItem" + Me.ShowInFolderToolStripMenuItem.Size = New System.Drawing.Size(152, 22) + Me.ShowInFolderToolStripMenuItem.Text = "Show in Folder" + ' + 'lblTitle + ' + Me.lblTitle.AutoSize = true + Me.lblTitle.BackColor = System.Drawing.Color.White + Me.lblTitle.Font = New System.Drawing.Font("Microsoft Sans Serif", 18!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte)) + Me.lblTitle.Location = New System.Drawing.Point(119, 35) + Me.lblTitle.Name = "lblTitle" + Me.lblTitle.Size = New System.Drawing.Size(307, 29) + Me.lblTitle.TabIndex = 48 + Me.lblTitle.Text = "Bus Auxiliaries Engineering" + ' + 'gbElectricSystem + ' + Me.gbElectricSystem.Controls.Add(Me.pnSmartElectricParams) + Me.gbElectricSystem.Controls.Add(Me.Panel1) + Me.gbElectricSystem.Controls.Add(Me.pnAlternatorEfficiency) + Me.gbElectricSystem.Controls.Add(Me.pnCurrentDemandEngineOffStandstill) + Me.gbElectricSystem.Controls.Add(Me.pnCurrentDemandEngineOffDriving) + Me.gbElectricSystem.Controls.Add(Me.pnCurrentDemand) + Me.gbElectricSystem.Location = New System.Drawing.Point(12, 74) + Me.gbElectricSystem.Name = "gbElectricSystem" + Me.gbElectricSystem.Size = New System.Drawing.Size(317, 242) + Me.gbElectricSystem.TabIndex = 49 + Me.gbElectricSystem.TabStop = false + Me.gbElectricSystem.Text = "Electric System" + ' + 'pnCurrentDemand + ' + Me.pnCurrentDemand.Controls.Add(Me.lblCurrentDemand) + Me.pnCurrentDemand.Controls.Add(Me.lblCurrentDemandUnit) + Me.pnCurrentDemand.Controls.Add(Me.tbCurrentDemand) + Me.pnCurrentDemand.Location = New System.Drawing.Point(10, 19) + Me.pnCurrentDemand.Name = "pnCurrentDemand" + Me.pnCurrentDemand.Size = New System.Drawing.Size(288, 28) + Me.pnCurrentDemand.TabIndex = 4 + ' + 'lblCurrentDemand + ' + Me.lblCurrentDemand.AutoSize = true + Me.lblCurrentDemand.Location = New System.Drawing.Point(3, 7) + Me.lblCurrentDemand.Name = "lblCurrentDemand" + Me.lblCurrentDemand.Size = New System.Drawing.Size(137, 13) + Me.lblCurrentDemand.TabIndex = 0 + Me.lblCurrentDemand.Text = "Current Demand Engine On" + ' + 'lblCurrentDemandUnit + ' + Me.lblCurrentDemandUnit.AutoSize = true + Me.lblCurrentDemandUnit.Location = New System.Drawing.Point(258, 7) + Me.lblCurrentDemandUnit.Name = "lblCurrentDemandUnit" + Me.lblCurrentDemandUnit.Size = New System.Drawing.Size(20, 13) + Me.lblCurrentDemandUnit.TabIndex = 24 + Me.lblCurrentDemandUnit.Text = "[A]" + ' + 'tbCurrentDemand + ' + Me.tbCurrentDemand.Location = New System.Drawing.Point(197, 4) + Me.tbCurrentDemand.Name = "tbCurrentDemand" + Me.tbCurrentDemand.Size = New System.Drawing.Size(57, 20) + Me.tbCurrentDemand.TabIndex = 3 + ' + 'pnCurrentDemandEngineOffDriving + ' + Me.pnCurrentDemandEngineOffDriving.Controls.Add(Me.lblCurrentDemandEngineOffDriving) + Me.pnCurrentDemandEngineOffDriving.Controls.Add(Me.lblCurrentDemandEngineOffDrivingUnit) + Me.pnCurrentDemandEngineOffDriving.Controls.Add(Me.tbCurrentDemandEngineOffDriving) + Me.pnCurrentDemandEngineOffDriving.Location = New System.Drawing.Point(10, 49) + Me.pnCurrentDemandEngineOffDriving.Name = "pnCurrentDemandEngineOffDriving" + Me.pnCurrentDemandEngineOffDriving.Size = New System.Drawing.Size(288, 28) + Me.pnCurrentDemandEngineOffDriving.TabIndex = 25 + ' + 'lblCurrentDemandEngineOffDriving + ' + Me.lblCurrentDemandEngineOffDriving.AutoSize = true + Me.lblCurrentDemandEngineOffDriving.Location = New System.Drawing.Point(3, 7) + Me.lblCurrentDemandEngineOffDriving.Name = "lblCurrentDemandEngineOffDriving" + Me.lblCurrentDemandEngineOffDriving.Size = New System.Drawing.Size(173, 13) + Me.lblCurrentDemandEngineOffDriving.TabIndex = 0 + Me.lblCurrentDemandEngineOffDriving.Text = "Current Demand Engine Off Driving" + ' + 'lblCurrentDemandEngineOffDrivingUnit + ' + Me.lblCurrentDemandEngineOffDrivingUnit.AutoSize = true + Me.lblCurrentDemandEngineOffDrivingUnit.Location = New System.Drawing.Point(258, 7) + Me.lblCurrentDemandEngineOffDrivingUnit.Name = "lblCurrentDemandEngineOffDrivingUnit" + Me.lblCurrentDemandEngineOffDrivingUnit.Size = New System.Drawing.Size(20, 13) + Me.lblCurrentDemandEngineOffDrivingUnit.TabIndex = 24 + Me.lblCurrentDemandEngineOffDrivingUnit.Text = "[A]" + ' + 'tbCurrentDemandEngineOffDriving + ' + Me.tbCurrentDemandEngineOffDriving.Location = New System.Drawing.Point(197, 4) + Me.tbCurrentDemandEngineOffDriving.Name = "tbCurrentDemandEngineOffDriving" + Me.tbCurrentDemandEngineOffDriving.Size = New System.Drawing.Size(57, 20) + Me.tbCurrentDemandEngineOffDriving.TabIndex = 3 + ' + 'pnCurrentDemandEngineOffStandstill + ' + Me.pnCurrentDemandEngineOffStandstill.Controls.Add(Me.lblCurrentDemandEngineIffStandstill) + Me.pnCurrentDemandEngineOffStandstill.Controls.Add(Me.lblCurrentDemandEngienOffStandstillUnit) + Me.pnCurrentDemandEngineOffStandstill.Controls.Add(Me.tbCurrentDemandEngineOffStandstill) + Me.pnCurrentDemandEngineOffStandstill.Location = New System.Drawing.Point(10, 79) + Me.pnCurrentDemandEngineOffStandstill.Name = "pnCurrentDemandEngineOffStandstill" + Me.pnCurrentDemandEngineOffStandstill.Size = New System.Drawing.Size(288, 28) + Me.pnCurrentDemandEngineOffStandstill.TabIndex = 26 + ' + 'lblCurrentDemandEngineIffStandstill + ' + Me.lblCurrentDemandEngineIffStandstill.AutoSize = true + Me.lblCurrentDemandEngineIffStandstill.Location = New System.Drawing.Point(3, 7) + Me.lblCurrentDemandEngineIffStandstill.Name = "lblCurrentDemandEngineIffStandstill" + Me.lblCurrentDemandEngineIffStandstill.Size = New System.Drawing.Size(182, 13) + Me.lblCurrentDemandEngineIffStandstill.TabIndex = 0 + Me.lblCurrentDemandEngineIffStandstill.Text = "Current Demand Engine Off Standstill" + ' + 'lblCurrentDemandEngienOffStandstillUnit + ' + Me.lblCurrentDemandEngienOffStandstillUnit.AutoSize = true + Me.lblCurrentDemandEngienOffStandstillUnit.Location = New System.Drawing.Point(258, 7) + Me.lblCurrentDemandEngienOffStandstillUnit.Name = "lblCurrentDemandEngienOffStandstillUnit" + Me.lblCurrentDemandEngienOffStandstillUnit.Size = New System.Drawing.Size(20, 13) + Me.lblCurrentDemandEngienOffStandstillUnit.TabIndex = 24 + Me.lblCurrentDemandEngienOffStandstillUnit.Text = "[A]" + ' + 'tbCurrentDemandEngineOffStandstill + ' + Me.tbCurrentDemandEngineOffStandstill.Location = New System.Drawing.Point(197, 4) + Me.tbCurrentDemandEngineOffStandstill.Name = "tbCurrentDemandEngineOffStandstill" + Me.tbCurrentDemandEngineOffStandstill.Size = New System.Drawing.Size(57, 20) + Me.tbCurrentDemandEngineOffStandstill.TabIndex = 3 + ' + 'pnAlternatorEfficiency + ' + Me.pnAlternatorEfficiency.Controls.Add(Me.lblAlternatorEfficiency) + Me.pnAlternatorEfficiency.Controls.Add(Me.lblAlternatorEfficiencyUnit) + Me.pnAlternatorEfficiency.Controls.Add(Me.TextBox1) + Me.pnAlternatorEfficiency.Location = New System.Drawing.Point(10, 109) + Me.pnAlternatorEfficiency.Name = "pnAlternatorEfficiency" + Me.pnAlternatorEfficiency.Size = New System.Drawing.Size(288, 28) + Me.pnAlternatorEfficiency.TabIndex = 25 + ' + 'lblAlternatorEfficiency + ' + Me.lblAlternatorEfficiency.AutoSize = true + Me.lblAlternatorEfficiency.Location = New System.Drawing.Point(3, 7) + Me.lblAlternatorEfficiency.Name = "lblAlternatorEfficiency" + Me.lblAlternatorEfficiency.Size = New System.Drawing.Size(101, 13) + Me.lblAlternatorEfficiency.TabIndex = 0 + Me.lblAlternatorEfficiency.Text = "Alternator Efficiency" + ' + 'lblAlternatorEfficiencyUnit + ' + Me.lblAlternatorEfficiencyUnit.AutoSize = true + Me.lblAlternatorEfficiencyUnit.Location = New System.Drawing.Point(258, 7) + Me.lblAlternatorEfficiencyUnit.Name = "lblAlternatorEfficiencyUnit" + Me.lblAlternatorEfficiencyUnit.Size = New System.Drawing.Size(16, 13) + Me.lblAlternatorEfficiencyUnit.TabIndex = 24 + Me.lblAlternatorEfficiencyUnit.Text = "[-]" + ' + 'TextBox1 + ' + Me.TextBox1.Location = New System.Drawing.Point(197, 4) + Me.TextBox1.Name = "TextBox1" + Me.TextBox1.Size = New System.Drawing.Size(57, 20) + Me.TextBox1.TabIndex = 3 + ' + 'Panel1 + ' + Me.Panel1.Controls.Add(Me.cbSmartElectric) + Me.Panel1.Location = New System.Drawing.Point(10, 139) + Me.Panel1.Name = "Panel1" + Me.Panel1.Size = New System.Drawing.Size(288, 28) + Me.Panel1.TabIndex = 26 + ' + 'cbSmartElectric + ' + Me.cbSmartElectric.AutoSize = true + Me.cbSmartElectric.Location = New System.Drawing.Point(6, 6) + Me.cbSmartElectric.Name = "cbSmartElectric" + Me.cbSmartElectric.Size = New System.Drawing.Size(91, 17) + Me.cbSmartElectric.TabIndex = 25 + Me.cbSmartElectric.Text = "Smart Electric" + Me.cbSmartElectric.UseVisualStyleBackColor = true + ' + 'pnSmartElectricParams + ' + Me.pnSmartElectricParams.Controls.Add(Me.pnElectricStorageCapacity) + Me.pnSmartElectricParams.Controls.Add(Me.pnMaxAlternatorPower) + Me.pnSmartElectricParams.Location = New System.Drawing.Point(10, 168) + Me.pnSmartElectricParams.Name = "pnSmartElectricParams" + Me.pnSmartElectricParams.Size = New System.Drawing.Size(288, 66) + Me.pnSmartElectricParams.TabIndex = 27 + ' + 'pnMaxAlternatorPower + ' + Me.pnMaxAlternatorPower.Controls.Add(Me.lblMaxAlternatorPower) + Me.pnMaxAlternatorPower.Controls.Add(Me.lblMaxAlternatorPowerUnit) + Me.pnMaxAlternatorPower.Controls.Add(Me.tbMaxAlternatorPower) + Me.pnMaxAlternatorPower.Location = New System.Drawing.Point(0, 3) + Me.pnMaxAlternatorPower.Name = "pnMaxAlternatorPower" + Me.pnMaxAlternatorPower.Size = New System.Drawing.Size(288, 28) + Me.pnMaxAlternatorPower.TabIndex = 26 + ' + 'lblMaxAlternatorPower + ' + Me.lblMaxAlternatorPower.AutoSize = true + Me.lblMaxAlternatorPower.Location = New System.Drawing.Point(3, 7) + Me.lblMaxAlternatorPower.Name = "lblMaxAlternatorPower" + Me.lblMaxAlternatorPower.Size = New System.Drawing.Size(108, 13) + Me.lblMaxAlternatorPower.TabIndex = 0 + Me.lblMaxAlternatorPower.Text = "Max Alternator Power" + ' + 'lblMaxAlternatorPowerUnit + ' + Me.lblMaxAlternatorPowerUnit.AutoSize = true + Me.lblMaxAlternatorPowerUnit.Location = New System.Drawing.Point(258, 7) + Me.lblMaxAlternatorPowerUnit.Name = "lblMaxAlternatorPowerUnit" + Me.lblMaxAlternatorPowerUnit.Size = New System.Drawing.Size(24, 13) + Me.lblMaxAlternatorPowerUnit.TabIndex = 24 + Me.lblMaxAlternatorPowerUnit.Text = "[W]" + ' + 'tbMaxAlternatorPower + ' + Me.tbMaxAlternatorPower.Location = New System.Drawing.Point(197, 4) + Me.tbMaxAlternatorPower.Name = "tbMaxAlternatorPower" + Me.tbMaxAlternatorPower.Size = New System.Drawing.Size(57, 20) + Me.tbMaxAlternatorPower.TabIndex = 3 + ' + 'pnElectricStorageCapacity + ' + Me.pnElectricStorageCapacity.Controls.Add(Me.lblElectricStorageCapacity) + Me.pnElectricStorageCapacity.Controls.Add(Me.lblElectricStorageCapacityUnit) + Me.pnElectricStorageCapacity.Controls.Add(Me.tbElectricStorageCapacity) + Me.pnElectricStorageCapacity.Location = New System.Drawing.Point(0, 33) + Me.pnElectricStorageCapacity.Name = "pnElectricStorageCapacity" + Me.pnElectricStorageCapacity.Size = New System.Drawing.Size(288, 28) + Me.pnElectricStorageCapacity.TabIndex = 27 + ' + 'lblElectricStorageCapacity + ' + Me.lblElectricStorageCapacity.AutoSize = true + Me.lblElectricStorageCapacity.Location = New System.Drawing.Point(3, 7) + Me.lblElectricStorageCapacity.Name = "lblElectricStorageCapacity" + Me.lblElectricStorageCapacity.Size = New System.Drawing.Size(126, 13) + Me.lblElectricStorageCapacity.TabIndex = 0 + Me.lblElectricStorageCapacity.Text = "Electric Storage Capacity" + ' + 'lblElectricStorageCapacityUnit + ' + Me.lblElectricStorageCapacityUnit.AutoSize = true + Me.lblElectricStorageCapacityUnit.Location = New System.Drawing.Point(258, 7) + Me.lblElectricStorageCapacityUnit.Name = "lblElectricStorageCapacityUnit" + Me.lblElectricStorageCapacityUnit.Size = New System.Drawing.Size(27, 13) + Me.lblElectricStorageCapacityUnit.TabIndex = 24 + Me.lblElectricStorageCapacityUnit.Text = "[MJ]" + ' + 'tbElectricStorageCapacity + ' + Me.tbElectricStorageCapacity.Location = New System.Drawing.Point(197, 4) + Me.tbElectricStorageCapacity.Name = "tbElectricStorageCapacity" + Me.tbElectricStorageCapacity.Size = New System.Drawing.Size(57, 20) + Me.tbElectricStorageCapacity.TabIndex = 3 + ' + 'bgPneumaticSystem + ' + Me.bgPneumaticSystem.Controls.Add(Me.pnSmartCompressor) + Me.bgPneumaticSystem.Controls.Add(Me.pnCompressorRatio) + Me.bgPneumaticSystem.Controls.Add(Me.pnCompressorMap) + Me.bgPneumaticSystem.Controls.Add(Me.pnAverageAirDemand) + Me.bgPneumaticSystem.Location = New System.Drawing.Point(12, 322) + Me.bgPneumaticSystem.Name = "bgPneumaticSystem" + Me.bgPneumaticSystem.Size = New System.Drawing.Size(317, 181) + Me.bgPneumaticSystem.TabIndex = 51 + Me.bgPneumaticSystem.TabStop = false + Me.bgPneumaticSystem.Text = "Pneumatic System" + ' + 'pnAverageAirDemand + ' + Me.pnAverageAirDemand.Controls.Add(Me.lblAverageAirDemand) + Me.pnAverageAirDemand.Controls.Add(Me.lblAverageAirDemandUnit) + Me.pnAverageAirDemand.Controls.Add(Me.tbAverageAirDemand) + Me.pnAverageAirDemand.Location = New System.Drawing.Point(10, 81) + Me.pnAverageAirDemand.Name = "pnAverageAirDemand" + Me.pnAverageAirDemand.Size = New System.Drawing.Size(300, 28) + Me.pnAverageAirDemand.TabIndex = 51 + ' + 'lblAverageAirDemand + ' + Me.lblAverageAirDemand.AutoSize = true + Me.lblAverageAirDemand.Location = New System.Drawing.Point(3, 7) + Me.lblAverageAirDemand.Name = "lblAverageAirDemand" + Me.lblAverageAirDemand.Size = New System.Drawing.Size(105, 13) + Me.lblAverageAirDemand.TabIndex = 0 + Me.lblAverageAirDemand.Text = "Average Air Demand" + ' + 'lblAverageAirDemandUnit + ' + Me.lblAverageAirDemandUnit.AutoSize = true + Me.lblAverageAirDemandUnit.Location = New System.Drawing.Point(258, 7) + Me.lblAverageAirDemandUnit.Name = "lblAverageAirDemandUnit" + Me.lblAverageAirDemandUnit.Size = New System.Drawing.Size(33, 13) + Me.lblAverageAirDemandUnit.TabIndex = 24 + Me.lblAverageAirDemandUnit.Text = "[Nl/s]" + ' + 'tbAverageAirDemand + ' + Me.tbAverageAirDemand.Location = New System.Drawing.Point(197, 4) + Me.tbAverageAirDemand.Name = "tbAverageAirDemand" + Me.tbAverageAirDemand.Size = New System.Drawing.Size(57, 20) + Me.tbAverageAirDemand.TabIndex = 3 + ' + 'pnCompressorMap + ' + Me.pnCompressorMap.Controls.Add(Me.lblCompressorMap) + Me.pnCompressorMap.Controls.Add(Me.btnBrowseCompressorMap) + Me.pnCompressorMap.Controls.Add(Me.tbCompressorMap) + Me.pnCompressorMap.Location = New System.Drawing.Point(10, 19) + Me.pnCompressorMap.Name = "pnCompressorMap" + Me.pnCompressorMap.Size = New System.Drawing.Size(288, 56) + Me.pnCompressorMap.TabIndex = 52 + ' + 'btnBrowseCompressorMap + ' + Me.btnBrowseCompressorMap.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles) + Me.btnBrowseCompressorMap.Image = CType(resources.GetObject("btnBrowseCompressorMap.Image"),System.Drawing.Image) + Me.btnBrowseCompressorMap.Location = New System.Drawing.Point(261, 27) + Me.btnBrowseCompressorMap.Name = "btnBrowseCompressorMap" + Me.btnBrowseCompressorMap.Size = New System.Drawing.Size(24, 24) + Me.btnBrowseCompressorMap.TabIndex = 2 + Me.btnBrowseCompressorMap.TabStop = false + Me.btnBrowseCompressorMap.UseVisualStyleBackColor = true + ' + 'tbCompressorMap + ' + Me.tbCompressorMap.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles) + Me.tbCompressorMap.Location = New System.Drawing.Point(6, 30) + Me.tbCompressorMap.Name = "tbCompressorMap" + Me.tbCompressorMap.Size = New System.Drawing.Size(249, 20) + Me.tbCompressorMap.TabIndex = 1 + ' + 'lblCompressorMap + ' + Me.lblCompressorMap.AutoSize = true + Me.lblCompressorMap.Location = New System.Drawing.Point(3, 8) + Me.lblCompressorMap.Name = "lblCompressorMap" + Me.lblCompressorMap.Size = New System.Drawing.Size(86, 13) + Me.lblCompressorMap.TabIndex = 3 + Me.lblCompressorMap.Text = "Compressor Map" + ' + 'pnCompressorRatio + ' + Me.pnCompressorRatio.Controls.Add(Me.lblCompressorRatio) + Me.pnCompressorRatio.Controls.Add(Me.lblCompressorRatioUnit) + Me.pnCompressorRatio.Controls.Add(Me.tbCompressorRatio) + Me.pnCompressorRatio.Location = New System.Drawing.Point(10, 111) + Me.pnCompressorRatio.Name = "pnCompressorRatio" + Me.pnCompressorRatio.Size = New System.Drawing.Size(288, 28) + Me.pnCompressorRatio.TabIndex = 52 + ' + 'lblCompressorRatio + ' + Me.lblCompressorRatio.AutoSize = true + Me.lblCompressorRatio.Location = New System.Drawing.Point(3, 7) + Me.lblCompressorRatio.Name = "lblCompressorRatio" + Me.lblCompressorRatio.Size = New System.Drawing.Size(90, 13) + Me.lblCompressorRatio.TabIndex = 0 + Me.lblCompressorRatio.Text = "Compressor Ratio" + ' + 'lblCompressorRatioUnit + ' + Me.lblCompressorRatioUnit.AutoSize = true + Me.lblCompressorRatioUnit.Location = New System.Drawing.Point(258, 7) + Me.lblCompressorRatioUnit.Name = "lblCompressorRatioUnit" + Me.lblCompressorRatioUnit.Size = New System.Drawing.Size(16, 13) + Me.lblCompressorRatioUnit.TabIndex = 24 + Me.lblCompressorRatioUnit.Text = "[-]" + ' + 'tbCompressorRatio + ' + Me.tbCompressorRatio.Location = New System.Drawing.Point(197, 4) + Me.tbCompressorRatio.Name = "tbCompressorRatio" + Me.tbCompressorRatio.Size = New System.Drawing.Size(57, 20) + Me.tbCompressorRatio.TabIndex = 3 + ' + 'pnSmartCompressor + ' + Me.pnSmartCompressor.Controls.Add(Me.cbSmartCompressor) + Me.pnSmartCompressor.Location = New System.Drawing.Point(10, 145) + Me.pnSmartCompressor.Name = "pnSmartCompressor" + Me.pnSmartCompressor.Size = New System.Drawing.Size(288, 28) + Me.pnSmartCompressor.TabIndex = 53 + ' + 'cbSmartCompressor + ' + Me.cbSmartCompressor.AutoSize = true + Me.cbSmartCompressor.Location = New System.Drawing.Point(6, 6) + Me.cbSmartCompressor.Name = "cbSmartCompressor" + Me.cbSmartCompressor.Size = New System.Drawing.Size(126, 17) + Me.cbSmartCompressor.TabIndex = 25 + Me.cbSmartCompressor.Text = "Smart Air Compressor" + Me.cbSmartCompressor.UseVisualStyleBackColor = true + ' + 'gbHVAC + ' + Me.gbHVAC.Controls.Add(Me.pnHvacHeatingDemand) + Me.gbHVAC.Controls.Add(Me.pnHvacAuxHeaterPwr) + Me.gbHVAC.Controls.Add(Me.pnHvacElecPowerDemand) + Me.gbHVAC.Controls.Add(Me.pnHvacMechPowerDemand) + Me.gbHVAC.Location = New System.Drawing.Point(12, 509) + Me.gbHVAC.Name = "gbHVAC" + Me.gbHVAC.Size = New System.Drawing.Size(317, 160) + Me.gbHVAC.TabIndex = 52 + Me.gbHVAC.TabStop = false + Me.gbHVAC.Text = "HVAC System" + ' + 'pnHvacMechPowerDemand + ' + Me.pnHvacMechPowerDemand.Controls.Add(Me.lblHvacMechPowerDemand) + Me.pnHvacMechPowerDemand.Controls.Add(Me.lblHvacMechPowerDemandUnit) + Me.pnHvacMechPowerDemand.Controls.Add(Me.tbHvacMechPowerDemand) + Me.pnHvacMechPowerDemand.Location = New System.Drawing.Point(10, 19) + Me.pnHvacMechPowerDemand.Name = "pnHvacMechPowerDemand" + Me.pnHvacMechPowerDemand.Size = New System.Drawing.Size(288, 28) + Me.pnHvacMechPowerDemand.TabIndex = 27 + ' + 'lblHvacMechPowerDemand + ' + Me.lblHvacMechPowerDemand.AutoSize = true + Me.lblHvacMechPowerDemand.Location = New System.Drawing.Point(3, 7) + Me.lblHvacMechPowerDemand.Name = "lblHvacMechPowerDemand" + Me.lblHvacMechPowerDemand.Size = New System.Drawing.Size(138, 13) + Me.lblHvacMechPowerDemand.TabIndex = 0 + Me.lblHvacMechPowerDemand.Text = "Mechanical Power Demand" + ' + 'lblHvacMechPowerDemandUnit + ' + Me.lblHvacMechPowerDemandUnit.AutoSize = true + Me.lblHvacMechPowerDemandUnit.Location = New System.Drawing.Point(258, 7) + Me.lblHvacMechPowerDemandUnit.Name = "lblHvacMechPowerDemandUnit" + Me.lblHvacMechPowerDemandUnit.Size = New System.Drawing.Size(24, 13) + Me.lblHvacMechPowerDemandUnit.TabIndex = 24 + Me.lblHvacMechPowerDemandUnit.Text = "[W]" + ' + 'tbHvacMechPowerDemand + ' + Me.tbHvacMechPowerDemand.Location = New System.Drawing.Point(197, 4) + Me.tbHvacMechPowerDemand.Name = "tbHvacMechPowerDemand" + Me.tbHvacMechPowerDemand.Size = New System.Drawing.Size(57, 20) + Me.tbHvacMechPowerDemand.TabIndex = 3 + ' + 'pnHvacElecPowerDemand + ' + Me.pnHvacElecPowerDemand.Controls.Add(Me.lblHvacElectricPowerDemand) + Me.pnHvacElecPowerDemand.Controls.Add(Me.lblHvacElectricPowerDemandUnit) + Me.pnHvacElecPowerDemand.Controls.Add(Me.tbHvacElectricPowerDemand) + Me.pnHvacElecPowerDemand.Location = New System.Drawing.Point(10, 49) + Me.pnHvacElecPowerDemand.Name = "pnHvacElecPowerDemand" + Me.pnHvacElecPowerDemand.Size = New System.Drawing.Size(288, 28) + Me.pnHvacElecPowerDemand.TabIndex = 27 + ' + 'lblHvacElectricPowerDemand + ' + Me.lblHvacElectricPowerDemand.AutoSize = true + Me.lblHvacElectricPowerDemand.Location = New System.Drawing.Point(3, 7) + Me.lblHvacElectricPowerDemand.Name = "lblHvacElectricPowerDemand" + Me.lblHvacElectricPowerDemand.Size = New System.Drawing.Size(126, 13) + Me.lblHvacElectricPowerDemand.TabIndex = 0 + Me.lblHvacElectricPowerDemand.Text = "Electrical Power Demand" + ' + 'lblHvacElectricPowerDemandUnit + ' + Me.lblHvacElectricPowerDemandUnit.AutoSize = true + Me.lblHvacElectricPowerDemandUnit.Location = New System.Drawing.Point(258, 7) + Me.lblHvacElectricPowerDemandUnit.Name = "lblHvacElectricPowerDemandUnit" + Me.lblHvacElectricPowerDemandUnit.Size = New System.Drawing.Size(24, 13) + Me.lblHvacElectricPowerDemandUnit.TabIndex = 24 + Me.lblHvacElectricPowerDemandUnit.Text = "[W]" + ' + 'tbHvacElectricPowerDemand + ' + Me.tbHvacElectricPowerDemand.Location = New System.Drawing.Point(197, 4) + Me.tbHvacElectricPowerDemand.Name = "tbHvacElectricPowerDemand" + Me.tbHvacElectricPowerDemand.Size = New System.Drawing.Size(57, 20) + Me.tbHvacElectricPowerDemand.TabIndex = 3 + ' + 'pnHvacAuxHeaterPwr + ' + Me.pnHvacAuxHeaterPwr.Controls.Add(Me.lblHvacAuxHEaterPwr) + Me.pnHvacAuxHeaterPwr.Controls.Add(Me.lblHvacAuxHeaterPwrUnit) + Me.pnHvacAuxHeaterPwr.Controls.Add(Me.tbHvacAuxHeaterPwr) + Me.pnHvacAuxHeaterPwr.Location = New System.Drawing.Point(10, 79) + Me.pnHvacAuxHeaterPwr.Name = "pnHvacAuxHeaterPwr" + Me.pnHvacAuxHeaterPwr.Size = New System.Drawing.Size(288, 28) + Me.pnHvacAuxHeaterPwr.TabIndex = 27 + ' + 'lblHvacAuxHEaterPwr + ' + Me.lblHvacAuxHEaterPwr.AutoSize = true + Me.lblHvacAuxHEaterPwr.Location = New System.Drawing.Point(3, 7) + Me.lblHvacAuxHEaterPwr.Name = "lblHvacAuxHEaterPwr" + Me.lblHvacAuxHEaterPwr.Size = New System.Drawing.Size(93, 13) + Me.lblHvacAuxHEaterPwr.TabIndex = 0 + Me.lblHvacAuxHEaterPwr.Text = "Aux Heater Power" + ' + 'lblHvacAuxHeaterPwrUnit + ' + Me.lblHvacAuxHeaterPwrUnit.AutoSize = true + Me.lblHvacAuxHeaterPwrUnit.Location = New System.Drawing.Point(258, 7) + Me.lblHvacAuxHeaterPwrUnit.Name = "lblHvacAuxHeaterPwrUnit" + Me.lblHvacAuxHeaterPwrUnit.Size = New System.Drawing.Size(24, 13) + Me.lblHvacAuxHeaterPwrUnit.TabIndex = 24 + Me.lblHvacAuxHeaterPwrUnit.Text = "[W]" + ' + 'tbHvacAuxHeaterPwr + ' + Me.tbHvacAuxHeaterPwr.Location = New System.Drawing.Point(197, 4) + Me.tbHvacAuxHeaterPwr.Name = "tbHvacAuxHeaterPwr" + Me.tbHvacAuxHeaterPwr.Size = New System.Drawing.Size(57, 20) + Me.tbHvacAuxHeaterPwr.TabIndex = 3 + ' + 'pnHvacHeatingDemand + ' + Me.pnHvacHeatingDemand.Controls.Add(Me.lblHvacHeatingDemand) + Me.pnHvacHeatingDemand.Controls.Add(Me.lblHvacHeatingDemandUnit) + Me.pnHvacHeatingDemand.Controls.Add(Me.tbHvacHeatingDemand) + Me.pnHvacHeatingDemand.Location = New System.Drawing.Point(10, 109) + Me.pnHvacHeatingDemand.Name = "pnHvacHeatingDemand" + Me.pnHvacHeatingDemand.Size = New System.Drawing.Size(288, 28) + Me.pnHvacHeatingDemand.TabIndex = 27 + ' + 'lblHvacHeatingDemand + ' + Me.lblHvacHeatingDemand.AutoSize = true + Me.lblHvacHeatingDemand.Location = New System.Drawing.Point(3, 7) + Me.lblHvacHeatingDemand.Name = "lblHvacHeatingDemand" + Me.lblHvacHeatingDemand.Size = New System.Drawing.Size(130, 13) + Me.lblHvacHeatingDemand.TabIndex = 0 + Me.lblHvacHeatingDemand.Text = "Average Heating Demand" + ' + 'lblHvacHeatingDemandUnit + ' + Me.lblHvacHeatingDemandUnit.AutoSize = true + Me.lblHvacHeatingDemandUnit.Location = New System.Drawing.Point(258, 7) + Me.lblHvacHeatingDemandUnit.Name = "lblHvacHeatingDemandUnit" + Me.lblHvacHeatingDemandUnit.Size = New System.Drawing.Size(27, 13) + Me.lblHvacHeatingDemandUnit.TabIndex = 24 + Me.lblHvacHeatingDemandUnit.Text = "[MJ]" + ' + 'tbHvacHeatingDemand + ' + Me.tbHvacHeatingDemand.Location = New System.Drawing.Point(197, 4) + Me.tbHvacHeatingDemand.Name = "tbHvacHeatingDemand" + Me.tbHvacHeatingDemand.Size = New System.Drawing.Size(57, 20) + Me.tbHvacHeatingDemand.TabIndex = 3 + ' + 'BusAuxiliariesEngParametersForm + ' + Me.AcceptButton = Me.ButOK + Me.AutoScaleDimensions = New System.Drawing.SizeF(6!, 13!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.CancelButton = Me.ButCancel + Me.ClientSize = New System.Drawing.Size(508, 736) + Me.Controls.Add(Me.gbHVAC) + Me.Controls.Add(Me.bgPneumaticSystem) + Me.Controls.Add(Me.gbElectricSystem) + Me.Controls.Add(Me.lblTitle) + Me.Controls.Add(Me.PictureBox1) + Me.Controls.Add(Me.StatusStrip1) + Me.Controls.Add(Me.ToolStrip1) + Me.Controls.Add(Me.ButCancel) + Me.Controls.Add(Me.ButOK) + Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle + Me.Icon = CType(resources.GetObject("$this.Icon"),System.Drawing.Icon) + Me.MaximizeBox = false + Me.Name = "BusAuxiliariesEngParametersForm" + Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "Bus Auxiliaries Engineering" + Me.ToolStrip1.ResumeLayout(false) + Me.ToolStrip1.PerformLayout + Me.StatusStrip1.ResumeLayout(false) + Me.StatusStrip1.PerformLayout + CType(Me.PictureBox1,System.ComponentModel.ISupportInitialize).EndInit + Me.CmOpenFile.ResumeLayout(false) + Me.gbElectricSystem.ResumeLayout(false) + Me.pnCurrentDemand.ResumeLayout(false) + Me.pnCurrentDemand.PerformLayout + Me.pnCurrentDemandEngineOffDriving.ResumeLayout(false) + Me.pnCurrentDemandEngineOffDriving.PerformLayout + Me.pnCurrentDemandEngineOffStandstill.ResumeLayout(false) + Me.pnCurrentDemandEngineOffStandstill.PerformLayout + Me.pnAlternatorEfficiency.ResumeLayout(false) + Me.pnAlternatorEfficiency.PerformLayout + Me.Panel1.ResumeLayout(false) + Me.Panel1.PerformLayout + Me.pnSmartElectricParams.ResumeLayout(false) + Me.pnMaxAlternatorPower.ResumeLayout(false) + Me.pnMaxAlternatorPower.PerformLayout + Me.pnElectricStorageCapacity.ResumeLayout(false) + Me.pnElectricStorageCapacity.PerformLayout + Me.bgPneumaticSystem.ResumeLayout(false) + Me.pnAverageAirDemand.ResumeLayout(false) + Me.pnAverageAirDemand.PerformLayout + Me.pnCompressorMap.ResumeLayout(false) + Me.pnCompressorMap.PerformLayout + Me.pnCompressorRatio.ResumeLayout(false) + Me.pnCompressorRatio.PerformLayout + Me.pnSmartCompressor.ResumeLayout(false) + Me.pnSmartCompressor.PerformLayout + Me.gbHVAC.ResumeLayout(false) + Me.pnHvacMechPowerDemand.ResumeLayout(false) + Me.pnHvacMechPowerDemand.PerformLayout + Me.pnHvacElecPowerDemand.ResumeLayout(false) + Me.pnHvacElecPowerDemand.PerformLayout + Me.pnHvacAuxHeaterPwr.ResumeLayout(false) + Me.pnHvacAuxHeaterPwr.PerformLayout + Me.pnHvacHeatingDemand.ResumeLayout(false) + Me.pnHvacHeatingDemand.PerformLayout + Me.ResumeLayout(false) + Me.PerformLayout + +End Sub + Friend WithEvents ButCancel As Button + Friend WithEvents ButOK As Button + Friend WithEvents ToolStrip1 As ToolStrip + Friend WithEvents ToolStripBtNew As ToolStripButton + Friend WithEvents ToolStripBtOpen As ToolStripButton + Friend WithEvents ToolStripBtSave As ToolStripButton + Friend WithEvents ToolStripBtSaveAs As ToolStripButton + Friend WithEvents ToolStripSeparator3 As ToolStripSeparator + Friend WithEvents ToolStripBtSendTo As ToolStripButton + Friend WithEvents StatusStrip1 As StatusStrip + Friend WithEvents LbStatus As ToolStripStatusLabel + Friend WithEvents PictureBox1 As PictureBox + Friend WithEvents ToolStripSeparator1 As ToolStripSeparator + Friend WithEvents ToolStripButton1 As ToolStripButton + Friend WithEvents CmOpenFile As ContextMenuStrip + Friend WithEvents OpenWithToolStripMenuItem As ToolStripMenuItem + Friend WithEvents ShowInFolderToolStripMenuItem As ToolStripMenuItem + Friend WithEvents lblTitle As Label + Friend WithEvents gbElectricSystem As GroupBox + Friend WithEvents pnCurrentDemandEngineOffStandstill As Panel + Friend WithEvents lblCurrentDemandEngineIffStandstill As Label + Friend WithEvents lblCurrentDemandEngienOffStandstillUnit As Label + Friend WithEvents tbCurrentDemandEngineOffStandstill As TextBox + Friend WithEvents pnCurrentDemandEngineOffDriving As Panel + Friend WithEvents lblCurrentDemandEngineOffDriving As Label + Friend WithEvents lblCurrentDemandEngineOffDrivingUnit As Label + Friend WithEvents tbCurrentDemandEngineOffDriving As TextBox + Friend WithEvents pnCurrentDemand As Panel + Friend WithEvents lblCurrentDemand As Label + Friend WithEvents lblCurrentDemandUnit As Label + Friend WithEvents tbCurrentDemand As TextBox + Friend WithEvents pnSmartElectricParams As Panel + Friend WithEvents pnElectricStorageCapacity As Panel + Friend WithEvents lblElectricStorageCapacity As Label + Friend WithEvents lblElectricStorageCapacityUnit As Label + Friend WithEvents tbElectricStorageCapacity As TextBox + Friend WithEvents pnMaxAlternatorPower As Panel + Friend WithEvents lblMaxAlternatorPower As Label + Friend WithEvents lblMaxAlternatorPowerUnit As Label + Friend WithEvents tbMaxAlternatorPower As TextBox + Friend WithEvents Panel1 As Panel + Friend WithEvents cbSmartElectric As CheckBox + Friend WithEvents pnAlternatorEfficiency As Panel + Friend WithEvents lblAlternatorEfficiency As Label + Friend WithEvents lblAlternatorEfficiencyUnit As Label + Friend WithEvents TextBox1 As TextBox + Friend WithEvents bgPneumaticSystem As GroupBox + Friend WithEvents pnAverageAirDemand As Panel + Friend WithEvents lblAverageAirDemand As Label + Friend WithEvents lblAverageAirDemandUnit As Label + Friend WithEvents tbAverageAirDemand As TextBox + Friend WithEvents pnCompressorMap As Panel + Friend WithEvents lblCompressorMap As Label + Friend WithEvents btnBrowseCompressorMap As Button + Friend WithEvents tbCompressorMap As TextBox + Friend WithEvents pnSmartCompressor As Panel + Friend WithEvents cbSmartCompressor As CheckBox + Friend WithEvents pnCompressorRatio As Panel + Friend WithEvents lblCompressorRatio As Label + Friend WithEvents lblCompressorRatioUnit As Label + Friend WithEvents tbCompressorRatio As TextBox + Friend WithEvents gbHVAC As GroupBox + Friend WithEvents pnHvacHeatingDemand As Panel + Friend WithEvents lblHvacHeatingDemand As Label + Friend WithEvents lblHvacHeatingDemandUnit As Label + Friend WithEvents tbHvacHeatingDemand As TextBox + Friend WithEvents pnHvacAuxHeaterPwr As Panel + Friend WithEvents lblHvacAuxHEaterPwr As Label + Friend WithEvents lblHvacAuxHeaterPwrUnit As Label + Friend WithEvents tbHvacAuxHeaterPwr As TextBox + Friend WithEvents pnHvacElecPowerDemand As Panel + Friend WithEvents lblHvacElectricPowerDemand As Label + Friend WithEvents lblHvacElectricPowerDemandUnit As Label + Friend WithEvents tbHvacElectricPowerDemand As TextBox + Friend WithEvents pnHvacMechPowerDemand As Panel + Friend WithEvents lblHvacMechPowerDemand As Label + Friend WithEvents lblHvacMechPowerDemandUnit As Label + Friend WithEvents tbHvacMechPowerDemand As TextBox +End Class diff --git a/VECTO/GUI/BusAuxiliariesEngParametersForm.resx b/VECTO/GUI/BusAuxiliariesEngParametersForm.resx new file mode 100644 index 0000000000..01235a3a3d --- /dev/null +++ b/VECTO/GUI/BusAuxiliariesEngParametersForm.resx @@ -0,0 +1,224 @@ +<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <metadata name="ToolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>17, 17</value> + </metadata> + <metadata name="StatusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>114, 20</value> + </metadata> + <metadata name="CmOpenFile.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>226, 18</value> + </metadata> + <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> + <data name="btnBrowseCompressorMap.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + vAAADrwBlbxySQAAAtVJREFUOE+FkmtIk2EYhhc6zU1zyjyAlZn5Q0QS6k/EMDDSQiuzkmxM5wpEA00S + zTzbsozQEDUyVKjQbejUPGQSyyjUmofysFRKU/M859J5qORu77s1KX/0wPXju7/vvp4X3o/RVsHv7pDy + 0VklwIfaCPTXCzHQEPkXn5pEUDWJNH31kRGMf4eUocvF7GAShlqjQZ6H3qZjYUICQGliVfscvc+EGmNt + c0hhY/kONpYMrC/cwowqiYowchcYNaKRoa7mDDyfcuFRYpdnrBsEv7S3KT8XCTkUkq/3xGOj9xrQn0Cp + qQrGvnJ7uJTuwK58G4VJ8GMhh25eV29Ccp0yDmvd8SZBV7UA7sW2R5wfWsO+0ApO2ewMKlibE2N11siM + GCt6SL7YEQtdZxxUShECq7wQ9MQLZKnTfbbcqpQJuwxLDRWsTN+EbiobuslsLBsh+eybK3j/WgBfmQeq + 1RKcqPalAgexlYIIrNMtQAVLE1lYGs/Cd8JYJrR6SK5ovoCzjTzI1VLE9gjgVsiBYza7jJvHAhGwkpkG + gfZrJhZHM6D5QtBf4ed0yKSnENLEg0L3AlHKIBxq2Ik9BRy4FNrA4bFBYJlgbhCQgno4DeqhNMwPpuFb + TyICan3waqUF0coAHGtxpwJvuSPcJBwqYBUzwby8TUEF84OpmFOlYnYghR69XcLHUdl+RLX7I6TVc4uA + W8aCZZy5hhnO8KECUpzuu4Gpj8lU0FgShuIHgeAVucK/0d0k8KzgwjGXje0xZiPMS/oyGVIgxcme65jo + MvyBNUWhqMw/j7ryi+Dlu+KwfDcVcNNYEOfx6E2Ypq0iVKN6GYNxZRLG3iVSQXnOcRSk+EGadxK1j4Jx + IMsZPhXOsE+2QnPZOcPmP9MtD+d0SMPkXTVCDLdeRadciPjIg7H6V3sNXzAYtrEMjmW0udxCZFZmjLZO + eyX/NDkNOcG9FD9vY/yfYTB+A9kMOLKC3dXwAAAAAElFTkSuQmCC +</value> + </data> + <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP39/QLg6NsG/v7+AgAA + AAAAAAAAAAAAAAAAAAAAAAAA//////////////////////////////////////////////////////// + /////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v4B1uDQEIil + di319/MQ////AQAAAAAAAAAAAAAAAAAAAAD/////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7+ + /gudtI5FRHEmhMbUvS7+/v4CAAAAAAAAAAAAAAAAAAAAAP////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD///8B7PDpJmOJS5s4aBnEjal8Wf39/A8AAAAAAAAAAAAAAAAAAAAA/////wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAP7+/ga3ya0+PGsexzdnGO9Vfjut4OfcLP///wIAAAAAAAAAAAAAAAD/////AAAA/wAA + AP8AAAD/AAAA////////////////////////////////////////////AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD///8B+vv6Fn+ea3E2ZhfeN2cY/DhnGc+nvJpJ/v7+CQAAAAAAAAAAAAAAAP// + //8AAAD/AAAA/wAAAP8AAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/+/gLU3s0vSHQstTZmF/Y2Zhf+NmYX6G2QV4zy9fAg////AQAA + AAAAAAAA/////wAAAP8AAAD/AAAA/wAAAP//////////////////////////////////////AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7+DJqyilI1ZhbTNmYW/TZmF/82Zhf5P20hwMDP + tzj+/v4EAAAAAAAAAAD/////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA//// + //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wLr7+cpX4ZFpTVmFfA2ZhX/NmYW/zZm + Fv42ZhfZh6N0ZPz9/BL+/v4BAAAAAP////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7+B7TGqEI6ahnMNmcV/DZn + Ff82ZhX/NmYV/zVlF/RPeTOw2+TWLf7+/gIAAAAA/////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wH4+vgZeppleTVm + FOE2ZxX+NmcV/zZnFf82ZhX/NmYV/TZmFtGhuJNO/v7+CgAAAAD/////AAAA/wAAAP8AAAD/AAAA//// + //////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7+As/b + yDBGcyi3NWYU9zVmFP82ZxX/NmcV/zZnFf82ZxX+NWYV7GeMT5fv8+0k////Af////8AAAD/AAAA/wAA + AP8AAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD+/v4Mlq+FVDRlE9Q1ZhT9NWYU/zVmFP82ZxX/NmcV/zZnFf82ZxX7PWwdxbzMsTz+/v4F/////wAA + AP8AAAD/AAAA/wAAAP///////////////////////////////////////////wAAAAAAAAAAAAAAAAAA + AAAAAAAA////Auju5Stbg0GqNWUU8jVmFP81ZhT/NWYU/zVmFP82ZxX/NmcV/zZnFf41ZhTdgqBubfv8 + +hX/////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////AAAAAAAA + AAAAAAAAAAAAAAAAAAD+/v4HscOlRThoGM41ZhT9NWYU/zVmFP81ZhT/NWYU/zVmFP82ZxX/NmcV/zVm + FPVLdy6z1+DQL/7+/v8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA//// + //8AAAAAAAAAAAAAAAAAAAAA////Afj59xt2l2F+NGUT4zVmFP41ZhT/NWYU/zVmFP81ZhT/NWYU/zVm + FP82ZxX/NmcV/TVmFdOctI1R/v7+/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD//////wAAAAAAAAAAAAAAAAAAAAD+/v4CzdnFMURxJbo1ZhT4NWYU/zVmFP81ZhT/NWYU/zVm + FP81ZhT/NWYU/zVmFP82ZxX/NWYU7mKISZ/8/Pv///////////////////////////////////////// + ////////////////////////AAAAAAAAAAAAAAAAAAAAAP7+/gyUroNUNGUT1DVmFP01ZhT/NWYU/zVm + FP81ZhT/NWYU/zVmFP81ZhT/NWYU/zVmFP82ZxX8O2obybfIq0L+/v4I/v7+Av39/QL9/v0C/f79Av3+ + /QL9/v0C/f79Av3+/QL9/v0C/f79Av3+/QL9/v0C/f79AgAAAAD///8C5uziK1mBPqs0ZRPzNWYU/zVm + FP81ZhT/NWYU/zVmFP81ZhT/NWYU/zVmFP81ZhT/NWYU/zZnFf41ZhThepplhNTezUPZ4tM12eLTNdni + 0zXZ4tM12eLTNdni1DXZ4tQ12eLUNdrj1DXa49U12eLUNdrj1DXa49U1AAAAAP7+/givwqJGN2cWzjVm + FP01ZhT/NWYU/zVmFP81ZhT/NGYT/zVmFP41ZhT/NWYU/zVmFP81ZhT/NWYU/zZnFfg1ZhThRHImz0Rx + JspEcSfKRXEoykVyKMpFcinKRnMqykd0K8pIdCvKSXUsykt3LspIdCvKSXUsykt3Lsr//v8B9vj1HXSW + XoM0ZRPlNWYU/jVmFP81ZhT/NWYU/zVmFP82ZhX0U3w34DRlE/Q1ZhT/NWYU/zVmFP81ZhT/NWYU/zZn + Ff42ZxX9NmYV/TZmFv02Zhf9NmYX/TdnGP03Zxj9OWgZ/TppGv06ahv9PGwd/TppGv06ahv9PGwd/f7/ + /gLK1sIyQnAkuzRlE/g1ZhT/NWYU/zVmFP81ZhT/NWYU+0dzKc2gt5GGP24g0zVmFP01ZhT/NWYU/zVm + FP81ZhT/NmcV/zZnFf82ZxX/NmYW/zZmF/82Zhf/N2cY/zdnGP84aBn/Omka/zpqG/87axz/Omka/zpq + G/87axz//f79DY+qflc0ZRPVNWYU/TVmFP81ZhT/NWYU/zVmFP41ZRTraY1RluLp3k1fhkWnNGUT8TVm + FP81ZhT/NWYU/zVmFP81ZhT/NmcV/zZnFf82ZhX/NmYW/zZmF/83Zxf/N2cY/zhoGf85aRr/Omob/ztr + HP85aRr/Omob/ztrHP/j6t8rVn88rDRlFPM1ZhT/NWYU/zVmFP81ZhT/NWYU/jRlE9KWr4VN/f39F5Cq + flU0ZRPVNWYU/jVmFP81ZhT/NWYU/zVmFP82ZxX/NmcV/zZmFf82Zhb/NmYX/zZmF/83Zxj/N2cY/zlp + Gv86ahv/O2sc/zlpGv86ahv/O2sc/6zAn0c3ZxbPNWYU/TVmFP81ZhT/NWYU/zVmFP81ZhT9PWwdycPS + ujb+/v4EwtC4Nz1sHco1ZhT9NWYU/zVmFP81ZhT/NWYU/zZnFf82ZxX/NmYV/zZmFv82Zhf/NmYX/zdn + GP83Zxj/OWka/zpqG/86ahv/OWka/zpqG/86ahv/cpRchjRlE+Y1ZhT+NWYU/zVmFP81ZhT/NWYU/zVm + FPZXgDyz6e7mLv///wPp7uYsWYE+rzVmFPQ1ZhT/NWYU/zVmFP81ZhT/NmcV/zZnFf82ZhT/NmYV/zZm + F/82Zhf/N2cX/zdnGP85aRr/Omob/zpqG/85aRr/Omob/zpqG/9BbyK6NGUU9jVmFP01ZhT9NWYU/TVm + FP01ZhT8NGUT3IGgbW78/PwW////Af39/RGJpXZiNGUT2DVmFPw1ZhT9NGUT/TVmFP02ZxX9NmcV/TZm + Ff02ZhX9NmYX/TZmF/03Zxf9N2cY/ThoGf06aRr9Omob/ThoGf06aRr9Omob/TZnFaE2ZxXINmcVyjZn + Fco2ZxXKNmcVyjZnFck4aBijr8KiNP7+/gUAAAAA/v7+A7rKrzA7ahuiNmcVyTZnFco2ZxXKN2cWyjdo + Fso3aBbKN2gWyjdnF8o3ZxjKOGcZyjhoGco5aBrKOmobyjtrHMo8ax3KOmobyjtrHMo8ax3KscSkKrHE + pDWxxKQ1scSkNbHEpDWxxKQ1scSkNbTGqCru8uwM///+AQAAAAAAAAAA8/bxC7bHqiqxxKQ1scSkNbHE + pDWxxKQ1scSlNbHEpTWxxKU1scSlNbHEpTWxxKU1scSmNbLEpjWyxaY1s8WnNbPFpzWyxaY1s8WnNbPF + pzX///8C////Av///wL///8C////Av///wL///8C////AgAAAAAAAAAAAAAAAAAAAAAAAAAA////Av// + /wL///8C////Av///wL///8C////Av///wL///8C////Av///wL///8C////Av///wL///8C////AgAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA////////gAP//4AD/9+AA/+fgAP/j4AD/4+B//8HgAf/B4AH/geAB/4D + gAf+A4AH/AGB//wBgAP4AYAD+ACAA/gAgAPwAAAD8AB//+AAP//gAAAAwAAAAMAAAADAIAAAgHAAAIBw + AAAAcAAAAPgAAAD4AAD///////////////8= +</value> + </data> +</root> \ No newline at end of file diff --git a/VECTO/GUI/BusAuxiliariesEngParametersForm.vb b/VECTO/GUI/BusAuxiliariesEngParametersForm.vb new file mode 100644 index 0000000000..fa6634d206 --- /dev/null +++ b/VECTO/GUI/BusAuxiliariesEngParametersForm.vb @@ -0,0 +1,366 @@ + +Imports System.Drawing.Imaging +Imports System.IO +Imports System.Linq +Imports System.Windows.Forms.DataVisualization.Charting +Imports TUGraz.VectoCommon.InputData +Imports TUGraz.VectoCommon.Models +Imports TUGraz.VectoCommon.Utils +Imports TUGraz.VectoCore.InputData.FileIO.JSON +Imports TUGraz.VectoCore.InputData.Reader.ComponentData +Imports TUGraz.VectoCore.Models.Declaration +Imports TUGraz.VectoCore.Models.SimulationComponent.Data +Imports TUGraz.VectoCore.Models.SimulationComponent.Data.Battery +Imports TUGraz.VectoCore.Models.SimulationComponent.Data.Engine +Imports TUGraz.VectoCore.Utils +' Copyright 2017 European Union. +' Licensed under the EUPL (the 'Licence'); +' +' * You may not use this work except in compliance with the Licence. +' * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl +' * Unless required by applicable law or agreed to in writing, +' software distributed under the Licence is distributed on an "AS IS" basis, +' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +' +' See the LICENSE.txt for the specific language governing permissions and limitations. + +''' <summary> +''' Engine Editor. Open and save .VENG files. +''' </summary> +''' <remarks></remarks> +Public Class BusAuxiliariesEngParametersForm + Private _busAuxParamsFile As String = "" + Public AutoSendTo As Boolean = False + Public JobDir As String = "" + Private _changed As Boolean = False + + Private _contextMenuFiles As String() + + + + + 'Before closing Editor: Check if file was changed and ask to save. + Private Sub F_BusAux_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing + If e.CloseReason <> CloseReason.ApplicationExitCall And e.CloseReason <> CloseReason.WindowsShutDown Then + e.Cancel = ChangeCheckCancel() + End If + End Sub + + 'Initialise. + Private Sub BusAuxFormLoad(sender As Object, e As EventArgs) Handles Me.Load + + ' initialize form on load - nothng to do right now + + 'pnInertia.Enabled = Not Cfg.DeclMode + + + _changed = False + + + NewBusAux() + End Sub + + 'Set generic values for Declaration mode. + Private Sub DeclInit() + + If Not Cfg.DeclMode Then Exit Sub + + + + End Sub + + +#Region "Toolbar" + + Private Sub ToolStripBtNew_Click(sender As Object, e As EventArgs) Handles ToolStripBtNew.Click + NewBusAux() + End Sub + + Private Sub ToolStripBtOpen_Click(sender As Object, e As EventArgs) Handles ToolStripBtOpen.Click + If EngineFileBrowser.OpenDialog(_busAuxParamsFile) Then + Try + OpenBusAuxParametersFile(EngineFileBrowser.Files(0)) + Catch ex As Exception + MsgBox(ex.Message, MsgBoxStyle.OkOnly, "Error loading Engine File") + End Try + End If + End Sub + + Private Sub ToolStripBtSave_Click(sender As Object, e As EventArgs) Handles ToolStripBtSave.Click + SaveOrSaveAs(False) + End Sub + + Private Sub ToolStripBtSaveAs_Click(sender As Object, e As EventArgs) Handles ToolStripBtSaveAs.Click + SaveOrSaveAs(True) + End Sub + + Private Sub ToolStripBtSendTo_Click(sender As Object, e As EventArgs) Handles ToolStripBtSendTo.Click + + If ChangeCheckCancel() Then Exit Sub + + If _busAuxParamsFile = "" Then + If MsgBox("Save file now?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then + If Not SaveOrSaveAs(True) Then Exit Sub + Else + Exit Sub + End If + End If + + If Not VectoJobForm.Visible Then + JobDir = "" + VectoJobForm.Show() + VectoJobForm.VectoNew() + Else + VectoJobForm.WindowState = FormWindowState.Normal + End If + + VectoJobForm.TbENG.Text = GetFilenameWithoutDirectory(_busAuxParamsFile, JobDir) + End Sub + + Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click + If File.Exists(Path.Combine(MyAppPath, "User Manual\help.html")) Then + Dim defaultBrowserPath As String = BrowserUtils.GetDefaultBrowserPath() + Process.Start(defaultBrowserPath, + String.Format("""file://{0}""", Path.Combine(MyAppPath, "User Manual\help.html#engine-editor"))) + Else + MsgBox("User Manual not found!", MsgBoxStyle.Critical) + End If + End Sub + +#End Region + + 'Create new empty Engine file. + Private Sub NewBusAux() + + If ChangeCheckCancel() Then Exit Sub + + + 'tbEquivalenceFactorDischarge.Text = "" + 'tbMinSoC.Text = "" + 'tbMaxSoC.Text = "" + 'tbTargetSoC.Text = "" + 'tbauxBufferTime.Text = "" + 'tbAuxBufferChargeTime.Text = "" + + DeclInit() + + _busAuxParamsFile = "" + Text = "Hybrid Strategy Parameters Editor" + LbStatus.Text = "" + + _changed = False + End Sub + + 'Open VENG file + Public Sub OpenBusAuxParametersFile(file As String) + Dim strategyParams As IHybridStrategyParameters + + If ChangeCheckCancel() Then Exit Sub + + Dim inputData As IEngineeringInputDataProvider = TryCast(JSONInputDataFactory.ReadComponentData(file), + IEngineeringInputDataProvider) + + strategyParams = inputData.JobInputData.HybridStrategyParameters + + If Cfg.DeclMode Then + Select Case WrongMode() + Case 1 + Close() + MainForm.RbDecl.Checked = Not MainForm.RbDecl.Checked + MainForm.OpenVectoFile(file) + Case -1 + Exit Sub + End Select + End If + + Dim basePath As String = Path.GetDirectoryName(file) + + 'tbEquivalenceFactorDischarge.Text = strategyParams.EquivalenceFactorDischarge.ToGUIFormat() + + 'tbEquivalenceFactorDischarge.Text = strategyParams.EquivalenceFactorDischarge.ToGUIFormat() + 'tbMinSoC.Text = (strategyParams.MinSoC * 100).ToGUIFormat() + 'tbMaxSoC.Text = (strategyParams.MaxSoC * 100).ToGUIFormat() + 'tbTargetSoC.Text = (strategyParams.TargetSoC * 100).ToGUIFormat() + + 'tbAuxBufferChargeTime.Text = strategyParams.AuxBufferChargeTime.ToGUIFormat() + 'tbauxBufferTime.Text = strategyParams.AuxBufferTime.ToGUIFormat() + 'tbMinICEOnTime.Text = strategyParams.MinimumICEOnTime.ToGUIFormat() + + DeclInit() + + REESSFileBrowser.UpdateHistory(file) + Text = GetFilenameWithoutPath(file, True) + LbStatus.Text = "" + _busAuxParamsFile = file + Activate() + + _changed = False + End Sub + + 'Save or Save As function = true if file is saved + Private Function SaveOrSaveAs(ByVal saveAs As Boolean) As Boolean + If _busAuxParamsFile = "" Or saveAs Then + If HCUFileBrowser.SaveDialog(_busAuxParamsFile) Then + _busAuxParamsFile = HCUFileBrowser.Files(0) + Else + Return False + End If + End If + Return SaveParamsToFile(_busAuxParamsFile) + End Function + + 'Save VENG file to given filepath. Called by SaveOrSaveAs. + Private Function SaveParamsToFile(ByVal file As String) As Boolean + + Dim strategyParams As HybridStrategyParams = New HybridStrategyParams + strategyParams.FilePath = file + + + strategyParams.EquivalenceFactorDischarge = tbEquivalenceFactorDischarge.Text.ToDouble(0) + strategyParams.EquivalenceFactorCharge = tbEquivalenceFactorCharge.Text.ToDouble(0) + + strategyParams.MinSoC = tbMinSoC.Text.ToDouble(0) / 100 + strategyParams.MaxSoC = tbMaxSoC.Text.ToDouble(0) / 100 + strategyParams.TargetSoC = tbTargetSoC.Text.ToDouble(0) / 100 + + strategyParams.MinimumIceOnTime = tbMinICEOnTime.Text.ToDouble(0) + strategyParams.AuxiliaryBufferTime = tbauxBufferTime.Text.ToDouble(0) + strategyParams.AuxiliaryBufferChgTime = tbAuxBufferChargeTime.Text.ToDouble(0) + + If Not strategyParams.SaveFile Then + MsgBox("Cannot save to " & file, MsgBoxStyle.Critical) + Return False + End If + + If AutoSendTo Then + If VectoJobForm.Visible Then + If UCase(FileRepl(VectoJobForm.tbHybridStrategyParams.Text, JobDir)) <> UCase(file) Then _ + VectoJobForm.tbHybridStrategyParams.Text = GetFilenameWithoutDirectory(file, JobDir) + VectoJobForm.UpdatePic() + End If + End If + + HCUFileBrowser.UpdateHistory(file) + Text = GetFilenameWithoutPath(file, True) + LbStatus.Text = "" + + _changed = False + + Return True + End Function + + +#Region "Track changes" + + 'Flags current file as modified. + Private Sub Change() + If Not _changed Then + LbStatus.Text = "Unsaved changes in current file" + _changed = True + End If + End Sub + + ' "Save changes ?" .... Returns True if User aborts + Private Function ChangeCheckCancel() As Boolean + + If _changed Then + Select Case MsgBox("Save changes ?", MsgBoxStyle.YesNoCancel) + Case MsgBoxResult.Yes + Return Not SaveOrSaveAs(False) + Case MsgBoxResult.Cancel + Return True + Case Else 'MsgBoxResult.No + _changed = False + Return False + End Select + + Else + + Return False + + End If + End Function + + + + + + +#End Region + + + + 'Save and close + Private Sub ButOK_Click(sender As Object, e As EventArgs) Handles ButOK.Click + If SaveOrSaveAs(False) Then Close() + End Sub + + 'Close without saving (see FormClosing Event) + Private Sub ButCancel_Click(sender As Object, e As EventArgs) Handles ButCancel.Click + Close() + End Sub + + +#Region "Open File Context Menu" + + + Private Sub OpenFiles(ParamArray files() As String) + + If files.Length = 0 Then Exit Sub + + _contextMenuFiles = files + + OpenWithToolStripMenuItem.Text = "Open with " & Cfg.OpenCmdName + + CmOpenFile.Show(Windows.Forms.Cursor.Position) + End Sub + + Private Sub OpenWithToolStripMenuItem_Click(sender As Object, e As EventArgs) _ + Handles OpenWithToolStripMenuItem.Click + If Not FileOpenAlt(_contextMenuFiles(0)) Then MsgBox("Failed to open file!") + End Sub + + Private Sub ShowInFolderToolStripMenuItem_Click(sender As Object, e As EventArgs) _ + Handles ShowInFolderToolStripMenuItem.Click + If File.Exists(_contextMenuFiles(0)) Then + Try + Process.Start("explorer", "/select,""" & _contextMenuFiles(0) & "") + Catch ex As Exception + MsgBox("Failed to open file!") + End Try + Else + MsgBox("File not found!") + End If + End Sub + + Private Sub tbMinSoC_TextChanged(sender As Object, e As EventArgs) + Change() + End Sub + + Private Sub tbMaxSoC_TextChanged(sender As Object, e As EventArgs) + Change() + End Sub + + Private Sub tbTargetSoC_TextChanged(sender As Object, e As EventArgs) + Change() + End Sub + + Private Sub tbauxBufferTime_TextChanged(sender As Object, e As EventArgs) + Change() + End Sub + + Private Sub tbAuxBufferChargeTime_TextChanged(sender As Object, e As EventArgs) + Change() + End Sub + + Private Sub tbEquivalenceFactor_TextChanged(sender As Object, e As EventArgs) + Change() + End Sub + +#End Region + + + + + +End Class diff --git a/VECTO/GUI/HybridStratebyParamsForm.Designer.vb b/VECTO/GUI/HybridStrategyParamsForm.Designer.vb similarity index 99% rename from VECTO/GUI/HybridStratebyParamsForm.Designer.vb rename to VECTO/GUI/HybridStrategyParamsForm.Designer.vb index a24808fbc1..615b991112 100644 --- a/VECTO/GUI/HybridStratebyParamsForm.Designer.vb +++ b/VECTO/GUI/HybridStrategyParamsForm.Designer.vb @@ -563,7 +563,7 @@ Partial Class HybridStrategyParamsForm Me.Name = "HybridStrategyParamsForm" Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen - Me.Text = "Electric Energy Storage" + Me.Text = "Hybrid Strategy Parameters" Me.ToolStrip1.ResumeLayout(false) Me.ToolStrip1.PerformLayout Me.StatusStrip1.ResumeLayout(false) diff --git a/VECTO/GUI/HybridStratebyParamsForm.resx b/VECTO/GUI/HybridStrategyParamsForm.resx similarity index 100% rename from VECTO/GUI/HybridStratebyParamsForm.resx rename to VECTO/GUI/HybridStrategyParamsForm.resx diff --git a/VECTO/GUI/HybridStratebyParamsForm.vb b/VECTO/GUI/HybridStrategyParamsForm.vb similarity index 100% rename from VECTO/GUI/HybridStratebyParamsForm.vb rename to VECTO/GUI/HybridStrategyParamsForm.vb diff --git a/VECTO/GUI/MainForm.vb b/VECTO/GUI/MainForm.vb index ba65152424..8c95d65100 100644 --- a/VECTO/GUI/MainForm.vb +++ b/VECTO/GUI/MainForm.vb @@ -150,7 +150,7 @@ Imports TUGraz.VectoCore.Utils ElectricMachineMaxTorqueFileBrowser = New FileBrowser("vemp") ElectricMachineEfficiencyMapFileBrowser = New FileBrowser("vemo") HCUFileBrowser = New FileBrowser("vhctl") - + BusAuxFileBrowser = new FileBrowser(".vaux") BatteryMaxCurrentCurveFileBrowser = new FileBrowser("vimax") BatteryInternalResistanceCurveFileBrowser = New FileBrowser("vbatr") BatterySoCCurveFileBrowser = New FileBrowser("vbatv") @@ -191,6 +191,7 @@ Imports TUGraz.VectoCore.Utils BatteryInternalResistanceCurveFileBrowser.Extensions = New String() {"vbatr"} BatterySoCCurveFileBrowser.Extensions = New String() {"vbatv"} HCUFileBrowser.Extensions = New String() {"vhctl"} + BusAuxFileBrowser.Extensions = New String(){"vaux"} ModalResultsFileBrowser.Extensions = New String() {"vmod"} End Sub diff --git a/VECTO/GUI/VectoJobForm.Designer.vb b/VECTO/GUI/VectoJobForm.Designer.vb index f5bdc3f336..0b23e5c324 100644 --- a/VECTO/GUI/VectoJobForm.Designer.vb +++ b/VECTO/GUI/VectoJobForm.Designer.vb @@ -28,6 +28,10 @@ Partial Class VectoJobForm Me.components = New System.ComponentModel.Container() Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(VectoJobForm)) Me.TabPgGen = New System.Windows.Forms.TabPage() + Me.pnHybridStrategy = New System.Windows.Forms.Panel() + Me.btnOpenHybridStrategyParameters = New System.Windows.Forms.Button() + Me.tbHybridStrategyParams = New System.Windows.Forms.TextBox() + Me.btnBrowseHybridStrategyParams = New System.Windows.Forms.Button() Me.pnVehicle = New System.Windows.Forms.Panel() Me.ButOpenVEH = New System.Windows.Forms.Button() Me.ButtonVEH = New System.Windows.Forms.Button() @@ -47,30 +51,24 @@ Partial Class VectoJobForm Me.GrCycles = New System.Windows.Forms.GroupBox() Me.Label2 = New System.Windows.Forms.Label() Me.LvCycles = New System.Windows.Forms.ListView() - Me.ColumnHeader1 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader) + Me.ColumnHeader1 = CType(New System.Windows.Forms.ColumnHeader(),System.Windows.Forms.ColumnHeader) Me.BtDRIrem = New System.Windows.Forms.Button() Me.BtDRIadd = New System.Windows.Forms.Button() Me.GrAuxMech = New System.Windows.Forms.GroupBox() Me.Label9 = New System.Windows.Forms.Label() Me.TbAuxPAdd = New System.Windows.Forms.TextBox() Me.Label8 = New System.Windows.Forms.Label() - Me.btnAAUXOpen = New System.Windows.Forms.Button() - Me.Label1 = New System.Windows.Forms.Label() - Me.btnBrowseAAUXFile = New System.Windows.Forms.Button() - Me.txtAdvancedAuxiliaryFile = New System.Windows.Forms.TextBox() - Me.picAuxInfo = New System.Windows.Forms.PictureBox() - Me.cboAdvancedAuxiliaries = New System.Windows.Forms.ComboBox() - Me.lbAdvancedAuxiliaries = New System.Windows.Forms.Label() Me.Label32 = New System.Windows.Forms.Label() Me.LvAux = New System.Windows.Forms.ListView() - Me.ColumnHeader4 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader) - Me.ColumnHeader5 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader) - Me.ColumnHeader6 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader) + Me.ColumnHeader4 = CType(New System.Windows.Forms.ColumnHeader(),System.Windows.Forms.ColumnHeader) + Me.ColumnHeader5 = CType(New System.Windows.Forms.ColumnHeader(),System.Windows.Forms.ColumnHeader) + Me.ColumnHeader6 = CType(New System.Windows.Forms.ColumnHeader(),System.Windows.Forms.ColumnHeader) Me.ButAuxRem = New System.Windows.Forms.Button() Me.ButAuxAdd = New System.Windows.Forms.Button() Me.tcJob = New System.Windows.Forms.TabControl() Me.tpAuxiliaries = New System.Windows.Forms.TabPage() Me.gbElectricAux = New System.Windows.Forms.GroupBox() + Me.Label46 = New System.Windows.Forms.Label() Me.lblElAuxConstUnit = New System.Windows.Forms.Label() Me.tbElectricAuxConstant = New System.Windows.Forms.TextBox() Me.lblElAuxConst = New System.Windows.Forms.Label() @@ -185,43 +183,45 @@ Partial Class VectoJobForm Me.lblEngineCharacteristics = New System.Windows.Forms.Label() Me.lblTitle = New System.Windows.Forms.Label() Me.pnJobInfo = New System.Windows.Forms.Panel() - Me.pnHybridStrategy = New System.Windows.Forms.Panel() - Me.btnOpenHybridStrategyParameters = New System.Windows.Forms.Button() - Me.tbHybridStrategyParams = New System.Windows.Forms.TextBox() - Me.btnBrowseHybridStrategyParams = New System.Windows.Forms.Button() - Me.Label46 = New System.Windows.Forms.Label() - Me.TabPgGen.SuspendLayout() - Me.pnVehicle.SuspendLayout() - Me.pnEngine.SuspendLayout() - Me.pnGearbox.SuspendLayout() - Me.pnShiftParams.SuspendLayout() - Me.GrCycles.SuspendLayout() - Me.GrAuxMech.SuspendLayout() - CType(Me.picAuxInfo, System.ComponentModel.ISupportInitialize).BeginInit() - Me.tcJob.SuspendLayout() - Me.tpAuxiliaries.SuspendLayout() - Me.gbElectricAux.SuspendLayout() - Me.tpCycles.SuspendLayout() - Me.TabPgDriver.SuspendLayout() - Me.gbShiftStrategy.SuspendLayout() - Me.GrVACC.SuspendLayout() - Me.GrLAC.SuspendLayout() - Me.pnLookAheadCoasting.SuspendLayout() - Me.gbOverspeed.SuspendLayout() - Me.PnEcoRoll.SuspendLayout() - Me.TabPgADAS.SuspendLayout() - Me.gbPCC.SuspendLayout() - Me.gbEcoRoll.SuspendLayout() - Me.gbEngineStopStart.SuspendLayout() - Me.StatusStrip1.SuspendLayout() - Me.ToolStrip1.SuspendLayout() - CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit() - Me.CmOpenFile.SuspendLayout() - CType(Me.PicVehicle, System.ComponentModel.ISupportInitialize).BeginInit() - CType(Me.PicBox, System.ComponentModel.ISupportInitialize).BeginInit() - Me.pnJobInfo.SuspendLayout() - Me.pnHybridStrategy.SuspendLayout() - Me.SuspendLayout() + Me.gbBusAux = New System.Windows.Forms.GroupBox() + Me.pnBusAux = New System.Windows.Forms.Panel() + Me.btnBusAuxP = New System.Windows.Forms.Button() + Me.tbBusAuxParams = New System.Windows.Forms.TextBox() + Me.btnBrowsBusAuxParams = New System.Windows.Forms.Button() + Me.cbEnableBusAux = New System.Windows.Forms.CheckBox() + Me.TabPgGen.SuspendLayout + Me.pnHybridStrategy.SuspendLayout + Me.pnVehicle.SuspendLayout + Me.pnEngine.SuspendLayout + Me.pnGearbox.SuspendLayout + Me.pnShiftParams.SuspendLayout + Me.GrCycles.SuspendLayout + Me.GrAuxMech.SuspendLayout + Me.tcJob.SuspendLayout + Me.tpAuxiliaries.SuspendLayout + Me.gbElectricAux.SuspendLayout + Me.tpCycles.SuspendLayout + Me.TabPgDriver.SuspendLayout + Me.gbShiftStrategy.SuspendLayout + Me.GrVACC.SuspendLayout + Me.GrLAC.SuspendLayout + Me.pnLookAheadCoasting.SuspendLayout + Me.gbOverspeed.SuspendLayout + Me.PnEcoRoll.SuspendLayout + Me.TabPgADAS.SuspendLayout + Me.gbPCC.SuspendLayout + Me.gbEcoRoll.SuspendLayout + Me.gbEngineStopStart.SuspendLayout + Me.StatusStrip1.SuspendLayout + Me.ToolStrip1.SuspendLayout + CType(Me.PictureBox1,System.ComponentModel.ISupportInitialize).BeginInit + Me.CmOpenFile.SuspendLayout + CType(Me.PicVehicle,System.ComponentModel.ISupportInitialize).BeginInit + CType(Me.PicBox,System.ComponentModel.ISupportInitialize).BeginInit + Me.pnJobInfo.SuspendLayout + Me.gbBusAux.SuspendLayout + Me.pnBusAux.SuspendLayout + Me.SuspendLayout ' 'TabPgGen ' @@ -236,7 +236,47 @@ Partial Class VectoJobForm Me.TabPgGen.Size = New System.Drawing.Size(525, 472) Me.TabPgGen.TabIndex = 0 Me.TabPgGen.Text = "General" - Me.TabPgGen.UseVisualStyleBackColor = True + Me.TabPgGen.UseVisualStyleBackColor = true + ' + 'pnHybridStrategy + ' + Me.pnHybridStrategy.Controls.Add(Me.btnOpenHybridStrategyParameters) + Me.pnHybridStrategy.Controls.Add(Me.tbHybridStrategyParams) + Me.pnHybridStrategy.Controls.Add(Me.btnBrowseHybridStrategyParams) + Me.pnHybridStrategy.Location = New System.Drawing.Point(4, 125) + Me.pnHybridStrategy.Name = "pnHybridStrategy" + Me.pnHybridStrategy.Size = New System.Drawing.Size(516, 26) + Me.pnHybridStrategy.TabIndex = 15 + ' + 'btnOpenHybridStrategyParameters + ' + Me.btnOpenHybridStrategyParameters.Location = New System.Drawing.Point(3, 3) + Me.btnOpenHybridStrategyParameters.Name = "btnOpenHybridStrategyParameters" + Me.btnOpenHybridStrategyParameters.Size = New System.Drawing.Size(72, 21) + Me.btnOpenHybridStrategyParameters.TabIndex = 11 + Me.btnOpenHybridStrategyParameters.TabStop = false + Me.btnOpenHybridStrategyParameters.Text = "Hyb. Str. P." + Me.btnOpenHybridStrategyParameters.UseVisualStyleBackColor = true + ' + 'tbHybridStrategyParams + ' + Me.tbHybridStrategyParams.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles) + Me.tbHybridStrategyParams.Location = New System.Drawing.Point(81, 3) + Me.tbHybridStrategyParams.Name = "tbHybridStrategyParams" + Me.tbHybridStrategyParams.Size = New System.Drawing.Size(406, 20) + Me.tbHybridStrategyParams.TabIndex = 12 + ' + 'btnBrowseHybridStrategyParams + ' + Me.btnBrowseHybridStrategyParams.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles) + Me.btnBrowseHybridStrategyParams.Image = CType(resources.GetObject("btnBrowseHybridStrategyParams.Image"),System.Drawing.Image) + Me.btnBrowseHybridStrategyParams.Location = New System.Drawing.Point(489, 1) + Me.btnBrowseHybridStrategyParams.Name = "btnBrowseHybridStrategyParams" + Me.btnBrowseHybridStrategyParams.Size = New System.Drawing.Size(24, 24) + Me.btnBrowseHybridStrategyParams.TabIndex = 13 + Me.btnBrowseHybridStrategyParams.TabStop = false + Me.btnBrowseHybridStrategyParams.UseVisualStyleBackColor = true ' 'pnVehicle ' @@ -254,25 +294,25 @@ Partial Class VectoJobForm Me.ButOpenVEH.Name = "ButOpenVEH" Me.ButOpenVEH.Size = New System.Drawing.Size(72, 21) Me.ButOpenVEH.TabIndex = 0 - Me.ButOpenVEH.TabStop = False + Me.ButOpenVEH.TabStop = false Me.ButOpenVEH.Text = "Vehicle" - Me.ButOpenVEH.UseVisualStyleBackColor = True + Me.ButOpenVEH.UseVisualStyleBackColor = true ' 'ButtonVEH ' - Me.ButtonVEH.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.ButtonVEH.Image = CType(resources.GetObject("ButtonVEH.Image"), System.Drawing.Image) + Me.ButtonVEH.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles) + Me.ButtonVEH.Image = CType(resources.GetObject("ButtonVEH.Image"),System.Drawing.Image) Me.ButtonVEH.Location = New System.Drawing.Point(492, 2) Me.ButtonVEH.Name = "ButtonVEH" Me.ButtonVEH.Size = New System.Drawing.Size(24, 24) Me.ButtonVEH.TabIndex = 2 - Me.ButtonVEH.TabStop = False - Me.ButtonVEH.UseVisualStyleBackColor = True + Me.ButtonVEH.TabStop = false + Me.ButtonVEH.UseVisualStyleBackColor = true ' 'TbVEH ' - Me.TbVEH.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ - Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.TbVEH.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles) Me.TbVEH.Location = New System.Drawing.Point(82, 4) Me.TbVEH.Name = "TbVEH" Me.TbVEH.Size = New System.Drawing.Size(404, 20) @@ -294,25 +334,25 @@ Partial Class VectoJobForm Me.ButOpenENG.Name = "ButOpenENG" Me.ButOpenENG.Size = New System.Drawing.Size(72, 21) Me.ButOpenENG.TabIndex = 3 - Me.ButOpenENG.TabStop = False + Me.ButOpenENG.TabStop = false Me.ButOpenENG.Text = "Engine" - Me.ButOpenENG.UseVisualStyleBackColor = True + Me.ButOpenENG.UseVisualStyleBackColor = true ' 'ButtonMAP ' - Me.ButtonMAP.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.ButtonMAP.Image = CType(resources.GetObject("ButtonMAP.Image"), System.Drawing.Image) + Me.ButtonMAP.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles) + Me.ButtonMAP.Image = CType(resources.GetObject("ButtonMAP.Image"),System.Drawing.Image) Me.ButtonMAP.Location = New System.Drawing.Point(492, 1) Me.ButtonMAP.Name = "ButtonMAP" Me.ButtonMAP.Size = New System.Drawing.Size(24, 24) Me.ButtonMAP.TabIndex = 5 - Me.ButtonMAP.TabStop = False - Me.ButtonMAP.UseVisualStyleBackColor = True + Me.ButtonMAP.TabStop = false + Me.ButtonMAP.UseVisualStyleBackColor = true ' 'TbENG ' - Me.TbENG.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ - Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.TbENG.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles) Me.TbENG.Location = New System.Drawing.Point(82, 3) Me.TbENG.Name = "TbENG" Me.TbENG.Size = New System.Drawing.Size(404, 20) @@ -334,25 +374,25 @@ Partial Class VectoJobForm Me.ButOpenGBX.Name = "ButOpenGBX" Me.ButOpenGBX.Size = New System.Drawing.Size(72, 21) Me.ButOpenGBX.TabIndex = 6 - Me.ButOpenGBX.TabStop = False + Me.ButOpenGBX.TabStop = false Me.ButOpenGBX.Text = "Gearbox" - Me.ButOpenGBX.UseVisualStyleBackColor = True + Me.ButOpenGBX.UseVisualStyleBackColor = true ' 'ButtonGBX ' - Me.ButtonGBX.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.ButtonGBX.Image = CType(resources.GetObject("ButtonGBX.Image"), System.Drawing.Image) + Me.ButtonGBX.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles) + Me.ButtonGBX.Image = CType(resources.GetObject("ButtonGBX.Image"),System.Drawing.Image) Me.ButtonGBX.Location = New System.Drawing.Point(492, 1) Me.ButtonGBX.Name = "ButtonGBX" Me.ButtonGBX.Size = New System.Drawing.Size(24, 24) Me.ButtonGBX.TabIndex = 8 - Me.ButtonGBX.TabStop = False - Me.ButtonGBX.UseVisualStyleBackColor = True + Me.ButtonGBX.TabStop = false + Me.ButtonGBX.UseVisualStyleBackColor = true ' 'TbGBX ' - Me.TbGBX.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ - Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.TbGBX.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles) Me.TbGBX.Location = New System.Drawing.Point(82, 3) Me.TbGBX.Name = "TbGBX" Me.TbGBX.Size = New System.Drawing.Size(404, 20) @@ -374,14 +414,14 @@ Partial Class VectoJobForm Me.BtnShiftParamsForm.Name = "BtnShiftParamsForm" Me.BtnShiftParamsForm.Size = New System.Drawing.Size(72, 21) Me.BtnShiftParamsForm.TabIndex = 11 - Me.BtnShiftParamsForm.TabStop = False + Me.BtnShiftParamsForm.TabStop = false Me.BtnShiftParamsForm.Text = "Shift Parameters" - Me.BtnShiftParamsForm.UseVisualStyleBackColor = True + Me.BtnShiftParamsForm.UseVisualStyleBackColor = true ' 'TbShiftStrategyParams ' - Me.TbShiftStrategyParams.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ - Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.TbShiftStrategyParams.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles) Me.TbShiftStrategyParams.Location = New System.Drawing.Point(81, 3) Me.TbShiftStrategyParams.Name = "TbShiftStrategyParams" Me.TbShiftStrategyParams.Size = New System.Drawing.Size(406, 20) @@ -389,19 +429,19 @@ Partial Class VectoJobForm ' 'BtnShiftStrategyParams ' - Me.BtnShiftStrategyParams.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.BtnShiftStrategyParams.Image = CType(resources.GetObject("BtnShiftStrategyParams.Image"), System.Drawing.Image) + Me.BtnShiftStrategyParams.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles) + Me.BtnShiftStrategyParams.Image = CType(resources.GetObject("BtnShiftStrategyParams.Image"),System.Drawing.Image) Me.BtnShiftStrategyParams.Location = New System.Drawing.Point(489, 1) Me.BtnShiftStrategyParams.Name = "BtnShiftStrategyParams" Me.BtnShiftStrategyParams.Size = New System.Drawing.Size(24, 24) Me.BtnShiftStrategyParams.TabIndex = 13 - Me.BtnShiftStrategyParams.TabStop = False - Me.BtnShiftStrategyParams.UseVisualStyleBackColor = True + Me.BtnShiftStrategyParams.TabStop = false + Me.BtnShiftStrategyParams.UseVisualStyleBackColor = true ' 'GrCycles ' - Me.GrCycles.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ - Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.GrCycles.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles) Me.GrCycles.Controls.Add(Me.Label2) Me.GrCycles.Controls.Add(Me.LvCycles) Me.GrCycles.Controls.Add(Me.BtDRIrem) @@ -410,14 +450,14 @@ Partial Class VectoJobForm Me.GrCycles.Name = "GrCycles" Me.GrCycles.Size = New System.Drawing.Size(515, 138) Me.GrCycles.TabIndex = 10 - Me.GrCycles.TabStop = False + Me.GrCycles.TabStop = false Me.GrCycles.Text = "Cycles" ' 'Label2 ' - Me.Label2.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _ - Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.Label2.AutoSize = True + Me.Label2.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles) + Me.Label2.AutoSize = true Me.Label2.Location = New System.Drawing.Point(391, 109) Me.Label2.Name = "Label2" Me.Label2.Size = New System.Drawing.Size(118, 13) @@ -426,22 +466,22 @@ Partial Class VectoJobForm ' 'LvCycles ' - Me.LvCycles.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ - Or System.Windows.Forms.AnchorStyles.Left) _ - Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.LvCycles.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles) Me.LvCycles.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.ColumnHeader1}) - Me.LvCycles.FullRowSelect = True - Me.LvCycles.GridLines = True + Me.LvCycles.FullRowSelect = true + Me.LvCycles.GridLines = true Me.LvCycles.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None - Me.LvCycles.HideSelection = False - Me.LvCycles.LabelEdit = True + Me.LvCycles.HideSelection = false + Me.LvCycles.LabelEdit = true Me.LvCycles.Location = New System.Drawing.Point(6, 19) - Me.LvCycles.MultiSelect = False + Me.LvCycles.MultiSelect = false Me.LvCycles.Name = "LvCycles" Me.LvCycles.Size = New System.Drawing.Size(503, 89) Me.LvCycles.TabIndex = 0 - Me.LvCycles.TabStop = False - Me.LvCycles.UseCompatibleStateImageBehavior = False + Me.LvCycles.TabStop = false + Me.LvCycles.UseCompatibleStateImageBehavior = false Me.LvCycles.View = System.Windows.Forms.View.Details ' 'ColumnHeader1 @@ -451,55 +491,48 @@ Partial Class VectoJobForm ' 'BtDRIrem ' - Me.BtDRIrem.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _ - Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.BtDRIrem.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles) Me.BtDRIrem.Image = Global.TUGraz.VECTO.My.Resources.Resources.minus_circle_icon Me.BtDRIrem.Location = New System.Drawing.Point(29, 109) Me.BtDRIrem.Name = "BtDRIrem" Me.BtDRIrem.Size = New System.Drawing.Size(24, 24) Me.BtDRIrem.TabIndex = 2 - Me.BtDRIrem.UseVisualStyleBackColor = True + Me.BtDRIrem.UseVisualStyleBackColor = true ' 'BtDRIadd ' - Me.BtDRIadd.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _ - Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.BtDRIadd.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles) Me.BtDRIadd.Image = Global.TUGraz.VECTO.My.Resources.Resources.plus_circle_icon Me.BtDRIadd.Location = New System.Drawing.Point(5, 109) Me.BtDRIadd.Name = "BtDRIadd" Me.BtDRIadd.Size = New System.Drawing.Size(24, 24) Me.BtDRIadd.TabIndex = 1 - Me.BtDRIadd.UseVisualStyleBackColor = True + Me.BtDRIadd.UseVisualStyleBackColor = true ' 'GrAuxMech ' - Me.GrAuxMech.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ - Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.GrAuxMech.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles) Me.GrAuxMech.Controls.Add(Me.Label9) Me.GrAuxMech.Controls.Add(Me.TbAuxPAdd) Me.GrAuxMech.Controls.Add(Me.Label8) - Me.GrAuxMech.Controls.Add(Me.btnAAUXOpen) - Me.GrAuxMech.Controls.Add(Me.Label1) - Me.GrAuxMech.Controls.Add(Me.btnBrowseAAUXFile) - Me.GrAuxMech.Controls.Add(Me.txtAdvancedAuxiliaryFile) - Me.GrAuxMech.Controls.Add(Me.picAuxInfo) - Me.GrAuxMech.Controls.Add(Me.cboAdvancedAuxiliaries) - Me.GrAuxMech.Controls.Add(Me.lbAdvancedAuxiliaries) Me.GrAuxMech.Controls.Add(Me.Label32) Me.GrAuxMech.Controls.Add(Me.LvAux) Me.GrAuxMech.Controls.Add(Me.ButAuxRem) Me.GrAuxMech.Controls.Add(Me.ButAuxAdd) Me.GrAuxMech.Location = New System.Drawing.Point(6, 16) Me.GrAuxMech.Name = "GrAuxMech" - Me.GrAuxMech.Size = New System.Drawing.Size(515, 245) + Me.GrAuxMech.Size = New System.Drawing.Size(515, 201) Me.GrAuxMech.TabIndex = 9 - Me.GrAuxMech.TabStop = False + Me.GrAuxMech.TabStop = false Me.GrAuxMech.Text = "Mechanical Auxiliaries" ' 'Label9 ' - Me.Label9.AutoSize = True - Me.Label9.Location = New System.Drawing.Point(191, 74) + Me.Label9.AutoSize = true + Me.Label9.Location = New System.Drawing.Point(191, 24) Me.Label9.Name = "Label9" Me.Label9.Size = New System.Drawing.Size(24, 13) Me.Label9.TabIndex = 44 @@ -507,89 +540,26 @@ Partial Class VectoJobForm ' 'TbAuxPAdd ' - Me.TbAuxPAdd.Location = New System.Drawing.Point(109, 71) + Me.TbAuxPAdd.Location = New System.Drawing.Point(109, 21) Me.TbAuxPAdd.Name = "TbAuxPAdd" Me.TbAuxPAdd.Size = New System.Drawing.Size(76, 20) Me.TbAuxPAdd.TabIndex = 43 ' 'Label8 ' - Me.Label8.AutoSize = True - Me.Label8.Location = New System.Drawing.Point(7, 74) + Me.Label8.AutoSize = true + Me.Label8.Location = New System.Drawing.Point(7, 24) Me.Label8.Name = "Label8" Me.Label8.Size = New System.Drawing.Size(97, 13) Me.Label8.TabIndex = 42 Me.Label8.Text = "Constant Aux Load" ' - 'btnAAUXOpen - ' - Me.btnAAUXOpen.Image = Global.TUGraz.VECTO.My.Resources.Resources.application_export_icon_small - Me.btnAAUXOpen.Location = New System.Drawing.Point(485, 43) - Me.btnAAUXOpen.Name = "btnAAUXOpen" - Me.btnAAUXOpen.Size = New System.Drawing.Size(24, 24) - Me.btnAAUXOpen.TabIndex = 41 - Me.btnAAUXOpen.UseVisualStyleBackColor = True - ' - 'Label1 - ' - Me.Label1.AutoSize = True - Me.Label1.Location = New System.Drawing.Point(8, 48) - Me.Label1.Name = "Label1" - Me.Label1.Size = New System.Drawing.Size(96, 13) - Me.Label1.TabIndex = 40 - Me.Label1.Text = "Advanced Aux File" - ' - 'btnBrowseAAUXFile - ' - Me.btnBrowseAAUXFile.Image = Global.TUGraz.VECTO.My.Resources.Resources.Open_icon - Me.btnBrowseAAUXFile.Location = New System.Drawing.Point(461, 43) - Me.btnBrowseAAUXFile.Name = "btnBrowseAAUXFile" - Me.btnBrowseAAUXFile.Size = New System.Drawing.Size(24, 24) - Me.btnBrowseAAUXFile.TabIndex = 39 - Me.ToolTip1.SetToolTip(Me.btnBrowseAAUXFile, "Configure/Browser Advanced Auxiliary Files") - Me.btnBrowseAAUXFile.UseVisualStyleBackColor = True - ' - 'txtAdvancedAuxiliaryFile - ' - Me.txtAdvancedAuxiliaryFile.Location = New System.Drawing.Point(109, 45) - Me.txtAdvancedAuxiliaryFile.Name = "txtAdvancedAuxiliaryFile" - Me.txtAdvancedAuxiliaryFile.Size = New System.Drawing.Size(351, 20) - Me.txtAdvancedAuxiliaryFile.TabIndex = 38 - ' - 'picAuxInfo - ' - Me.picAuxInfo.Image = Global.TUGraz.VECTO.My.Resources.Resources.Information_icon - Me.picAuxInfo.InitialImage = Global.TUGraz.VECTO.My.Resources.Resources.Information_icon - Me.picAuxInfo.Location = New System.Drawing.Point(463, 19) - Me.picAuxInfo.Name = "picAuxInfo" - Me.picAuxInfo.Size = New System.Drawing.Size(16, 16) - Me.picAuxInfo.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize - Me.picAuxInfo.TabIndex = 37 - Me.picAuxInfo.TabStop = False - ' - 'cboAdvancedAuxiliaries - ' - Me.cboAdvancedAuxiliaries.FormattingEnabled = True - Me.cboAdvancedAuxiliaries.Location = New System.Drawing.Point(109, 18) - Me.cboAdvancedAuxiliaries.Name = "cboAdvancedAuxiliaries" - Me.cboAdvancedAuxiliaries.Size = New System.Drawing.Size(351, 21) - Me.cboAdvancedAuxiliaries.TabIndex = 36 - ' - 'lbAdvancedAuxiliaries - ' - Me.lbAdvancedAuxiliaries.AutoSize = True - Me.lbAdvancedAuxiliaries.Location = New System.Drawing.Point(32, 21) - Me.lbAdvancedAuxiliaries.Name = "lbAdvancedAuxiliaries" - Me.lbAdvancedAuxiliaries.Size = New System.Drawing.Size(72, 13) - Me.lbAdvancedAuxiliaries.TabIndex = 35 - Me.lbAdvancedAuxiliaries.Text = "Auxiliary Type" - ' 'Label32 ' - Me.Label32.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _ - Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.Label32.AutoSize = True - Me.Label32.Location = New System.Drawing.Point(403, 217) + Me.Label32.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles) + Me.Label32.AutoSize = true + Me.Label32.Location = New System.Drawing.Point(403, 171) Me.Label32.Name = "Label32" Me.Label32.Size = New System.Drawing.Size(106, 13) Me.Label32.TabIndex = 3 @@ -597,20 +567,20 @@ Partial Class VectoJobForm ' 'LvAux ' - Me.LvAux.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ - Or System.Windows.Forms.AnchorStyles.Left) _ - Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.LvAux.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles) Me.LvAux.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.ColumnHeader4, Me.ColumnHeader5, Me.ColumnHeader6}) - Me.LvAux.FullRowSelect = True - Me.LvAux.GridLines = True - Me.LvAux.HideSelection = False - Me.LvAux.Location = New System.Drawing.Point(6, 103) - Me.LvAux.MultiSelect = False + Me.LvAux.FullRowSelect = true + Me.LvAux.GridLines = true + Me.LvAux.HideSelection = false + Me.LvAux.Location = New System.Drawing.Point(6, 50) + Me.LvAux.MultiSelect = false Me.LvAux.Name = "LvAux" - Me.LvAux.Size = New System.Drawing.Size(503, 113) + Me.LvAux.Size = New System.Drawing.Size(503, 115) Me.LvAux.TabIndex = 0 - Me.LvAux.TabStop = False - Me.LvAux.UseCompatibleStateImageBehavior = False + Me.LvAux.TabStop = false + Me.LvAux.UseCompatibleStateImageBehavior = false Me.LvAux.View = System.Windows.Forms.View.Details ' 'ColumnHeader4 @@ -630,30 +600,30 @@ Partial Class VectoJobForm ' 'ButAuxRem ' - Me.ButAuxRem.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _ - Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.ButAuxRem.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles) Me.ButAuxRem.Image = Global.TUGraz.VECTO.My.Resources.Resources.minus_circle_icon - Me.ButAuxRem.Location = New System.Drawing.Point(29, 217) + Me.ButAuxRem.Location = New System.Drawing.Point(29, 171) Me.ButAuxRem.Name = "ButAuxRem" Me.ButAuxRem.Size = New System.Drawing.Size(24, 24) Me.ButAuxRem.TabIndex = 2 - Me.ButAuxRem.UseVisualStyleBackColor = True + Me.ButAuxRem.UseVisualStyleBackColor = true ' 'ButAuxAdd ' - Me.ButAuxAdd.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _ - Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.ButAuxAdd.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles) Me.ButAuxAdd.Image = Global.TUGraz.VECTO.My.Resources.Resources.plus_circle_icon - Me.ButAuxAdd.Location = New System.Drawing.Point(5, 217) + Me.ButAuxAdd.Location = New System.Drawing.Point(5, 171) Me.ButAuxAdd.Name = "ButAuxAdd" Me.ButAuxAdd.Size = New System.Drawing.Size(24, 24) Me.ButAuxAdd.TabIndex = 1 - Me.ButAuxAdd.UseVisualStyleBackColor = True + Me.ButAuxAdd.UseVisualStyleBackColor = true ' 'tcJob ' - Me.tcJob.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ - Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.tcJob.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles) Me.tcJob.Controls.Add(Me.TabPgGen) Me.tcJob.Controls.Add(Me.tpAuxiliaries) Me.tcJob.Controls.Add(Me.tpCycles) @@ -668,6 +638,7 @@ Partial Class VectoJobForm ' 'tpAuxiliaries ' + Me.tpAuxiliaries.Controls.Add(Me.gbBusAux) Me.tpAuxiliaries.Controls.Add(Me.gbElectricAux) Me.tpAuxiliaries.Controls.Add(Me.GrAuxMech) Me.tpAuxiliaries.Location = New System.Drawing.Point(4, 22) @@ -676,7 +647,7 @@ Partial Class VectoJobForm Me.tpAuxiliaries.Size = New System.Drawing.Size(525, 472) Me.tpAuxiliaries.TabIndex = 9 Me.tpAuxiliaries.Text = "Auxiliaries" - Me.tpAuxiliaries.UseVisualStyleBackColor = True + Me.tpAuxiliaries.UseVisualStyleBackColor = true ' 'gbElectricAux ' @@ -684,16 +655,26 @@ Partial Class VectoJobForm Me.gbElectricAux.Controls.Add(Me.lblElAuxConstUnit) Me.gbElectricAux.Controls.Add(Me.tbElectricAuxConstant) Me.gbElectricAux.Controls.Add(Me.lblElAuxConst) - Me.gbElectricAux.Location = New System.Drawing.Point(6, 267) + Me.gbElectricAux.Location = New System.Drawing.Point(6, 307) Me.gbElectricAux.Name = "gbElectricAux" - Me.gbElectricAux.Size = New System.Drawing.Size(515, 100) + Me.gbElectricAux.Size = New System.Drawing.Size(515, 55) Me.gbElectricAux.TabIndex = 10 - Me.gbElectricAux.TabStop = False + Me.gbElectricAux.TabStop = false Me.gbElectricAux.Text = "Electric Auxiliaries" ' + 'Label46 + ' + Me.Label46.AutoSize = true + Me.Label46.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, CType(0,Byte)) + Me.Label46.Location = New System.Drawing.Point(235, 22) + Me.Label46.Name = "Label46" + Me.Label46.Size = New System.Drawing.Size(106, 13) + Me.Label46.TabIndex = 48 + Me.Label46.Text = "(high voltage system)" + ' 'lblElAuxConstUnit ' - Me.lblElAuxConstUnit.AutoSize = True + Me.lblElAuxConstUnit.AutoSize = true Me.lblElAuxConstUnit.Location = New System.Drawing.Point(191, 22) Me.lblElAuxConstUnit.Name = "lblElAuxConstUnit" Me.lblElAuxConstUnit.Size = New System.Drawing.Size(24, 13) @@ -709,7 +690,7 @@ Partial Class VectoJobForm ' 'lblElAuxConst ' - Me.lblElAuxConst.AutoSize = True + Me.lblElAuxConst.AutoSize = true Me.lblElAuxConst.Location = New System.Drawing.Point(7, 22) Me.lblElAuxConst.Name = "lblElAuxConst" Me.lblElAuxConst.Size = New System.Drawing.Size(97, 13) @@ -725,7 +706,7 @@ Partial Class VectoJobForm Me.tpCycles.Size = New System.Drawing.Size(525, 472) Me.tpCycles.TabIndex = 10 Me.tpCycles.Text = "Cycles" - Me.tpCycles.UseVisualStyleBackColor = True + Me.tpCycles.UseVisualStyleBackColor = true ' 'TabPgDriver ' @@ -739,7 +720,7 @@ Partial Class VectoJobForm Me.TabPgDriver.Size = New System.Drawing.Size(525, 472) Me.TabPgDriver.TabIndex = 7 Me.TabPgDriver.Text = "Driver Model" - Me.TabPgDriver.UseVisualStyleBackColor = True + Me.TabPgDriver.UseVisualStyleBackColor = true ' 'gbShiftStrategy ' @@ -748,12 +729,12 @@ Partial Class VectoJobForm Me.gbShiftStrategy.Name = "gbShiftStrategy" Me.gbShiftStrategy.Size = New System.Drawing.Size(514, 50) Me.gbShiftStrategy.TabIndex = 4 - Me.gbShiftStrategy.TabStop = False + Me.gbShiftStrategy.TabStop = false Me.gbShiftStrategy.Text = "Gearshift Strategy" ' 'cbGearshiftStrategy ' - Me.cbGearshiftStrategy.FormattingEnabled = True + Me.cbGearshiftStrategy.FormattingEnabled = true Me.cbGearshiftStrategy.Location = New System.Drawing.Point(6, 19) Me.cbGearshiftStrategy.Name = "cbGearshiftStrategy" Me.cbGearshiftStrategy.Size = New System.Drawing.Size(270, 21) @@ -769,12 +750,12 @@ Partial Class VectoJobForm Me.GrVACC.Name = "GrVACC" Me.GrVACC.Size = New System.Drawing.Size(515, 69) Me.GrVACC.TabIndex = 3 - Me.GrVACC.TabStop = False + Me.GrVACC.TabStop = false Me.GrVACC.Text = "Max. acceleration and brake curves" ' 'Label15 ' - Me.Label15.AutoSize = True + Me.Label15.AutoSize = true Me.Label15.Location = New System.Drawing.Point(3, 20) Me.Label15.Name = "Label15" Me.Label15.Size = New System.Drawing.Size(220, 13) @@ -783,8 +764,8 @@ Partial Class VectoJobForm ' 'TbDesMaxFile ' - Me.TbDesMaxFile.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ - Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.TbDesMaxFile.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles) Me.TbDesMaxFile.Location = New System.Drawing.Point(6, 36) Me.TbDesMaxFile.Name = "TbDesMaxFile" Me.TbDesMaxFile.Size = New System.Drawing.Size(450, 20) @@ -792,24 +773,24 @@ Partial Class VectoJobForm ' 'BtDesMaxBr ' - Me.BtDesMaxBr.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.BtDesMaxBr.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles) Me.BtDesMaxBr.Image = Global.TUGraz.VECTO.My.Resources.Resources.Open_icon Me.BtDesMaxBr.Location = New System.Drawing.Point(457, 34) Me.BtDesMaxBr.Name = "BtDesMaxBr" Me.BtDesMaxBr.Size = New System.Drawing.Size(24, 24) Me.BtDesMaxBr.TabIndex = 1 - Me.BtDesMaxBr.UseVisualStyleBackColor = True + Me.BtDesMaxBr.UseVisualStyleBackColor = true ' 'BtAccOpen ' - Me.BtAccOpen.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.BtAccOpen.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles) Me.BtAccOpen.Image = Global.TUGraz.VECTO.My.Resources.Resources.application_export_icon_small Me.BtAccOpen.Location = New System.Drawing.Point(481, 34) Me.BtAccOpen.Name = "BtAccOpen" Me.BtAccOpen.Size = New System.Drawing.Size(24, 24) Me.BtAccOpen.TabIndex = 2 - Me.BtAccOpen.TabStop = False - Me.BtAccOpen.UseVisualStyleBackColor = True + Me.BtAccOpen.TabStop = false + Me.BtAccOpen.UseVisualStyleBackColor = true ' 'GrLAC ' @@ -819,7 +800,7 @@ Partial Class VectoJobForm Me.GrLAC.Name = "GrLAC" Me.GrLAC.Size = New System.Drawing.Size(514, 173) Me.GrLAC.TabIndex = 2 - Me.GrLAC.TabStop = False + Me.GrLAC.TabStop = false Me.GrLAC.Text = "Look-Ahead Coasting" ' 'pnLookAheadCoasting @@ -847,7 +828,7 @@ Partial Class VectoJobForm ' 'Label7 ' - Me.Label7.AutoSize = True + Me.Label7.AutoSize = true Me.Label7.Location = New System.Drawing.Point(245, 6) Me.Label7.Name = "Label7" Me.Label7.Size = New System.Drawing.Size(38, 13) @@ -856,7 +837,7 @@ Partial Class VectoJobForm ' 'Label6 ' - Me.Label6.AutoSize = True + Me.Label6.AutoSize = true Me.Label6.Location = New System.Drawing.Point(106, 5) Me.Label6.Name = "Label6" Me.Label6.Size = New System.Drawing.Size(67, 13) @@ -873,18 +854,18 @@ Partial Class VectoJobForm ' 'btnDfVelocityDrop ' - Me.btnDfVelocityDrop.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.btnDfVelocityDrop.Image = CType(resources.GetObject("btnDfVelocityDrop.Image"), System.Drawing.Image) + Me.btnDfVelocityDrop.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles) + Me.btnDfVelocityDrop.Image = CType(resources.GetObject("btnDfVelocityDrop.Image"),System.Drawing.Image) Me.btnDfVelocityDrop.Location = New System.Drawing.Point(466, 78) Me.btnDfVelocityDrop.Name = "btnDfVelocityDrop" Me.btnDfVelocityDrop.Size = New System.Drawing.Size(24, 24) Me.btnDfVelocityDrop.TabIndex = 32 - Me.btnDfVelocityDrop.TabStop = False - Me.btnDfVelocityDrop.UseVisualStyleBackColor = True + Me.btnDfVelocityDrop.TabStop = false + Me.btnDfVelocityDrop.UseVisualStyleBackColor = true ' 'Label12 ' - Me.Label12.AutoSize = True + Me.Label12.AutoSize = true Me.Label12.Location = New System.Drawing.Point(284, 110) Me.Label12.Name = "Label12" Me.Label12.Size = New System.Drawing.Size(130, 13) @@ -900,7 +881,7 @@ Partial Class VectoJobForm ' 'Label11 ' - Me.Label11.AutoSize = True + Me.Label11.AutoSize = true Me.Label11.Location = New System.Drawing.Point(224, 109) Me.Label11.Name = "Label11" Me.Label11.Size = New System.Drawing.Size(13, 13) @@ -909,7 +890,7 @@ Partial Class VectoJobForm ' 'Label3 ' - Me.Label3.AutoSize = True + Me.Label3.AutoSize = true Me.Label3.Location = New System.Drawing.Point(55, 30) Me.Label3.Name = "Label3" Me.Label3.Size = New System.Drawing.Size(118, 13) @@ -926,8 +907,8 @@ Partial Class VectoJobForm ' 'tbLacDfTargetSpeedFile ' - Me.tbLacDfTargetSpeedFile.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ - Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.tbLacDfTargetSpeedFile.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles) Me.tbLacDfTargetSpeedFile.Location = New System.Drawing.Point(179, 54) Me.tbLacDfTargetSpeedFile.Name = "tbLacDfTargetSpeedFile" Me.tbLacDfTargetSpeedFile.Size = New System.Drawing.Size(286, 20) @@ -935,7 +916,7 @@ Partial Class VectoJobForm ' 'Label10 ' - Me.Label10.AutoSize = True + Me.Label10.AutoSize = true Me.Label10.Location = New System.Drawing.Point(94, 109) Me.Label10.Name = "Label10" Me.Label10.Size = New System.Drawing.Size(79, 13) @@ -944,7 +925,7 @@ Partial Class VectoJobForm ' 'Label4 ' - Me.Label4.AutoSize = True + Me.Label4.AutoSize = true Me.Label4.Location = New System.Drawing.Point(18, 56) Me.Label4.Name = "Label4" Me.Label4.Size = New System.Drawing.Size(155, 13) @@ -954,7 +935,7 @@ Partial Class VectoJobForm ' 'Label5 ' - Me.Label5.AutoSize = True + Me.Label5.AutoSize = true Me.Label5.Location = New System.Drawing.Point(20, 83) Me.Label5.Name = "Label5" Me.Label5.Size = New System.Drawing.Size(153, 13) @@ -964,14 +945,14 @@ Partial Class VectoJobForm ' 'btnDfTargetSpeed ' - Me.btnDfTargetSpeed.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.btnDfTargetSpeed.Image = CType(resources.GetObject("btnDfTargetSpeed.Image"), System.Drawing.Image) + Me.btnDfTargetSpeed.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles) + Me.btnDfTargetSpeed.Image = CType(resources.GetObject("btnDfTargetSpeed.Image"),System.Drawing.Image) Me.btnDfTargetSpeed.Location = New System.Drawing.Point(466, 52) Me.btnDfTargetSpeed.Name = "btnDfTargetSpeed" Me.btnDfTargetSpeed.Size = New System.Drawing.Size(24, 24) Me.btnDfTargetSpeed.TabIndex = 23 - Me.btnDfTargetSpeed.TabStop = False - Me.btnDfTargetSpeed.UseVisualStyleBackColor = True + Me.btnDfTargetSpeed.TabStop = false + Me.btnDfTargetSpeed.UseVisualStyleBackColor = true ' 'tbLacPreviewFactor ' @@ -982,8 +963,8 @@ Partial Class VectoJobForm ' 'tbLacDfVelocityDropFile ' - Me.tbLacDfVelocityDropFile.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ - Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.tbLacDfVelocityDropFile.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles) Me.tbLacDfVelocityDropFile.Location = New System.Drawing.Point(179, 81) Me.tbLacDfVelocityDropFile.Name = "tbLacDfVelocityDropFile" Me.tbLacDfVelocityDropFile.Size = New System.Drawing.Size(286, 20) @@ -991,15 +972,15 @@ Partial Class VectoJobForm ' 'CbLookAhead ' - Me.CbLookAhead.AutoSize = True - Me.CbLookAhead.Checked = True + Me.CbLookAhead.AutoSize = true + Me.CbLookAhead.Checked = true Me.CbLookAhead.CheckState = System.Windows.Forms.CheckState.Checked Me.CbLookAhead.Location = New System.Drawing.Point(16, 21) Me.CbLookAhead.Name = "CbLookAhead" Me.CbLookAhead.Size = New System.Drawing.Size(65, 17) Me.CbLookAhead.TabIndex = 0 Me.CbLookAhead.Text = "Enabled" - Me.CbLookAhead.UseVisualStyleBackColor = True + Me.CbLookAhead.UseVisualStyleBackColor = true ' 'gbOverspeed ' @@ -1010,7 +991,7 @@ Partial Class VectoJobForm Me.gbOverspeed.Name = "gbOverspeed" Me.gbOverspeed.Size = New System.Drawing.Size(515, 77) Me.gbOverspeed.TabIndex = 1 - Me.gbOverspeed.TabStop = False + Me.gbOverspeed.TabStop = false Me.gbOverspeed.Text = "Overspeed" ' 'PnEcoRoll @@ -1028,7 +1009,7 @@ Partial Class VectoJobForm ' 'Label21 ' - Me.Label21.AutoSize = True + Me.Label21.AutoSize = true Me.Label21.Location = New System.Drawing.Point(170, 31) Me.Label21.Name = "Label21" Me.Label21.Size = New System.Drawing.Size(38, 13) @@ -1037,7 +1018,7 @@ Partial Class VectoJobForm ' 'Label14 ' - Me.Label14.AutoSize = True + Me.Label14.AutoSize = true Me.Label14.Location = New System.Drawing.Point(170, 5) Me.Label14.Name = "Label14" Me.Label14.Size = New System.Drawing.Size(38, 13) @@ -1060,7 +1041,7 @@ Partial Class VectoJobForm ' 'Label23 ' - Me.Label23.AutoSize = True + Me.Label23.AutoSize = true Me.Label23.Location = New System.Drawing.Point(18, 31) Me.Label23.Name = "Label23" Me.Label23.Size = New System.Drawing.Size(80, 13) @@ -1069,7 +1050,7 @@ Partial Class VectoJobForm ' 'Label13 ' - Me.Label13.AutoSize = True + Me.Label13.AutoSize = true Me.Label13.Location = New System.Drawing.Point(13, 5) Me.Label13.Name = "Label13" Me.Label13.Size = New System.Drawing.Size(85, 13) @@ -1078,25 +1059,25 @@ Partial Class VectoJobForm ' 'RdOverspeed ' - Me.RdOverspeed.AutoSize = True - Me.RdOverspeed.Checked = True + Me.RdOverspeed.AutoSize = true + Me.RdOverspeed.Checked = true Me.RdOverspeed.Location = New System.Drawing.Point(16, 44) Me.RdOverspeed.Name = "RdOverspeed" Me.RdOverspeed.Size = New System.Drawing.Size(77, 17) Me.RdOverspeed.TabIndex = 1 - Me.RdOverspeed.TabStop = True + Me.RdOverspeed.TabStop = true Me.RdOverspeed.Text = "Overspeed" - Me.RdOverspeed.UseVisualStyleBackColor = True + Me.RdOverspeed.UseVisualStyleBackColor = true ' 'RdOff ' - Me.RdOff.AutoSize = True + Me.RdOff.AutoSize = true Me.RdOff.Location = New System.Drawing.Point(16, 21) Me.RdOff.Name = "RdOff" Me.RdOff.Size = New System.Drawing.Size(39, 17) Me.RdOff.TabIndex = 0 Me.RdOff.Text = "Off" - Me.RdOff.UseVisualStyleBackColor = True + Me.RdOff.UseVisualStyleBackColor = true ' 'TabPgADAS ' @@ -1108,7 +1089,7 @@ Partial Class VectoJobForm Me.TabPgADAS.Size = New System.Drawing.Size(525, 472) Me.TabPgADAS.TabIndex = 8 Me.TabPgADAS.Text = "ADAS Parameters" - Me.TabPgADAS.UseVisualStyleBackColor = True + Me.TabPgADAS.UseVisualStyleBackColor = true ' 'gbPCC ' @@ -1136,13 +1117,13 @@ Partial Class VectoJobForm Me.gbPCC.Name = "gbPCC" Me.gbPCC.Size = New System.Drawing.Size(515, 217) Me.gbPCC.TabIndex = 7 - Me.gbPCC.TabStop = False + Me.gbPCC.TabStop = false Me.gbPCC.Text = "Predictive Cruise Control" ' 'Label43 ' - Me.Label43.AutoSize = True - Me.Label43.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label43.AutoSize = true + Me.Label43.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, CType(0,Byte)) Me.Label43.Location = New System.Drawing.Point(39, 196) Me.Label43.Name = "Label43" Me.Label43.Size = New System.Drawing.Size(157, 13) @@ -1151,18 +1132,18 @@ Partial Class VectoJobForm ' 'Label42 ' - Me.Label42.AutoSize = True - Me.Label42.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label42.AutoSize = true + Me.Label42.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, CType(0,Byte)) Me.Label42.Location = New System.Drawing.Point(7, 181) Me.Label42.Name = "Label42" Me.Label42.Size = New System.Drawing.Size(400, 13) Me.Label42.TabIndex = 29 - Me.Label42.Text = "Note: Predictive cruise conrol is only activated on highway parts of the driving " & + Me.Label42.Text = "Note: Predictive cruise conrol is only activated on highway parts of the driving "& _ "cycle" ' 'Label40 ' - Me.Label40.AutoSize = True + Me.Label40.AutoSize = true Me.Label40.Location = New System.Drawing.Point(305, 152) Me.Label40.Name = "Label40" Me.Label40.Size = New System.Drawing.Size(21, 13) @@ -1171,7 +1152,7 @@ Partial Class VectoJobForm ' 'Label41 ' - Me.Label41.AutoSize = True + Me.Label41.AutoSize = true Me.Label41.Location = New System.Drawing.Point(7, 152) Me.Label41.Name = "Label41" Me.Label41.Size = New System.Drawing.Size(146, 13) @@ -1187,7 +1168,7 @@ Partial Class VectoJobForm ' 'Label38 ' - Me.Label38.AutoSize = True + Me.Label38.AutoSize = true Me.Label38.Location = New System.Drawing.Point(305, 126) Me.Label38.Name = "Label38" Me.Label38.Size = New System.Drawing.Size(21, 13) @@ -1196,7 +1177,7 @@ Partial Class VectoJobForm ' 'Label39 ' - Me.Label39.AutoSize = True + Me.Label39.AutoSize = true Me.Label39.Location = New System.Drawing.Point(7, 126) Me.Label39.Name = "Label39" Me.Label39.Size = New System.Drawing.Size(146, 13) @@ -1212,7 +1193,7 @@ Partial Class VectoJobForm ' 'Label36 ' - Me.Label36.AutoSize = True + Me.Label36.AutoSize = true Me.Label36.Location = New System.Drawing.Point(305, 100) Me.Label36.Name = "Label36" Me.Label36.Size = New System.Drawing.Size(38, 13) @@ -1221,7 +1202,7 @@ Partial Class VectoJobForm ' 'Label37 ' - Me.Label37.AutoSize = True + Me.Label37.AutoSize = true Me.Label37.Location = New System.Drawing.Point(7, 100) Me.Label37.Name = "Label37" Me.Label37.Size = New System.Drawing.Size(83, 13) @@ -1237,7 +1218,7 @@ Partial Class VectoJobForm ' 'Label34 ' - Me.Label34.AutoSize = True + Me.Label34.AutoSize = true Me.Label34.Location = New System.Drawing.Point(305, 74) Me.Label34.Name = "Label34" Me.Label34.Size = New System.Drawing.Size(38, 13) @@ -1246,7 +1227,7 @@ Partial Class VectoJobForm ' 'Label35 ' - Me.Label35.AutoSize = True + Me.Label35.AutoSize = true Me.Label35.Location = New System.Drawing.Point(7, 74) Me.Label35.Name = "Label35" Me.Label35.Size = New System.Drawing.Size(113, 13) @@ -1262,7 +1243,7 @@ Partial Class VectoJobForm ' 'Label31 ' - Me.Label31.AutoSize = True + Me.Label31.AutoSize = true Me.Label31.Location = New System.Drawing.Point(305, 48) Me.Label31.Name = "Label31" Me.Label31.Size = New System.Drawing.Size(38, 13) @@ -1271,7 +1252,7 @@ Partial Class VectoJobForm ' 'Label33 ' - Me.Label33.AutoSize = True + Me.Label33.AutoSize = true Me.Label33.Location = New System.Drawing.Point(7, 48) Me.Label33.Name = "Label33" Me.Label33.Size = New System.Drawing.Size(100, 13) @@ -1287,7 +1268,7 @@ Partial Class VectoJobForm ' 'Label20 ' - Me.Label20.AutoSize = True + Me.Label20.AutoSize = true Me.Label20.Location = New System.Drawing.Point(305, 22) Me.Label20.Name = "Label20" Me.Label20.Size = New System.Drawing.Size(38, 13) @@ -1296,7 +1277,7 @@ Partial Class VectoJobForm ' 'Label22 ' - Me.Label22.AutoSize = True + Me.Label22.AutoSize = true Me.Label22.Location = New System.Drawing.Point(7, 22) Me.Label22.Name = "Label22" Me.Label22.Size = New System.Drawing.Size(106, 13) @@ -1328,12 +1309,12 @@ Partial Class VectoJobForm Me.gbEcoRoll.Name = "gbEcoRoll" Me.gbEcoRoll.Size = New System.Drawing.Size(515, 127) Me.gbEcoRoll.TabIndex = 6 - Me.gbEcoRoll.TabStop = False + Me.gbEcoRoll.TabStop = false Me.gbEcoRoll.Text = "Eco-Roll" ' 'Label44 ' - Me.Label44.AutoSize = True + Me.Label44.AutoSize = true Me.Label44.Location = New System.Drawing.Point(305, 75) Me.Label44.Name = "Label44" Me.Label44.Size = New System.Drawing.Size(34, 13) @@ -1342,7 +1323,7 @@ Partial Class VectoJobForm ' 'Label45 ' - Me.Label45.AutoSize = True + Me.Label45.AutoSize = true Me.Label45.Location = New System.Drawing.Point(7, 75) Me.Label45.Name = "Label45" Me.Label45.Size = New System.Drawing.Size(125, 13) @@ -1358,23 +1339,23 @@ Partial Class VectoJobForm ' 'Label29 ' - Me.Label29.AutoSize = True + Me.Label29.AutoSize = true Me.Label29.Location = New System.Drawing.Point(305, 100) Me.Label29.Name = "Label29" Me.Label29.Size = New System.Drawing.Size(38, 13) Me.Label29.TabIndex = 16 Me.Label29.Text = "[km/h]" - Me.Label29.Visible = False + Me.Label29.Visible = false ' 'Label30 ' - Me.Label30.AutoSize = True + Me.Label30.AutoSize = true Me.Label30.Location = New System.Drawing.Point(7, 100) Me.Label30.Name = "Label30" Me.Label30.Size = New System.Drawing.Size(114, 13) Me.Label30.TabIndex = 14 Me.Label30.Text = "Underspeed threshold:" - Me.Label30.Visible = False + Me.Label30.Visible = false ' 'tbEcoRollUnderspeed ' @@ -1382,11 +1363,11 @@ Partial Class VectoJobForm Me.tbEcoRollUnderspeed.Name = "tbEcoRollUnderspeed" Me.tbEcoRollUnderspeed.Size = New System.Drawing.Size(52, 20) Me.tbEcoRollUnderspeed.TabIndex = 15 - Me.tbEcoRollUnderspeed.Visible = False + Me.tbEcoRollUnderspeed.Visible = false ' 'Label27 ' - Me.Label27.AutoSize = True + Me.Label27.AutoSize = true Me.Label27.Location = New System.Drawing.Point(305, 48) Me.Label27.Name = "Label27" Me.Label27.Size = New System.Drawing.Size(18, 13) @@ -1395,7 +1376,7 @@ Partial Class VectoJobForm ' 'Label28 ' - Me.Label28.AutoSize = True + Me.Label28.AutoSize = true Me.Label28.Location = New System.Drawing.Point(7, 48) Me.Label28.Name = "Label28" Me.Label28.Size = New System.Drawing.Size(85, 13) @@ -1411,7 +1392,7 @@ Partial Class VectoJobForm ' 'Label25 ' - Me.Label25.AutoSize = True + Me.Label25.AutoSize = true Me.Label25.Location = New System.Drawing.Point(305, 22) Me.Label25.Name = "Label25" Me.Label25.Size = New System.Drawing.Size(38, 13) @@ -1420,7 +1401,7 @@ Partial Class VectoJobForm ' 'Label26 ' - Me.Label26.AutoSize = True + Me.Label26.AutoSize = true Me.Label26.Location = New System.Drawing.Point(7, 22) Me.Label26.Name = "Label26" Me.Label26.Size = New System.Drawing.Size(83, 13) @@ -1448,7 +1429,7 @@ Partial Class VectoJobForm Me.gbEngineStopStart.Name = "gbEngineStopStart" Me.gbEngineStopStart.Size = New System.Drawing.Size(515, 100) Me.gbEngineStopStart.TabIndex = 5 - Me.gbEngineStopStart.TabStop = False + Me.gbEngineStopStart.TabStop = false Me.gbEngineStopStart.Text = "Engine Stop/Start" ' 'tbEssUtility @@ -1460,7 +1441,7 @@ Partial Class VectoJobForm ' 'Label24 ' - Me.Label24.AutoSize = True + Me.Label24.AutoSize = true Me.Label24.Location = New System.Drawing.Point(7, 72) Me.Label24.Name = "Label24" Me.Label24.Size = New System.Drawing.Size(141, 13) @@ -1469,7 +1450,7 @@ Partial Class VectoJobForm ' 'Label18 ' - Me.Label18.AutoSize = True + Me.Label18.AutoSize = true Me.Label18.Location = New System.Drawing.Point(305, 46) Me.Label18.Name = "Label18" Me.Label18.Size = New System.Drawing.Size(18, 13) @@ -1485,7 +1466,7 @@ Partial Class VectoJobForm ' 'Label19 ' - Me.Label19.AutoSize = True + Me.Label19.AutoSize = true Me.Label19.Location = New System.Drawing.Point(7, 46) Me.Label19.Name = "Label19" Me.Label19.Size = New System.Drawing.Size(105, 13) @@ -1494,7 +1475,7 @@ Partial Class VectoJobForm ' 'Label17 ' - Me.Label17.AutoSize = True + Me.Label17.AutoSize = true Me.Label17.Location = New System.Drawing.Point(305, 20) Me.Label17.Name = "Label17" Me.Label17.Size = New System.Drawing.Size(18, 13) @@ -1510,7 +1491,7 @@ Partial Class VectoJobForm ' 'Label16 ' - Me.Label16.AutoSize = True + Me.Label16.AutoSize = true Me.Label16.Location = New System.Drawing.Point(7, 20) Me.Label16.Name = "Label16" Me.Label16.Size = New System.Drawing.Size(87, 13) @@ -1523,7 +1504,7 @@ Partial Class VectoJobForm Me.StatusStrip1.Location = New System.Drawing.Point(0, 582) Me.StatusStrip1.Name = "StatusStrip1" Me.StatusStrip1.Size = New System.Drawing.Size(942, 22) - Me.StatusStrip1.SizingGrip = False + Me.StatusStrip1.SizingGrip = false Me.StatusStrip1.TabIndex = 6 Me.StatusStrip1.Text = "StatusStrip1" ' @@ -1535,24 +1516,24 @@ Partial Class VectoJobForm ' 'ButOK ' - Me.ButOK.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.ButOK.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles) Me.ButOK.Location = New System.Drawing.Point(776, 555) Me.ButOK.Name = "ButOK" Me.ButOK.Size = New System.Drawing.Size(75, 23) Me.ButOK.TabIndex = 0 Me.ButOK.Text = "Save" - Me.ButOK.UseVisualStyleBackColor = True + Me.ButOK.UseVisualStyleBackColor = true ' 'ButCancel ' - Me.ButCancel.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.ButCancel.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles) Me.ButCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel Me.ButCancel.Location = New System.Drawing.Point(857, 555) Me.ButCancel.Name = "ButCancel" Me.ButCancel.Size = New System.Drawing.Size(75, 23) Me.ButCancel.TabIndex = 1 Me.ButCancel.Text = "Cancel" - Me.ButCancel.UseVisualStyleBackColor = True + Me.ButCancel.UseVisualStyleBackColor = true ' 'ToolStrip1 ' @@ -1635,21 +1616,21 @@ Partial Class VectoJobForm ' 'PictureBox1 ' - Me.PictureBox1.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ - Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.PictureBox1.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles) Me.PictureBox1.BackColor = System.Drawing.Color.White Me.PictureBox1.Image = Global.TUGraz.VECTO.My.Resources.Resources.VECTO_VECTO Me.PictureBox1.Location = New System.Drawing.Point(0, 28) Me.PictureBox1.Name = "PictureBox1" Me.PictureBox1.Size = New System.Drawing.Size(942, 40) Me.PictureBox1.TabIndex = 21 - Me.PictureBox1.TabStop = False + Me.PictureBox1.TabStop = false ' 'CmOpenFile ' Me.CmOpenFile.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.OpenWithToolStripMenuItem, Me.ShowInFolderToolStripMenuItem}) Me.CmOpenFile.Name = "CmOpenFile" - Me.CmOpenFile.ShowImageMargin = False + Me.CmOpenFile.ShowImageMargin = false Me.CmOpenFile.Size = New System.Drawing.Size(128, 48) ' 'OpenWithToolStripMenuItem @@ -1673,7 +1654,7 @@ Partial Class VectoJobForm Me.PicVehicle.Size = New System.Drawing.Size(300, 88) Me.PicVehicle.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage Me.PicVehicle.TabIndex = 36 - Me.PicVehicle.TabStop = False + Me.PicVehicle.TabStop = false ' 'PicBox ' @@ -1683,13 +1664,13 @@ Partial Class VectoJobForm Me.PicBox.Name = "PicBox" Me.PicBox.Size = New System.Drawing.Size(390, 296) Me.PicBox.TabIndex = 36 - Me.PicBox.TabStop = False + Me.PicBox.TabStop = false ' 'TbEngTxt ' Me.TbEngTxt.Location = New System.Drawing.Point(3, 94) Me.TbEngTxt.Name = "TbEngTxt" - Me.TbEngTxt.ReadOnly = True + Me.TbEngTxt.ReadOnly = true Me.TbEngTxt.Size = New System.Drawing.Size(390, 20) Me.TbEngTxt.TabIndex = 6 ' @@ -1697,7 +1678,7 @@ Partial Class VectoJobForm ' Me.TbVehCat.Location = New System.Drawing.Point(309, 7) Me.TbVehCat.Name = "TbVehCat" - Me.TbVehCat.ReadOnly = True + Me.TbVehCat.ReadOnly = true Me.TbVehCat.Size = New System.Drawing.Size(87, 20) Me.TbVehCat.TabIndex = 2 ' @@ -1705,7 +1686,7 @@ Partial Class VectoJobForm ' Me.TbAxleConf.Location = New System.Drawing.Point(365, 36) Me.TbAxleConf.Name = "TbAxleConf" - Me.TbAxleConf.ReadOnly = True + Me.TbAxleConf.ReadOnly = true Me.TbAxleConf.Size = New System.Drawing.Size(31, 20) Me.TbAxleConf.TabIndex = 4 ' @@ -1713,7 +1694,7 @@ Partial Class VectoJobForm ' Me.TbHVCclass.Location = New System.Drawing.Point(309, 65) Me.TbHVCclass.Name = "TbHVCclass" - Me.TbHVCclass.ReadOnly = True + Me.TbHVCclass.ReadOnly = true Me.TbHVCclass.Size = New System.Drawing.Size(87, 20) Me.TbHVCclass.TabIndex = 5 ' @@ -1721,7 +1702,7 @@ Partial Class VectoJobForm ' Me.TbGbxTxt.Location = New System.Drawing.Point(3, 117) Me.TbGbxTxt.Name = "TbGbxTxt" - Me.TbGbxTxt.ReadOnly = True + Me.TbGbxTxt.ReadOnly = true Me.TbGbxTxt.Size = New System.Drawing.Size(390, 20) Me.TbGbxTxt.TabIndex = 7 ' @@ -1729,13 +1710,13 @@ Partial Class VectoJobForm ' Me.TbMass.Location = New System.Drawing.Point(309, 36) Me.TbMass.Name = "TbMass" - Me.TbMass.ReadOnly = True + Me.TbMass.ReadOnly = true Me.TbMass.Size = New System.Drawing.Size(50, 20) Me.TbMass.TabIndex = 3 ' 'lblEngineCharacteristics ' - Me.lblEngineCharacteristics.AutoSize = True + Me.lblEngineCharacteristics.AutoSize = true Me.lblEngineCharacteristics.Location = New System.Drawing.Point(7, 445) Me.lblEngineCharacteristics.Name = "lblEngineCharacteristics" Me.lblEngineCharacteristics.Size = New System.Drawing.Size(0, 13) @@ -1743,9 +1724,9 @@ Partial Class VectoJobForm ' 'lblTitle ' - Me.lblTitle.AutoSize = True + Me.lblTitle.AutoSize = true Me.lblTitle.BackColor = System.Drawing.Color.White - Me.lblTitle.Font = New System.Drawing.Font("Microsoft Sans Serif", 18.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblTitle.Font = New System.Drawing.Font("Microsoft Sans Serif", 18!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte)) Me.lblTitle.Location = New System.Drawing.Point(120, 32) Me.lblTitle.Name = "lblTitle" Me.lblTitle.Size = New System.Drawing.Size(320, 29) @@ -1768,60 +1749,71 @@ Partial Class VectoJobForm Me.pnJobInfo.Size = New System.Drawing.Size(397, 471) Me.pnJobInfo.TabIndex = 39 ' - 'pnHybridStrategy - ' - Me.pnHybridStrategy.Controls.Add(Me.btnOpenHybridStrategyParameters) - Me.pnHybridStrategy.Controls.Add(Me.tbHybridStrategyParams) - Me.pnHybridStrategy.Controls.Add(Me.btnBrowseHybridStrategyParams) - Me.pnHybridStrategy.Location = New System.Drawing.Point(4, 125) - Me.pnHybridStrategy.Name = "pnHybridStrategy" - Me.pnHybridStrategy.Size = New System.Drawing.Size(516, 26) - Me.pnHybridStrategy.TabIndex = 15 - ' - 'btnOpenHybridStrategyParameters - ' - Me.btnOpenHybridStrategyParameters.Location = New System.Drawing.Point(3, 3) - Me.btnOpenHybridStrategyParameters.Name = "btnOpenHybridStrategyParameters" - Me.btnOpenHybridStrategyParameters.Size = New System.Drawing.Size(72, 21) - Me.btnOpenHybridStrategyParameters.TabIndex = 11 - Me.btnOpenHybridStrategyParameters.TabStop = False - Me.btnOpenHybridStrategyParameters.Text = "Hyb. Str. P." - Me.btnOpenHybridStrategyParameters.UseVisualStyleBackColor = True - ' - 'tbHybridStrategyParams - ' - Me.tbHybridStrategyParams.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ - Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.tbHybridStrategyParams.Location = New System.Drawing.Point(81, 3) - Me.tbHybridStrategyParams.Name = "tbHybridStrategyParams" - Me.tbHybridStrategyParams.Size = New System.Drawing.Size(406, 20) - Me.tbHybridStrategyParams.TabIndex = 12 - ' - 'btnBrowseHybridStrategyParams - ' - Me.btnBrowseHybridStrategyParams.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.btnBrowseHybridStrategyParams.Image = CType(resources.GetObject("btnBrowseHybridStrategyParams.Image"), System.Drawing.Image) - Me.btnBrowseHybridStrategyParams.Location = New System.Drawing.Point(489, 1) - Me.btnBrowseHybridStrategyParams.Name = "btnBrowseHybridStrategyParams" - Me.btnBrowseHybridStrategyParams.Size = New System.Drawing.Size(24, 24) - Me.btnBrowseHybridStrategyParams.TabIndex = 13 - Me.btnBrowseHybridStrategyParams.TabStop = False - Me.btnBrowseHybridStrategyParams.UseVisualStyleBackColor = True - ' - 'Label46 - ' - Me.Label46.AutoSize = True - Me.Label46.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label46.Location = New System.Drawing.Point(235, 22) - Me.Label46.Name = "Label46" - Me.Label46.Size = New System.Drawing.Size(106, 13) - Me.Label46.TabIndex = 48 - Me.Label46.Text = "(high voltage system)" + 'gbBusAux + ' + Me.gbBusAux.Controls.Add(Me.cbEnableBusAux) + Me.gbBusAux.Controls.Add(Me.pnBusAux) + Me.gbBusAux.Location = New System.Drawing.Point(6, 223) + Me.gbBusAux.Name = "gbBusAux" + Me.gbBusAux.Size = New System.Drawing.Size(515, 78) + Me.gbBusAux.TabIndex = 11 + Me.gbBusAux.TabStop = false + Me.gbBusAux.Text = "Bus Auxiliaries" + ' + 'pnBusAux + ' + Me.pnBusAux.Controls.Add(Me.btnBusAuxP) + Me.pnBusAux.Controls.Add(Me.tbBusAuxParams) + Me.pnBusAux.Controls.Add(Me.btnBrowsBusAuxParams) + Me.pnBusAux.Location = New System.Drawing.Point(6, 40) + Me.pnBusAux.Name = "pnBusAux" + Me.pnBusAux.Size = New System.Drawing.Size(503, 26) + Me.pnBusAux.TabIndex = 16 + ' + 'btnBusAuxP + ' + Me.btnBusAuxP.Location = New System.Drawing.Point(3, 3) + Me.btnBusAuxP.Name = "btnBusAuxP" + Me.btnBusAuxP.Size = New System.Drawing.Size(72, 21) + Me.btnBusAuxP.TabIndex = 11 + Me.btnBusAuxP.TabStop = false + Me.btnBusAuxP.Text = "BusAux P." + Me.btnBusAuxP.UseVisualStyleBackColor = true + ' + 'tbBusAuxParams + ' + Me.tbBusAuxParams.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles) + Me.tbBusAuxParams.Location = New System.Drawing.Point(81, 3) + Me.tbBusAuxParams.Name = "tbBusAuxParams" + Me.tbBusAuxParams.Size = New System.Drawing.Size(393, 20) + Me.tbBusAuxParams.TabIndex = 12 + ' + 'btnBrowsBusAuxParams + ' + Me.btnBrowsBusAuxParams.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles) + Me.btnBrowsBusAuxParams.Image = CType(resources.GetObject("btnBrowsBusAuxParams.Image"),System.Drawing.Image) + Me.btnBrowsBusAuxParams.Location = New System.Drawing.Point(476, 1) + Me.btnBrowsBusAuxParams.Name = "btnBrowsBusAuxParams" + Me.btnBrowsBusAuxParams.Size = New System.Drawing.Size(24, 24) + Me.btnBrowsBusAuxParams.TabIndex = 13 + Me.btnBrowsBusAuxParams.TabStop = false + Me.btnBrowsBusAuxParams.UseVisualStyleBackColor = true + ' + 'cbEnableBusAux + ' + Me.cbEnableBusAux.AutoSize = true + Me.cbEnableBusAux.Location = New System.Drawing.Point(10, 17) + Me.cbEnableBusAux.Name = "cbEnableBusAux" + Me.cbEnableBusAux.Size = New System.Drawing.Size(115, 17) + Me.cbEnableBusAux.TabIndex = 17 + Me.cbEnableBusAux.Text = "Use Bus Auxiliaries" + Me.cbEnableBusAux.UseVisualStyleBackColor = true ' 'VectoJobForm ' Me.AcceptButton = Me.ButOK - Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleDimensions = New System.Drawing.SizeF(6!, 13!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.CancelButton = Me.ButCancel Me.ClientSize = New System.Drawing.Size(942, 604) @@ -1834,65 +1826,68 @@ Partial Class VectoJobForm Me.Controls.Add(Me.ButOK) Me.Controls.Add(Me.StatusStrip1) Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle - Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) - Me.MaximizeBox = False + Me.Icon = CType(resources.GetObject("$this.Icon"),System.Drawing.Icon) + Me.MaximizeBox = false Me.Name = "VectoJobForm" Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen Me.Text = "Job Editor" - Me.TabPgGen.ResumeLayout(False) - Me.pnVehicle.ResumeLayout(False) - Me.pnVehicle.PerformLayout() - Me.pnEngine.ResumeLayout(False) - Me.pnEngine.PerformLayout() - Me.pnGearbox.ResumeLayout(False) - Me.pnGearbox.PerformLayout() - Me.pnShiftParams.ResumeLayout(False) - Me.pnShiftParams.PerformLayout() - Me.GrCycles.ResumeLayout(False) - Me.GrCycles.PerformLayout() - Me.GrAuxMech.ResumeLayout(False) - Me.GrAuxMech.PerformLayout() - CType(Me.picAuxInfo, System.ComponentModel.ISupportInitialize).EndInit() - Me.tcJob.ResumeLayout(False) - Me.tpAuxiliaries.ResumeLayout(False) - Me.gbElectricAux.ResumeLayout(False) - Me.gbElectricAux.PerformLayout() - Me.tpCycles.ResumeLayout(False) - Me.TabPgDriver.ResumeLayout(False) - Me.gbShiftStrategy.ResumeLayout(False) - Me.GrVACC.ResumeLayout(False) - Me.GrVACC.PerformLayout() - Me.GrLAC.ResumeLayout(False) - Me.GrLAC.PerformLayout() - Me.pnLookAheadCoasting.ResumeLayout(False) - Me.pnLookAheadCoasting.PerformLayout() - Me.gbOverspeed.ResumeLayout(False) - Me.gbOverspeed.PerformLayout() - Me.PnEcoRoll.ResumeLayout(False) - Me.PnEcoRoll.PerformLayout() - Me.TabPgADAS.ResumeLayout(False) - Me.gbPCC.ResumeLayout(False) - Me.gbPCC.PerformLayout() - Me.gbEcoRoll.ResumeLayout(False) - Me.gbEcoRoll.PerformLayout() - Me.gbEngineStopStart.ResumeLayout(False) - Me.gbEngineStopStart.PerformLayout() - Me.StatusStrip1.ResumeLayout(False) - Me.StatusStrip1.PerformLayout() - Me.ToolStrip1.ResumeLayout(False) - Me.ToolStrip1.PerformLayout() - CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit() - Me.CmOpenFile.ResumeLayout(False) - CType(Me.PicVehicle, System.ComponentModel.ISupportInitialize).EndInit() - CType(Me.PicBox, System.ComponentModel.ISupportInitialize).EndInit() - Me.pnJobInfo.ResumeLayout(False) - Me.pnJobInfo.PerformLayout() - Me.pnHybridStrategy.ResumeLayout(False) - Me.pnHybridStrategy.PerformLayout() - Me.ResumeLayout(False) - Me.PerformLayout() + Me.TabPgGen.ResumeLayout(false) + Me.pnHybridStrategy.ResumeLayout(false) + Me.pnHybridStrategy.PerformLayout + Me.pnVehicle.ResumeLayout(false) + Me.pnVehicle.PerformLayout + Me.pnEngine.ResumeLayout(false) + Me.pnEngine.PerformLayout + Me.pnGearbox.ResumeLayout(false) + Me.pnGearbox.PerformLayout + Me.pnShiftParams.ResumeLayout(false) + Me.pnShiftParams.PerformLayout + Me.GrCycles.ResumeLayout(false) + Me.GrCycles.PerformLayout + Me.GrAuxMech.ResumeLayout(false) + Me.GrAuxMech.PerformLayout + Me.tcJob.ResumeLayout(false) + Me.tpAuxiliaries.ResumeLayout(false) + Me.gbElectricAux.ResumeLayout(false) + Me.gbElectricAux.PerformLayout + Me.tpCycles.ResumeLayout(false) + Me.TabPgDriver.ResumeLayout(false) + Me.gbShiftStrategy.ResumeLayout(false) + Me.GrVACC.ResumeLayout(false) + Me.GrVACC.PerformLayout + Me.GrLAC.ResumeLayout(false) + Me.GrLAC.PerformLayout + Me.pnLookAheadCoasting.ResumeLayout(false) + Me.pnLookAheadCoasting.PerformLayout + Me.gbOverspeed.ResumeLayout(false) + Me.gbOverspeed.PerformLayout + Me.PnEcoRoll.ResumeLayout(false) + Me.PnEcoRoll.PerformLayout + Me.TabPgADAS.ResumeLayout(false) + Me.gbPCC.ResumeLayout(false) + Me.gbPCC.PerformLayout + Me.gbEcoRoll.ResumeLayout(false) + Me.gbEcoRoll.PerformLayout + Me.gbEngineStopStart.ResumeLayout(false) + Me.gbEngineStopStart.PerformLayout + Me.StatusStrip1.ResumeLayout(false) + Me.StatusStrip1.PerformLayout + Me.ToolStrip1.ResumeLayout(false) + Me.ToolStrip1.PerformLayout + CType(Me.PictureBox1,System.ComponentModel.ISupportInitialize).EndInit + Me.CmOpenFile.ResumeLayout(false) + CType(Me.PicVehicle,System.ComponentModel.ISupportInitialize).EndInit + CType(Me.PicBox,System.ComponentModel.ISupportInitialize).EndInit + Me.pnJobInfo.ResumeLayout(false) + Me.pnJobInfo.PerformLayout + Me.gbBusAux.ResumeLayout(false) + Me.gbBusAux.PerformLayout + Me.pnBusAux.ResumeLayout(false) + Me.pnBusAux.PerformLayout + Me.ResumeLayout(false) + Me.PerformLayout - End Sub +End Sub Friend WithEvents TabPgGen As TabPage Friend WithEvents tcJob As TabControl Friend WithEvents StatusStrip1 As StatusStrip @@ -1961,14 +1956,7 @@ Partial Class VectoJobForm Friend WithEvents TbGbxTxt As TextBox Friend WithEvents TbMass As TextBox Friend WithEvents GrVACC As GroupBox - Friend WithEvents cboAdvancedAuxiliaries As ComboBox - Friend WithEvents picAuxInfo As PictureBox Friend WithEvents ToolTip1 As ToolTip - Friend WithEvents Label1 As Label - Friend WithEvents btnBrowseAAUXFile As Button - Friend WithEvents txtAdvancedAuxiliaryFile As TextBox - Friend WithEvents lbAdvancedAuxiliaries As Label - Friend WithEvents btnAAUXOpen As Button Friend WithEvents pnLookAheadCoasting As System.Windows.Forms.Panel Friend WithEvents btnDfVelocityDrop As System.Windows.Forms.Button Friend WithEvents Label12 As System.Windows.Forms.Label @@ -2057,4 +2045,10 @@ Partial Class VectoJobForm Friend WithEvents tbHybridStrategyParams As TextBox Friend WithEvents btnBrowseHybridStrategyParams As Button Friend WithEvents Label46 As Label + Friend WithEvents gbBusAux As GroupBox + Friend WithEvents cbEnableBusAux As CheckBox + Friend WithEvents pnBusAux As Panel + Friend WithEvents btnBusAuxP As Button + Friend WithEvents tbBusAuxParams As TextBox + Friend WithEvents btnBrowsBusAuxParams As Button End Class diff --git a/VECTO/GUI/VectoJobForm.resx b/VECTO/GUI/VectoJobForm.resx index 7283bc0fae..ab5039f468 100644 --- a/VECTO/GUI/VectoJobForm.resx +++ b/VECTO/GUI/VectoJobForm.resx @@ -208,9 +208,24 @@ eyX/NDkNOcG9FD9vY/yfYTB+A9kMOLKC3dXwAAAAAElFTkSuQmCC </value> </data> - <metadata name="ToolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> - <value>468, 15</value> - </metadata> + <data name="btnBrowsBusAuxParams.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + vAAADrwBlbxySQAAAtVJREFUOE+FkmtIk2EYhhc6zU1zyjyAlZn5Q0QS6k/EMDDSQiuzkmxM5wpEA00S + zTzbsozQEDUyVKjQbejUPGQSyyjUmofysFRKU/M859J5qORu77s1KX/0wPXju7/vvp4X3o/RVsHv7pDy + 0VklwIfaCPTXCzHQEPkXn5pEUDWJNH31kRGMf4eUocvF7GAShlqjQZ6H3qZjYUICQGliVfscvc+EGmNt + c0hhY/kONpYMrC/cwowqiYowchcYNaKRoa7mDDyfcuFRYpdnrBsEv7S3KT8XCTkUkq/3xGOj9xrQn0Cp + qQrGvnJ7uJTuwK58G4VJ8GMhh25eV29Ccp0yDmvd8SZBV7UA7sW2R5wfWsO+0ApO2ewMKlibE2N11siM + GCt6SL7YEQtdZxxUShECq7wQ9MQLZKnTfbbcqpQJuwxLDRWsTN+EbiobuslsLBsh+eybK3j/WgBfmQeq + 1RKcqPalAgexlYIIrNMtQAVLE1lYGs/Cd8JYJrR6SK5ovoCzjTzI1VLE9gjgVsiBYza7jJvHAhGwkpkG + gfZrJhZHM6D5QtBf4ed0yKSnENLEg0L3AlHKIBxq2Ik9BRy4FNrA4bFBYJlgbhCQgno4DeqhNMwPpuFb + TyICan3waqUF0coAHGtxpwJvuSPcJBwqYBUzwby8TUEF84OpmFOlYnYghR69XcLHUdl+RLX7I6TVc4uA + W8aCZZy5hhnO8KECUpzuu4Gpj8lU0FgShuIHgeAVucK/0d0k8KzgwjGXje0xZiPMS/oyGVIgxcme65jo + MvyBNUWhqMw/j7ryi+Dlu+KwfDcVcNNYEOfx6E2Ypq0iVKN6GYNxZRLG3iVSQXnOcRSk+EGadxK1j4Jx + IMsZPhXOsE+2QnPZOcPmP9MtD+d0SMPkXTVCDLdeRadciPjIg7H6V3sNXzAYtrEMjmW0udxCZFZmjLZO + eyX/NDkNOcG9FD9vY/yfYTB+A9kMOLKC3dXwAAAAAElFTkSuQmCC +</value> + </data> <data name="btnDfVelocityDrop.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value> iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO diff --git a/VECTO/GUI/VectoJobForm.vb b/VECTO/GUI/VectoJobForm.vb index 59bc6a9df2..18920809f7 100644 --- a/VECTO/GUI/VectoJobForm.vb +++ b/VECTO/GUI/VectoJobForm.vb @@ -49,15 +49,6 @@ Public Class VectoJobForm Public Property JobType As VectoSimulationJobType - 'AA-TB - 'Populate Advanced Auxiliaries - Private Sub PopulateAdvancedAuxiliaries() - 'Scan the program directory for DLL's which are AdvancedAuxiliaries and display - Dim aList As Dictionary(Of String, AdvancedAuxiliary) = DiscoverAdvancedAuxiliaries() - - cboAdvancedAuxiliaries.DataSource = aList.Select(Function(x) x.Value).ToList() - cboAdvancedAuxiliaries.DisplayMember = "AuxiliaryName" - End Sub 'Initialise form @@ -96,8 +87,6 @@ Public Class VectoJobForm gbPCC.Enabled = Not Cfg.DeclMode _changed = False - 'AA-TB - PopulateAdvancedAuxiliaries() cbGearshiftStrategy.DataSource = PowertrainBuilder.GetRegisteredShiftStrategies(Nothing).Select(Function(entry) New With {.Value = entry.Item1, .Label = entry.Item2}).ToList() cbGearshiftStrategy.DisplayMember = "Label" @@ -500,8 +489,6 @@ Public Class VectoJobForm Dim declarationInput As IDeclarationInputDataProvider = CType(inputData, IDeclarationInputDataProvider) Dim auxInput As IAuxiliariesDeclarationInputData = declarationInput.JobInputData.Vehicle.Components.AuxiliaryInputData - cboAdvancedAuxiliaries.SelectedIndex = 0 - cboAdvancedAuxiliaries.Enabled = False LvAux.Items.Clear() Dim entry As IAuxiliaryDeclarationInputData For Each entry In auxInput.Auxiliaries @@ -517,24 +504,8 @@ Public Class VectoJobForm TbDesMaxFile.Text = If(driver.AccelerationCurve Is Nothing, "", GetRelativePath(driver.AccelerationCurve.AccelerationCurve.Source, _basePath)) - cboAdvancedAuxiliaries.Enabled = True Dim auxInput As IAuxiliariesEngineeringInputData = inputData.JobInputData.Vehicle.Components.AuxiliaryInputData - For Each item As AdvancedAuxiliary In cboAdvancedAuxiliaries.Items - If _ - AuxiliaryModelHelper.Parse(item.AssemblyName) = auxInput.AuxiliaryAssembly AndAlso - auxInput.AuxiliaryVersion = item.AuxiliaryVersion _ - Then - cboAdvancedAuxiliaries.SelectedItem = item - Exit For - End If - Next tbElectricAuxConstant.Text = inputData.JobInputData.Vehicle.Components.AuxiliaryInputData.ElectricAuxPower.ToGUIFormat() - 'AA-TB - 'Assign any previously saved Axiliary FilePath - txtAdvancedAuxiliaryFile.Text = - If _ - (IO.File.Exists(auxInput.AdvancedAuxiliaryFilePath), GetRelativePath(auxInput.AdvancedAuxiliaryFilePath, _basePath), - "") LvAux.Items.Clear() For Each entry As IAuxiliaryEngineeringInputData In auxInput.Auxiliaries @@ -650,28 +621,6 @@ Public Class VectoJobForm Private Function VECTOsave(file As String) As Boolean Dim message As String = String.Empty - 'AA-TB - 'Validation of Auxiliary Types/Advanced Auxiliaries - 'if not classic, check the file is valid, if not fail the operation and alert user. - If cboAdvancedAuxiliaries.SelectedIndex > 0 Then - - 'resolve absolute path for auxiliary file. - Dim absoluteAAUxFile As String = ResolveAAUXFilePath(GetPath(VectoFile), txtAdvancedAuxiliaryFile.Text) - - Dim aaAssemblyName As String = DirectCast(cboAdvancedAuxiliaries.SelectedItem, AdvancedAuxiliary).AssemblyName - Dim aaAssemblyVersion As String = DirectCast(cboAdvancedAuxiliaries.SelectedItem, AdvancedAuxiliary).AuxiliaryVersion - - - If Not ValidateAAUXFile(absoluteAAUxFile, aaAssemblyName, aaAssemblyVersion, message) Then - MessageBox.Show( - String.Format("You have selected an advanced auxiliary *Auxiliary Type*, but the file specified is invalid :{0}", - message)) - Return False - End If - - End If - - Dim vectoJob As VectoJob = New VectoJob vectoJob.JobType = JobType vectoJob.FilePath = file @@ -694,11 +643,6 @@ Public Class VectoJobForm 'a_DesMax vectoJob.DesMaxFile = TbDesMaxFile.Text - 'AA-TB - vectoJob.AuxiliaryAssembly = DirectCast(cboAdvancedAuxiliaries.SelectedItem, AdvancedAuxiliary).AssemblyName - vectoJob.AuxiliaryVersion = DirectCast(cboAdvancedAuxiliaries.SelectedItem, AdvancedAuxiliary).AuxiliaryVersion - vectoJob.AdvancedAuxiliaryFilePath = txtAdvancedAuxiliaryFile.Text - For Each lv0 As ListViewItem In LvAux.Items Dim auxEntry As VectoJob.AuxEntry = New VectoJob.AuxEntry @@ -802,7 +746,6 @@ Public Class VectoJobForm tbLacDfTargetSpeedFile.Text = "" tbLacDfVelocityDropFile.Text = "" - cboAdvancedAuxiliaries.Enabled = Not Cfg.DeclMode '--------------------------------------------------- DeclInit() @@ -1506,123 +1449,6 @@ lbDlog: #End Region - 'AA-TB - Private Sub picAuxInfo_MouseEnter(sender As Object, e As EventArgs) Handles picAuxInfo.MouseEnter - - - If cboAdvancedAuxiliaries.SelectedIndex = -1 Then Exit Sub - - 'Get tooltip - Dim item As AdvancedAuxiliary - - item = DirectCast(cboAdvancedAuxiliaries.SelectedItem, AdvancedAuxiliary) - - If item.AuxiliaryVersion = "CLASSIC" Then - - ToolTip1.ToolTipTitle = "Classic Vecto Auxiliaries" - ToolTip1.SetToolTip(picAuxInfo, "Uses original basic auxiliaries calculation") - - Else - - ToolTip1.ToolTipTitle = "Advanced Auxiliary Information" - ToolTip1.SetToolTip(picAuxInfo, item.AuxiliaryName & " : Version=" & item.AuxiliaryVersion) - - End If - End Sub - - 'AA-TB - Private Sub btnBrowseAAUXFile_Click(sender As Object, e As EventArgs) Handles btnBrowseAAUXFile.Click - - If String.IsNullOrEmpty(VectoFile) Then - MessageBox.Show( - "Please complete and save a valid new .vecto file before adding/configuring advanced bus auxiliaries.") - Return - End If - - Dim aauxFileValidated As Boolean = False - Dim fbAux As New FileBrowser("aaux", False, False) - Dim message As String = String.Empty - Dim absoluteAuxPath As String - Dim assembly As AdvancedAuxiliary - - 'If Classic is selected, then bail - If cboAdvancedAuxiliaries.SelectedIndex = 0 Then Return - - 'Get Absolute Path for AAUX FILE. - absoluteAuxPath = ResolveAAUXFilePath(GetPath(VectoFile), txtAdvancedAuxiliaryFile.Text) - - 'Set Extensions - fbAux.Extensions = New String() {"AAUX"} - - Try - - assembly = DirectCast(cboAdvancedAuxiliaries.SelectedItem, AdvancedAuxiliary) - - Dim validAAUXFile As Boolean = ValidateAAUXFile(absoluteAuxPath, assembly.AssemblyName, - assembly.AuxiliaryVersion, message) - Dim fileExists As Boolean = File.Exists(absoluteAuxPath) - - If fileExists AndAlso validAAUXFile Then - ConfigureAdvancedAuxiliaries(assembly.AssemblyName, assembly.AuxiliaryVersion, - txtAdvancedAuxiliaryFile.Text, VectoFile) - Else - - Dim needToFindOrCreateFile As Boolean = True - - While needToFindOrCreateFile - - 'Find / Create file and configure. - If fbAux.CustomDialog(absoluteAuxPath, False, False, FileBrowserFileExtensionMode.ForceExt, False, String.Empty) _ - Then - txtAdvancedAuxiliaryFile.Text = GetFilenameWithoutDirectory(fbAux.Files(0), GetPath(VectoFile)) - assembly = DirectCast(cboAdvancedAuxiliaries.SelectedItem, AdvancedAuxiliary) - - If _ - File.Exists(ResolveAAUXFilePath(GetPath(VectoFile), txtAdvancedAuxiliaryFile.Text)) OrElse - MsgBox("Do you want to create a new .AAUX file?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then - needToFindOrCreateFile = False - ConfigureAdvancedAuxiliaries(assembly.AssemblyName, assembly.AuxiliaryVersion, - txtAdvancedAuxiliaryFile.Text, VectoFile) - End If - Else - needToFindOrCreateFile = False - End If - - End While - - End If - - Catch ex As Exception - MessageBox.Show("There was an error configuring your Advanced Auxiliary File") - End Try - End Sub - - 'AA-TB - Private Sub cboAdvancedAuxiliaries_SelectedIndexChanged(sender As Object, e As EventArgs) _ - Handles cboAdvancedAuxiliaries.SelectedIndexChanged - - 'Enable or otherwise the text box and browser button associated with Advanced Axuiliaries - If cboAdvancedAuxiliaries.SelectedIndex = 0 Then - - btnBrowseAAUXFile.Enabled = False - txtAdvancedAuxiliaryFile.Enabled = False - - Else - - btnBrowseAAUXFile.Enabled = True - txtAdvancedAuxiliaryFile.Enabled = True - - End If - End Sub - - - 'AA-TB - Private Sub btnAAUXOpen_Click(sender As Object, e As EventArgs) Handles btnAAUXOpen.Click - - OpenFiles(FileRepl(txtAdvancedAuxiliaryFile.Text, GetPath(VectoFile))) - End Sub - - Private Sub btnDfTargetSpeed_Click(sender As Object, e As EventArgs) Handles btnDfTargetSpeed.Click If DriverDecisionFactorTargetSpeedFileBrowser.OpenDialog(FileRepl(tbLacDfTargetSpeedFile.Text, GetPath(VectoFile))) _ Then _ @@ -1707,6 +1533,11 @@ lbDlog: End Try End Sub + + Private Sub cbEnableBusAux_CheckedChanged(sender As Object, e As EventArgs) Handles cbEnableBusAux.CheckedChanged + pnBusAux.Enabled = not Cfg.DeclMode AndAlso cbEnableBusAux.Checked + End Sub + End Class diff --git a/VECTO/Input Files/AdvancedAuxiliary.vb b/VECTO/Input Files/AdvancedAuxiliary.vb deleted file mode 100644 index 88f68d5285..0000000000 --- a/VECTO/Input Files/AdvancedAuxiliary.vb +++ /dev/null @@ -1,48 +0,0 @@ -'AA-TB - -Public Class AdvancedAuxiliary - 'Private properties. Set on Constructor - Private ReadOnly _auxiliaryName As String - Private ReadOnly _auxiliaryVersion As String - Private ReadOnly _fileName As String - Private ReadOnly _assemblyName As String - - - 'Public Readonly properties - Public ReadOnly Property AuxiliaryName As String - Get - Return _auxiliaryName - End Get - End Property - - Public ReadOnly Property AuxiliaryVersion As String - Get - Return _auxiliaryVersion - End Get - End Property - - Public ReadOnly Property AssemblyName As String - Get - Return _assemblyName - End Get - End Property - - - 'Constructor(s) - - Public Sub New() - - _auxiliaryName = "Classic Vecto Auxiliary" - _auxiliaryVersion = "CLASSIC" - _fileName = "CLASSIC" - _assemblyName = "CLASSIC" - End Sub - - Public Sub New(auxiliaryName As String, auxiliaryVersion As String, fileName As String, assemblyName As String) - - _auxiliaryName = auxiliaryName - _auxiliaryVersion = auxiliaryVersion - _fileName = fileName - _assemblyName = assemblyName - End Sub -End Class diff --git a/VECTO/Input Files/BusParamsEngineering.vb b/VECTO/Input Files/BusParamsEngineering.vb new file mode 100644 index 0000000000..bf320c38c6 --- /dev/null +++ b/VECTO/Input Files/BusParamsEngineering.vb @@ -0,0 +1,129 @@ +Imports System.Collections.Generic +Imports System.ComponentModel.DataAnnotations +Imports System.IO +Imports System.Linq +Imports TUGraz.VECTO.Input_Files +Imports TUGraz.VectoCommon.InputData +Imports TUGraz.VectoCommon.Models +Imports TUGraz.VectoCommon.Utils + +Public Class HybridStrategyParams + Implements IHybridStrategyParameters + + Private _filePath As String + Private _myPath As String + Public MinimumIceOnTime As Double + + Public Sub New() + _myPath = "" + _filePath = "" + + + + + SetDefault() + End Sub + + Private Sub SetDefault() + + End Sub + + Public Function SaveFile() As Boolean + + Dim validationResults As IList(Of ValidationResult) = + Validate(If(Cfg.DeclMode, ExecutionMode.Declaration, ExecutionMode.Engineering), VectoSimulationJobType.ParallelHybridVehicle, Nothing, Nothing, False) + + If validationResults.Count > 0 Then + Dim messages As IEnumerable(Of String) = + validationResults.Select(Function(r) r.ErrorMessage + String.Join(", ", r.MemberNames.Distinct())) + MsgBox("Invalid input." + Environment.NewLine + String.Join(Environment.NewLine, messages), MsgBoxStyle.OkOnly, + "Failed to save strategy parameters") + Return False + End If + + Try + Dim writer As JSONFileWriter = New JSONFileWriter() + writer.SaveStrategyParameters(Me, _filePath, Cfg.DeclMode) + + Catch ex As Exception + MsgBox("Faled to write Strategy Parameters file: " + ex.Message) + Return False + End Try + Return True + End Function + + Public Property FilePath() As String + Get + Return _filePath + End Get + Set(ByVal value As String) + _filePath = value + If _filePath = "" Then + _myPath = "" + Else + _myPath = Path.GetDirectoryName(_filePath) & "\" + End If + End Set + End Property + + + Public Property EquivalenceFactorCharge As Double Implements IHybridStrategyParameters.EquivalenceFactorCharge + + + Public Property EquivalenceFactorDischarge As Double Implements IHybridStrategyParameters.EquivalenceFactorDischarge + + + Public Property MinSoC As Double + + Public Property MaxSoC As Double + + Public Property TargetSoC As Double + + Public ReadOnly Property Source As String Implements IHybridStrategyParameters.Source + Get + Return FilePath + End Get + End Property + + Public ReadOnly Property MinICEOnTime As Second Implements IHybridStrategyParameters.MinimumICEOnTime + Get + Return MinimumICEOnTime.SI(of Second) + End Get + End Property + + Public ReadOnly Property AuxBufferTime As Second Implements IHybridStrategyParameters.AuxBufferTime + Get + Return AuxiliaryBufferTime.SI(Of Second) + End Get + End Property + + Public ReadOnly Property AuxBufferChargeTime As Second Implements IHybridStrategyParameters.AuxBufferChargeTime + Get + Return AuxiliaryBufferChgTime.SI(of Second) + End Get + End Property + + Public Property AuxiliaryBufferTime As Double + + Public Property AuxiliaryBufferChgTime As Double + + + + Private ReadOnly Property IHybridStrategyParameters_MinSoC As Double Implements IHybridStrategyParameters.MinSoC + Get + Return MinSoC + End Get + End Property + + Private ReadOnly Property IHybridStrategyParameters_MaxSoC As Double Implements IHybridStrategyParameters.MaxSoC + Get + Return MaxSoC + End Get + End Property + + Private ReadOnly Property IHybridStrategyParameters_TargetSoC As Double Implements IHybridStrategyParameters.TargetSoC + Get + Return TargetSoC + End Get + End Property +End Class \ No newline at end of file diff --git a/VECTO/Input Files/VectoJob.vb b/VECTO/Input Files/VectoJob.vb index e9c123e73e..74598f18da 100644 --- a/VECTO/Input Files/VectoJob.vb +++ b/VECTO/Input Files/VectoJob.vb @@ -35,12 +35,7 @@ Public Class VectoJob IDeclarationJobInputData, IDriverEngineeringInputData, IDriverDeclarationInputData, IAuxiliariesEngineeringInputData, IAuxiliariesDeclarationInputData, IJSONVehicleComponents, IEngineStopStartEngineeringInputData, IEcoRollEngineeringInputData, IPCCEngineeringInputData - 'AA-TB - 'STORES THE Type and version of the chosen or default Auxiliary Type ( Classic/Original or other ) - Public AuxiliaryAssembly As String - Public AuxiliaryVersion As String - Public AdvancedAuxiliaryFilePath As String - + Private _sFilePath As String Private _myPath As String @@ -693,30 +688,15 @@ Public Class VectoJob End Get End Property - Public ReadOnly Property ElectricAuxPower As Watt Implements IAuxiliariesEngineeringInputData.ElectricAuxPower - Get - Return AuxElPadd.SI(Of Watt) - End Get - End Property - - Public ReadOnly Property IAuxiliariesEngineeringInputData_AdvancedAuxiliaryFilePath As String _ - Implements IAuxiliariesEngineeringInputData.AdvancedAuxiliaryFilePath - Get - Return AdvancedAuxiliaryFilePath - End Get - End Property - - Public ReadOnly Property IAuxiliariesEngineeringInputData_AuxiliaryVersion As String _ - Implements IAuxiliariesEngineeringInputData.AuxiliaryVersion - Get - Return AuxiliaryVersion - End Get + Public ReadOnly Property BusAuxiliariesData As IBusAuxiliariesEngineeringData Implements IAuxiliariesEngineeringInputData.BusAuxiliariesData + get + Throw new NotImplementedException + End Get End Property - Public ReadOnly Property IAuxiliariesEngineeringInputData_AuxiliaryAssembly As AuxiliaryModel _ - Implements IAuxiliariesEngineeringInputData.AuxiliaryAssembly + Public ReadOnly Property ElectricAuxPower As Watt Implements IAuxiliariesEngineeringInputData.ElectricAuxPower Get - Return AuxiliaryModelHelper.Parse(AuxiliaryAssembly) + Return AuxElPadd.SI(Of Watt) End Get End Property diff --git a/VECTO/VECTO.vbproj b/VECTO/VECTO.vbproj index c3826b8a79..f118f89da6 100644 --- a/VECTO/VECTO.vbproj +++ b/VECTO/VECTO.vbproj @@ -223,10 +223,16 @@ <Compile Include="BusAuxiliaries\Util\DeleteCell.vb" /> <Compile Include="BusAuxiliaries\Util\DeleteColumn.vb" /> <Compile Include="BusAuxiliaries\Util\SIConvert.vb" /> - <Compile Include="GUI\HybridStratebyParamsForm.Designer.vb"> - <DependentUpon>HybridStratebyParamsForm.vb</DependentUpon> + <Compile Include="GUI\BusAuxiliariesEngParametersForm.Designer.vb"> + <DependentUpon>BusAuxiliariesEngParametersForm.vb</DependentUpon> </Compile> - <Compile Include="GUI\HybridStratebyParamsForm.vb"> + <Compile Include="GUI\BusAuxiliariesEngParametersForm.vb"> + <SubType>Form</SubType> + </Compile> + <Compile Include="GUI\HybridStrategyParamsForm.Designer.vb"> + <DependentUpon>HybridStrategyParamsForm.vb</DependentUpon> + </Compile> + <Compile Include="GUI\HybridStrategyParamsForm.vb"> <SubType>Form</SubType> </Compile> <Compile Include="GUI\BatteryForm.Designer.vb"> @@ -267,7 +273,6 @@ <Compile Include="GUI\XMLImportJobDialog.vb"> <SubType>Form</SubType> </Compile> - <Compile Include="Input Files\AdvancedAuxiliary.vb" /> <Compile Include="GUI\GraphForm.Designer.vb"> <DependentUpon>GraphForm.vb</DependentUpon> </Compile> @@ -321,7 +326,6 @@ <Compile Include="Input Files\Gearbox.vb" /> <Compile Include="Configuration.vb" /> <Compile Include="File Browser\FileBrowser.vb" /> - <Compile Include="AdvancedAuxiliariesModule.vb" /> <Compile Include="File Browser\FileBrowserDialog.designer.vb"> <DependentUpon>FileBrowserDialog.vb</DependentUpon> </Compile> @@ -334,6 +338,7 @@ <Compile Include="File Browser\FileBrowserFavoritesDialog.vb"> <SubType>Form</SubType> </Compile> + <Compile Include="Input Files\BusParamsEngineering.vb" /> <Compile Include="Input Files\HybridStrategyParams.vb" /> <Compile Include="Input Files\MockComponents.vb" /> <Compile Include="Input Files\MockVehicleInputData.vb" /> @@ -417,8 +422,11 @@ <EmbeddedResource Include="File Browser\FileBrowserFavoritesDialog.resx"> <DependentUpon>FileBrowserFavoritesDialog.vb</DependentUpon> </EmbeddedResource> - <EmbeddedResource Include="GUI\HybridStratebyParamsForm.resx"> - <DependentUpon>HybridStratebyParamsForm.vb</DependentUpon> + <EmbeddedResource Include="GUI\BusAuxiliariesEngParametersForm.resx"> + <DependentUpon>BusAuxiliariesEngParametersForm.vb</DependentUpon> + </EmbeddedResource> + <EmbeddedResource Include="GUI\HybridStrategyParamsForm.resx"> + <DependentUpon>HybridStrategyParamsForm.vb</DependentUpon> </EmbeddedResource> <EmbeddedResource Include="GUI\BatteryForm.resx"> <DependentUpon>BatteryForm.vb</DependentUpon> diff --git a/VECTOAux/VectoAuxiliariesTests/Mocks/M3_Mock.vb b/VECTOAux/VectoAuxiliariesTests/Mocks/M3_Mock.vb index 6a62fbad75..fb56aa0bbb 100644 --- a/VECTOAux/VectoAuxiliariesTests/Mocks/M3_Mock.vb +++ b/VECTOAux/VectoAuxiliariesTests/Mocks/M3_Mock.vb @@ -15,11 +15,11 @@ Public Class M3_Mock Return _GetAveragePowerDemandAtCrankFromPneumatics End Function - Public ReadOnly Property TotalAirDemand As NormLiter Implements IM3_AveragePneumaticLoadDemand.TotalAirDemand - Get - Return _totalAirDemand - End Get - End Property + 'Public ReadOnly Property TotalAirDemand As NormLiter Implements IM3_AveragePneumaticLoadDemand.TotalAirDemand + ' Get + ' Return _totalAirDemand + ' End Get + 'End Property Public ReadOnly Property AverageAirConsumed() As NormLiterPerSecond _ Implements IM3_AveragePneumaticLoadDemand.AverageAirConsumed diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/AveragePneumaticLoadDemandTests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/AveragePneumaticLoadDemandTests.vb index b3a4b18faa..cbc9ff4ec3 100644 --- a/VECTOAux/VectoAuxiliariesTests/UnitTests/AveragePneumaticLoadDemandTests.vb +++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/AveragePneumaticLoadDemandTests.vb @@ -106,7 +106,7 @@ Namespace UnitTests New M03Impl(auxConfig, psCompressorMap, auxConfig.Actuations, _Signals) Dim expected As Double = 7947.684 - Dim actual As NormLiter = target.TotalAirDemand + Dim actual As NormLiter = target.AverageAirConsumed * auxConfig.Actuations.CycleTime Assert.AreEqual(expected, actual.Value(), 0.000001) End Sub diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/M0_5_SmartAlternatorSetEfficiencyTests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/M0_5_SmartAlternatorSetEfficiencyTests.vb index 76cec0b28d..2efde03180 100644 --- a/VECTOAux/VectoAuxiliariesTests/UnitTests/M0_5_SmartAlternatorSetEfficiencyTests.vb +++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/M0_5_SmartAlternatorSetEfficiencyTests.vb @@ -39,7 +39,7 @@ Namespace UnitTests Const _SSMMAP As String = "TestFiles\ssm.Ahsm" 'Const _BusDatabase As String ="TestFiles\BusDatabase.abdb - dim ssmInput As ISSMInputs = SSMInputData.ReadFile(_SSMMAP, utils.GetDefaultVehicleData(), Nothing) + dim ssmInput As ISSMDeclarationInputs = SSMInputData.ReadFile(_SSMMAP, utils.GetDefaultVehicleData(), Nothing) 'CType(CType(ssmInput, SSMInputs).Vehicle, VehicleData).Height = 0.SI (Of Meter) Dim ssm As ISSMTOOL = New SSMTOOL(ssmInput) diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/M14Tests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/M14Tests.vb index 06bd4efe06..8bdad5364a 100644 --- a/VECTOAux/VectoAuxiliariesTests/UnitTests/M14Tests.vb +++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/M14Tests.vb @@ -23,11 +23,11 @@ Namespace UnitTests End Get End Property - Public ReadOnly Property ElectricalWBase As Watt Implements ISSMTOOL.ElectricalWBase - Get - Throw New NotImplementedException - End Get - End Property + 'Public ReadOnly Property ElectricalWBase As Watt Implements ISSMTOOL.ElectricalWBase + ' Get + ' Throw New NotImplementedException + ' End Get + 'End Property 'Public ReadOnly Property FuelPerHBase As KilogramPerSecond Implements ISSMTOOL.FuelPerHBase ' Get @@ -49,12 +49,12 @@ Namespace UnitTests Return (0.5*(averageUseableEngineWasteHeat.Value()*0.835).SI(Unit.SI.Liter.Per.Hour).Value()).SI (of Watt) End Function - Public Property SSMInputs As ISSMInputs Implements ISSMTOOL.SSMInputs + Public Property SSMInputs As ISSMDeclarationInputs Implements ISSMTOOL.SSMInputs Get - Return Utils.GetAuxTestConfig().SSMInputs + Return CType(Utils.GetAuxTestConfig().SSMInputs, ISSMDeclarationInputs) End Get - Set(value As ISSMInputs) + Set(value As ISSMDeclarationInputs) End Set End Property @@ -66,11 +66,11 @@ Namespace UnitTests ' Throw New NotImplementedException 'End Function - Public ReadOnly Property MechanicalWBase As Watt Implements ISSMTOOL.MechanicalWBase - Get - Throw New NotImplementedException - End Get - End Property + 'Public ReadOnly Property MechanicalWBase As Watt Implements ISSMTOOL.MechanicalWBase + ' Get + ' Throw New NotImplementedException + ' End Get + 'End Property Public ReadOnly Property MechanicalWBaseAdjusted As Watt Implements ISSMTOOL.MechanicalWBaseAdjusted Get diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/SSMTOOLTests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/SSMTOOLTests.vb index 2cab94f3f5..725a39f0f5 100644 --- a/VECTOAux/VectoAuxiliariesTests/UnitTests/SSMTOOLTests.vb +++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/SSMTOOLTests.vb @@ -91,7 +91,7 @@ Namespace UnitTests Dim auxInput as IBusAuxiliariesDeclarationData = nothing Dim dao = New DeclarationDataAdapterCompletedBusGeneric() - Dim target As ISSMInputs = dao.CreateSSMModelParameters(auxInput, mission, FuelData.Diesel, LoadingType.ReferenceLoad) + Dim target As ISSMDeclarationInputs = dao.CreateSSMModelParameters(auxInput, mission, FuelData.Diesel, LoadingType.ReferenceLoad) If section = "BusParameterisation" Then 'BUS Parameterisation @@ -179,7 +179,7 @@ Namespace UnitTests Public Sub Instantiate_TechListTest() - Dim gen As ISSMInputs = New SSMInputs(Nothing) + Dim gen As ISSMDeclarationInputs = New SSMInputs(Nothing) 'Dim target As ISSMTechList = New SSMTechList(gen.BusParameters.BusFloorType) 'target.TechLines = SSMTechnologiesReader.ReadFromFile(GOODTechList).Items @@ -192,7 +192,7 @@ Namespace UnitTests Public Sub Instantiate_TechListTestALLON() - Dim gen As ISSMInputs = New SSMInputs(Nothing) + Dim gen As ISSMDeclarationInputs = New SSMInputs(Nothing) 'Dim target As ISSMTechList = New SSMTechList(gen.BusParameters.BusFloorType) 'target.TechLines = SSMTechnologiesReader.ReadFromFile(GOODTechListALLON).Items @@ -220,7 +220,7 @@ Namespace UnitTests Public Sub Instantiate_TechListTestEMPTYList() - Dim gen As ISSMInputs = New SSMInputs(Nothing) + Dim gen As ISSMDeclarationInputs = New SSMInputs(Nothing) 'Dim target As ISSMTechList = New SSMTechList(gen.BusParameters.BusFloorType) 'target.TechLines = SSMTechnologiesReader.ReadFromFile(GOODTechListEMPTYLIST).Items @@ -234,7 +234,7 @@ Namespace UnitTests Public Sub Instantiate_TechListTestEMPTYListADD1() - Dim gen As ISSMInputs = New SSMInputs(Nothing) + Dim gen As ISSMDeclarationInputs = New SSMInputs(Nothing) 'Dim target As ISSMTechList = New SSMTechList(gen.BusParameters.BusFloorType) 'target.TechLines = SSMTechnologiesReader.ReadFromFile(GOODTechListEMPTYLIST).Items @@ -275,7 +275,7 @@ Namespace UnitTests Public Sub Instantiate_TechListTestEMPTYListADD1Duplicate() - Dim gen As ISSMInputs = New SSMInputs(Nothing) + Dim gen As ISSMDeclarationInputs = New SSMInputs(Nothing) 'Dim target As ISSMTechList = New SSMTechList(gen.BusParameters.BusFloorType) 'target.TechLines = SSMTechnologiesReader.ReadFromFile(GOODTechListEMPTYLIST).Items @@ -317,7 +317,7 @@ Namespace UnitTests Public Sub Instantiate_TechListTestEMPTYListADD1AndClear() - Dim gen As ISSMInputs = New SSMInputs(Nothing) + Dim gen As ISSMDeclarationInputs = New SSMInputs(Nothing) 'Dim target As ISSMTechList = New SSMTechList(gen.BusParameters.BusFloorType) 'target.TechLines = SSMTechnologiesReader.ReadFromFile(GOODTechListEMPTYLIST).Items @@ -359,7 +359,7 @@ Namespace UnitTests Public Sub Instantiate_TechListTestEMPTYListADD1AndModify() - Dim gen As ISSMInputs = New SSMInputs(Nothing) + Dim gen As ISSMDeclarationInputs = New SSMInputs(Nothing) 'Dim target As ISSMTechList = New SSMTechList(gen.BusParameters.BusFloorType) 'target.TechLines = SSMTechnologiesReader.ReadFromFile(GOODTechListEMPTYLIST).Items @@ -401,7 +401,7 @@ Namespace UnitTests Public Sub Instantiate_TechListTestEMPTYListADD1andDeleteIt() - Dim gen As ISSMInputs = New SSMInputs(Nothing) + Dim gen As ISSMDeclarationInputs = New SSMInputs(Nothing) 'Dim target As SSMTechList = New SSMTechList() 'target.TechLines = SSMTechnologiesReader.ReadFromFile(GOODTechListEMPTYLIST).Items @@ -441,7 +441,7 @@ Namespace UnitTests Public Sub Instantiate_TechListTestEMPTYListandDeleteNonExistantItem() - Dim gen As ISSMInputs = New SSMInputs(Nothing) + Dim gen As ISSMDeclarationInputs = New SSMInputs(Nothing) 'Dim target As SSMTechList = New SSMTechList() 'target.TechLines = SSMTechnologiesReader.ReadFromFile(GOODTechListEMPTYLIST).Items @@ -478,7 +478,7 @@ Namespace UnitTests <Test()> Public Sub Instantiate_NewTechListLine() - Dim gen As ISSMInputs = New SSMInputs(Nothing) + Dim gen As ISSMDeclarationInputs = New SSMInputs(Nothing) Dim ttl As SSMTechnology = New SSMTechnology() 'ttl.BusFloorType = gen.BusParameters.BusFloorType @@ -489,7 +489,7 @@ Namespace UnitTests <Test()> Public Sub TechBenefitLineCompareAsEqual() - Dim gen As ISSMInputs = New SSMInputs(Nothing) + Dim gen As ISSMDeclarationInputs = New SSMInputs(Nothing) Dim ttl1 As SSMTechnology = New SSMTechnology() 'ttl1.BusFloorType = gen.BusParameters.BusFloorType @@ -520,7 +520,7 @@ Namespace UnitTests <TestCase("OnVehicle")> Public Sub TechBenefitLineCompareAsUnequal(prop As String) - Dim gen As ISSMInputs = New SSMInputs(Nothing) + Dim gen As ISSMDeclarationInputs = New SSMInputs(Nothing) Dim ttl1 As SSMTechnology = New SSMTechnology() 'ttl1.BusFloorType = gen.BusParameters.BusFloorType diff --git a/VectoCommon/VectoCommon/BusAuxiliaries/ISSMInputs.cs b/VectoCommon/VectoCommon/BusAuxiliaries/ISSMDeclarationInputs.cs similarity index 90% rename from VectoCommon/VectoCommon/BusAuxiliaries/ISSMInputs.cs rename to VectoCommon/VectoCommon/BusAuxiliaries/ISSMDeclarationInputs.cs index cb7d34a106..ca7767c75b 100644 --- a/VectoCommon/VectoCommon/BusAuxiliaries/ISSMInputs.cs +++ b/VectoCommon/VectoCommon/BusAuxiliaries/ISSMDeclarationInputs.cs @@ -5,8 +5,11 @@ using TUGraz.VectoCommon.Utils; namespace TUGraz.VectoCommon.BusAuxiliaries { - public interface ISSMInputs + public interface ISSMInputs { } + + public interface ISSMDeclarationInputs : ISSMInputs { + ISSMBusParameters BusParameters { get; } ISSMTechnologyBenefits Technologies { get; } @@ -186,4 +189,22 @@ namespace TUGraz.VectoCommon.BusAuxiliaries double FuelEnergyToHeatToCoolant { get; } double CoolantHeatTransferredToAirCabinHeater { get; } } + + public interface ISSMEngineeringInputs : ISSMInputs + { + Watt ElectricPower { get; } + + Watt MechanicalPower { get; } + + Watt AuxHeaterPower { get; } + + Joule HeatingDemand { get; } + + double AuxHeaterEfficiency { get; set; } + + double FuelEnergyToHeatToCoolant { get; set; } + + double CoolantHeatTransferredToAirCabinHeater { get; set; } + + } } diff --git a/VectoCommon/VectoCommon/InputData/EngineeringInputData.cs b/VectoCommon/VectoCommon/InputData/EngineeringInputData.cs index 9265157468..caef87ef11 100644 --- a/VectoCommon/VectoCommon/InputData/EngineeringInputData.cs +++ b/VectoCommon/VectoCommon/InputData/EngineeringInputData.cs @@ -31,6 +31,7 @@ using System.Collections.Generic; using System.Data; +using TUGraz.VectoCommon.BusAuxiliaries; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; @@ -401,15 +402,60 @@ namespace TUGraz.VectoCommon.InputData { IList<IAuxiliaryEngineeringInputData> Auxiliaries { get; } - // Advanced Auxiliaries - AuxiliaryModel AuxiliaryAssembly { get; } + IBusAuxiliariesEngineeringData BusAuxiliariesData { get; } - string AuxiliaryVersion { get; } - - string AdvancedAuxiliaryFilePath { get; } Watt ElectricAuxPower { get; } } + public interface IBusAuxiliariesEngineeringData + { + + IBusAuxPneumaticSystemEngineeringData PneumaticSystem { get; } + + IBusAuxElectricSystemEngineeringData ElectricSystem { get; } + + IBusAuxHVACData HVACData { get; } + } + + public interface IBusAuxPneumaticSystemEngineeringData + { + TableData CompressorMap { get; } + + NormLiterPerSecond AverageAirConsumed { get; } + + bool SmartAirCompression { get; } + + double GearRatio { get; } + } + + public interface IBusAuxElectricSystemEngineeringData + { + double AlternatorEfficiency { get; } + + Ampere CurrentDemand { get; } + + Ampere CurrentDemandEngineOffDriving { get; } + + Ampere CurrentDemandEngineOffStandstill { get; } + + bool SmartElectric { get; } + + WattSecond ElectricStorageCapacity { get; } + + Watt MaxAlternatorPower { get; } + } + + public interface IBusAuxHVACData + { + Watt ElectricalPowerDemand { get; } + + Watt MechanicalPowerDemand { get; } + + Joule AverageHeatingDemand { get; } + + Watt AuxHeaterPower { get; } + } + public interface IElectricMotorEngineeringInputData : IElectricMotorDeclarationInputData { } diff --git a/VectoCommon/VectoCommon/Models/AuxiliaryModel.cs b/VectoCommon/VectoCommon/Models/AuxiliaryModel.cs deleted file mode 100644 index deb5304102..0000000000 --- a/VectoCommon/VectoCommon/Models/AuxiliaryModel.cs +++ /dev/null @@ -1,63 +0,0 @@ -/* -* This file is part of VECTO. -* -* Copyright © 2012-2019 European Union -* -* Developed by Graz University of Technology, -* Institute of Internal Combustion Engines and Thermodynamics, -* Institute of Technical Informatics -* -* VECTO is licensed under the EUPL, Version 1.1 or - as soon they will be approved -* by the European Commission - subsequent versions of the EUPL (the "Licence"); -* You may not use VECTO except in compliance with the Licence. -* You may obtain a copy of the Licence at: -* -* https://joinup.ec.europa.eu/community/eupl/og_page/eupl -* -* Unless required by applicable law or agreed to in writing, VECTO -* distributed under the Licence is distributed on an "AS IS" basis, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the Licence for the specific language governing permissions and -* limitations under the Licence. -* -* Authors: -* Stefan Hausberger, hausberger@ivt.tugraz.at, IVT, Graz University of Technology -* Christian Kreiner, christian.kreiner@tugraz.at, ITI, Graz University of Technology -* Michael Krisper, michael.krisper@tugraz.at, ITI, Graz University of Technology -* Raphael Luz, luz@ivt.tugraz.at, IVT, Graz University of Technology -* Markus Quaritsch, markus.quaritsch@tugraz.at, IVT, Graz University of Technology -* Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology -*/ - -namespace TUGraz.VectoCommon.Models -{ - public enum AuxiliaryModel - { - Classic, - Advanced - } - - public static class AuxiliaryModelHelper - { - public static AuxiliaryModel Parse(string auxAssemblyStr) - { - if (string.IsNullOrEmpty(auxAssemblyStr)) { - return AuxiliaryModel.Classic; - } - switch (auxAssemblyStr) { - case "BusAuxiliaries": - return AuxiliaryModel.Advanced; - } - return AuxiliaryModel.Classic; - } - - public static string GetName(this AuxiliaryModel model) - { - switch (model) { - case AuxiliaryModel.Advanced: - return "BusAuxiliaries"; - } - return model.ToString(); - } - } -} \ No newline at end of file diff --git a/VectoCommon/VectoCommon/Utils/SIConvertExtensionMethods.cs b/VectoCommon/VectoCommon/Utils/SIConvertExtensionMethods.cs index 9937f64cb7..1edb3e8523 100644 --- a/VectoCommon/VectoCommon/Utils/SIConvertExtensionMethods.cs +++ b/VectoCommon/VectoCommon/Utils/SIConvertExtensionMethods.cs @@ -194,6 +194,10 @@ namespace TUGraz.VectoCommon.Utils { return new ConvertedSI(value.Value() / Kilo / SecondsPerHour, "kWh"); } + public static ConvertedSI ConvertToWattHour(this WattSecond value) + { + return new ConvertedSI(value.Value() / SecondsPerHour, "Wh"); + } public static ConvertedSI ConvertToKiloWatt(this Watt value) { return new ConvertedSI(value.Value() / Kilo, "kW"); diff --git a/VectoCommon/VectoCommon/VectoCommon.csproj b/VectoCommon/VectoCommon/VectoCommon.csproj index 9913ddd696..f5e003ff10 100644 --- a/VectoCommon/VectoCommon/VectoCommon.csproj +++ b/VectoCommon/VectoCommon/VectoCommon.csproj @@ -73,7 +73,7 @@ <Compile Include="BusAuxiliaries\IPneumaticUserInputsConfig.cs" /> <Compile Include="BusAuxiliaries\IResultCard.cs" /> <Compile Include="BusAuxiliaries\ISignals.cs" /> - <Compile Include="BusAuxiliaries\ISSMInputs.cs" /> + <Compile Include="BusAuxiliaries\ISSMDeclarationInputs.cs" /> <Compile Include="BusAuxiliaries\ISSMTechnologyBenefits.cs" /> <Compile Include="BusAuxiliaries\IVehicleData.cs" /> <Compile Include="BusAuxiliaries\SmartResult.cs" /> @@ -98,7 +98,6 @@ <Compile Include="InputData\IntegrityStatus.cs" /> <Compile Include="Models\AuxiliaryDemandType.cs" /> <Compile Include="Models\AngledriveType.cs" /> - <Compile Include="Models\AuxiliaryModel.cs" /> <Compile Include="Models\AxleConfiguration.cs" /> <Compile Include="Models\AxleLineType.cs" /> <Compile Include="Models\CertificationMethod.cs" /> diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONBusAuxiliariesEngineeringData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONBusAuxiliariesEngineeringData.cs new file mode 100644 index 0000000000..d28614aaf4 --- /dev/null +++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONBusAuxiliariesEngineeringData.cs @@ -0,0 +1,126 @@ +using System.IO; +using Newtonsoft.Json.Linq; +using TUGraz.VectoCommon.InputData; +using TUGraz.VectoCommon.Utils; +using TUGraz.VectoCore.Utils; + +namespace TUGraz.VectoCore.InputData.FileIO.JSON +{ + public class JSONBusAuxiliariesEngineeringDataV1 : JSONFile, IBusAuxiliariesEngineeringData, IBusAuxPneumaticSystemEngineeringData, IBusAuxElectricSystemEngineeringData, IBusAuxHVACData + { + private JToken _pneumatic; + private JToken _electric; + private JToken _hvac; + + + public JSONBusAuxiliariesEngineeringDataV1(JObject data, string filename, bool tolerateMissing = false) : base( + data, filename, tolerateMissing) + { + _pneumatic = Body["PneumaticSystem"]; + _electric = Body["ElectricSystem"]; + _hvac = Body["HVAC"]; + } + + public IBusAuxPneumaticSystemEngineeringData PneumaticSystem + { + get { return this; } + } + + public IBusAuxElectricSystemEngineeringData ElectricSystem + { + get { return this; } + } + + public IBusAuxHVACData HVACData { get { return this; } } + + + #region Implementation of IBusAuxPneumaticSystemEngineeringData + + public TableData CompressorMap + { + get { return VectoCSVFile.Read(Path.Combine(BasePath, _pneumatic.GetEx<string>("CompressorMap"))); } + } + + public NormLiterPerSecond AverageAirConsumed + { + get { return _pneumatic.GetEx<double>("AverageAirDemand").SI<NormLiterPerSecond>(); } + } + + public bool SmartAirCompression + { + get { return _pneumatic.GetEx<bool>("SmartAirCompression"); } + } + + public double GearRatio + { + get { return _pneumatic.GetEx<double>("GearRatio"); } + } + + #endregion + + #region Implementation of IBusAuxElectricSystemEngineeringData + + public double AlternatorEfficiency + { + get { return _electric.GetEx<double>("AlternatorEfficiency"); } + } + + public Ampere CurrentDemand + { + get { return _electric.GetEx<double>("CurrentDemand").SI<Ampere>(); } + } + + public Ampere CurrentDemandEngineOffDriving { get { return _electric.GetEx<double>("CurrentDemandEngineOffDriving").SI<Ampere>(); } } + + public Ampere CurrentDemandEngineOffStandstill { get { return _electric.GetEx<double>("CurrentDemandEngineOffStandstill").SI<Ampere>(); } } + + public bool SmartElectric + { + get { return _electric.GetEx<bool>("SmartElectric"); } + } + + public WattSecond ElectricStorageCapacity + { + get + { + if (_electric["ElectricStorageCapacity"] == null) { + return null; + } + + return _electric.GetEx<double>("ElectricStorageCapacity").SI(Unit.SI.Watt.Hour).Cast<WattSecond>(); + } + } + + public Watt MaxAlternatorPower + { + get { return _electric.GetEx<double>("MaxAlternatorPower").SI<Watt>(); } + } + + + #endregion + + #region Implementation of IBusAuxHVACData + + public Watt ElectricalPowerDemand + { + get { return _hvac.GetEx<double>("ElectricPowerDemand").SI<Watt>(); } + } + + public Watt MechanicalPowerDemand + { + get { return _hvac.GetEx<double>("MechanicalPowerDemand").SI<Watt>(); } + } + + public Joule AverageHeatingDemand + { + get { return _hvac.GetEx<double>("AverageHeatingDemand").SI(Unit.SI.Mega.Joule).Cast<Joule>(); } + } + + public Watt AuxHeaterPower + { + get { return _hvac.GetEx<double>("AuxHeaterPower").SI<Watt>(); } + } + + #endregion + } +} \ No newline at end of file diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputData.cs index 2f624cce29..bbc4a830c9 100644 --- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputData.cs @@ -179,6 +179,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON protected IVehicleEngineeringInputData VehicleData; private readonly string _jobname; + private IBusAuxiliariesEngineeringData _busAux; public IAuxiliariesEngineeringInputData EngineeringAuxiliaries @@ -545,6 +546,18 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON get { return AuxData().Cast<IAuxiliaryEngineeringInputData>().ToList(); } } + public IBusAuxiliariesEngineeringData BusAuxiliariesData + { + get + { + if (Body["BusAux"] == null) { + return null; + } + + return _busAux ?? (_busAux = JSONInputDataFactory.ReadEngineeringBusAuxiliaries(Path.Combine(BasePath, Body.GetEx<string>("BusAux")))); + } + } + IList<IAuxiliaryDeclarationInputData> IAuxiliariesDeclarationInputData.Auxiliaries { get { return AuxData().Cast<IAuxiliaryDeclarationInputData>().ToList(); } @@ -617,31 +630,6 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON #endregion - #region AdvancedAuxiliaries - - public AuxiliaryModel AuxiliaryAssembly - { - get { - return AuxiliaryModelHelper.Parse( - Body["AuxiliaryAssembly"] == null - ? "" - : Body["AuxiliaryAssembly"].ToString()); - } - } - - public string AuxiliaryVersion - { - get { return Body["AuxiliaryVersion"] != null ? Body["AuxiliaryVersion"].Value<string>() : "<CLASSIC>"; } - } - - public string AdvancedAuxiliaryFilePath - { - get { - return Body["AdvancedAuxiliaryFilePath"] != null - ? Path.Combine(Path.GetFullPath(BasePath), Body["AdvancedAuxiliaryFilePath"].Value<string>()) - : ""; - } - } public Watt ElectricAuxPower { @@ -650,8 +638,6 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON return Body["Padd_electric"] != null ? Body.GetEx<double>("Padd_electric").SI<Watt>() : 0.SI<Watt>(); } } - - #endregion } public class JSONInputDataV2 : AbstractJSONInputData diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputDataFactory.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputDataFactory.cs index c1620f1812..bce5f74b01 100644 --- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputDataFactory.cs +++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputDataFactory.cs @@ -214,5 +214,17 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON } } + + public static IBusAuxiliariesEngineeringData ReadEngineeringBusAuxiliaries(string filename, bool tolerateMissing = false) + { + var json = ReadFile(filename); + var version = ReadVersion(json); + switch (version) { + case 1: + return new JSONBusAuxiliariesEngineeringDataV1(json, filename, tolerateMissing); + default: + throw new VectoException("Engineering BusAuxiliaries: Unsupported FileVersion. Got {0}", version); + } + } } } diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONSubComponent.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONSubComponent.cs index 43941ecb2e..5eb7ca181e 100644 --- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONSubComponent.cs +++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONSubComponent.cs @@ -79,12 +79,12 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON } public virtual XmlNode XMLSource { get { return Base.XMLSource; } } - } + } // ################################################################### // ################################################################### - internal class JSONRetarderInputData : JSONSubComponent, IRetarderInputData + internal class JSONRetarderInputData : JSONSubComponent, IRetarderInputData { public JSONRetarderInputData(JSONVehicleDataV7 jsonFile) : base(jsonFile) { } @@ -100,7 +100,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON } } - public virtual double Ratio + public virtual double Ratio { get { return Body.GetEx(JsonKeys.Vehicle_Retarder).GetEx<double>(JsonKeys.Vehicle_Retarder_Ratio); } } @@ -169,15 +169,15 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON { return 0.0; } - return base.Ratio; + return base.Ratio; } } - } + } // ################################################################### // ################################################################### - internal class JSONAngledriveInputData : JSONSubComponent, IAngledriveInputData + internal class JSONAngledriveInputData : JSONSubComponent, IAngledriveInputData { public JSONAngledriveInputData(JSONVehicleDataV7 jsonFile) : base(jsonFile) {} @@ -252,13 +252,13 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON } #endregion - } + } // ################################################################### // ################################################################### - internal class JSONAirdragInputData : JSONSubComponent, IAirdragEngineeringInputData - { + internal class JSONAirdragInputData : JSONSubComponent, IAirdragEngineeringInputData + { public JSONAirdragInputData(JSONVehicleDataV7 vehicle) : base(vehicle) {} #region Airdrag @@ -301,12 +301,12 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON } #endregion - } + } // ################################################################### // ################################################################### - internal class JSONPTOTransmissioninputData : JSONSubComponent, IPTOTransmissionInputData + internal class JSONPTOTransmissioninputData : JSONSubComponent, IPTOTransmissionInputData { public JSONPTOTransmissioninputData(JSONVehicleDataV7 vehicle) : base(vehicle) { } @@ -394,12 +394,12 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON #endregion - } + } // ################################################################### // ################################################################### - internal class JSONADASInputDataV7 : JSONSubComponent, IAdvancedDriverAssistantSystemsEngineering + internal class JSONADASInputDataV7 : JSONSubComponent, IAdvancedDriverAssistantSystemsEngineering { public JSONADASInputDataV7(JSONVehicleDataV7 vehicle) : base(vehicle) {} @@ -427,17 +427,17 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON #endregion - } + } - // ------------------------------------------------------------------- + // ------------------------------------------------------------------- internal class JSONADASInputDataV8 : JSONADASInputDataV7 { public JSONADASInputDataV8(JSONVehicleDataV7 vehicle) : base(vehicle) {} - #region Overrides of JSONADASInputDataV7 + #region Overrides of JSONADASInputDataV7 - public override bool EngineStopStart + public override bool EngineStopStart { get { return Body.GetEx<bool>("EngineStopStart"); } } @@ -453,11 +453,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON } #endregion - } + } // ------------------------------------------------------------------- - internal class JSONADASInputDataV9 : JSONADASInputDataV8 + internal class JSONADASInputDataV9 : JSONADASInputDataV8 { public JSONADASInputDataV9(JSONVehicleDataV7 vehicle) : base(vehicle) { } @@ -465,7 +465,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON { get { return Body["ATEcoRollReleaseLockupClutch"]?.Value<bool>(); } } - } + } // ------------------------------------------------------------------- @@ -482,15 +482,15 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON { get { return EcoRollType.None; } } - } + } - // ################################################################### - // ################################################################### + // ################################################################### + // ################################################################### - internal class JSONBusAuxiliariesData : JSONSubComponent, IBusAuxiliariesDeclarationData, IElectricSupplyDeclarationData, + internal class JSONBusAuxiliariesData : JSONSubComponent, IBusAuxiliariesDeclarationData, IElectricSupplyDeclarationData, IElectricConsumersDeclarationData, IPneumaticSupplyDeclarationData, IPneumaticConsumersDeclarationData, IHVACBusAuxiliariesDeclarationData - { + { public JSONBusAuxiliariesData(JSONVehicleDataV7 vehicle) : base(vehicle) {} #region Implementation of IBusAuxiliariesDeclarationData @@ -530,125 +530,125 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON get { return this; } } - #endregion - - #region Implementation of IElectricSupplyDeclarationData - - public virtual IList<IAlternatorDeclarationInputData> Alternators - { - get - { - return Body["Aux"]?["ElectricSupply"]?["Alternators"] - .Select(x => new AlternatorInputData(x.GetEx<string>("Technology"))) - .Cast<IAlternatorDeclarationInputData>().ToList() ?? new List<IAlternatorDeclarationInputData>(); - } - } - - #endregion - - #region Implementation of IElectricConsumersDeclarationData - - public virtual bool InteriorLightsLED - { - get { return false; } - } - - public virtual bool DayrunninglightsLED - { - get { return false; } - } - - public virtual bool PositionlightsLED - { - get { return false; } - } - - public virtual bool HeadlightsLED - { - get { return false; } - } - - public virtual bool BrakelightsLED - { - get { return false; } - } - - public virtual bool SmartElectrics - { - get { return Body["Aux"]?["ElectricSupply"]?.GetEx<bool>("SmartElectrics") ?? false; } - } - - public Watt MaxAlternatorPower - { - get { return Body["Aux"]?["ElectricSupply"]?.GetEx<double>("MaxAlternatorPower").SI<Watt>() ?? null; } - } - - public WattSecond ElectricStorageCapacity - { - get { return Body["Aux"]?["ElectricSupply"]?.GetEx<double>("ElectricStorageCapacity").SI(Unit.SI.Watt.Hour).Cast<WattSecond>() ?? null; } - } - - #endregion - - #region Implementation of IPneumaticSupplyDeclarationData - - public string Clutch { get; } - public virtual double Ratio { get { return Body["Aux"]?["PneumaticSupply"]?.GetEx<double>("Ratio") ?? 0.0; } } - public virtual string CompressorSize - { - get - { - return Body["Aux"]?["PneumaticSupply"]?.GetEx<string>("CompressorSize"); - } - } - - public bool SmartAirCompression { get; } - public bool SmartRegeneration { get; } - - #endregion - - #region Implementation of IPneumaticConsumersDeclarationData - - public virtual ConsumerTechnology AirsuspensionControl - { - get - { - return Body["Aux"]?["PneumaticConsumers"]?.GetEx<string>("AirsuspensionControl").ParseEnum<ConsumerTechnology>() ?? - ConsumerTechnology.Unknown; - } - } - public virtual ConsumerTechnology AdBlueDosing - { - get - { - return Body["Aux"]?["PneumaticConsumers"]?.GetEx<string>("AdBlueDosing").ParseEnum<ConsumerTechnology>() ?? - ConsumerTechnology.Unknown; - } - } - - #endregion - - #region Implementation of IHVACBusAuxiliariesDeclarationData - - public virtual BusHVACSystemConfiguration SystemConfiguration { get; set; } - public virtual ACCompressorType CompressorTypeDriver { get { return ACCompressorType.Unknown; } } - public virtual ACCompressorType CompressorTypePassenger { get { return ACCompressorType.Unknown; } } - public virtual Watt AuxHeaterPower { get { return null; } } - public virtual bool DoubleGlazing { get { return false; } } - public virtual bool HeatPump { get { return false; } } - public virtual bool AdjustableCoolantThermostat { get { return Body["Aux"]?["HVAC"]?.GetEx<bool>("AdjustableCoolantThermostat") ?? false; } } - public virtual bool AdjustableAuxiliaryHeater { get { return false; } } - public virtual bool EngineWasteGasHeatExchanger { get { return Body["Aux"]?["HVAC"]?.GetEx<bool>("EngineWasteGasHeatExchanger") ?? false; } } - public virtual bool SeparateAirDistributionDucts { get { return false; } } - - #endregion - - } + #endregion + + #region Implementation of IElectricSupplyDeclarationData + + public virtual IList<IAlternatorDeclarationInputData> Alternators + { + get + { + return Body["Aux"]?["ElectricSupply"]?["Alternators"] + .Select(x => new AlternatorInputData(x.GetEx<string>("Technology"))) + .Cast<IAlternatorDeclarationInputData>().ToList() ?? new List<IAlternatorDeclarationInputData>(); + } + } + + #endregion + + #region Implementation of IElectricConsumersDeclarationData + + public virtual bool InteriorLightsLED + { + get { return false; } + } + + public virtual bool DayrunninglightsLED + { + get { return false; } + } + + public virtual bool PositionlightsLED + { + get { return false; } + } + + public virtual bool HeadlightsLED + { + get { return false; } + } + + public virtual bool BrakelightsLED + { + get { return false; } + } + + public virtual bool SmartElectrics + { + get { return Body["Aux"]?["ElectricSupply"]?.GetEx<bool>("SmartElectrics") ?? false; } + } + + public Watt MaxAlternatorPower + { + get { return Body["Aux"]?["ElectricSupply"]?.GetEx<double>("MaxAlternatorPower").SI<Watt>() ?? null; } + } + + public WattSecond ElectricStorageCapacity + { + get { return Body["Aux"]?["ElectricSupply"]?.GetEx<double>("ElectricStorageCapacity").SI(Unit.SI.Watt.Hour).Cast<WattSecond>() ?? null; } + } + + #endregion + + #region Implementation of IPneumaticSupplyDeclarationData + + public string Clutch { get; } + public virtual double Ratio { get { return Body["Aux"]?["PneumaticSupply"]?.GetEx<double>("Ratio") ?? 0.0; } } + public virtual string CompressorSize + { + get + { + return Body["Aux"]?["PneumaticSupply"]?.GetEx<string>("CompressorSize"); + } + } + + public bool SmartAirCompression { get; } + public bool SmartRegeneration { get; } + + #endregion + + #region Implementation of IPneumaticConsumersDeclarationData + + public virtual ConsumerTechnology AirsuspensionControl + { + get + { + return Body["Aux"]?["PneumaticConsumers"]?.GetEx<string>("AirsuspensionControl").ParseEnum<ConsumerTechnology>() ?? + ConsumerTechnology.Unknown; + } + } + public virtual ConsumerTechnology AdBlueDosing + { + get + { + return Body["Aux"]?["PneumaticConsumers"]?.GetEx<string>("AdBlueDosing").ParseEnum<ConsumerTechnology>() ?? + ConsumerTechnology.Unknown; + } + } + + #endregion + + #region Implementation of IHVACBusAuxiliariesDeclarationData + + public virtual BusHVACSystemConfiguration SystemConfiguration { get; set; } + public virtual ACCompressorType CompressorTypeDriver { get { return ACCompressorType.Unknown; } } + public virtual ACCompressorType CompressorTypePassenger { get { return ACCompressorType.Unknown; } } + public virtual Watt AuxHeaterPower { get { return null; } } + public virtual bool DoubleGlazing { get { return false; } } + public virtual bool HeatPump { get { return false; } } + public virtual bool AdjustableCoolantThermostat { get { return Body["Aux"]?["HVAC"]?.GetEx<bool>("AdjustableCoolantThermostat") ?? false; } } + public virtual bool AdjustableAuxiliaryHeater { get { return false; } } + public virtual bool EngineWasteGasHeatExchanger { get { return Body["Aux"]?["HVAC"]?.GetEx<bool>("EngineWasteGasHeatExchanger") ?? false; } } + public virtual bool SeparateAirDistributionDucts { get { return false; } } + + #endregion + + } // ################################################################### // ################################################################### - public class JSONElectricMotors : IElectricMachinesEngineeringInputData + public class JSONElectricMotors : IElectricMachinesEngineeringInputData { private readonly IList<ElectricMachineEntry<IElectricMotorEngineeringInputData>> _entries; @@ -671,7 +671,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON // ################################################################### // ################################################################### - public class JSONElectricStorageEngineeringInputData : IElectricStorageEngineeringInputData + public class JSONElectricStorageEngineeringInputData : IElectricStorageEngineeringInputData { public IREESSPackInputData REESSPack { get; set; } diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/SSMInputData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/SSMInputData.cs index 7705334ecb..62f55c0c87 100644 --- a/VectoCore/VectoCore/InputData/FileIO/JSON/SSMInputData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/JSON/SSMInputData.cs @@ -9,7 +9,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON { public static class SSMInputData { - public static ISSMInputs ReadStream(Stream str, IVehicleData vehicleData, IEnvironmentalConditionsMap env) + public static ISSMDeclarationInputs ReadStream(Stream str, IVehicleData vehicleData, IEnvironmentalConditionsMap env) { var json = (JObject)JToken.ReadFrom(new JsonTextReader(new StreamReader(str))); var body = (JObject)json["Body"]; @@ -18,7 +18,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON return retVal; } - public static ISSMInputs ReadFile(string fileName, IVehicleData vehicleData, IEnvironmentalConditionsMap env) + public static ISSMDeclarationInputs ReadFile(string fileName, IVehicleData vehicleData, IEnvironmentalConditionsMap env) { var json = JSONInputDataFactory.ReadFile(fileName); var body = (JObject)json["Body"]; diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringAuxiliariesDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringAuxiliariesDataProvider.cs index 664942e30c..33a568de9e 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringAuxiliariesDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringAuxiliariesDataProvider.cs @@ -1,3 +1,4 @@ +using System; using System.Collections.Generic; using System.IO; using System.Xml; @@ -48,19 +49,12 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider } } - public virtual AuxiliaryModel AuxiliaryAssembly + public IBusAuxiliariesEngineeringData BusAuxiliariesData { - get { return AuxiliaryModel.Classic; } - } - - public virtual string AuxiliaryVersion - { - get { return ""; } - } - - public virtual string AdvancedAuxiliaryFilePath - { - get { return ""; } + get + { + throw new NotImplementedException("BuxAux EngineeringXML"); + } } public Watt ElectricAuxPower { get; } diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs index 632e95fac8..162463eb5e 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs @@ -313,7 +313,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter }; } - public virtual ISSMInputs CreateSSMModelParameters(IBusAuxiliariesDeclarationData busAuxInputData, Mission mission, IFuelProperties heatingFuel, LoadingType loadingType) + public virtual ISSMDeclarationInputs CreateSSMModelParameters(IBusAuxiliariesDeclarationData busAuxInputData, Mission mission, IFuelProperties heatingFuel, LoadingType loadingType) { var busParams = mission.BusParameter; diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs index 2c381e3af8..aa79327bd7 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs @@ -40,6 +40,10 @@ using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Configuration; using TUGraz.VectoCore.InputData.Reader.ComponentData; using TUGraz.VectoCore.InputData.Reader.ShiftStrategy; +using TUGraz.VectoCore.Models.BusAuxiliaries; +using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics; +using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC; +using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumatics; using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Models.Simulation.Data; using TUGraz.VectoCore.Models.SimulationComponent; @@ -533,11 +537,101 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter return null; } - public IAuxiliaryConfig CreateAdvancedAuxData(IAuxiliariesEngineeringInputData auxInputData) + public IAuxiliaryConfig CreateBusAuxiliariesData(IAuxiliariesEngineeringInputData auxInputData, VehicleData vehicleData) { - return null; + if (auxInputData == null || auxInputData.BusAuxiliariesData == null) { + return null; + } + + var busAux = auxInputData.BusAuxiliariesData; + return new AuxiliaryConfig() { + //InputData = auxInputData.BusAuxiliariesData, + ElectricalUserInputsConfig = new ElectricsUserInputsConfig() { + PowerNetVoltage = Constants.BusAuxiliaries.ElectricSystem.PowernetVoltage, + StoredEnergyEfficiency = Constants.BusAuxiliaries.ElectricSystem.StoredEnergyEfficiency, + ResultCardIdle = new DummyResultCard(), + ResultCardOverrun = new DummyResultCard(), + ResultCardTraction = new DummyResultCard(), + AlternatorGearEfficiency = Constants.BusAuxiliaries.ElectricSystem.AlternatorGearEfficiency, + DoorActuationTimeSecond = Constants.BusAuxiliaries.ElectricalConsumers.DoorActuationTimeSecond, + AlternatorMap = new SimpleAlternator(busAux.ElectricSystem.AlternatorEfficiency) { + Technologies = new List<string>() { "engineering mode"} + }, + SmartElectrical = busAux.ElectricSystem.SmartElectric, + MaxAlternatorPower = busAux.ElectricSystem.MaxAlternatorPower, + ElectricStorageCapacity = busAux.ElectricSystem.ElectricStorageCapacity ?? 0.SI<WattSecond>(), + ElectricalConsumers = GetElectricConsumers(busAux.ElectricSystem) + }, + PneumaticAuxillariesConfig = new PneumaticsConsumersDemand() { + AdBlueInjection = 0.SI<NormLiterPerSecond>(), + AirControlledSuspension = busAux.PneumaticSystem.AverageAirConsumed, + Braking = 0.SI<NormLiterPerKilogram>(), + BreakingWithKneeling = 0.SI<NormLiterPerKilogramMeter>(), + DeadVolBlowOuts = 0.SI<PerSecond>(), + DeadVolume = 0.SI<NormLiter>(), + NonSmartRegenFractionTotalAirDemand = 0, + SmartRegenFractionTotalAirDemand = 0, + OverrunUtilisationForCompressionFraction = + Constants.BusAuxiliaries.PneumaticConsumersDemands.OverrunUtilisationForCompressionFraction, + DoorOpening = 0.SI<NormLiter>(), + StopBrakeActuation = 0.SI<NormLiterPerKilogram>(), + }, + PneumaticUserInputsConfig = new PneumaticUserInputsConfig() { + CompressorMap = new CompressorMap(CompressorMapReader.Create(busAux.PneumaticSystem.CompressorMap, 1.0), "engineering mode", busAux.PneumaticSystem.CompressorMap.Source), + CompressorGearEfficiency = Constants.BusAuxiliaries.PneumaticUserConfig.CompressorGearEfficiency, + CompressorGearRatio = busAux.PneumaticSystem.GearRatio, + SmartAirCompression = busAux.PneumaticSystem.SmartAirCompression, + SmartRegeneration = false, + KneelingHeight = 0.SI<Meter>(), + AirSuspensionControl = ConsumerTechnology.Pneumatically, + AdBlueDosing = ConsumerTechnology.Electrically, + Doors = ConsumerTechnology.Electrically + }, + Actuations = new Actuations() { + Braking = 0, + Kneeling = 0, + ParkBrakeAndDoors = 0, + CycleTime = 1.SI<Second>() + }, + SSMInputs = new SSMEngineeringInputs() { + MechanicalPower = busAux.HVACData.MechanicalPowerDemand, + ElectricPower = busAux.HVACData.ElectricalPowerDemand, + AuxHeaterPower = busAux.HVACData.AuxHeaterPower, + HeatingDemand = busAux.HVACData.AverageHeatingDemand, + AuxHeaterEfficiency = Constants.BusAuxiliaries.SteadyStateModel.AuxHeaterEfficiency, + FuelEnergyToHeatToCoolant = Constants.BusAuxiliaries.Heater.FuelEnergyToHeatToCoolant, + CoolantHeatTransferredToAirCabinHeater = Constants.BusAuxiliaries.Heater.CoolantHeatTransferredToAirCabinHeater, + }, + VehicleData = vehicleData, + }; } + private Dictionary<string, ElectricConsumerEntry> GetElectricConsumers(IBusAuxElectricSystemEngineeringData busAuxElectricSystem) + { + var retVal = new Dictionary<string, ElectricConsumerEntry>(); + + var iBase = busAuxElectricSystem.CurrentDemandEngineOffStandstill; + var iSP = busAuxElectricSystem.CurrentDemandEngineOffDriving - + busAuxElectricSystem.CurrentDemandEngineOffStandstill; + var iFan = busAuxElectricSystem.CurrentDemand - busAuxElectricSystem.CurrentDemandEngineOffDriving; + + retVal["BaseLoad"] = new ElectricConsumerEntry() { + Current = iBase, + BaseVehicle = true + }; + retVal[Constants.Auxiliaries.IDs.SteeringPump] = new ElectricConsumerEntry() { + Current = iSP, + ActiveDuringEngineStopStandstill = false, + }; + retVal[Constants.Auxiliaries.IDs.Fan] = new ElectricConsumerEntry() { + Current = iFan, + ActiveDuringEngineStopStandstill = false, + ActiveDuringEngineStopDriving = false, + }; + return retVal; + } + + public ShiftStrategyParameters CreateGearshiftData(GearboxType gbxType, IGearshiftEngineeringInputData gsInputData, double axleRatio, PerSecond engineIdlingSpeed) { if (gsInputData == null) { diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/EngineeringModeVectoRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/EngineeringModeVectoRunDataFactory.cs index 0d1767a43e..6213f9dbf7 100644 --- a/VectoCore/VectoCore/InputData/Reader/Impl/EngineeringModeVectoRunDataFactory.cs +++ b/VectoCore/VectoCore/InputData/Reader/Impl/EngineeringModeVectoRunDataFactory.cs @@ -146,7 +146,7 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl AirdragData = dao.CreateAirdragData(vehicle.Components.AirdragInputData, vehicle), DriverData = driver, Aux = dao.CreateAuxiliaryData(vehicle.Components.AuxiliaryInputData), - //BusAuxiliaries = dao.CreateAdvancedAuxData(vehicle.Components.AuxiliaryInputData), + //BusAuxiliaries = dao.CreateBusAuxiliariesData(vehicle.Components.AuxiliaryInputData), Retarder = dao.CreateRetarderData(vehicle.Components.RetarderInputData), //PTO = ptoTransmissionData, Cycle = new DrivingCycleProxy(drivingCycle, cycle.Name), @@ -214,18 +214,19 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl var hybridParameters = jobType == VectoSimulationJobType.ParallelHybridVehicle ? dao.CreateHybridStrategyParameters(InputDataProvider.JobInputData.HybridStrategyParameters, InputDataProvider) : null; - yield return new VectoRunData { + var vehicleData = dao.CreateVehicleData(vehicle); + yield return new VectoRunData { JobName = InputDataProvider.JobInputData.JobName, JobType = jobType, EngineData = engineData, GearboxData = gearboxData, AxleGearData = axlegearData, AngledriveData = angledriveData, - VehicleData = dao.CreateVehicleData(vehicle), + VehicleData = vehicleData, AirdragData = dao.CreateAirdragData(vehicle.Components.AirdragInputData, vehicle), DriverData = driver, Aux = dao.CreateAuxiliaryData(vehicle.Components.AuxiliaryInputData), - BusAuxiliaries = dao.CreateAdvancedAuxData(vehicle.Components.AuxiliaryInputData), + BusAuxiliaries = dao.CreateBusAuxiliariesData(vehicle.Components.AuxiliaryInputData, vehicleData), Retarder = dao.CreateRetarderData(vehicle.Components.RetarderInputData), PTO = ptoTransmissionData, Cycle = new DrivingCycleProxy(drivingCycle, cycle.Name), diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/BusAuxiliaries.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/BusAuxiliaries.cs index 8dbe91b345..faf88b9e2f 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/BusAuxiliaries.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/BusAuxiliaries.cs @@ -21,6 +21,7 @@ using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumatics; using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces; using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules; using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC; using TUGraz.VectoCore.Models.BusAuxiliaries.Util; using TUGraz.VectoCore.OutputData; @@ -82,8 +83,12 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries throw new VectoException("Auxiliary configuration missing!"); } - var ssmTool = new SSMTOOL(auxConfig.SSMInputs); - var M14 = new M14aImpl(ssmTool); + if (auxConfig.SSMInputs is ISSMEngineeringInputs ssmEngineeringInputs) { + var M14eng = new M14bImpl(ssmEngineeringInputs); + return M14eng.AuxHeaterDemand(cycleTime, engineWasteHeatTotal); + } + + var M14 = new M14aImpl(new SSMTOOL(auxConfig.SSMInputs)); return M14.AuxHeaterDemand(cycleTime, engineWasteHeatTotal); } @@ -97,7 +102,9 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries // SSM HVAC //var ssmPath = FilePathUtils.ResolveFilePath(vectoDirectory, auxConfig.HvacUserInputsConfig.SSMFilePath); //var BusDatabase = FilePathUtils.ResolveFilePath(vectoDirectory, auxConfig.HvacUserInputsConfig.BusDatabasePath); - var ssmTool = new SSMTOOL(auxConfig.SSMInputs); + var ssmTool = auxConfig.SSMInputs is ISSMEngineeringInputs ? + new SimpleSSMTool(auxConfig.SSMInputs) + : (ISSMPowerDemand)new SSMTOOL(auxConfig.SSMInputs); ElectricStorage = new SimpleBattery( auxCfg.ElectricalUserInputsConfig.SmartElectrical @@ -127,8 +134,8 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries // auxConfig.ElectricalUserInputsConfig.AlternatorGearEfficiency); M5 = new M05Impl_P0(M0, M1, M2, ElectricStorage, auxCfg.ElectricalUserInputsConfig, Signals); M6 = new M06Impl(auxCfg.ElectricalUserInputsConfig, M1, M2, M3, M4, M5, Signals); - M7 = new M07Impl( - M0, M1, M2, M5, M6, ElectricStorage, auxCfg.ElectricalUserInputsConfig.AlternatorGearEfficiency, Signals); + M7 = new M07Impl(M0, M1, M2, M5, M6, ElectricStorage, + auxCfg.ElectricalUserInputsConfig.AlternatorGearEfficiency, Signals); M8 = new M08Impl(auxConfig, M1, M6, M7, Signals); //M9 = new M09Impl(M1, M4, M6, M8, fuelMap, auxConfig.PneumaticAuxillariesConfig, Signals); @@ -258,15 +265,15 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries } - public string AuxiliaryName - { - get { return "BusAuxiliaries"; } - } + //public string AuxiliaryName + //{ + // get { return "BusAuxiliaries"; } + //} - public string AuxiliaryVersion - { - get { return "Version 2.0 DEV"; } - } + //public string AuxiliaryVersion + //{ + // get { return "Version 2.0 DEV"; } + //} public Watt AuxiliaryPowerAtCrankWatts { diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/M01Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/M01Impl.cs index 80781cba0f..967308d31e 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/M01Impl.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/M01Impl.cs @@ -30,7 +30,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC Constants.BusAuxiliaries.ElectricConstants.AlternatorPulleyEfficiencyMin, Constants.BusAuxiliaries.ElectricConstants.AlternatorPulleyEfficiencyMax)); } - if (compressorGearEfficiency <= 0 || altGearEfficiency > 1) { + if (compressorGearEfficiency <= 0 || compressorGearEfficiency > 1) { throw new ArgumentException(String.Format("Compressor Gear efficiency must be between {0} and {1}", 0, 1)); } diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMCalculate.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMCalculate.cs index c74d9f9787..f1d2626a4c 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMCalculate.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMCalculate.cs @@ -442,7 +442,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC } } - private Watt CalculateElectricalWBase(ISSMInputs genInputs, IEnvironmentalConditionsMapEntry env) + private Watt CalculateElectricalWBase(ISSMDeclarationInputs genInputs, IEnvironmentalConditionsMapEntry env) { // MIN(SUM(H94),C54*1000)/C59+SUM(I93:I95) @@ -467,7 +467,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC return electricalWBaseCurrentResult * env.Weighting; } - private Watt CalculateMechanicalWBase(ISSMInputs genInputs, IEnvironmentalConditionsMapEntry env) + private Watt CalculateMechanicalWBase(ISSMDeclarationInputs genInputs, IEnvironmentalConditionsMapEntry env) { // =MIN(F94,C54*1000)/C59 @@ -504,7 +504,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC //} private Watt CalculateElectricalWAdjusted( - ISSMInputs genInputs, ISSMTechnologyBenefits tecList, IEnvironmentalConditionsMapEntry env) + ISSMDeclarationInputs genInputs, ISSMTechnologyBenefits tecList, IEnvironmentalConditionsMapEntry env) { // =(MIN((H94*(1-H100)),C54*1000)/C59)+(I93*(1-I99))+(I94*(1-I100))+(I95*(1-I101)) @@ -526,7 +526,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC return ElectricalWAdjusted * env.Weighting; } - private Watt CalculateMechanicalWBaseAdjusted(ISSMInputs genInputs, ISSMTechnologyBenefits tecList, IEnvironmentalConditionsMapEntry env) + private Watt CalculateMechanicalWBaseAdjusted(ISSMDeclarationInputs genInputs, ISSMTechnologyBenefits tecList, IEnvironmentalConditionsMapEntry env) { // =(MIN((F94*(1-F100)),C54*1000)/C59) @@ -541,7 +541,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC } private Watt CalculateAverageAuxHeaterPower( - ISSMInputs genInputs, ISSMTechnologyBenefits tecList, IEnvironmentalConditionsMapEntry env) + ISSMDeclarationInputs genInputs, ISSMTechnologyBenefits tecList, IEnvironmentalConditionsMapEntry env) { // =MIN(ABS(IF(AND(M89<0,M90<0),VLOOKUP(MAX(M89:M90),M89:P90,4),0)/1000),C71)/C37*(1/(C39*C38)) diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMInputs.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMInputs.cs index ba6e4709ca..2bbc39b839 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMInputs.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMInputs.cs @@ -9,7 +9,7 @@ using TUGraz.VectoCore.Models.Declaration; namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC { // Used by SSMHVAC Class - public class SSMInputs : ISSMInputs, ISSMBoundaryConditions, IEnvironmentalConditions, IACSystem, IVentilation, + public class SSMInputs : ISSMDeclarationInputs, ISSMBoundaryConditions, IEnvironmentalConditions, IACSystem, IVentilation, IAuxHeater, ISSMBusParameters { private readonly IFuelProperties HeatingFuel; @@ -195,4 +195,20 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC #endregion } + + public class SSMEngineeringInputs :ISSMEngineeringInputs + { + #region Implementation of ISSMEngineeringInputs + + public Watt ElectricPower { get; set; } + public Watt MechanicalPower { get; set; } + public Watt AuxHeaterPower { get; set; } + public Joule HeatingDemand { get; set; } + public double AuxHeaterEfficiency { get; set; } + public double FuelEnergyToHeatToCoolant { get; set; } + public double CoolantHeatTransferredToAirCabinHeater { get; set; } + + #endregion + } + } diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTOOL.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTOOL.cs index f54643dd15..570820d809 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTOOL.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTOOL.cs @@ -1,6 +1,7 @@ using System.Linq; using System.Text; using TUGraz.VectoCommon.BusAuxiliaries; +using TUGraz.VectoCommon.Exceptions; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces; @@ -11,6 +12,39 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC // Used by frmHVACTool // Replaces Spreadsheet model which does the same calculation // Version of which appears on the form title. + public class SimpleSSMTool : ISSMPowerDemand + { + private ISSMEngineeringInputs _ssmInput; + + public SimpleSSMTool(ISSMInputs ssmInput) + { + if (!(ssmInput is ISSMEngineeringInputs)) { + throw new VectoException("SSM Inputs are not in engineering mode!"); + } + + _ssmInput = ssmInput as ISSMEngineeringInputs; + } + + #region Implementation of ISSMPowerDemand + + public Watt ElectricalWAdjusted + { + get { return _ssmInput.ElectricPower; } + } + public Watt MechanicalWBaseAdjusted + { + get { return _ssmInput.MechanicalPower; } + } + + public Watt AverageAuxHeaterPower(Watt averageUseableEngineWasteHeat) + { + throw new System.NotImplementedException(); + } + + #endregion + } + + public class SSMTOOL : ISSMTOOL { @@ -18,15 +52,18 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC // Constructors public SSMTOOL(ISSMInputs ssmInput) { + SSMInputs = ssmInput as ISSMDeclarationInputs; + if (SSMInputs == null) { + throw new VectoException("SSM Inputs are not in declaration mode!"); + } - SSMInputs = ssmInput; - TechList = ssmInput.Technologies; + TechList = SSMInputs.Technologies; Calculate = new SSMCalculate(this); EngineWasteHeat = 0.SI<Watt>(); } - public ISSMInputs SSMInputs { get; } + public ISSMDeclarationInputs SSMInputs { get; } public ISSMBoundaryConditions BoundaryConditions { get; set; } diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M06Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M06Impl.cs index b88cdccfa3..b88036f1e5 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M06Impl.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M06Impl.cs @@ -25,7 +25,9 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl protected ISignals _signals; private bool _smartElectrics; - public M06Impl(IElectricsUserInputsConfig electricConfig, IM1_AverageHVACLoadDemand m1, IM2_AverageElectricalLoadDemand m2, IM3_AveragePneumaticLoadDemand m3, IM4_AirCompressor m4, IM5_SmartAlternatorSetGeneration m5, ISignals signals) + public M06Impl(IElectricsUserInputsConfig electricConfig, IM1_AverageHVACLoadDemand m1, + IM2_AverageElectricalLoadDemand m2, IM3_AveragePneumaticLoadDemand m3, IM4_AirCompressor m4, + IM5_SmartAlternatorSetGeneration m5, ISignals signals) { _m1 = m1; _m2 = m2; diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M07Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M07Impl.cs index 9b4989b4af..cb540bfc75 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M07Impl.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M07Impl.cs @@ -21,7 +21,9 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl private IM0_NonSmart_AlternatorsSetEfficiency _m0; private double _alternatorGearEfficiency; - public M07Impl(IM0_NonSmart_AlternatorsSetEfficiency m0, IM1_AverageHVACLoadDemand m1, IM2_AverageElectricalLoadDemand m2, IM5_SmartAlternatorSetGeneration m5, IM6 m6, ISimpleBattery bat, double alternatorGearEfficiency, ISignals signals) + public M07Impl(IM0_NonSmart_AlternatorsSetEfficiency m0, IM1_AverageHVACLoadDemand m1, + IM2_AverageElectricalLoadDemand m2, IM5_SmartAlternatorSetGeneration m5, IM6 m6, ISimpleBattery bat, + double alternatorGearEfficiency, ISignals signals) { _m5 = m5; _m6 = m6; diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M14Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M14Impl.cs index 05e453bbc9..7cd865120e 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M14Impl.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M14Impl.cs @@ -3,7 +3,6 @@ using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC; using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces; using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules; -using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC; using TUGraz.VectoCore.Models.Declaration; namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl @@ -76,4 +75,28 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl return _ssmTool.AverageAuxHeaterPower(averageUsableEngineWasteHeat) * cycleTime; } } + + public class M14bImpl + { + private ISSMEngineeringInputs _auxConfig; + + public M14bImpl(ISSMEngineeringInputs auxConfigSsmInputs) + { + + _auxConfig = auxConfigSsmInputs; + } + + public Joule AuxHeaterDemand(Second cycleTime, Joule engineWasteHeat) + { + var averageEngineWasteHeatPwr = engineWasteHeat; + var averageUsableEngineWasteHeat = averageEngineWasteHeatPwr * + _auxConfig.FuelEnergyToHeatToCoolant * + _auxConfig.CoolantHeatTransferredToAirCabinHeater; + + var heatingDiff = VectoMath.Max(0.SI<Joule>(), _auxConfig.HeatingDemand - averageUsableEngineWasteHeat); + var auxHeaterEnergy = VectoMath.Min(heatingDiff , (_auxConfig.AuxHeaterPower * cycleTime).Cast<Joule>()) / _auxConfig.AuxHeaterEfficiency; + + return auxHeaterEnergy; + } + } } diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/M03Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/M03Impl.cs index 4354716707..1ae9f502d0 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/M03Impl.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/M03Impl.cs @@ -23,8 +23,8 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumati _signals = signals; //'Calculate the Total Required Air Delivery Rate L / S - TotalAirDemand = TotalAirDemandCalculation(auxConfig, actuations); - AverageAirConsumed = TotalAirDemand / actuations.CycleTime; + var totalAirDemand = TotalAirDemandCalculation(auxConfig, actuations); + AverageAirConsumed = totalAirDemand / actuations.CycleTime; } @@ -97,8 +97,6 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumati public NormLiterPerSecond AverageAirConsumed { get; } - public NormLiter TotalAirDemand { get; } - #endregion } } diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMTOOL.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMTOOL.cs index 9eea66426a..6c056d9cc8 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMTOOL.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMTOOL.cs @@ -1,33 +1,42 @@ using TUGraz.VectoCommon.BusAuxiliaries; using TUGraz.VectoCommon.Utils; -namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC { - public interface ISSMTOOL +namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC +{ + + public interface ISSMPowerDemand + { + Watt ElectricalWAdjusted { get; } // Watt + Watt MechanicalWBaseAdjusted { get; } // Watt + + Watt AverageAuxHeaterPower(Watt averageUseableEngineWasteHeat); + + } + + public interface ISSMTOOL : ISSMPowerDemand { - ISSMInputs SSMInputs { get; } + ISSMDeclarationInputs SSMInputs { get; } ISSMTechnologyBenefits TechList { get; } ISSMCalculate Calculate { get; } - IHVACConstants HVACConstants { get; set; } + IHVACConstants HVACConstants { get; set; } - Watt ElectricalWBase { get; } // Watt - Watt MechanicalWBase { get; } // Watt + //Watt ElectricalWBase { get; } // Watt + //Watt MechanicalWBase { get; } // Watt //KilogramPerSecond FuelPerHBase { get; } // LiterPerHour - Watt ElectricalWAdjusted { get; } // Watt - Watt MechanicalWBaseAdjusted { get; } // Watt //KilogramPerSecond FuelPerHBaseAdjusted { get; } // LiterPerHour Watt EngineWasteHeat { get; } - /// <summary> - /// - /// </summary> - /// <param name="averageUseableEngineWasteHeat"></param> - /// <returns></returns> - /// <remarks></remarks> - Watt AverageAuxHeaterPower(Watt averageUseableEngineWasteHeat); + ///// <summary> + ///// + ///// </summary> + ///// <param name="averageUseableEngineWasteHeat"></param> + ///// <returns></returns> + ///// <remarks></remarks> + //Watt AverageAuxHeaterPower(Watt averageUseableEngineWasteHeat); } diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM3_AveragePneumaticLoadDemand.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM3_AveragePneumaticLoadDemand.cs index 7b526d6c84..65747bbf7e 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM3_AveragePneumaticLoadDemand.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM3_AveragePneumaticLoadDemand.cs @@ -19,6 +19,5 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules NormLiterPerSecond AverageAirConsumed { get; } - NormLiter TotalAirDemand { get; } } } diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/IBusAuxiliaries.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/IBusAuxiliaries.cs index 300772b270..fea26df4ee 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/IBusAuxiliaries.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/IBusAuxiliaries.cs @@ -26,8 +26,8 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces // Information //bool Running { get; } - string AuxiliaryName { get; } - string AuxiliaryVersion { get; } + //string AuxiliaryName { get; } + //string AuxiliaryVersion { get; } // Additional Permenent Monitoring Signals - Required by engineering //double AA_NonSmartAlternatorsEfficiency { get; } diff --git a/VectoCore/VectoCore/OutputData/FileIO/BusAuxWriter.cs b/VectoCore/VectoCore/OutputData/FileIO/BusAuxWriter.cs index f2a92853ab..afa13cad80 100644 --- a/VectoCore/VectoCore/OutputData/FileIO/BusAuxWriter.cs +++ b/VectoCore/VectoCore/OutputData/FileIO/BusAuxWriter.cs @@ -24,14 +24,17 @@ namespace TUGraz.VectoCore.OutputData.FileIO body["PneumaticUserInputsConfig"] = SavePneumaticUserConfig(auxCfg.PneumaticUserInputsConfig, basePath); //body["HvacUserInputsConfig"] = SaveHVACUserConfig(); - body["SSMFilePath"] = string.IsNullOrWhiteSpace(auxCfg.SSMInputs.Source) - ? "" - : JSONFileWriter.GetRelativePath(auxCfg.SSMInputs.Source, basePath); - body["EnvironmentalConditions"] = string.IsNullOrWhiteSpace(auxCfg.SSMInputs.EnvironmentalConditions.Source) - ? "" - : JSONFileWriter.GetRelativePath(auxCfg.SSMInputs.EnvironmentalConditions.Source, basePath); - - //string.IsNullOrWhiteSpace(auxCfg.SSMInputs.Technologies.Source) + if (auxCfg.SSMInputs is ISSMDeclarationInputs ssmInputs) { + body["SSMFilePath"] = string.IsNullOrWhiteSpace(ssmInputs.Source) + ? "" + : JSONFileWriter.GetRelativePath(ssmInputs.Source, basePath); + body["EnvironmentalConditions"] = + string.IsNullOrWhiteSpace(ssmInputs.EnvironmentalConditions.Source) + ? "" + : JSONFileWriter.GetRelativePath(ssmInputs.EnvironmentalConditions.Source, basePath); + } + + //string.IsNullOrWhiteSpace(auxCfg.SSMInputs.Technologies.Source) //? "" //: JSONFileWriter.GetRelativePath(auxCfg.SSMInputs.Technologies.Source, basePath); body["Actuations"] = new Dictionary<string, object>() { @@ -152,7 +155,7 @@ namespace TUGraz.VectoCore.OutputData.FileIO - public static bool SaveSSMConfig(ISSMInputs ssmInput, string filePath) + public static bool SaveSSMConfig(ISSMDeclarationInputs ssmInput, string filePath) { var returnValue = true; try { @@ -177,7 +180,7 @@ namespace TUGraz.VectoCore.OutputData.FileIO return returnValue; } - private static Dictionary<string, object> SaveGenInputs(ISSMInputs ssmInputs) + private static Dictionary<string, object> SaveGenInputs(ISSMDeclarationInputs ssmInputs) { var retVal = new Dictionary<string, object>(); diff --git a/VectoCore/VectoCore/OutputData/FileIO/JSONFileWriter.cs b/VectoCore/VectoCore/OutputData/FileIO/JSONFileWriter.cs index b3c0c8b786..e4ae6af38d 100644 --- a/VectoCore/VectoCore/OutputData/FileIO/JSONFileWriter.cs +++ b/VectoCore/VectoCore/OutputData/FileIO/JSONFileWriter.cs @@ -623,11 +623,6 @@ public class JSONFileWriter : IOutputFileWriter body.Add("HybridStrategyParams", GetRelativePath(input.JobInputData.HybridStrategyParameters.Source, basePath)); var aux = job.Vehicle.Components.AuxiliaryInputData; - // AA-TB - // ADVANCED AUXILIARIES - body.Add("AuxiliaryAssembly", aux.AuxiliaryAssembly.GetName()); - body.Add("AuxiliaryVersion", aux.AuxiliaryVersion); - body.Add("AdvancedAuxiliaryFilePath", GetRelativePath(aux.AdvancedAuxiliaryFilePath, basePath)); var pAdd = 0.0; var pAddEl = 0.0; @@ -936,12 +931,6 @@ public class JSONFileWriter : IOutputFileWriter var aux = job.Vehicle.Components.AuxiliaryInputData; - // AA-TB - // ADVANCED AUXILIARIES - body.Add("AuxiliaryAssembly", aux.AuxiliaryAssembly.GetName()); - body.Add("AuxiliaryVersion", aux.AuxiliaryVersion); - body.Add("AdvancedAuxiliaryFilePath", GetRelativePath(aux.AdvancedAuxiliaryFilePath, basePath)); - var pAdd = 0.0; var auxList = new List<object>(); foreach (var auxEntry in aux.Auxiliaries) { @@ -1119,4 +1108,39 @@ public class JSONFileWriter : IOutputFileWriter }; WriteFile(header, body, filePath); } + + public void SaveBusAuxEngineeringParameters(IBusAuxiliariesEngineeringData busAux, string filePath, bool declMode) + { + var header = GetHeader(HybridStrategyParamsVersion); + + + var ps = new Dictionary<string, object>() { + {"CompressorMap", GetRelativePath(busAux.PneumaticSystem.CompressorMap.Source, Path.GetDirectoryName(filePath))}, + {"AverageAirDemand", busAux.PneumaticSystem.AverageAirConsumed.Value()}, + {"SmartAirCompression", busAux.PneumaticSystem.SmartAirCompression}, + {"GearRatio", busAux.PneumaticSystem.GearRatio}, + }; + var es = new Dictionary<string, object>() { + {"AlternatorEfficiency", busAux.ElectricSystem.AlternatorEfficiency}, + {"CurrentDemand", busAux.ElectricSystem.CurrentDemand.Value()}, + {"CurrentDemandEngineOffDriving", busAux.ElectricSystem.CurrentDemandEngineOffDriving.Value()}, + {"CurrentDemandEngineOffStandstill", busAux.ElectricSystem.CurrentDemandEngineOffStandstill.Value()}, + {"SmartElectric", busAux.ElectricSystem.SmartElectric}, + {"ElectricStorageCapacity", busAux.ElectricSystem.ElectricStorageCapacity.ConvertToWattHour().Value}, + { "MaxAlternatorPower", busAux.ElectricSystem.MaxAlternatorPower.Value()}, + }; + var hvac = new Dictionary<string, object>() { + {"ElectricPowerDemand", busAux.HVACData.ElectricalPowerDemand.Value()}, + {"MechanicalPowerDemand", busAux.HVACData.MechanicalPowerDemand.Value()}, + {"AuxHeaterPower", busAux.HVACData.AuxHeaterPower.Value()}, + { "AverageHeatingDemand", busAux.HVACData.AverageHeatingDemand.Value() / 1e6} + }; + + var body = new Dictionary<string, object>() { + {"PneumaticSystem", ps}, + {"ElectricSystem", es}, + { "HVAC", hvac} + }; + WriteFile(header, body, filePath); + } } diff --git a/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs b/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs index 52289f5ba8..571a03d390 100644 --- a/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs +++ b/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs @@ -804,7 +804,8 @@ namespace TUGraz.VectoCore.OutputData { WriteVehicleData(runData, row); - if (runData.BusAuxiliaries != null) { + if (runData.BusAuxiliaries != null && runData.BusAuxiliaries.InputData != null) { + // only write in declaration mode - if input data is set // subtract driver! row[Fields.PassengerCount] = runData.VehicleData.PassengerCount; } @@ -967,9 +968,12 @@ namespace TUGraz.VectoCore.OutputData return; } - row[string.Format(Fields.AUX_TECH_FORMAT, Constants.Auxiliaries.IDs.HeatingVentilationAirCondition)] = busAux.SSMInputs.HVACTechnology; - row[string.Format(Fields.AUX_TECH_FORMAT, Constants.Auxiliaries.IDs.ElectricSystem)] = string.Join("/", busAux.ElectricalUserInputsConfig.AlternatorMap.Technologies); - row[string.Format(Fields.AUX_TECH_FORMAT, Constants.Auxiliaries.IDs.PneumaticSystem)] = busAux.PneumaticUserInputsConfig.CompressorMap.Technology; + row[string.Format(Fields.AUX_TECH_FORMAT, Constants.Auxiliaries.IDs.HeatingVentilationAirCondition)] = + busAux.SSMInputs is ISSMDeclarationInputs inputs ? inputs.HVACTechnology : "engineering mode"; + row[string.Format(Fields.AUX_TECH_FORMAT, Constants.Auxiliaries.IDs.ElectricSystem)] = + string.Join("/", busAux.ElectricalUserInputsConfig.AlternatorMap.Technologies); + row[string.Format(Fields.AUX_TECH_FORMAT, Constants.Auxiliaries.IDs.PneumaticSystem)] = + busAux.PneumaticUserInputsConfig.CompressorMap.Technology; } private static void WriteAngledriveData(AngledriveData data, DataRow row) diff --git a/VectoCore/VectoCore/VectoCore.csproj b/VectoCore/VectoCore/VectoCore.csproj index aaa45ca0a6..3d40688ae3 100644 --- a/VectoCore/VectoCore/VectoCore.csproj +++ b/VectoCore/VectoCore/VectoCore.csproj @@ -141,6 +141,7 @@ <Compile Include="InputData\FileIO\JSON\BusAuxiliaryInputData.cs" /> <Compile Include="InputData\FileIO\JSON\IJSONVehicleComponents.cs" /> <Compile Include="InputData\FileIO\JSON\JSONBattery.cs" /> + <Compile Include="InputData\FileIO\JSON\JSONBusAuxiliariesEngineeringData.cs" /> <Compile Include="InputData\FileIO\JSON\JSONComponentInputData.cs" /> <Compile Include="InputData\FileIO\JSON\JSONElectricMotor.cs" /> <Compile Include="InputData\FileIO\JSON\JsonExtensionMethods.cs" /> diff --git a/VectoCore/VectoCoreTest/Integration/CompletedBus/CompletedBusFactorMethodTest.cs b/VectoCore/VectoCoreTest/Integration/CompletedBus/CompletedBusFactorMethodTest.cs index faeaecdfbb..2972d47f22 100644 --- a/VectoCore/VectoCoreTest/Integration/CompletedBus/CompletedBusFactorMethodTest.cs +++ b/VectoCore/VectoCoreTest/Integration/CompletedBus/CompletedBusFactorMethodTest.cs @@ -654,8 +654,8 @@ namespace TUGraz.VectoCore.Tests.Integration.CompletedBus private void AssertSSMBusParameters(RelatedRun relatedRun, int currentIndex) { - var genericBusParam = relatedRun.VectoRunDataGenericBody.BusAuxiliaries.SSMInputs.BusParameters; - var specificBusParam = relatedRun.VectoRunDataSpezificBody.BusAuxiliaries.SSMInputs.BusParameters; + var genericBusParam = (relatedRun.VectoRunDataGenericBody.BusAuxiliaries.SSMInputs as ISSMDeclarationInputs).BusParameters; + var specificBusParam = (relatedRun.VectoRunDataSpezificBody.BusAuxiliaries.SSMInputs as ISSMDeclarationInputs).BusParameters; AssertPassengerCount(genericBusParam.NumberOfPassengers, specificBusParam.NumberOfPassengers, currentIndex); @@ -703,8 +703,8 @@ namespace TUGraz.VectoCore.Tests.Integration.CompletedBus private void AssertTechnologyBenefits(RelatedRun relatedRun) { - var genericTechnolgyBenefit = relatedRun.VectoRunDataGenericBody.BusAuxiliaries.SSMInputs.Technologies; - var specificTechnolgyBenefit = relatedRun.VectoRunDataSpezificBody.BusAuxiliaries.SSMInputs.Technologies; + var genericTechnolgyBenefit = (relatedRun.VectoRunDataGenericBody.BusAuxiliaries.SSMInputs as ISSMDeclarationInputs).Technologies; + var specificTechnolgyBenefit = (relatedRun.VectoRunDataSpezificBody.BusAuxiliaries.SSMInputs as ISSMDeclarationInputs).Technologies; Assert.AreEqual(0.0, genericTechnolgyBenefit.CValueVariation); Assert.AreEqual(0.02, genericTechnolgyBenefit.HValueVariation); @@ -725,8 +725,8 @@ namespace TUGraz.VectoCore.Tests.Integration.CompletedBus private void AssertBoundaryConditions(RelatedRun relatedRun) { - var genericBound = relatedRun.VectoRunDataGenericBody.BusAuxiliaries.SSMInputs.BoundaryConditions; - var specificBound = relatedRun.VectoRunDataGenericBody.BusAuxiliaries.SSMInputs.BoundaryConditions; + var genericBound = (relatedRun.VectoRunDataGenericBody.BusAuxiliaries.SSMInputs as ISSMDeclarationInputs).BoundaryConditions; + var specificBound = (relatedRun.VectoRunDataGenericBody.BusAuxiliaries.SSMInputs as ISSMDeclarationInputs).BoundaryConditions; Assert.AreEqual(Constants.BusAuxiliaries.SteadyStateModel.GFactor, genericBound.GFactor); Assert.AreEqual(genericBound.GFactor, specificBound.GFactor); @@ -759,8 +759,8 @@ namespace TUGraz.VectoCore.Tests.Integration.CompletedBus private void AssertEnvironmentalConditions(RelatedRun relatedRun) { - var genericEnv = relatedRun.VectoRunDataGenericBody.BusAuxiliaries.SSMInputs.EnvironmentalConditions; - var specificEnv = relatedRun.VectoRunDataSpezificBody.BusAuxiliaries.SSMInputs.EnvironmentalConditions; + var genericEnv = (relatedRun.VectoRunDataGenericBody.BusAuxiliaries.SSMInputs as ISSMDeclarationInputs).EnvironmentalConditions; + var specificEnv = (relatedRun.VectoRunDataSpezificBody.BusAuxiliaries.SSMInputs as ISSMDeclarationInputs).EnvironmentalConditions; Assert.AreEqual(Constants.BusAuxiliaries.SteadyStateModel.DefaultSolar, genericEnv.DefaultConditions.Solar); Assert.AreEqual(genericEnv.DefaultConditions.Solar, specificEnv.DefaultConditions.Solar); diff --git a/VectoCore/VectoCoreTest/Models/EngineeringMode/EngineeringModeBusAuxTest.cs b/VectoCore/VectoCoreTest/Models/EngineeringMode/EngineeringModeBusAuxTest.cs new file mode 100644 index 0000000000..c9ba6a19f4 --- /dev/null +++ b/VectoCore/VectoCoreTest/Models/EngineeringMode/EngineeringModeBusAuxTest.cs @@ -0,0 +1,94 @@ +using System.IO; +using System.Linq; +using Ninject; +using NUnit.Framework; +using NUnit.Framework.Internal; +using TUGraz.VectoCommon.Models; +using TUGraz.VectoCore.InputData.FileIO.JSON; +using TUGraz.VectoCore.InputData.FileIO.XML; +using TUGraz.VectoCore.Models.Simulation.Impl; +using TUGraz.VectoCore.OutputData; +using TUGraz.VectoCore.OutputData.FileIO; + +namespace TUGraz.VectoCore.Tests.Models.EngineeringMode +{ + [TestFixture] + public class EngineeringModeBusAuxTest + { + protected IXMLInputDataReader xmlInputReader; + private IKernel _kernel; + + + [OneTimeSetUp] + public void RunBeforeAnyTests() + { + Directory.SetCurrentDirectory(TestContext.CurrentContext.TestDirectory); + _kernel = new StandardKernel(new VectoNinjectModule()); + xmlInputReader = _kernel.Get<IXMLInputDataReader>(); + } + + const string JobFile = @"TestData\Integration\Buses\EngineeringMode\InterurbanBus_ENG_BusAux.vecto"; + const string JobFile_SmartES = @"TestData\Integration\Buses\EngineeringMode\InterurbanBus_ENG_BusAux_SmartES.vecto"; + const string JobFile_SmartPS = @"TestData\Integration\Buses\EngineeringMode\InterurbanBus_ENG_BusAux_SmartPS.vecto"; + const string JobFile_SmartES_SmartPS = @"TestData\Integration\Buses\EngineeringMode\InterurbanBus_ENG_BusAux_SmartES-SmartPS.vecto"; + + [ + TestCase(JobFile, 0, TestName = "InterurbanBus ENG BusAux NonSmart Interurban"), + TestCase(JobFile, 1, TestName = "InterurbanBus ENG BusAux NonSmart Coach"), + TestCase(JobFile, 2, TestName = "InterurbanBus ENG BusAux NonSmart Urban"), + TestCase(JobFile, 3, TestName = "InterurbanBus ENG BusAux NonSmart Suburban"), + TestCase(JobFile, 4, TestName = "InterurbanBus ENG BusAux NonSmart HeavyUrban"), + + TestCase(JobFile_SmartES, 0, TestName = "InterurbanBus ENG BusAux Smart-ES Interurban"), + TestCase(JobFile_SmartES, 1, TestName = "InterurbanBus ENG BusAux Smart-ES Coach"), + TestCase(JobFile_SmartES, 2, TestName = "InterurbanBus ENG BusAux Smart-ES Urban"), + TestCase(JobFile_SmartES, 3, TestName = "InterurbanBus ENG BusAux Smart-ES Suburban"), + TestCase(JobFile_SmartES, 4, TestName = "InterurbanBus ENG BusAux Smart-ES HeavyUrban"), + + TestCase(JobFile_SmartPS, 0, TestName = "InterurbanBus ENG BusAux Smart-PS Interurban"), + TestCase(JobFile_SmartPS, 1, TestName = "InterurbanBus ENG BusAux Smart-PS Coach"), + TestCase(JobFile_SmartPS, 2, TestName = "InterurbanBus ENG BusAux Smart-PS Urban"), + TestCase(JobFile_SmartPS, 3, TestName = "InterurbanBus ENG BusAux Smart-PS Suburban"), + TestCase(JobFile_SmartPS, 4, TestName = "InterurbanBus ENG BusAux Smart-PS HeavyUrban"), + + TestCase(JobFile_SmartES_SmartPS, 0, TestName = "InterurbanBus ENG BusAux Smart-ES Smart-PS Interurban"), + TestCase(JobFile_SmartES_SmartPS, 1, TestName = "InterurbanBus ENG BusAux Smart-ES Smart-PS Coach"), + TestCase(JobFile_SmartES_SmartPS, 2, TestName = "InterurbanBus ENG BusAux Smart-ES Smart-PS Urban"), + TestCase(JobFile_SmartES_SmartPS, 3, TestName = "InterurbanBus ENG BusAux Smart-ES Smart-PS Suburban"), + TestCase(JobFile_SmartES_SmartPS, 4, TestName = "InterurbanBus ENG BusAux Smart-ES Smart-PS HeavyUrban"), + ] + public void InterurbanBus_BusAuxTest(string jobFile, int runIdx) + { + var writer = new FileOutputWriter(jobFile); + var inputData = Path.GetExtension(jobFile) == ".xml" + ? xmlInputReader.CreateDeclaration(jobFile) + //? new XMLDeclarationInputDataProvider(relativeJobPath, true) + : JSONInputDataFactory.ReadJsonJob(jobFile); + + var sumContainer = new SummaryDataContainer(writer); + var factory = new SimulatorFactory(ExecutionMode.Engineering, inputData, writer) { + WriteModalResults = true, + SumData = sumContainer, + //ActualModalData = true, + Validate = false + }; + + var jobContainer = new JobContainer(sumContainer); + + var run = factory.SimulationRuns().ToArray()[runIdx]; + + Assert.NotNull(run); + + jobContainer.AddRun(run); + + var pt = run.GetContainer(); + Assert.NotNull(pt); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + jobContainer.Execute(); + jobContainer.WaitFinished(); + } + } +} \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/250kW.vfld b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/250kW.vfld new file mode 100644 index 0000000000..ca060a2738 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/250kW.vfld @@ -0,0 +1,11 @@ +engine speed [1/min],full load torque [Nm],motoring torque [Nm],PT1 [s] +600,1114,-106,0.24 +800,1377,-110,0.47 +1000,1641,-117,0.58 +1200,1641,-127,0.53 +1400,1641,-144,0.46 +1600,1483,-167,0.349999999 +1800,1325,-188,0.2 +2000,964,-214,0.11 +2100,784,-228,0.11 +2200,0,-241,0.11 diff --git a/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/250kW.vmap b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/250kW.vmap new file mode 100644 index 0000000000..8dfef1b96d --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/250kW.vmap @@ -0,0 +1,107 @@ +engine speed [rpm],torque [Nm],fuel consumption [g/h] +600,-107,0 +600,0,1042 +600,143,2398 +600,286,3927 +600,429,5786 +600,571,7152 +600,714,8621 +600,857,10285 +600,916,10963 +800,-111,0 +800,0,1342 +800,143,3061 +800,286,5249 +800,429,7184 +800,571,9346 +800,714,11438 +800,857,13741 +800,1000,16017 +800,1143,18284 +800,1279,20644 +1000,-118,0 +1000,0,2046 +1000,143,4259 +1000,286,6569 +1000,429,8823 +1000,571,11402 +1000,714,14187 +1000,857,16805 +1000,1000,19428 +1000,1143,22258 +1000,1286,25071 +1000,1428,28111 +1000,1571,31511 +1000,1643,33451 +1200,-128,0 +1200,0,2362 +1200,143,4926 +1200,286,7607 +1200,429,10460 +1200,571,13652 +1200,714,16910 +1200,857,20126 +1200,1000,23163 +1200,1143,26426 +1200,1286,29776 +1200,1428,33507 +1200,1571,36984 +1200,1643,39233 +1400,-145,0 +1400,0,3075 +1400,143,5816 +1400,286,9087 +1400,429,12515 +1400,571,15918 +1400,714,19350 +1400,857,23238 +1400,1000,26959 +1400,1143,30850 +1400,1286,35320 +1400,1428,39817 +1400,1571,43618 +1400,1643,45979 +1600,-168,0 +1600,0,3720 +1600,143,6906 +1600,286,10597 +1600,429,14375 +1600,571,18494 +1600,714,22591 +1600,857,26603 +1600,1000,31032 +1600,1143,35533 +1600,1286,40724 +1600,1428,45648 +1600,1485,47509 +1800,-189,0 +1800,0,4577 +1800,143,8411 +1800,286,12370 +1800,429,16708 +1800,571,21784 +1800,714,25982 +1800,857,30768 +1800,1000,35889 +1800,1143,41021 +1800,1286,46536 +1800,1326,48262 +2000,-215,0 +2000,0,6519 +2000,143,10586 +2000,286,14752 +2000,429,19338 +2000,571,24417 +2000,714,30595 +2000,857,36438 +2000,966,40437 +2100,-229,0 +2100,0,7478 +2100,143,11665 +2100,286,15995 +2100,429,20651 +2100,571,25510 +2100,714,32599 +2100,786,36177 +2200,-242,0 +2200,0,9602 diff --git a/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/Axle_Coach.vtlm b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/Axle_Coach.vtlm new file mode 100644 index 0000000000..45001b70aa --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/Axle_Coach.vtlm @@ -0,0 +1,883 @@ +Input Speed [rpm],Input Torque [Nm],Torque Loss [Nm] +0,-6122.4,38.5 +0,-5714.3,40.5 +0,-5306.1,42.6 +0,-4898.0,46.8 +0,-4489.8,50.9 +0,-4081.6,55.1 +0,-3673.5,59.3 +0,-3265.3,63.4 +0,-2857.1,67.6 +0,-2449.0,71.8 +0,-2040.8,75.9 +0,-1836.7,71.8 +0,-1632.7,67.6 +0,-1428.6,63.4 +0,-1224.5,59.3 +0,-1020.4,55.1 +0,-816.3,50.9 +0,-612.2,46.8 +0,-408.2,42.6 +0,-306.1,40.5 +0,-204.1,38.5 +0,-153.1,37.4 +0,-102.0,36.4 +0,-51.0,35.3 +0,0.0,35.3 +0,86.3,35.3 +0,138.4,36.4 +0,190.5,37.4 +0,242.5,38.5 +0,346.7,40.5 +0,450.8,42.6 +0,659.0,46.8 +0,867.3,50.9 +0,1075.5,55.1 +0,1283.8,59.3 +0,1492.0,63.4 +0,1700.3,67.6 +0,1908.5,71.8 +0,2116.8,75.9 +0,2533.2,84.3 +0,2949.7,92.6 +0,3366.2,100.9 +0,3782.7,109.3 +0,4199.2,117.6 +0,4615.7,125.9 +0,5032.2,134.2 +0,5448.7,142.6 +0,5865.2,150.9 +0,6281.7,159.2 +245,-6122.4,38.5 +245,-5714.3,40.5 +245,-5306.1,42.6 +245,-4898.0,46.8 +245,-4489.8,50.9 +245,-4081.6,55.1 +245,-3673.5,59.3 +245,-3265.3,63.4 +245,-2857.1,67.6 +245,-2449.0,71.8 +245,-2040.8,75.9 +245,-1836.7,71.8 +245,-1632.7,67.6 +245,-1428.6,63.4 +245,-1224.5,59.3 +245,-1020.4,55.1 +245,-816.3,50.9 +245,-612.2,46.8 +245,-408.2,42.6 +245,-306.1,40.5 +245,-204.1,38.5 +245,-153.1,37.4 +245,-102.0,36.4 +245,-51.0,35.3 +245,0.0,35.3 +245,86.3,35.3 +245,138.4,36.4 +245,190.5,37.4 +245,242.5,38.5 +245,346.7,40.5 +245,450.8,42.6 +245,659.0,46.8 +245,867.3,50.9 +245,1075.5,55.1 +245,1283.8,59.3 +245,1492.0,63.4 +245,1700.3,67.6 +245,1908.5,71.8 +245,2116.8,75.9 +245,2533.2,84.3 +245,2949.7,92.6 +245,3366.2,100.9 +245,3782.7,109.3 +245,4199.2,117.6 +245,4615.7,125.9 +245,5032.2,134.2 +245,5448.7,142.6 +245,5865.2,150.9 +245,6281.7,159.2 +490,-6122.4,38.5 +490,-5714.3,40.5 +490,-5306.1,42.6 +490,-4898.0,46.8 +490,-4489.8,50.9 +490,-4081.6,55.1 +490,-3673.5,59.3 +490,-3265.3,63.4 +490,-2857.1,67.6 +490,-2449.0,71.8 +490,-2040.8,75.9 +490,-1836.7,71.8 +490,-1632.7,67.6 +490,-1428.6,63.4 +490,-1224.5,59.3 +490,-1020.4,55.1 +490,-816.3,50.9 +490,-612.2,46.8 +490,-408.2,42.6 +490,-306.1,40.5 +490,-204.1,38.5 +490,-153.1,37.4 +490,-102.0,36.4 +490,-51.0,35.3 +490,0.0,35.3 +490,86.3,35.3 +490,138.4,36.4 +490,190.5,37.4 +490,242.5,38.5 +490,346.7,40.5 +490,450.8,42.6 +490,659.0,46.8 +490,867.3,50.9 +490,1075.5,55.1 +490,1283.8,59.3 +490,1492.0,63.4 +490,1700.3,67.6 +490,1908.5,71.8 +490,2116.8,75.9 +490,2533.2,84.3 +490,2949.7,92.6 +490,3366.2,100.9 +490,3782.7,109.3 +490,4199.2,117.6 +490,4615.7,125.9 +490,5032.2,134.2 +490,5448.7,142.6 +490,5865.2,150.9 +490,6281.7,159.2 +735,-6122.4,38.5 +735,-5714.3,40.5 +735,-5306.1,42.6 +735,-4898.0,46.8 +735,-4489.8,50.9 +735,-4081.6,55.1 +735,-3673.5,59.3 +735,-3265.3,63.4 +735,-2857.1,67.6 +735,-2449.0,71.8 +735,-2040.8,75.9 +735,-1836.7,71.8 +735,-1632.7,67.6 +735,-1428.6,63.4 +735,-1224.5,59.3 +735,-1020.4,55.1 +735,-816.3,50.9 +735,-612.2,46.8 +735,-408.2,42.6 +735,-306.1,40.5 +735,-204.1,38.5 +735,-153.1,37.4 +735,-102.0,36.4 +735,-51.0,35.3 +735,0.0,35.3 +735,86.3,35.3 +735,138.4,36.4 +735,190.5,37.4 +735,242.5,38.5 +735,346.7,40.5 +735,450.8,42.6 +735,659.0,46.8 +735,867.3,50.9 +735,1075.5,55.1 +735,1283.8,59.3 +735,1492.0,63.4 +735,1700.3,67.6 +735,1908.5,71.8 +735,2116.8,75.9 +735,2533.2,84.3 +735,2949.7,92.6 +735,3366.2,100.9 +735,3782.7,109.3 +735,4199.2,117.6 +735,4615.7,125.9 +735,5032.2,134.2 +735,5448.7,142.6 +735,5865.2,150.9 +735,6281.7,159.2 +980,-6122.4,38.5 +980,-5714.3,40.5 +980,-5306.1,42.6 +980,-4898.0,46.8 +980,-4489.8,50.9 +980,-4081.6,55.1 +980,-3673.5,59.3 +980,-3265.3,63.4 +980,-2857.1,67.6 +980,-2449.0,71.8 +980,-2040.8,75.9 +980,-1836.7,71.8 +980,-1632.7,67.6 +980,-1428.6,63.4 +980,-1224.5,59.3 +980,-1020.4,55.1 +980,-816.3,50.9 +980,-612.2,46.8 +980,-408.2,42.6 +980,-306.1,40.5 +980,-204.1,38.5 +980,-153.1,37.4 +980,-102.0,36.4 +980,-51.0,35.3 +980,0.0,35.3 +980,86.3,35.3 +980,138.4,36.4 +980,190.5,37.4 +980,242.5,38.5 +980,346.7,40.5 +980,450.8,42.6 +980,659.0,46.8 +980,867.3,50.9 +980,1075.5,55.1 +980,1283.8,59.3 +980,1492.0,63.4 +980,1700.3,67.6 +980,1908.5,71.8 +980,2116.8,75.9 +980,2533.2,84.3 +980,2949.7,92.6 +980,3366.2,100.9 +980,3782.7,109.3 +980,4199.2,117.6 +980,4615.7,125.9 +980,5032.2,134.2 +980,5448.7,142.6 +980,5865.2,150.9 +980,6281.7,159.2 +1225,-6122.4,38.5 +1225,-5714.3,40.5 +1225,-5306.1,42.6 +1225,-4898.0,46.8 +1225,-4489.8,50.9 +1225,-4081.6,55.1 +1225,-3673.5,59.3 +1225,-3265.3,63.4 +1225,-2857.1,67.6 +1225,-2449.0,71.8 +1225,-2040.8,75.9 +1225,-1836.7,71.8 +1225,-1632.7,67.6 +1225,-1428.6,63.4 +1225,-1224.5,59.3 +1225,-1020.4,55.1 +1225,-816.3,50.9 +1225,-612.2,46.8 +1225,-408.2,42.6 +1225,-306.1,40.5 +1225,-204.1,38.5 +1225,-153.1,37.4 +1225,-102.0,36.4 +1225,-51.0,35.3 +1225,0.0,35.3 +1225,86.3,35.3 +1225,138.4,36.4 +1225,190.5,37.4 +1225,242.5,38.5 +1225,346.7,40.5 +1225,450.8,42.6 +1225,659.0,46.8 +1225,867.3,50.9 +1225,1075.5,55.1 +1225,1283.8,59.3 +1225,1492.0,63.4 +1225,1700.3,67.6 +1225,1908.5,71.8 +1225,2116.8,75.9 +1225,2533.2,84.3 +1225,2949.7,92.6 +1225,3366.2,100.9 +1225,3782.7,109.3 +1225,4199.2,117.6 +1225,4615.7,125.9 +1225,5032.2,134.2 +1225,5448.7,142.6 +1225,5865.2,150.9 +1225,6281.7,159.2 +1470,-6122.4,38.5 +1470,-5714.3,40.5 +1470,-5306.1,42.6 +1470,-4898.0,46.8 +1470,-4489.8,50.9 +1470,-4081.6,55.1 +1470,-3673.5,59.3 +1470,-3265.3,63.4 +1470,-2857.1,67.6 +1470,-2449.0,71.8 +1470,-2040.8,75.9 +1470,-1836.7,71.8 +1470,-1632.7,67.6 +1470,-1428.6,63.4 +1470,-1224.5,59.3 +1470,-1020.4,55.1 +1470,-816.3,50.9 +1470,-612.2,46.8 +1470,-408.2,42.6 +1470,-306.1,40.5 +1470,-204.1,38.5 +1470,-153.1,37.4 +1470,-102.0,36.4 +1470,-51.0,35.3 +1470,0.0,35.3 +1470,86.3,35.3 +1470,138.4,36.4 +1470,190.5,37.4 +1470,242.5,38.5 +1470,346.7,40.5 +1470,450.8,42.6 +1470,659.0,46.8 +1470,867.3,50.9 +1470,1075.5,55.1 +1470,1283.8,59.3 +1470,1492.0,63.4 +1470,1700.3,67.6 +1470,1908.5,71.8 +1470,2116.8,75.9 +1470,2533.2,84.3 +1470,2949.7,92.6 +1470,3366.2,100.9 +1470,3782.7,109.3 +1470,4199.2,117.6 +1470,4615.7,125.9 +1470,5032.2,134.2 +1470,5448.7,142.6 +1470,5865.2,150.9 +1470,6281.7,159.2 +1715,-6122.4,38.5 +1715,-5714.3,40.5 +1715,-5306.1,42.6 +1715,-4898.0,46.8 +1715,-4489.8,50.9 +1715,-4081.6,55.1 +1715,-3673.5,59.3 +1715,-3265.3,63.4 +1715,-2857.1,67.6 +1715,-2449.0,71.8 +1715,-2040.8,75.9 +1715,-1836.7,71.8 +1715,-1632.7,67.6 +1715,-1428.6,63.4 +1715,-1224.5,59.3 +1715,-1020.4,55.1 +1715,-816.3,50.9 +1715,-612.2,46.8 +1715,-408.2,42.6 +1715,-306.1,40.5 +1715,-204.1,38.5 +1715,-153.1,37.4 +1715,-102.0,36.4 +1715,-51.0,35.3 +1715,0.0,35.3 +1715,86.3,35.3 +1715,138.4,36.4 +1715,190.5,37.4 +1715,242.5,38.5 +1715,346.7,40.5 +1715,450.8,42.6 +1715,659.0,46.8 +1715,867.3,50.9 +1715,1075.5,55.1 +1715,1283.8,59.3 +1715,1492.0,63.4 +1715,1700.3,67.6 +1715,1908.5,71.8 +1715,2116.8,75.9 +1715,2533.2,84.3 +1715,2949.7,92.6 +1715,3366.2,100.9 +1715,3782.7,109.3 +1715,4199.2,117.6 +1715,4615.7,125.9 +1715,5032.2,134.2 +1715,5448.7,142.6 +1715,5865.2,150.9 +1715,6281.7,159.2 +1960,-6122.4,38.5 +1960,-5714.3,40.5 +1960,-5306.1,42.6 +1960,-4898.0,46.8 +1960,-4489.8,50.9 +1960,-4081.6,55.1 +1960,-3673.5,59.3 +1960,-3265.3,63.4 +1960,-2857.1,67.6 +1960,-2449.0,71.8 +1960,-2040.8,75.9 +1960,-1836.7,71.8 +1960,-1632.7,67.6 +1960,-1428.6,63.4 +1960,-1224.5,59.3 +1960,-1020.4,55.1 +1960,-816.3,50.9 +1960,-612.2,46.8 +1960,-408.2,42.6 +1960,-306.1,40.5 +1960,-204.1,38.5 +1960,-153.1,37.4 +1960,-102.0,36.4 +1960,-51.0,35.3 +1960,0.0,35.3 +1960,86.3,35.3 +1960,138.4,36.4 +1960,190.5,37.4 +1960,242.5,38.5 +1960,346.7,40.5 +1960,450.8,42.6 +1960,659.0,46.8 +1960,867.3,50.9 +1960,1075.5,55.1 +1960,1283.8,59.3 +1960,1492.0,63.4 +1960,1700.3,67.6 +1960,1908.5,71.8 +1960,2116.8,75.9 +1960,2533.2,84.3 +1960,2949.7,92.6 +1960,3366.2,100.9 +1960,3782.7,109.3 +1960,4199.2,117.6 +1960,4615.7,125.9 +1960,5032.2,134.2 +1960,5448.7,142.6 +1960,5865.2,150.9 +1960,6281.7,159.2 +2205,-6122.4,38.5 +2205,-5714.3,40.5 +2205,-5306.1,42.6 +2205,-4898.0,46.8 +2205,-4489.8,50.9 +2205,-4081.6,55.1 +2205,-3673.5,59.3 +2205,-3265.3,63.4 +2205,-2857.1,67.6 +2205,-2449.0,71.8 +2205,-2040.8,75.9 +2205,-1836.7,71.8 +2205,-1632.7,67.6 +2205,-1428.6,63.4 +2205,-1224.5,59.3 +2205,-1020.4,55.1 +2205,-816.3,50.9 +2205,-612.2,46.8 +2205,-408.2,42.6 +2205,-306.1,40.5 +2205,-204.1,38.5 +2205,-153.1,37.4 +2205,-102.0,36.4 +2205,-51.0,35.3 +2205,0.0,35.3 +2205,86.3,35.3 +2205,138.4,36.4 +2205,190.5,37.4 +2205,242.5,38.5 +2205,346.7,40.5 +2205,450.8,42.6 +2205,659.0,46.8 +2205,867.3,50.9 +2205,1075.5,55.1 +2205,1283.8,59.3 +2205,1492.0,63.4 +2205,1700.3,67.6 +2205,1908.5,71.8 +2205,2116.8,75.9 +2205,2533.2,84.3 +2205,2949.7,92.6 +2205,3366.2,100.9 +2205,3782.7,109.3 +2205,4199.2,117.6 +2205,4615.7,125.9 +2205,5032.2,134.2 +2205,5448.7,142.6 +2205,5865.2,150.9 +2205,6281.7,159.2 +2450,-6122.4,38.5 +2450,-5714.3,40.5 +2450,-5306.1,42.6 +2450,-4898.0,46.8 +2450,-4489.8,50.9 +2450,-4081.6,55.1 +2450,-3673.5,59.3 +2450,-3265.3,63.4 +2450,-2857.1,67.6 +2450,-2449.0,71.8 +2450,-2040.8,75.9 +2450,-1836.7,71.8 +2450,-1632.7,67.6 +2450,-1428.6,63.4 +2450,-1224.5,59.3 +2450,-1020.4,55.1 +2450,-816.3,50.9 +2450,-612.2,46.8 +2450,-408.2,42.6 +2450,-306.1,40.5 +2450,-204.1,38.5 +2450,-153.1,37.4 +2450,-102.0,36.4 +2450,-51.0,35.3 +2450,0.0,35.3 +2450,86.3,35.3 +2450,138.4,36.4 +2450,190.5,37.4 +2450,242.5,38.5 +2450,346.7,40.5 +2450,450.8,42.6 +2450,659.0,46.8 +2450,867.3,50.9 +2450,1075.5,55.1 +2450,1283.8,59.3 +2450,1492.0,63.4 +2450,1700.3,67.6 +2450,1908.5,71.8 +2450,2116.8,75.9 +2450,2533.2,84.3 +2450,2949.7,92.6 +2450,3366.2,100.9 +2450,3782.7,109.3 +2450,4199.2,117.6 +2450,4615.7,125.9 +2450,5032.2,134.2 +2450,5448.7,142.6 +2450,5865.2,150.9 +2450,6281.7,159.2 +2695,-6122.4,38.5 +2695,-5714.3,40.5 +2695,-5306.1,42.6 +2695,-4898.0,46.8 +2695,-4489.8,50.9 +2695,-4081.6,55.1 +2695,-3673.5,59.3 +2695,-3265.3,63.4 +2695,-2857.1,67.6 +2695,-2449.0,71.8 +2695,-2040.8,75.9 +2695,-1836.7,71.8 +2695,-1632.7,67.6 +2695,-1428.6,63.4 +2695,-1224.5,59.3 +2695,-1020.4,55.1 +2695,-816.3,50.9 +2695,-612.2,46.8 +2695,-408.2,42.6 +2695,-306.1,40.5 +2695,-204.1,38.5 +2695,-153.1,37.4 +2695,-102.0,36.4 +2695,-51.0,35.3 +2695,0.0,35.3 +2695,86.3,35.3 +2695,138.4,36.4 +2695,190.5,37.4 +2695,242.5,38.5 +2695,346.7,40.5 +2695,450.8,42.6 +2695,659.0,46.8 +2695,867.3,50.9 +2695,1075.5,55.1 +2695,1283.8,59.3 +2695,1492.0,63.4 +2695,1700.3,67.6 +2695,1908.5,71.8 +2695,2116.8,75.9 +2695,2533.2,84.3 +2695,2949.7,92.6 +2695,3366.2,100.9 +2695,3782.7,109.3 +2695,4199.2,117.6 +2695,4615.7,125.9 +2695,5032.2,134.2 +2695,5448.7,142.6 +2695,5865.2,150.9 +2695,6281.7,159.2 +2940,-6122.4,38.5 +2940,-5714.3,40.5 +2940,-5306.1,42.6 +2940,-4898.0,46.8 +2940,-4489.8,50.9 +2940,-4081.6,55.1 +2940,-3673.5,59.3 +2940,-3265.3,63.4 +2940,-2857.1,67.6 +2940,-2449.0,71.8 +2940,-2040.8,75.9 +2940,-1836.7,71.8 +2940,-1632.7,67.6 +2940,-1428.6,63.4 +2940,-1224.5,59.3 +2940,-1020.4,55.1 +2940,-816.3,50.9 +2940,-612.2,46.8 +2940,-408.2,42.6 +2940,-306.1,40.5 +2940,-204.1,38.5 +2940,-153.1,37.4 +2940,-102.0,36.4 +2940,-51.0,35.3 +2940,0.0,35.3 +2940,86.3,35.3 +2940,138.4,36.4 +2940,190.5,37.4 +2940,242.5,38.5 +2940,346.7,40.5 +2940,450.8,42.6 +2940,659.0,46.8 +2940,867.3,50.9 +2940,1075.5,55.1 +2940,1283.8,59.3 +2940,1492.0,63.4 +2940,1700.3,67.6 +2940,1908.5,71.8 +2940,2116.8,75.9 +2940,2533.2,84.3 +2940,2949.7,92.6 +2940,3366.2,100.9 +2940,3782.7,109.3 +2940,4199.2,117.6 +2940,4615.7,125.9 +2940,5032.2,134.2 +2940,5448.7,142.6 +2940,5865.2,150.9 +2940,6281.7,159.2 +3185,-6122.4,38.5 +3185,-5714.3,40.5 +3185,-5306.1,42.6 +3185,-4898.0,46.8 +3185,-4489.8,50.9 +3185,-4081.6,55.1 +3185,-3673.5,59.3 +3185,-3265.3,63.4 +3185,-2857.1,67.6 +3185,-2449.0,71.8 +3185,-2040.8,75.9 +3185,-1836.7,71.8 +3185,-1632.7,67.6 +3185,-1428.6,63.4 +3185,-1224.5,59.3 +3185,-1020.4,55.1 +3185,-816.3,50.9 +3185,-612.2,46.8 +3185,-408.2,42.6 +3185,-306.1,40.5 +3185,-204.1,38.5 +3185,-153.1,37.4 +3185,-102.0,36.4 +3185,-51.0,35.3 +3185,0.0,35.3 +3185,86.3,35.3 +3185,138.4,36.4 +3185,190.5,37.4 +3185,242.5,38.5 +3185,346.7,40.5 +3185,450.8,42.6 +3185,659.0,46.8 +3185,867.3,50.9 +3185,1075.5,55.1 +3185,1283.8,59.3 +3185,1492.0,63.4 +3185,1700.3,67.6 +3185,1908.5,71.8 +3185,2116.8,75.9 +3185,2533.2,84.3 +3185,2949.7,92.6 +3185,3366.2,100.9 +3185,3782.7,109.3 +3185,4199.2,117.6 +3185,4615.7,125.9 +3185,5032.2,134.2 +3185,5448.7,142.6 +3185,5865.2,150.9 +3185,6281.7,159.2 +3430,-6122.4,38.5 +3430,-5714.3,40.5 +3430,-5306.1,42.6 +3430,-4898.0,46.8 +3430,-4489.8,50.9 +3430,-4081.6,55.1 +3430,-3673.5,59.3 +3430,-3265.3,63.4 +3430,-2857.1,67.6 +3430,-2449.0,71.8 +3430,-2040.8,75.9 +3430,-1836.7,71.8 +3430,-1632.7,67.6 +3430,-1428.6,63.4 +3430,-1224.5,59.3 +3430,-1020.4,55.1 +3430,-816.3,50.9 +3430,-612.2,46.8 +3430,-408.2,42.6 +3430,-306.1,40.5 +3430,-204.1,38.5 +3430,-153.1,37.4 +3430,-102.0,36.4 +3430,-51.0,35.3 +3430,0.0,35.3 +3430,86.3,35.3 +3430,138.4,36.4 +3430,190.5,37.4 +3430,242.5,38.5 +3430,346.7,40.5 +3430,450.8,42.6 +3430,659.0,46.8 +3430,867.3,50.9 +3430,1075.5,55.1 +3430,1283.8,59.3 +3430,1492.0,63.4 +3430,1700.3,67.6 +3430,1908.5,71.8 +3430,2116.8,75.9 +3430,2533.2,84.3 +3430,2949.7,92.6 +3430,3366.2,100.9 +3430,3782.7,109.3 +3430,4199.2,117.6 +3430,4615.7,125.9 +3430,5032.2,134.2 +3430,5448.7,142.6 +3430,5865.2,150.9 +3430,6281.7,159.2 +3675,-6122.4,38.5 +3675,-5714.3,40.5 +3675,-5306.1,42.6 +3675,-4898.0,46.8 +3675,-4489.8,50.9 +3675,-4081.6,55.1 +3675,-3673.5,59.3 +3675,-3265.3,63.4 +3675,-2857.1,67.6 +3675,-2449.0,71.8 +3675,-2040.8,75.9 +3675,-1836.7,71.8 +3675,-1632.7,67.6 +3675,-1428.6,63.4 +3675,-1224.5,59.3 +3675,-1020.4,55.1 +3675,-816.3,50.9 +3675,-612.2,46.8 +3675,-408.2,42.6 +3675,-306.1,40.5 +3675,-204.1,38.5 +3675,-153.1,37.4 +3675,-102.0,36.4 +3675,-51.0,35.3 +3675,0.0,35.3 +3675,86.3,35.3 +3675,138.4,36.4 +3675,190.5,37.4 +3675,242.5,38.5 +3675,346.7,40.5 +3675,450.8,42.6 +3675,659.0,46.8 +3675,867.3,50.9 +3675,1075.5,55.1 +3675,1283.8,59.3 +3675,1492.0,63.4 +3675,1700.3,67.6 +3675,1908.5,71.8 +3675,2116.8,75.9 +3675,2533.2,84.3 +3675,2949.7,92.6 +3675,3366.2,100.9 +3675,3782.7,109.3 +3675,4199.2,117.6 +3675,4615.7,125.9 +3675,5032.2,134.2 +3675,5448.7,142.6 +3675,5865.2,150.9 +3675,6281.7,159.2 +3920,-6122.4,38.5 +3920,-5714.3,40.5 +3920,-5306.1,42.6 +3920,-4898.0,46.8 +3920,-4489.8,50.9 +3920,-4081.6,55.1 +3920,-3673.5,59.3 +3920,-3265.3,63.4 +3920,-2857.1,67.6 +3920,-2449.0,71.8 +3920,-2040.8,75.9 +3920,-1836.7,71.8 +3920,-1632.7,67.6 +3920,-1428.6,63.4 +3920,-1224.5,59.3 +3920,-1020.4,55.1 +3920,-816.3,50.9 +3920,-612.2,46.8 +3920,-408.2,42.6 +3920,-306.1,40.5 +3920,-204.1,38.5 +3920,-153.1,37.4 +3920,-102.0,36.4 +3920,-51.0,35.3 +3920,0.0,35.3 +3920,86.3,35.3 +3920,138.4,36.4 +3920,190.5,37.4 +3920,242.5,38.5 +3920,346.7,40.5 +3920,450.8,42.6 +3920,659.0,46.8 +3920,867.3,50.9 +3920,1075.5,55.1 +3920,1283.8,59.3 +3920,1492.0,63.4 +3920,1700.3,67.6 +3920,1908.5,71.8 +3920,2116.8,75.9 +3920,2533.2,84.3 +3920,2949.7,92.6 +3920,3366.2,100.9 +3920,3782.7,109.3 +3920,4199.2,117.6 +3920,4615.7,125.9 +3920,5032.2,134.2 +3920,5448.7,142.6 +3920,5865.2,150.9 +3920,6281.7,159.2 +4165,-6122.4,38.5 +4165,-5714.3,40.5 +4165,-5306.1,42.6 +4165,-4898.0,46.8 +4165,-4489.8,50.9 +4165,-4081.6,55.1 +4165,-3673.5,59.3 +4165,-3265.3,63.4 +4165,-2857.1,67.6 +4165,-2449.0,71.8 +4165,-2040.8,75.9 +4165,-1836.7,71.8 +4165,-1632.7,67.6 +4165,-1428.6,63.4 +4165,-1224.5,59.3 +4165,-1020.4,55.1 +4165,-816.3,50.9 +4165,-612.2,46.8 +4165,-408.2,42.6 +4165,-306.1,40.5 +4165,-204.1,38.5 +4165,-153.1,37.4 +4165,-102.0,36.4 +4165,-51.0,35.3 +4165,0.0,35.3 +4165,86.3,35.3 +4165,138.4,36.4 +4165,190.5,37.4 +4165,242.5,38.5 +4165,346.7,40.5 +4165,450.8,42.6 +4165,659.0,46.8 +4165,867.3,50.9 +4165,1075.5,55.1 +4165,1283.8,59.3 +4165,1492.0,63.4 +4165,1700.3,67.6 +4165,1908.5,71.8 +4165,2116.8,75.9 +4165,2533.2,84.3 +4165,2949.7,92.6 +4165,3366.2,100.9 +4165,3782.7,109.3 +4165,4199.2,117.6 +4165,4615.7,125.9 +4165,5032.2,134.2 +4165,5448.7,142.6 +4165,5865.2,150.9 +4165,6281.7,159.2 diff --git a/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/BusAuxData.vaux b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/BusAuxData.vaux new file mode 100644 index 0000000000..d60995c0f2 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/BusAuxData.vaux @@ -0,0 +1,31 @@ +{ + "Header": { + "CreatedBy": " ()", + "Date": "2016-10-13T10:28:40.9616564Z", + "AppVersion": "3", + "FileVersion": 1 + }, + "Body": { + "PneumaticSystem": { + "CompressorMap": "DEFAULT_3-Cylinder_2-Stage_598ccm.acmp", + "AverageAirDemand": 0.7663, + "SmartAirCompression": false, + "GearRatio": 1 + }, + "ElectricSystem": { + "AlternatorEfficiency": 0.7, + "CurrentDemand": 54.181, + "CurrentDemandEngineOffDriving": 54.181, + "CurrentDemandEngineOffStandstill": 54.181, + "SmartElectric": false, + "ElectricStorageCapacity": 0, + "MaxAlternatorPower": 10000, + }, + "HVAC": { + "ElectricPowerDemand": 469.76, + "MechanicalPowerDemand": 181.28, + "AuxHeaterPower": 5000, + "AverageHeatingDemand": 0 + } + } +} \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/BusAuxData_SmartES-SmartPS.vaux b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/BusAuxData_SmartES-SmartPS.vaux new file mode 100644 index 0000000000..784e9d5d3e --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/BusAuxData_SmartES-SmartPS.vaux @@ -0,0 +1,31 @@ +{ + "Header": { + "CreatedBy": " ()", + "Date": "2016-10-13T10:28:40.9616564Z", + "AppVersion": "3", + "FileVersion": 1 + }, + "Body": { + "PneumaticSystem": { + "CompressorMap": "DEFAULT_3-Cylinder_2-Stage_598ccm.acmp", + "AverageAirDemand": 0.7663, + "SmartAirCompression": true, + "GearRatio": 1 + }, + "ElectricSystem": { + "AlternatorEfficiency": 0.7, + "CurrentDemand": 54.181, + "CurrentDemandEngineOffDriving": 54.181, + "CurrentDemandEngineOffStandstill": 54.181, + "SmartElectric": true, + "ElectricStorageCapacity": 50, + "MaxAlternatorPower": 35000, + }, + "HVAC": { + "ElectricPowerDemand": 469.76, + "MechanicalPowerDemand": 181.28, + "AuxHeaterPower": 5000, + "AverageHeatingDemand": 0 + } + } +} \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/BusAuxData_SmartES.vaux b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/BusAuxData_SmartES.vaux new file mode 100644 index 0000000000..43427efe16 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/BusAuxData_SmartES.vaux @@ -0,0 +1,31 @@ +{ + "Header": { + "CreatedBy": " ()", + "Date": "2016-10-13T10:28:40.9616564Z", + "AppVersion": "3", + "FileVersion": 1 + }, + "Body": { + "PneumaticSystem": { + "CompressorMap": "DEFAULT_3-Cylinder_2-Stage_598ccm.acmp", + "AverageAirDemand": 0.7663, + "SmartAirCompression": false, + "GearRatio": 1 + }, + "ElectricSystem": { + "AlternatorEfficiency": 0.7, + "CurrentDemand": 54.181, + "CurrentDemandEngineOffDriving": 54.181, + "CurrentDemandEngineOffStandstill": 54.181, + "SmartElectric": true, + "ElectricStorageCapacity": 50, + "MaxAlternatorPower": 35000, + }, + "HVAC": { + "ElectricPowerDemand": 469.76, + "MechanicalPowerDemand": 181.28, + "AuxHeaterPower": 5000, + "AverageHeatingDemand": 0 + } + } +} \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/BusAuxData_SmartPS.vaux b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/BusAuxData_SmartPS.vaux new file mode 100644 index 0000000000..2334a8264d --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/BusAuxData_SmartPS.vaux @@ -0,0 +1,31 @@ +{ + "Header": { + "CreatedBy": " ()", + "Date": "2016-10-13T10:28:40.9616564Z", + "AppVersion": "3", + "FileVersion": 1 + }, + "Body": { + "PneumaticSystem": { + "CompressorMap": "DEFAULT_3-Cylinder_2-Stage_598ccm.acmp", + "AverageAirDemand": 0.7663, + "SmartAirCompression": true, + "GearRatio": 1 + }, + "ElectricSystem": { + "AlternatorEfficiency": 0.7, + "CurrentDemand": 54.181, + "CurrentDemandEngineOffDriving": 54.181, + "CurrentDemandEngineOffStandstill": 54.181, + "SmartElectric": false, + "ElectricStorageCapacity": 0, + "MaxAlternatorPower": 10000, + }, + "HVAC": { + "ElectricPowerDemand": 469.76, + "MechanicalPowerDemand": 181.28, + "AuxHeaterPower": 5000, + "AverageHeatingDemand": 0 + } + } +} \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/DEFAULT_3-Cylinder_2-Stage_598ccm.ACMP b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/DEFAULT_3-Cylinder_2-Stage_598ccm.ACMP new file mode 100644 index 0000000000..024770c46f --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/DEFAULT_3-Cylinder_2-Stage_598ccm.ACMP @@ -0,0 +1,9 @@ +rpm,flowRate [l/min],power on [W],power off [W] +700,268.8679245,2698.5,149.8 +1200,455.170778,4641,363.8 +1700,619.9877948,6772.5,823.9 +2200,723.0141287,8778,1508.7 +2550,800.5469547,10468.5,2075.8 +2800,913.4228898,12253.5,2461 +3300,996.5379955,14070,3145.8 +3550,1048.442907,15078,3755.7 diff --git a/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/Default.vrlm b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/Default.vrlm new file mode 100644 index 0000000000..eb575b9997 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/Default.vrlm @@ -0,0 +1,32 @@ +Retarder Speed [1/min],Torque Loss [Nm] +0,10 +100,10 +200,10.1 +300,10.2 +400,10.3 +500,10.5 +600,10.7 +700,11 +800,11.3 +900,11.6 +1000,12 +1100,12.4 +1200,12.9 +1300,13.4 +1400,13.9 +1500,14.5 +1600,15.1 +1700,15.8 +1800,16.5 +1900,17.2 +2000,18 +2100,18.8 +2200,19.7 +2300,20.6 +2400,21.5 +2500,22.5 +2600,23.5 +2700,24.6 +2800,25.7 +2900,26.8 +3000,28 diff --git a/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/Driver.vacc b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/Driver.vacc new file mode 100644 index 0000000000..54e7786487 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/Driver.vacc @@ -0,0 +1,6 @@ +v [km/h],acc [m/s²],dec [m/s²] +0,1,-1 +25,1,-1 +50,0.642857143,-1 +60,0.5,-0.5 +120,0.5,-0.5 diff --git a/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/Engine_250kW_7.7l.veng b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/Engine_250kW_7.7l.veng new file mode 100644 index 0000000000..b839a2c57b --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/Engine_250kW_7.7l.veng @@ -0,0 +1,21 @@ +{ + "Header": { + "CreatedBy": " ()", + "Date": "2016-10-13T08:57:41.1155961Z", + "AppVersion": "3", + "FileVersion": 3 + }, + "Body": { + "SavedInDeclMode": false, + "ModelName": "Generic 250kW Engine", + "Displacement": "7700", + "IdlingSpeed": 600.0, + "Inertia": 3.789, + "FullLoadCurve": "250kW.vfld", + "FuelMap": "250kW.vmap", + "WHTC-Urban": 0.0, + "WHTC-Rural": 0.0, + "WHTC-Motorway": 0.0, + "ColdHotBalancingFactor": 0.0 + } +} \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/Gear_1.vtlm b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/Gear_1.vtlm new file mode 100644 index 0000000000..1a9b857161 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/Gear_1.vtlm @@ -0,0 +1,233 @@ +Input Speed [rpm],Input Torque [Nm],Torque Loss [Nm] +0,-5500.0,234.4 +0,-5000.0,214.4 +0,-4500.0,174.4 +0,-4000.0,174.4 +0,-3500.0,154.4 +0,-3000.0,134.4 +0,-2500.0,114.4 +0,-2000.0,94.4 +0,-1600.0,78.4 +0,-1200.0,62.4 +0,-900.0,50.4 +0,-600.0,38.4 +0,-400.0,30.4 +0,-200.0,22.4 +0,0.0,22.4 +0,200.0,22.4 +0,400.0,30.4 +0,600.0,38.4 +0,900.0,50.4 +0,1200.0,62.4 +0,1600.0,78.4 +0,2000.0,94.4 +0,2500.0,114.4 +0,3000.0,134.4 +0,3500.0,154.4 +0,4000.0,174.4 +0,4500.0,194.4 +0,5000.0,214.4 +0,5500.0,234.4 +600,-5500.0,234.4 +600,-5000.0,214.4 +600,-4500.0,174.4 +600,-4000.0,174.4 +600,-3500.0,154.4 +600,-3000.0,134.4 +600,-2500.0,114.4 +600,-2000.0,94.4 +600,-1600.0,78.4 +600,-1200.0,62.4 +600,-900.0,50.4 +600,-600.0,38.4 +600,-400.0,30.4 +600,-200.0,22.4 +600,0.0,22.4 +600,200.0,22.4 +600,400.0,30.4 +600,600.0,38.4 +600,900.0,50.4 +600,1200.0,62.4 +600,1600.0,78.4 +600,2000.0,94.4 +600,2500.0,114.4 +600,3000.0,134.4 +600,3500.0,154.4 +600,4000.0,174.4 +600,4500.0,194.4 +600,5000.0,214.4 +600,5500.0,234.4 +900,-5500.0,237.1 +900,-5000.0,217.1 +900,-4500.0,177.1 +900,-4000.0,177.1 +900,-3500.0,157.1 +900,-3000.0,137.1 +900,-2500.0,117.1 +900,-2000.0,97.1 +900,-1600.0,81.1 +900,-1200.0,65.1 +900,-900.0,53.1 +900,-600.0,41.1 +900,-400.0,33.1 +900,-200.0,25.1 +900,0.0,25.1 +900,200.0,25.1 +900,400.0,33.1 +900,600.0,41.1 +900,900.0,53.1 +900,1200.0,65.1 +900,1600.0,81.1 +900,2000.0,97.1 +900,2500.0,117.1 +900,3000.0,137.1 +900,3500.0,157.1 +900,4000.0,177.1 +900,4500.0,197.1 +900,5000.0,217.1 +900,5500.0,237.1 +1200,-5500.0,239.8 +1200,-5000.0,219.8 +1200,-4500.0,179.8 +1200,-4000.0,179.8 +1200,-3500.0,159.8 +1200,-3000.0,139.8 +1200,-2500.0,119.8 +1200,-2000.0,99.8 +1200,-1600.0,83.8 +1200,-1200.0,67.8 +1200,-900.0,55.8 +1200,-600.0,43.8 +1200,-400.0,35.8 +1200,-200.0,27.8 +1200,0.0,27.8 +1200,200.0,27.8 +1200,400.0,35.8 +1200,600.0,43.8 +1200,900.0,55.8 +1200,1200.0,67.8 +1200,1600.0,83.8 +1200,2000.0,99.8 +1200,2500.0,119.8 +1200,3000.0,139.8 +1200,3500.0,159.8 +1200,4000.0,179.8 +1200,4500.0,199.8 +1200,5000.0,219.8 +1200,5500.0,239.8 +1600,-5500.0,243.4 +1600,-5000.0,223.4 +1600,-4500.0,183.4 +1600,-4000.0,183.4 +1600,-3500.0,163.4 +1600,-3000.0,143.4 +1600,-2500.0,123.4 +1600,-2000.0,103.4 +1600,-1600.0,87.4 +1600,-1200.0,71.4 +1600,-900.0,59.4 +1600,-600.0,47.4 +1600,-400.0,39.4 +1600,-200.0,31.4 +1600,0.0,31.4 +1600,200.0,31.4 +1600,400.0,39.4 +1600,600.0,47.4 +1600,900.0,59.4 +1600,1200.0,71.4 +1600,1600.0,87.4 +1600,2000.0,103.4 +1600,2500.0,123.4 +1600,3000.0,143.4 +1600,3500.0,163.4 +1600,4000.0,183.4 +1600,4500.0,203.4 +1600,5000.0,223.4 +1600,5500.0,243.4 +2000,-5500.0,247.0 +2000,-5000.0,227.0 +2000,-4500.0,187.0 +2000,-4000.0,187.0 +2000,-3500.0,167.0 +2000,-3000.0,147.0 +2000,-2500.0,127.0 +2000,-2000.0,107.0 +2000,-1600.0,91.0 +2000,-1200.0,75.0 +2000,-900.0,63.0 +2000,-600.0,51.0 +2000,-400.0,43.0 +2000,-200.0,35.0 +2000,0.0,35.0 +2000,200.0,35.0 +2000,400.0,43.0 +2000,600.0,51.0 +2000,900.0,63.0 +2000,1200.0,75.0 +2000,1600.0,91.0 +2000,2000.0,107.0 +2000,2500.0,127.0 +2000,3000.0,147.0 +2000,3500.0,167.0 +2000,4000.0,187.0 +2000,4500.0,207.0 +2000,5000.0,227.0 +2000,5500.0,247.0 +2500,-5500.0,251.5 +2500,-5000.0,231.5 +2500,-4500.0,191.5 +2500,-4000.0,191.5 +2500,-3500.0,171.5 +2500,-3000.0,151.5 +2500,-2500.0,131.5 +2500,-2000.0,111.5 +2500,-1600.0,95.5 +2500,-1200.0,79.5 +2500,-900.0,67.5 +2500,-600.0,55.5 +2500,-400.0,47.5 +2500,-200.0,39.5 +2500,0.0,39.5 +2500,200.0,39.5 +2500,400.0,47.5 +2500,600.0,55.5 +2500,900.0,67.5 +2500,1200.0,79.5 +2500,1600.0,95.5 +2500,2000.0,111.5 +2500,2500.0,131.5 +2500,3000.0,151.5 +2500,3500.0,171.5 +2500,4000.0,191.5 +2500,4500.0,211.5 +2500,5000.0,231.5 +2500,5500.0,251.5 +3000,-5500.0,256.0 +3000,-5000.0,236.0 +3000,-4500.0,196.0 +3000,-4000.0,196.0 +3000,-3500.0,176.0 +3000,-3000.0,156.0 +3000,-2500.0,136.0 +3000,-2000.0,116.0 +3000,-1600.0,100.0 +3000,-1200.0,84.0 +3000,-900.0,72.0 +3000,-600.0,60.0 +3000,-400.0,52.0 +3000,-200.0,44.0 +3000,0.0,44.0 +3000,200.0,44.0 +3000,400.0,52.0 +3000,600.0,60.0 +3000,900.0,72.0 +3000,1200.0,84.0 +3000,1600.0,100.0 +3000,2000.0,116.0 +3000,2500.0,136.0 +3000,3000.0,156.0 +3000,3500.0,176.0 +3000,4000.0,196.0 +3000,4500.0,216.0 +3000,5000.0,236.0 +3000,5500.0,256.0 diff --git a/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/Gear_2.vtlm b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/Gear_2.vtlm new file mode 100644 index 0000000000..1a9b857161 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/Gear_2.vtlm @@ -0,0 +1,233 @@ +Input Speed [rpm],Input Torque [Nm],Torque Loss [Nm] +0,-5500.0,234.4 +0,-5000.0,214.4 +0,-4500.0,174.4 +0,-4000.0,174.4 +0,-3500.0,154.4 +0,-3000.0,134.4 +0,-2500.0,114.4 +0,-2000.0,94.4 +0,-1600.0,78.4 +0,-1200.0,62.4 +0,-900.0,50.4 +0,-600.0,38.4 +0,-400.0,30.4 +0,-200.0,22.4 +0,0.0,22.4 +0,200.0,22.4 +0,400.0,30.4 +0,600.0,38.4 +0,900.0,50.4 +0,1200.0,62.4 +0,1600.0,78.4 +0,2000.0,94.4 +0,2500.0,114.4 +0,3000.0,134.4 +0,3500.0,154.4 +0,4000.0,174.4 +0,4500.0,194.4 +0,5000.0,214.4 +0,5500.0,234.4 +600,-5500.0,234.4 +600,-5000.0,214.4 +600,-4500.0,174.4 +600,-4000.0,174.4 +600,-3500.0,154.4 +600,-3000.0,134.4 +600,-2500.0,114.4 +600,-2000.0,94.4 +600,-1600.0,78.4 +600,-1200.0,62.4 +600,-900.0,50.4 +600,-600.0,38.4 +600,-400.0,30.4 +600,-200.0,22.4 +600,0.0,22.4 +600,200.0,22.4 +600,400.0,30.4 +600,600.0,38.4 +600,900.0,50.4 +600,1200.0,62.4 +600,1600.0,78.4 +600,2000.0,94.4 +600,2500.0,114.4 +600,3000.0,134.4 +600,3500.0,154.4 +600,4000.0,174.4 +600,4500.0,194.4 +600,5000.0,214.4 +600,5500.0,234.4 +900,-5500.0,237.1 +900,-5000.0,217.1 +900,-4500.0,177.1 +900,-4000.0,177.1 +900,-3500.0,157.1 +900,-3000.0,137.1 +900,-2500.0,117.1 +900,-2000.0,97.1 +900,-1600.0,81.1 +900,-1200.0,65.1 +900,-900.0,53.1 +900,-600.0,41.1 +900,-400.0,33.1 +900,-200.0,25.1 +900,0.0,25.1 +900,200.0,25.1 +900,400.0,33.1 +900,600.0,41.1 +900,900.0,53.1 +900,1200.0,65.1 +900,1600.0,81.1 +900,2000.0,97.1 +900,2500.0,117.1 +900,3000.0,137.1 +900,3500.0,157.1 +900,4000.0,177.1 +900,4500.0,197.1 +900,5000.0,217.1 +900,5500.0,237.1 +1200,-5500.0,239.8 +1200,-5000.0,219.8 +1200,-4500.0,179.8 +1200,-4000.0,179.8 +1200,-3500.0,159.8 +1200,-3000.0,139.8 +1200,-2500.0,119.8 +1200,-2000.0,99.8 +1200,-1600.0,83.8 +1200,-1200.0,67.8 +1200,-900.0,55.8 +1200,-600.0,43.8 +1200,-400.0,35.8 +1200,-200.0,27.8 +1200,0.0,27.8 +1200,200.0,27.8 +1200,400.0,35.8 +1200,600.0,43.8 +1200,900.0,55.8 +1200,1200.0,67.8 +1200,1600.0,83.8 +1200,2000.0,99.8 +1200,2500.0,119.8 +1200,3000.0,139.8 +1200,3500.0,159.8 +1200,4000.0,179.8 +1200,4500.0,199.8 +1200,5000.0,219.8 +1200,5500.0,239.8 +1600,-5500.0,243.4 +1600,-5000.0,223.4 +1600,-4500.0,183.4 +1600,-4000.0,183.4 +1600,-3500.0,163.4 +1600,-3000.0,143.4 +1600,-2500.0,123.4 +1600,-2000.0,103.4 +1600,-1600.0,87.4 +1600,-1200.0,71.4 +1600,-900.0,59.4 +1600,-600.0,47.4 +1600,-400.0,39.4 +1600,-200.0,31.4 +1600,0.0,31.4 +1600,200.0,31.4 +1600,400.0,39.4 +1600,600.0,47.4 +1600,900.0,59.4 +1600,1200.0,71.4 +1600,1600.0,87.4 +1600,2000.0,103.4 +1600,2500.0,123.4 +1600,3000.0,143.4 +1600,3500.0,163.4 +1600,4000.0,183.4 +1600,4500.0,203.4 +1600,5000.0,223.4 +1600,5500.0,243.4 +2000,-5500.0,247.0 +2000,-5000.0,227.0 +2000,-4500.0,187.0 +2000,-4000.0,187.0 +2000,-3500.0,167.0 +2000,-3000.0,147.0 +2000,-2500.0,127.0 +2000,-2000.0,107.0 +2000,-1600.0,91.0 +2000,-1200.0,75.0 +2000,-900.0,63.0 +2000,-600.0,51.0 +2000,-400.0,43.0 +2000,-200.0,35.0 +2000,0.0,35.0 +2000,200.0,35.0 +2000,400.0,43.0 +2000,600.0,51.0 +2000,900.0,63.0 +2000,1200.0,75.0 +2000,1600.0,91.0 +2000,2000.0,107.0 +2000,2500.0,127.0 +2000,3000.0,147.0 +2000,3500.0,167.0 +2000,4000.0,187.0 +2000,4500.0,207.0 +2000,5000.0,227.0 +2000,5500.0,247.0 +2500,-5500.0,251.5 +2500,-5000.0,231.5 +2500,-4500.0,191.5 +2500,-4000.0,191.5 +2500,-3500.0,171.5 +2500,-3000.0,151.5 +2500,-2500.0,131.5 +2500,-2000.0,111.5 +2500,-1600.0,95.5 +2500,-1200.0,79.5 +2500,-900.0,67.5 +2500,-600.0,55.5 +2500,-400.0,47.5 +2500,-200.0,39.5 +2500,0.0,39.5 +2500,200.0,39.5 +2500,400.0,47.5 +2500,600.0,55.5 +2500,900.0,67.5 +2500,1200.0,79.5 +2500,1600.0,95.5 +2500,2000.0,111.5 +2500,2500.0,131.5 +2500,3000.0,151.5 +2500,3500.0,171.5 +2500,4000.0,191.5 +2500,4500.0,211.5 +2500,5000.0,231.5 +2500,5500.0,251.5 +3000,-5500.0,256.0 +3000,-5000.0,236.0 +3000,-4500.0,196.0 +3000,-4000.0,196.0 +3000,-3500.0,176.0 +3000,-3000.0,156.0 +3000,-2500.0,136.0 +3000,-2000.0,116.0 +3000,-1600.0,100.0 +3000,-1200.0,84.0 +3000,-900.0,72.0 +3000,-600.0,60.0 +3000,-400.0,52.0 +3000,-200.0,44.0 +3000,0.0,44.0 +3000,200.0,44.0 +3000,400.0,52.0 +3000,600.0,60.0 +3000,900.0,72.0 +3000,1200.0,84.0 +3000,1600.0,100.0 +3000,2000.0,116.0 +3000,2500.0,136.0 +3000,3000.0,156.0 +3000,3500.0,176.0 +3000,4000.0,196.0 +3000,4500.0,216.0 +3000,5000.0,236.0 +3000,5500.0,256.0 diff --git a/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/Gear_3.vtlm b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/Gear_3.vtlm new file mode 100644 index 0000000000..1a9b857161 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/Gear_3.vtlm @@ -0,0 +1,233 @@ +Input Speed [rpm],Input Torque [Nm],Torque Loss [Nm] +0,-5500.0,234.4 +0,-5000.0,214.4 +0,-4500.0,174.4 +0,-4000.0,174.4 +0,-3500.0,154.4 +0,-3000.0,134.4 +0,-2500.0,114.4 +0,-2000.0,94.4 +0,-1600.0,78.4 +0,-1200.0,62.4 +0,-900.0,50.4 +0,-600.0,38.4 +0,-400.0,30.4 +0,-200.0,22.4 +0,0.0,22.4 +0,200.0,22.4 +0,400.0,30.4 +0,600.0,38.4 +0,900.0,50.4 +0,1200.0,62.4 +0,1600.0,78.4 +0,2000.0,94.4 +0,2500.0,114.4 +0,3000.0,134.4 +0,3500.0,154.4 +0,4000.0,174.4 +0,4500.0,194.4 +0,5000.0,214.4 +0,5500.0,234.4 +600,-5500.0,234.4 +600,-5000.0,214.4 +600,-4500.0,174.4 +600,-4000.0,174.4 +600,-3500.0,154.4 +600,-3000.0,134.4 +600,-2500.0,114.4 +600,-2000.0,94.4 +600,-1600.0,78.4 +600,-1200.0,62.4 +600,-900.0,50.4 +600,-600.0,38.4 +600,-400.0,30.4 +600,-200.0,22.4 +600,0.0,22.4 +600,200.0,22.4 +600,400.0,30.4 +600,600.0,38.4 +600,900.0,50.4 +600,1200.0,62.4 +600,1600.0,78.4 +600,2000.0,94.4 +600,2500.0,114.4 +600,3000.0,134.4 +600,3500.0,154.4 +600,4000.0,174.4 +600,4500.0,194.4 +600,5000.0,214.4 +600,5500.0,234.4 +900,-5500.0,237.1 +900,-5000.0,217.1 +900,-4500.0,177.1 +900,-4000.0,177.1 +900,-3500.0,157.1 +900,-3000.0,137.1 +900,-2500.0,117.1 +900,-2000.0,97.1 +900,-1600.0,81.1 +900,-1200.0,65.1 +900,-900.0,53.1 +900,-600.0,41.1 +900,-400.0,33.1 +900,-200.0,25.1 +900,0.0,25.1 +900,200.0,25.1 +900,400.0,33.1 +900,600.0,41.1 +900,900.0,53.1 +900,1200.0,65.1 +900,1600.0,81.1 +900,2000.0,97.1 +900,2500.0,117.1 +900,3000.0,137.1 +900,3500.0,157.1 +900,4000.0,177.1 +900,4500.0,197.1 +900,5000.0,217.1 +900,5500.0,237.1 +1200,-5500.0,239.8 +1200,-5000.0,219.8 +1200,-4500.0,179.8 +1200,-4000.0,179.8 +1200,-3500.0,159.8 +1200,-3000.0,139.8 +1200,-2500.0,119.8 +1200,-2000.0,99.8 +1200,-1600.0,83.8 +1200,-1200.0,67.8 +1200,-900.0,55.8 +1200,-600.0,43.8 +1200,-400.0,35.8 +1200,-200.0,27.8 +1200,0.0,27.8 +1200,200.0,27.8 +1200,400.0,35.8 +1200,600.0,43.8 +1200,900.0,55.8 +1200,1200.0,67.8 +1200,1600.0,83.8 +1200,2000.0,99.8 +1200,2500.0,119.8 +1200,3000.0,139.8 +1200,3500.0,159.8 +1200,4000.0,179.8 +1200,4500.0,199.8 +1200,5000.0,219.8 +1200,5500.0,239.8 +1600,-5500.0,243.4 +1600,-5000.0,223.4 +1600,-4500.0,183.4 +1600,-4000.0,183.4 +1600,-3500.0,163.4 +1600,-3000.0,143.4 +1600,-2500.0,123.4 +1600,-2000.0,103.4 +1600,-1600.0,87.4 +1600,-1200.0,71.4 +1600,-900.0,59.4 +1600,-600.0,47.4 +1600,-400.0,39.4 +1600,-200.0,31.4 +1600,0.0,31.4 +1600,200.0,31.4 +1600,400.0,39.4 +1600,600.0,47.4 +1600,900.0,59.4 +1600,1200.0,71.4 +1600,1600.0,87.4 +1600,2000.0,103.4 +1600,2500.0,123.4 +1600,3000.0,143.4 +1600,3500.0,163.4 +1600,4000.0,183.4 +1600,4500.0,203.4 +1600,5000.0,223.4 +1600,5500.0,243.4 +2000,-5500.0,247.0 +2000,-5000.0,227.0 +2000,-4500.0,187.0 +2000,-4000.0,187.0 +2000,-3500.0,167.0 +2000,-3000.0,147.0 +2000,-2500.0,127.0 +2000,-2000.0,107.0 +2000,-1600.0,91.0 +2000,-1200.0,75.0 +2000,-900.0,63.0 +2000,-600.0,51.0 +2000,-400.0,43.0 +2000,-200.0,35.0 +2000,0.0,35.0 +2000,200.0,35.0 +2000,400.0,43.0 +2000,600.0,51.0 +2000,900.0,63.0 +2000,1200.0,75.0 +2000,1600.0,91.0 +2000,2000.0,107.0 +2000,2500.0,127.0 +2000,3000.0,147.0 +2000,3500.0,167.0 +2000,4000.0,187.0 +2000,4500.0,207.0 +2000,5000.0,227.0 +2000,5500.0,247.0 +2500,-5500.0,251.5 +2500,-5000.0,231.5 +2500,-4500.0,191.5 +2500,-4000.0,191.5 +2500,-3500.0,171.5 +2500,-3000.0,151.5 +2500,-2500.0,131.5 +2500,-2000.0,111.5 +2500,-1600.0,95.5 +2500,-1200.0,79.5 +2500,-900.0,67.5 +2500,-600.0,55.5 +2500,-400.0,47.5 +2500,-200.0,39.5 +2500,0.0,39.5 +2500,200.0,39.5 +2500,400.0,47.5 +2500,600.0,55.5 +2500,900.0,67.5 +2500,1200.0,79.5 +2500,1600.0,95.5 +2500,2000.0,111.5 +2500,2500.0,131.5 +2500,3000.0,151.5 +2500,3500.0,171.5 +2500,4000.0,191.5 +2500,4500.0,211.5 +2500,5000.0,231.5 +2500,5500.0,251.5 +3000,-5500.0,256.0 +3000,-5000.0,236.0 +3000,-4500.0,196.0 +3000,-4000.0,196.0 +3000,-3500.0,176.0 +3000,-3000.0,156.0 +3000,-2500.0,136.0 +3000,-2000.0,116.0 +3000,-1600.0,100.0 +3000,-1200.0,84.0 +3000,-900.0,72.0 +3000,-600.0,60.0 +3000,-400.0,52.0 +3000,-200.0,44.0 +3000,0.0,44.0 +3000,200.0,44.0 +3000,400.0,52.0 +3000,600.0,60.0 +3000,900.0,72.0 +3000,1200.0,84.0 +3000,1600.0,100.0 +3000,2000.0,116.0 +3000,2500.0,136.0 +3000,3000.0,156.0 +3000,3500.0,176.0 +3000,4000.0,196.0 +3000,4500.0,216.0 +3000,5000.0,236.0 +3000,5500.0,256.0 diff --git a/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/Gear_4.vtlm b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/Gear_4.vtlm new file mode 100644 index 0000000000..d7fc5d83ff --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/Gear_4.vtlm @@ -0,0 +1,233 @@ +Input Speed [rpm],Input Torque [Nm],Torque Loss [Nm] +0,-5500.0,69.4 +0,-5000.0,64.4 +0,-4500.0,54.4 +0,-4000.0,54.4 +0,-3500.0,49.4 +0,-3000.0,44.4 +0,-2500.0,39.4 +0,-2000.0,34.4 +0,-1600.0,30.4 +0,-1200.0,26.4 +0,-900.0,23.4 +0,-600.0,20.4 +0,-400.0,18.4 +0,-200.0,16.4 +0,0.0,16.4 +0,200.0,16.4 +0,400.0,18.4 +0,600.0,20.4 +0,900.0,23.4 +0,1200.0,26.4 +0,1600.0,30.4 +0,2000.0,34.4 +0,2500.0,39.4 +0,3000.0,44.4 +0,3500.0,49.4 +0,4000.0,54.4 +0,4500.0,59.4 +0,5000.0,64.4 +0,5500.0,69.4 +600,-5500.0,69.4 +600,-5000.0,64.4 +600,-4500.0,54.4 +600,-4000.0,54.4 +600,-3500.0,49.4 +600,-3000.0,44.4 +600,-2500.0,39.4 +600,-2000.0,34.4 +600,-1600.0,30.4 +600,-1200.0,26.4 +600,-900.0,23.4 +600,-600.0,20.4 +600,-400.0,18.4 +600,-200.0,16.4 +600,0.0,16.4 +600,200.0,16.4 +600,400.0,18.4 +600,600.0,20.4 +600,900.0,23.4 +600,1200.0,26.4 +600,1600.0,30.4 +600,2000.0,34.4 +600,2500.0,39.4 +600,3000.0,44.4 +600,3500.0,49.4 +600,4000.0,54.4 +600,4500.0,59.4 +600,5000.0,64.4 +600,5500.0,69.4 +900,-5500.0,72.1 +900,-5000.0,67.1 +900,-4500.0,57.1 +900,-4000.0,57.1 +900,-3500.0,52.1 +900,-3000.0,47.1 +900,-2500.0,42.1 +900,-2000.0,37.1 +900,-1600.0,33.1 +900,-1200.0,29.1 +900,-900.0,26.1 +900,-600.0,23.1 +900,-400.0,21.1 +900,-200.0,19.1 +900,0.0,19.1 +900,200.0,19.1 +900,400.0,21.1 +900,600.0,23.1 +900,900.0,26.1 +900,1200.0,29.1 +900,1600.0,33.1 +900,2000.0,37.1 +900,2500.0,42.1 +900,3000.0,47.1 +900,3500.0,52.1 +900,4000.0,57.1 +900,4500.0,62.1 +900,5000.0,67.1 +900,5500.0,72.1 +1200,-5500.0,74.8 +1200,-5000.0,69.8 +1200,-4500.0,59.8 +1200,-4000.0,59.8 +1200,-3500.0,54.8 +1200,-3000.0,49.8 +1200,-2500.0,44.8 +1200,-2000.0,39.8 +1200,-1600.0,35.8 +1200,-1200.0,31.8 +1200,-900.0,28.8 +1200,-600.0,25.8 +1200,-400.0,23.8 +1200,-200.0,21.8 +1200,0.0,21.8 +1200,200.0,21.8 +1200,400.0,23.8 +1200,600.0,25.8 +1200,900.0,28.8 +1200,1200.0,31.8 +1200,1600.0,35.8 +1200,2000.0,39.8 +1200,2500.0,44.8 +1200,3000.0,49.8 +1200,3500.0,54.8 +1200,4000.0,59.8 +1200,4500.0,64.8 +1200,5000.0,69.8 +1200,5500.0,74.8 +1600,-5500.0,78.4 +1600,-5000.0,73.4 +1600,-4500.0,63.4 +1600,-4000.0,63.4 +1600,-3500.0,58.4 +1600,-3000.0,53.4 +1600,-2500.0,48.4 +1600,-2000.0,43.4 +1600,-1600.0,39.4 +1600,-1200.0,35.4 +1600,-900.0,32.4 +1600,-600.0,29.4 +1600,-400.0,27.4 +1600,-200.0,25.4 +1600,0.0,25.4 +1600,200.0,25.4 +1600,400.0,27.4 +1600,600.0,29.4 +1600,900.0,32.4 +1600,1200.0,35.4 +1600,1600.0,39.4 +1600,2000.0,43.4 +1600,2500.0,48.4 +1600,3000.0,53.4 +1600,3500.0,58.4 +1600,4000.0,63.4 +1600,4500.0,68.4 +1600,5000.0,73.4 +1600,5500.0,78.4 +2000,-5500.0,82.0 +2000,-5000.0,77.0 +2000,-4500.0,67.0 +2000,-4000.0,67.0 +2000,-3500.0,62.0 +2000,-3000.0,57.0 +2000,-2500.0,52.0 +2000,-2000.0,47.0 +2000,-1600.0,43.0 +2000,-1200.0,39.0 +2000,-900.0,36.0 +2000,-600.0,33.0 +2000,-400.0,31.0 +2000,-200.0,29.0 +2000,0.0,29.0 +2000,200.0,29.0 +2000,400.0,31.0 +2000,600.0,33.0 +2000,900.0,36.0 +2000,1200.0,39.0 +2000,1600.0,43.0 +2000,2000.0,47.0 +2000,2500.0,52.0 +2000,3000.0,57.0 +2000,3500.0,62.0 +2000,4000.0,67.0 +2000,4500.0,72.0 +2000,5000.0,77.0 +2000,5500.0,82.0 +2500,-5500.0,86.5 +2500,-5000.0,81.5 +2500,-4500.0,71.5 +2500,-4000.0,71.5 +2500,-3500.0,66.5 +2500,-3000.0,61.5 +2500,-2500.0,56.5 +2500,-2000.0,51.5 +2500,-1600.0,47.5 +2500,-1200.0,43.5 +2500,-900.0,40.5 +2500,-600.0,37.5 +2500,-400.0,35.5 +2500,-200.0,33.5 +2500,0.0,33.5 +2500,200.0,33.5 +2500,400.0,35.5 +2500,600.0,37.5 +2500,900.0,40.5 +2500,1200.0,43.5 +2500,1600.0,47.5 +2500,2000.0,51.5 +2500,2500.0,56.5 +2500,3000.0,61.5 +2500,3500.0,66.5 +2500,4000.0,71.5 +2500,4500.0,76.5 +2500,5000.0,81.5 +2500,5500.0,86.5 +3000,-5500.0,91.0 +3000,-5000.0,86.0 +3000,-4500.0,76.0 +3000,-4000.0,76.0 +3000,-3500.0,71.0 +3000,-3000.0,66.0 +3000,-2500.0,61.0 +3000,-2000.0,56.0 +3000,-1600.0,52.0 +3000,-1200.0,48.0 +3000,-900.0,45.0 +3000,-600.0,42.0 +3000,-400.0,40.0 +3000,-200.0,38.0 +3000,0.0,38.0 +3000,200.0,38.0 +3000,400.0,40.0 +3000,600.0,42.0 +3000,900.0,45.0 +3000,1200.0,48.0 +3000,1600.0,52.0 +3000,2000.0,56.0 +3000,2500.0,61.0 +3000,3000.0,66.0 +3000,3500.0,71.0 +3000,4000.0,76.0 +3000,4500.0,81.0 +3000,5000.0,86.0 +3000,5500.0,91.0 \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/Gear_5.vtlm b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/Gear_5.vtlm new file mode 100644 index 0000000000..1a9b857161 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/Gear_5.vtlm @@ -0,0 +1,233 @@ +Input Speed [rpm],Input Torque [Nm],Torque Loss [Nm] +0,-5500.0,234.4 +0,-5000.0,214.4 +0,-4500.0,174.4 +0,-4000.0,174.4 +0,-3500.0,154.4 +0,-3000.0,134.4 +0,-2500.0,114.4 +0,-2000.0,94.4 +0,-1600.0,78.4 +0,-1200.0,62.4 +0,-900.0,50.4 +0,-600.0,38.4 +0,-400.0,30.4 +0,-200.0,22.4 +0,0.0,22.4 +0,200.0,22.4 +0,400.0,30.4 +0,600.0,38.4 +0,900.0,50.4 +0,1200.0,62.4 +0,1600.0,78.4 +0,2000.0,94.4 +0,2500.0,114.4 +0,3000.0,134.4 +0,3500.0,154.4 +0,4000.0,174.4 +0,4500.0,194.4 +0,5000.0,214.4 +0,5500.0,234.4 +600,-5500.0,234.4 +600,-5000.0,214.4 +600,-4500.0,174.4 +600,-4000.0,174.4 +600,-3500.0,154.4 +600,-3000.0,134.4 +600,-2500.0,114.4 +600,-2000.0,94.4 +600,-1600.0,78.4 +600,-1200.0,62.4 +600,-900.0,50.4 +600,-600.0,38.4 +600,-400.0,30.4 +600,-200.0,22.4 +600,0.0,22.4 +600,200.0,22.4 +600,400.0,30.4 +600,600.0,38.4 +600,900.0,50.4 +600,1200.0,62.4 +600,1600.0,78.4 +600,2000.0,94.4 +600,2500.0,114.4 +600,3000.0,134.4 +600,3500.0,154.4 +600,4000.0,174.4 +600,4500.0,194.4 +600,5000.0,214.4 +600,5500.0,234.4 +900,-5500.0,237.1 +900,-5000.0,217.1 +900,-4500.0,177.1 +900,-4000.0,177.1 +900,-3500.0,157.1 +900,-3000.0,137.1 +900,-2500.0,117.1 +900,-2000.0,97.1 +900,-1600.0,81.1 +900,-1200.0,65.1 +900,-900.0,53.1 +900,-600.0,41.1 +900,-400.0,33.1 +900,-200.0,25.1 +900,0.0,25.1 +900,200.0,25.1 +900,400.0,33.1 +900,600.0,41.1 +900,900.0,53.1 +900,1200.0,65.1 +900,1600.0,81.1 +900,2000.0,97.1 +900,2500.0,117.1 +900,3000.0,137.1 +900,3500.0,157.1 +900,4000.0,177.1 +900,4500.0,197.1 +900,5000.0,217.1 +900,5500.0,237.1 +1200,-5500.0,239.8 +1200,-5000.0,219.8 +1200,-4500.0,179.8 +1200,-4000.0,179.8 +1200,-3500.0,159.8 +1200,-3000.0,139.8 +1200,-2500.0,119.8 +1200,-2000.0,99.8 +1200,-1600.0,83.8 +1200,-1200.0,67.8 +1200,-900.0,55.8 +1200,-600.0,43.8 +1200,-400.0,35.8 +1200,-200.0,27.8 +1200,0.0,27.8 +1200,200.0,27.8 +1200,400.0,35.8 +1200,600.0,43.8 +1200,900.0,55.8 +1200,1200.0,67.8 +1200,1600.0,83.8 +1200,2000.0,99.8 +1200,2500.0,119.8 +1200,3000.0,139.8 +1200,3500.0,159.8 +1200,4000.0,179.8 +1200,4500.0,199.8 +1200,5000.0,219.8 +1200,5500.0,239.8 +1600,-5500.0,243.4 +1600,-5000.0,223.4 +1600,-4500.0,183.4 +1600,-4000.0,183.4 +1600,-3500.0,163.4 +1600,-3000.0,143.4 +1600,-2500.0,123.4 +1600,-2000.0,103.4 +1600,-1600.0,87.4 +1600,-1200.0,71.4 +1600,-900.0,59.4 +1600,-600.0,47.4 +1600,-400.0,39.4 +1600,-200.0,31.4 +1600,0.0,31.4 +1600,200.0,31.4 +1600,400.0,39.4 +1600,600.0,47.4 +1600,900.0,59.4 +1600,1200.0,71.4 +1600,1600.0,87.4 +1600,2000.0,103.4 +1600,2500.0,123.4 +1600,3000.0,143.4 +1600,3500.0,163.4 +1600,4000.0,183.4 +1600,4500.0,203.4 +1600,5000.0,223.4 +1600,5500.0,243.4 +2000,-5500.0,247.0 +2000,-5000.0,227.0 +2000,-4500.0,187.0 +2000,-4000.0,187.0 +2000,-3500.0,167.0 +2000,-3000.0,147.0 +2000,-2500.0,127.0 +2000,-2000.0,107.0 +2000,-1600.0,91.0 +2000,-1200.0,75.0 +2000,-900.0,63.0 +2000,-600.0,51.0 +2000,-400.0,43.0 +2000,-200.0,35.0 +2000,0.0,35.0 +2000,200.0,35.0 +2000,400.0,43.0 +2000,600.0,51.0 +2000,900.0,63.0 +2000,1200.0,75.0 +2000,1600.0,91.0 +2000,2000.0,107.0 +2000,2500.0,127.0 +2000,3000.0,147.0 +2000,3500.0,167.0 +2000,4000.0,187.0 +2000,4500.0,207.0 +2000,5000.0,227.0 +2000,5500.0,247.0 +2500,-5500.0,251.5 +2500,-5000.0,231.5 +2500,-4500.0,191.5 +2500,-4000.0,191.5 +2500,-3500.0,171.5 +2500,-3000.0,151.5 +2500,-2500.0,131.5 +2500,-2000.0,111.5 +2500,-1600.0,95.5 +2500,-1200.0,79.5 +2500,-900.0,67.5 +2500,-600.0,55.5 +2500,-400.0,47.5 +2500,-200.0,39.5 +2500,0.0,39.5 +2500,200.0,39.5 +2500,400.0,47.5 +2500,600.0,55.5 +2500,900.0,67.5 +2500,1200.0,79.5 +2500,1600.0,95.5 +2500,2000.0,111.5 +2500,2500.0,131.5 +2500,3000.0,151.5 +2500,3500.0,171.5 +2500,4000.0,191.5 +2500,4500.0,211.5 +2500,5000.0,231.5 +2500,5500.0,251.5 +3000,-5500.0,256.0 +3000,-5000.0,236.0 +3000,-4500.0,196.0 +3000,-4000.0,196.0 +3000,-3500.0,176.0 +3000,-3000.0,156.0 +3000,-2500.0,136.0 +3000,-2000.0,116.0 +3000,-1600.0,100.0 +3000,-1200.0,84.0 +3000,-900.0,72.0 +3000,-600.0,60.0 +3000,-400.0,52.0 +3000,-200.0,44.0 +3000,0.0,44.0 +3000,200.0,44.0 +3000,400.0,52.0 +3000,600.0,60.0 +3000,900.0,72.0 +3000,1200.0,84.0 +3000,1600.0,100.0 +3000,2000.0,116.0 +3000,2500.0,136.0 +3000,3000.0,156.0 +3000,3500.0,176.0 +3000,4000.0,196.0 +3000,4500.0,216.0 +3000,5000.0,236.0 +3000,5500.0,256.0 diff --git a/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/Gear_6.vtlm b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/Gear_6.vtlm new file mode 100644 index 0000000000..1a9b857161 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/Gear_6.vtlm @@ -0,0 +1,233 @@ +Input Speed [rpm],Input Torque [Nm],Torque Loss [Nm] +0,-5500.0,234.4 +0,-5000.0,214.4 +0,-4500.0,174.4 +0,-4000.0,174.4 +0,-3500.0,154.4 +0,-3000.0,134.4 +0,-2500.0,114.4 +0,-2000.0,94.4 +0,-1600.0,78.4 +0,-1200.0,62.4 +0,-900.0,50.4 +0,-600.0,38.4 +0,-400.0,30.4 +0,-200.0,22.4 +0,0.0,22.4 +0,200.0,22.4 +0,400.0,30.4 +0,600.0,38.4 +0,900.0,50.4 +0,1200.0,62.4 +0,1600.0,78.4 +0,2000.0,94.4 +0,2500.0,114.4 +0,3000.0,134.4 +0,3500.0,154.4 +0,4000.0,174.4 +0,4500.0,194.4 +0,5000.0,214.4 +0,5500.0,234.4 +600,-5500.0,234.4 +600,-5000.0,214.4 +600,-4500.0,174.4 +600,-4000.0,174.4 +600,-3500.0,154.4 +600,-3000.0,134.4 +600,-2500.0,114.4 +600,-2000.0,94.4 +600,-1600.0,78.4 +600,-1200.0,62.4 +600,-900.0,50.4 +600,-600.0,38.4 +600,-400.0,30.4 +600,-200.0,22.4 +600,0.0,22.4 +600,200.0,22.4 +600,400.0,30.4 +600,600.0,38.4 +600,900.0,50.4 +600,1200.0,62.4 +600,1600.0,78.4 +600,2000.0,94.4 +600,2500.0,114.4 +600,3000.0,134.4 +600,3500.0,154.4 +600,4000.0,174.4 +600,4500.0,194.4 +600,5000.0,214.4 +600,5500.0,234.4 +900,-5500.0,237.1 +900,-5000.0,217.1 +900,-4500.0,177.1 +900,-4000.0,177.1 +900,-3500.0,157.1 +900,-3000.0,137.1 +900,-2500.0,117.1 +900,-2000.0,97.1 +900,-1600.0,81.1 +900,-1200.0,65.1 +900,-900.0,53.1 +900,-600.0,41.1 +900,-400.0,33.1 +900,-200.0,25.1 +900,0.0,25.1 +900,200.0,25.1 +900,400.0,33.1 +900,600.0,41.1 +900,900.0,53.1 +900,1200.0,65.1 +900,1600.0,81.1 +900,2000.0,97.1 +900,2500.0,117.1 +900,3000.0,137.1 +900,3500.0,157.1 +900,4000.0,177.1 +900,4500.0,197.1 +900,5000.0,217.1 +900,5500.0,237.1 +1200,-5500.0,239.8 +1200,-5000.0,219.8 +1200,-4500.0,179.8 +1200,-4000.0,179.8 +1200,-3500.0,159.8 +1200,-3000.0,139.8 +1200,-2500.0,119.8 +1200,-2000.0,99.8 +1200,-1600.0,83.8 +1200,-1200.0,67.8 +1200,-900.0,55.8 +1200,-600.0,43.8 +1200,-400.0,35.8 +1200,-200.0,27.8 +1200,0.0,27.8 +1200,200.0,27.8 +1200,400.0,35.8 +1200,600.0,43.8 +1200,900.0,55.8 +1200,1200.0,67.8 +1200,1600.0,83.8 +1200,2000.0,99.8 +1200,2500.0,119.8 +1200,3000.0,139.8 +1200,3500.0,159.8 +1200,4000.0,179.8 +1200,4500.0,199.8 +1200,5000.0,219.8 +1200,5500.0,239.8 +1600,-5500.0,243.4 +1600,-5000.0,223.4 +1600,-4500.0,183.4 +1600,-4000.0,183.4 +1600,-3500.0,163.4 +1600,-3000.0,143.4 +1600,-2500.0,123.4 +1600,-2000.0,103.4 +1600,-1600.0,87.4 +1600,-1200.0,71.4 +1600,-900.0,59.4 +1600,-600.0,47.4 +1600,-400.0,39.4 +1600,-200.0,31.4 +1600,0.0,31.4 +1600,200.0,31.4 +1600,400.0,39.4 +1600,600.0,47.4 +1600,900.0,59.4 +1600,1200.0,71.4 +1600,1600.0,87.4 +1600,2000.0,103.4 +1600,2500.0,123.4 +1600,3000.0,143.4 +1600,3500.0,163.4 +1600,4000.0,183.4 +1600,4500.0,203.4 +1600,5000.0,223.4 +1600,5500.0,243.4 +2000,-5500.0,247.0 +2000,-5000.0,227.0 +2000,-4500.0,187.0 +2000,-4000.0,187.0 +2000,-3500.0,167.0 +2000,-3000.0,147.0 +2000,-2500.0,127.0 +2000,-2000.0,107.0 +2000,-1600.0,91.0 +2000,-1200.0,75.0 +2000,-900.0,63.0 +2000,-600.0,51.0 +2000,-400.0,43.0 +2000,-200.0,35.0 +2000,0.0,35.0 +2000,200.0,35.0 +2000,400.0,43.0 +2000,600.0,51.0 +2000,900.0,63.0 +2000,1200.0,75.0 +2000,1600.0,91.0 +2000,2000.0,107.0 +2000,2500.0,127.0 +2000,3000.0,147.0 +2000,3500.0,167.0 +2000,4000.0,187.0 +2000,4500.0,207.0 +2000,5000.0,227.0 +2000,5500.0,247.0 +2500,-5500.0,251.5 +2500,-5000.0,231.5 +2500,-4500.0,191.5 +2500,-4000.0,191.5 +2500,-3500.0,171.5 +2500,-3000.0,151.5 +2500,-2500.0,131.5 +2500,-2000.0,111.5 +2500,-1600.0,95.5 +2500,-1200.0,79.5 +2500,-900.0,67.5 +2500,-600.0,55.5 +2500,-400.0,47.5 +2500,-200.0,39.5 +2500,0.0,39.5 +2500,200.0,39.5 +2500,400.0,47.5 +2500,600.0,55.5 +2500,900.0,67.5 +2500,1200.0,79.5 +2500,1600.0,95.5 +2500,2000.0,111.5 +2500,2500.0,131.5 +2500,3000.0,151.5 +2500,3500.0,171.5 +2500,4000.0,191.5 +2500,4500.0,211.5 +2500,5000.0,231.5 +2500,5500.0,251.5 +3000,-5500.0,256.0 +3000,-5000.0,236.0 +3000,-4500.0,196.0 +3000,-4000.0,196.0 +3000,-3500.0,176.0 +3000,-3000.0,156.0 +3000,-2500.0,136.0 +3000,-2000.0,116.0 +3000,-1600.0,100.0 +3000,-1200.0,84.0 +3000,-900.0,72.0 +3000,-600.0,60.0 +3000,-400.0,52.0 +3000,-200.0,44.0 +3000,0.0,44.0 +3000,200.0,44.0 +3000,400.0,52.0 +3000,600.0,60.0 +3000,900.0,72.0 +3000,1200.0,84.0 +3000,1600.0,100.0 +3000,2000.0,116.0 +3000,2500.0,136.0 +3000,3000.0,156.0 +3000,3500.0,176.0 +3000,4000.0,196.0 +3000,4500.0,216.0 +3000,5000.0,236.0 +3000,5500.0,256.0 diff --git a/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/Interurban.vdri b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/Interurban.vdri new file mode 100644 index 0000000000..90b5604a3e --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/Interurban.vdri @@ -0,0 +1,4200 @@ +<s>,<v>,<grad>,<stop> +0,0,-3.51,2 +10,32.3,-3.01,0 +20,32.3,-2.51,0 +30,32.3,-2.01,0 +40,32.3,-1.551,0 +50,32.3,-1.336,0 +96,52.3,-1.336,0 +100,52.3,-1.232,0 +110,52.3,-1.115,0 +130,52.3,-0.99,0 +160,52.3,-1.121,0 +170,52.3,-1.222,0 +180,52.3,-1.334,0 +200,52.3,-1.443,0 +230,52.3,-1.331,0 +250,52.3,-1.147,0 +270,52.3,-0.969,0 +276,18.5,-0.969,0 +290,18.5,-0.825,0 +310,18.5,-0.704,0 +312,11.3,-0.704,0 +313,37,-0.704,0 +330,37,-0.598,0 +350,37,-0.455,0 +370,37,-0.282,0 +390,37,-0.11,0 +410,37,0.014,0 +425,0,0.014,12.4 +440,55.2,0.143,0 +480,55.2,0.261,0 +520,55.2,0.377,0 +560,55.2,0.48,0 +610,55.2,0.333,0 +630,55.2,0.214,0 +650,55.2,0.084,0 +670,55.2,-0.07,0 +690,55.2,-0.284,0 +692,43.6,-0.284,0 +700,43.6,-0.42,0 +710,43.6,-0.57,0 +720,43.6,-0.736,0 +730,43.6,-0.879,0 +740,43.6,-0.994,0 +760,43.6,-1.127,0 +815,0,-1.127,3.6 +880,39.6,-0.978,0 +900,39.6,-0.787,0 +910,39.6,-0.667,0 +920,39.6,-0.53,0 +930,39.6,-0.412,0 +940,39.6,-0.311,0 +960,39.6,-0.164,0 +980,39.6,-0.057,0 +998,42.2,-0.057,0 +1010,42.2,0.082,0 +1065,39.6,0.082,0 +1070,39.6,-0.024,0 +1090,39.6,-0.14,0 +1180,39.6,-0.021,0 +1189,44.8,-0.021,0 +1290,44.8,0.081,0 +1334,42,0.081,0 +1370,42,-0.021,0 +1390,42,-0.13,0 +1395,46,-0.13,0 +1450,46,-0.239,0 +1480,46,-0.34,0 +1500,46,-0.457,0 +1530,46,-0.585,0 +1588,0,-0.585,32.4 +1617,42.2,-0.585,0 +1670,42.2,-0.405,0 +1690,42.2,-0.252,0 +1710,42.2,-0.133,0 +1774,0,-0.133,12 +1791,32,-0.133,0 +1860,32,-0.267,0 +1865,0,-0.267,23.8 +1890,41.3,-0.388,0 +1910,41.3,-0.488,0 +1994,10,-0.488,0 +1995,42.1,-0.488,0 +2000,42.1,-0.386,0 +2130,42.1,-0.269,0 +2137,24,-0.269,0 +2138,41.1,-0.269,0 +2150,41.1,-0.154,0 +2240,41.1,-0.255,0 +2270,12.3,-0.143,0 +2290,12.3,-0.012,0 +2322,0,-0.012,1.2 +2337,27,-0.012,0 +2414,0,-0.012,9.6 +2420,23.9,0.116,0 +2440,23.9,0.229,0 +2460,23.9,0.33,0 +2490,23.9,0.444,0 +2501,0,0.444,6.8 +2540,30.7,0.562,0 +2570,30.7,0.665,0 +2589,0,0.665,7.6 +2600,50.1,0.771,0 +2650,50.1,0.598,0 +2670,50.1,0.41,0 +2680,50.1,0.309,0 +2700,50.1,0.152,0 +2720,50.1,0.036,0 +2740,50.1,-0.072,0 +2760,50.1,-0.209,0 +2780,50.1,-0.389,0 +2790,50.1,-0.493,0 +2800,50.1,-0.605,0 +2810,50.1,-0.72,0 +2820,50.1,-0.844,0 +2830,50.1,-0.947,0 +2850,50.1,-1.073,0 +2910,50.1,-0.949,0 +2919,0,-0.949,21.4 +2950,48.7,-0.822,0 +2980,48.7,-0.697,0 +3000,48.7,-0.536,0 +3010,48.7,-0.419,0 +3020,48.7,-0.264,0 +3030,48.7,-0.111,0 +3040,48.7,0.035,0 +3050,48.7,0.159,0 +3070,48.7,0.295,0 +3100,48.7,0.116,0 +3110,48.7,-0.048,0 +3120,48.7,-0.237,0 +3130,48.7,-0.414,0 +3134,35.1,-0.414,0 +3140,35.1,-0.574,0 +3150,35.1,-0.704,0 +3170,35.1,-0.847,0 +3206,0,-0.847,10.4 +3220,19,-0.96,0 +3240,19,-1.136,0 +3250,19,-1.244,0 +3260,19,-1.347,0 +3275,35.5,-1.347,0 +3280,35.5,-1.459,0 +3310,35.5,-1.231,0 +3320,35.5,-1.044,0 +3330,35.5,-0.84,0 +3340,35.5,-0.629,0 +3350,35.5,-0.419,0 +3360,35.5,-0.238,0 +3370,35.5,-0.073,0 +3380,35.5,0.067,0 +3390,35.5,0.174,0 +3410,35.5,0.321,0 +3430,35.5,0.429,0 +3441,10,0.429,0 +3442,12.3,0.429,0 +3459,0,0.429,21.2 +3470,32,0.538,0 +3520,32,0.397,0 +3530,32,0.294,0 +3540,32,0.16,0 +3550,32,-0.007,0 +3560,32,-0.181,0 +3570,32,-0.364,0 +3577,13.2,-0.364,0 +3578,21.3,-0.364,0 +3580,21.3,-0.544,0 +3590,21.3,-0.683,0 +3595,26.1,-0.683,0 +3610,26.1,-0.835,0 +3682,0,-0.835,16.2 +3732,26,-0.835,0 +3733,30.7,-0.835,0 +3750,30.7,-0.688,0 +3770,30.7,-0.527,0 +3790,30.7,-0.388,0 +3802,17.9,-0.388,0 +3806,36.4,-0.388,0 +3870,36.4,-0.264,0 +3900,36.4,-0.135,0 +3932,32.6,-0.135,0 +3943,27.5,-0.135,0 +3958,39.6,-0.135,0 +3990,39.6,-0.28,0 +4017,30,-0.28,0 +4020,30,-0.392,0 +4022,32.1,-0.392,0 +4060,32.1,-0.534,0 +4073,0,-0.534,9.6 +4080,23.1,-0.647,0 +4110,23.1,-0.775,0 +4126,0,-0.775,3.8 +4170,35.7,-0.658,0 +4190,35.7,-0.506,0 +4210,35.7,-0.351,0 +4230,35.7,-0.198,0 +4250,35.7,-0.075,0 +4257,30.7,-0.075,0 +4280,30.7,0.047,0 +4310,32.5,0.047,0 +4320,32.5,0.163,0 +4380,32.5,0.059,0 +4400,32.5,-0.08,0 +4420,32.5,-0.212,0 +4440,32.5,-0.329,0 +4460,20.5,-0.329,0 +4470,20.5,-0.434,0 +4479,22.4,-0.434,0 +4491,42.1,-0.434,0 +4510,42.1,-0.578,0 +4530,42.1,-0.686,0 +4550,42.1,-0.813,0 +4570,42.1,-0.921,0 +4620,42.1,-1.037,0 +4650,42.1,-1.154,0 +4670,42.1,-1.271,0 +4690,42.1,-1.408,0 +4710,42.1,-1.556,0 +4730,42.1,-1.68,0 +4790,42.1,-1.517,0 +4810,42.1,-1.374,0 +4830,42.1,-1.261,0 +4849,10,-1.261,0 +4850,39.3,-1.133,0 +4870,39.3,-0.931,0 +4880,39.3,-0.796,0 +4890,39.3,-0.639,0 +4900,39.3,-0.473,0 +4910,39.3,-0.307,0 +4920,39.3,-0.153,0 +4930,39.3,-0.026,0 +4950,39.3,0.129,0 +5010,39.3,0.013,0 +5021,28.4,0.013,0 +5022,45.1,0.013,0 +5150,45.1,0.181,0 +5160,45.1,0.305,0 +5170,45.1,0.432,0 +5180,45.1,0.55,0 +5190,45.1,0.654,0 +5210,45.1,0.805,0 +5241,0,0.805,14.8 +5280,35.4,0.919,0 +5356,10,0.919,0 +5360,10,0.75,0 +5364,40.1,0.75,0 +5370,40.1,0.632,0 +5380,40.1,0.518,0 +5390,40.1,0.414,0 +5410,40.1,0.253,0 +5440,40.1,0.129,0 +5480,40.1,0.024,0 +5510,40.1,-0.134,0 +5517,24.3,-0.134,0 +5519,54.9,-0.134,0 +5540,54.9,-0.235,0 +5600,54.9,-0.132,0 +5630,54.9,-0.234,0 +5650,54.9,-0.36,0 +5670,54.9,-0.469,0 +5710,54.9,-0.594,0 +5740,54.9,-0.759,0 +5760,54.9,-0.961,0 +5780,54.9,-1.111,0 +5830,54.9,-0.955,0 +5840,54.9,-0.855,0 +5850,54.9,-0.746,0 +5856,0,-0.746,4.2 +5860,47.2,-0.643,0 +5880,47.2,-0.46,0 +5900,47.2,-0.326,0 +5920,47.2,-0.195,0 +5940,47.2,-0.028,0 +5960,47.2,0.168,0 +5980,47.2,0.276,0 +5991,49.9,0.276,0 +6005,57.8,0.276,0 +6030,57.8,0.123,0 +6060,57.8,-0.01,0 +6140,57.8,0.101,0 +6170,57.8,0.242,0 +6185,46.5,0.242,0 +6200,46.5,0.368,0 +6226,48.4,0.368,0 +6230,48.4,0.477,0 +6242,59.2,0.477,0 +6340,59.2,0.377,0 +6380,59.2,0.478,0 +6400,59.2,0.579,0 +6403,46.5,0.579,0 +6408,48.4,0.579,0 +6442,59,0.579,0 +6580,59,0.433,0 +6610,59,0.307,0 +6730,59,0.192,0 +6749,67,0.192,0 +6750,67,0.071,0 +6780,67,-0.063,0 +6840,67,-0.167,0 +7020,67,-0.286,0 +7070,67,-0.393,0 +7120,67,-0.28,0 +7233,52,-0.28,0 +7240,52,-0.389,0 +7250,58.4,-0.389,0 +7270,58.4,-0.518,0 +7300,58.4,-0.638,0 +7320,58.4,-0.746,0 +7340,58.4,-0.891,0 +7360,58.4,-1.047,0 +7380,58.4,-1.187,0 +7400,58.4,-1.309,0 +7420,58.4,-1.427,0 +7450,58.4,-1.555,0 +7478,18.4,-1.555,0 +7490,18.4,-1.667,0 +7519,52,-1.667,0 +7520,52,-1.774,0 +7560,52,-1.898,0 +7650,52,-2.02,0 +7710,52,-1.813,0 +7720,52,-1.653,0 +7730,52,-1.462,0 +7740,24.2,-1.249,0 +7743,30,-1.249,0 +7750,30,-1.029,0 +7760,30,-0.81,0 +7770,30,-0.602,0 +7780,30,-0.407,0 +7790,30,-0.221,0 +7800,30,-0.046,0 +7809,39.2,-0.046,0 +7810,39.2,0.133,0 +7820,39.2,0.315,0 +7830,39.2,0.502,0 +7840,39.2,0.694,0 +7850,39.2,0.883,0 +7860,39.2,1.059,0 +7870,39.2,1.212,0 +7880,39.2,1.333,0 +7900,39.2,1.455,0 +7940,39.2,1.297,0 +7960,39.2,1.134,0 +7976,55.5,1.134,0 +7980,55.5,0.998,0 +8010,55.5,0.872,0 +8040,55.5,0.725,0 +8060,55.5,0.577,0 +8080,55.5,0.413,0 +8100,55.5,0.25,0 +8120,55.5,0.11,0 +8140,55.5,0.01,0 +8190,55.5,-0.1,0 +8220,55.5,-0.204,0 +8248,32.6,-0.204,0 +8255,44.9,-0.204,0 +8260,44.9,-0.322,0 +8360,44.9,-0.444,0 +8377,26.6,-0.444,0 +8379,42.5,-0.444,0 +8390,42.5,-0.553,0 +8420,42.5,-0.421,0 +8440,42.5,-0.262,0 +8460,42.5,-0.104,0 +8490,42.5,0.022,0 +8524,0,0.022,10.8 +8530,36.3,0.137,0 +8550,36.3,0.239,0 +8570,36.3,0.339,0 +8620,36.3,0.196,0 +8640,36.3,0.036,0 +8648,30,0.036,0 +8660,30,-0.086,0 +8690,36.3,-0.086,0 +8740,36.3,0.035,0 +8776,27.4,0.035,0 +8780,27.4,0.152,0 +8810,27.4,0.276,0 +8840,27.4,0.403,0 +8844,0,0.403,21.2 +8890,33.8,0.235,0 +8900,33.8,0.122,0 +8910,33.8,-0.005,0 +8920,33.8,-0.137,0 +8930,33.8,-0.264,0 +8938,28,-0.264,0 +8940,28,-0.38,0 +8960,28,-0.552,0 +8979,35.4,-0.552,0 +8980,35.4,-0.672,0 +9010,35.4,-0.805,0 +9030,35.4,-0.917,0 +9060,35.4,-1.031,0 +9065,38.9,-1.031,0 +9090,38.9,-0.863,0 +9100,38.9,-0.741,0 +9110,38.9,-0.609,0 +9120,38.9,-0.479,0 +9130,38.9,-0.367,0 +9150,38.9,-0.234,0 +9180,43.5,-0.234,0 +9200,43.5,-0.368,0 +9280,43.5,-0.471,0 +9309,34.2,-0.471,0 +9320,34.2,-0.577,0 +9360,0,-0.577,8.8 +9380,34.2,-0.448,0 +9450,34.2,-0.589,0 +9470,34.2,-0.778,0 +9475,37.3,-0.778,0 +9490,37.3,-0.956,0 +9510,37.3,-1.095,0 +9530,37.3,-1.2,0 +9555,10,-1.2,0 +9556,26.9,-1.2,0 +9560,26.9,-1.324,0 +9620,26.9,-1.199,0 +9640,26.9,-1.03,0 +9643,41.5,-1.03,0 +9660,41.5,-0.836,0 +9680,41.5,-0.685,0 +9700,41.5,-0.554,0 +9720,41.5,-0.421,0 +9740,41.5,-0.286,0 +9751,31.5,-0.286,0 +9753,35.9,-0.286,0 +9760,35.9,-0.167,0 +9790,35.9,-0.044,0 +9830,35.9,0.063,0 +9843,26.5,0.063,0 +9845,37.7,0.063,0 +9870,37.7,0.177,0 +9930,37.7,0.042,0 +9951,0,0.042,7.4 +10010,37,-0.085,0 +10030,37,-0.211,0 +10050,37,-0.333,0 +10059,19.2,-0.333,0 +10060,37.8,-0.333,0 +10090,37.8,-0.434,0 +10184,28.4,-0.434,0 +10220,28.4,-0.28,0 +10237,20.8,-0.28,0 +10240,20.8,-0.167,0 +10244,24.6,-0.167,0 +10280,24.6,-0.055,0 +10288,36.4,-0.055,0 +10330,36.4,0.057,0 +10380,36.4,-0.052,0 +10398,0,-0.052,8.8 +10460,29.1,0.096,0 +10467,12.8,0.096,0 +10471,56.5,0.096,0 +10480,56.5,0.202,0 +10500,56.5,0.315,0 +10540,56.5,0.421,0 +10590,56.5,0.29,0 +10610,56.5,0.138,0 +10630,56.5,-0.053,0 +10650,56.5,-0.243,0 +10670,56.5,-0.394,0 +10690,56.5,-0.495,0 +10749,26,-0.495,0 +10757,57,-0.495,0 +10760,57,-0.354,0 +10780,57,-0.224,0 +10800,57,-0.106,0 +10830,57,0.018,0 +10890,57,-0.107,0 +10910,57,-0.244,0 +10930,57,-0.386,0 +10950,57,-0.497,0 +10990,57,-0.602,0 +11005,25.3,-0.602,0 +11013,28,-0.602,0 +11038,49.6,-0.602,0 +11050,49.6,-0.455,0 +11070,49.6,-0.352,0 +11100,49.6,-0.244,0 +11147,53.7,-0.244,0 +11264,45.3,-0.244,0 +11309,54.4,-0.244,0 +11330,54.4,-0.102,0 +11360,54.4,0.023,0 +11450,46.5,0.023,0 +11470,46.5,0.139,0 +11500,46.5,0.257,0 +11530,46.5,0.391,0 +11550,46.5,0.536,0 +11570,46.5,0.668,0 +11640,46.5,0.498,0 +11657,10,0.498,0 +11660,16.7,0.308,0 +11680,16.7,0.13,0 +11689,35.1,0.13,0 +11700,35.1,-0.003,0 +11720,35.1,-0.129,0 +11740,35.1,-0.282,0 +11760,35.1,-0.399,0 +11779,0,-0.399,12.2 +11810,26.6,-0.269,0 +11827,22.2,-0.269,0 +11830,22.2,-0.11,0 +11836,66.5,-0.11,0 +11850,66.5,0.056,0 +11870,66.5,0.208,0 +11890,66.5,0.361,0 +11910,66.5,0.492,0 +11930,66.5,0.635,0 +11950,66.5,0.758,0 +12110,66.5,0.617,0 +12130,66.5,0.497,0 +12160,66.5,0.378,0 +12280,66.5,0.491,0 +12300,66.5,0.596,0 +12321,33.8,0.596,0 +12330,33.8,0.714,0 +12370,33.8,0.55,0 +12390,33.8,0.386,0 +12410,33.8,0.253,0 +12414,50,0.253,0 +12440,50,0.145,0 +12490,50,0.016,0 +12520,50,-0.085,0 +12620,50,0.018,0 +12680,50,-0.084,0 +12700,56.6,-0.084,0 +12740,56.6,-0.188,0 +12840,56.6,-0.058,0 +12870,56.6,0.052,0 +12910,56.6,0.173,0 +12940,56.6,0.282,0 +13030,56.6,0.166,0 +13040,61.3,0.166,0 +13050,61.3,0.06,0 +13070,61.3,-0.045,0 +13090,61.3,-0.178,0 +13110,61.3,-0.362,0 +13120,61.3,-0.472,0 +13130,61.3,-0.582,0 +13140,61.3,-0.687,0 +13160,61.3,-0.849,0 +13220,61.3,-0.693,0 +13240,61.3,-0.547,0 +13255,0,-0.547,13.6 +13260,57.5,-0.387,0 +13280,57.5,-0.229,0 +13300,57.5,-0.085,0 +13320,57.5,0.054,0 +13340,57.5,0.173,0 +13410,57.5,0.029,0 +13430,57.5,-0.164,0 +13440,57.5,-0.28,0 +13450,57.5,-0.405,0 +13460,57.5,-0.541,0 +13470,57.5,-0.684,0 +13480,57.5,-0.832,0 +13490,57.5,-0.982,0 +13500,57.5,-1.131,0 +13510,57.5,-1.27,0 +13520,57.5,-1.393,0 +13540,57.5,-1.542,0 +13580,57.5,-1.369,0 +13590,57.5,-1.266,0 +13600,57.5,-1.161,0 +13610,57.5,-1.057,0 +13619,0,-1.057,6 +13630,25,-0.872,0 +13650,25,-0.694,0 +13660,25,-0.593,0 +13670,25,-0.477,0 +13680,25,-0.335,0 +13690,15.3,-0.177,0 +13691,41.8,-0.177,0 +13700,41.8,-0.004,0 +13710,41.8,0.174,0 +13720,41.8,0.344,0 +13730,41.8,0.487,0 +13740,41.8,0.587,0 +13790,41.8,0.476,0 +13810,41.8,0.303,0 +13821,48,0.303,0 +13830,48,0.14,0 +13850,48,-0.031,0 +13860,48,-0.131,0 +13870,48,-0.247,0 +13880,48,-0.379,0 +13890,48,-0.521,0 +13900,48,-0.667,0 +13910,48,-0.812,0 +13920,48,-0.948,0 +13930,48,-1.07,0 +13940,48,-1.18,0 +13960,48,-1.372,0 +13980,48,-1.552,0 +13999,18.9,-1.552,0 +14000,30.4,-1.664,0 +14070,30.4,-1.509,0 +14073,0,-1.509,12.4 +14090,42.7,-1.372,0 +14110,42.7,-1.231,0 +14130,42.7,-1.105,0 +14150,42.7,-0.988,0 +14170,42.7,-0.869,0 +14200,42.7,-0.768,0 +14231,30,-0.768,0 +14246,33.1,-0.768,0 +14250,33.1,-0.871,0 +14325,10,-0.871,0 +14326,41.1,-0.871,0 +14410,41.1,-0.71,0 +14430,41.1,-0.536,0 +14450,41.1,-0.408,0 +14484,32.8,-0.408,0 +14500,32.8,-0.287,0 +14510,47,-0.287,0 +14540,47,-0.182,0 +14650,47,-0.305,0 +14745,10.9,-0.305,0 +14746,19.2,-0.305,0 +14770,35.2,-0.194,0 +14790,35.2,-0.09,0 +14810,35.2,0.018,0 +14858,22.1,0.018,0 +14866,39.2,0.018,0 +14880,39.2,-0.121,0 +14900,39.2,-0.305,0 +14920,39.2,-0.475,0 +14940,39.2,-0.618,0 +14960,39.2,-0.746,0 +14980,39.2,-0.881,0 +15000,39.2,-1.019,0 +15020,39.2,-1.125,0 +15027,26.5,-1.125,0 +15048,32.6,-1.125,0 +15120,32.6,-0.948,0 +15121,26.2,-0.948,0 +15129,32.9,-0.948,0 +15140,32.9,-0.764,0 +15160,32.9,-0.579,0 +15180,32.9,-0.435,0 +15200,32.9,-0.312,0 +15220,32.9,-0.21,0 +15238,24.4,-0.21,0 +15240,24.4,-0.109,0 +15260,24.4,0.013,0 +15264,0,0.013,11 +15280,31.4,0.143,0 +15300,31.4,0.267,0 +15320,31.4,0.373,0 +15370,31.4,0.481,0 +15376,45.1,0.481,0 +15480,45.1,0.584,0 +15520,45.1,0.461,0 +15540,45.1,0.289,0 +15550,45.1,0.185,0 +15560,45.1,0.064,0 +15570,12.5,0.064,0 +15577,28.4,0.064,0 +15580,28.4,-0.102,0 +15600,28.4,-0.221,0 +15630,28.4,-0.347,0 +15651,0,-0.347,7.6 +15708,13.4,-0.347,0 +15709,45.5,-0.347,0 +15710,45.5,-0.234,0 +15730,45.5,-0.121,0 +15750,45.5,0.029,0 +15770,45.5,0.191,0 +15790,45.5,0.314,0 +15880,45.5,0.147,0 +15900,45.5,0.013,0 +15930,45.5,-0.103,0 +16040,45.5,-0.226,0 +16160,45.5,-0.334,0 +16230,45.5,-0.223,0 +16250,45.5,-0.094,0 +16270,45.5,0.019,0 +16300,45.5,0.139,0 +16322,25.2,0.139,0 +16330,25.2,0.244,0 +16359,21,0.244,0 +16370,21,0.37,0 +16376,14.6,0.37,0 +16389,27.9,0.37,0 +16400,27.9,0.475,0 +16449,10,0.475,0 +16452,26.1,0.475,0 +16504,0,0.475,11.4 +16530,32.4,0.375,0 +16608,28,0.375,0 +16636,34.7,0.375,0 +16670,34.7,0.244,0 +16790,34.7,0.116,0 +16810,34.7,-0.02,0 +16826,0,-0.02,6 +16830,35.6,-0.135,0 +16850,35.6,-0.24,0 +16870,35.6,-0.364,0 +16890,35.6,-0.506,0 +16910,35.6,-0.629,0 +16950,35.6,-0.738,0 +17030,35.6,-0.613,0 +17039,13.9,-0.613,0 +17040,22.9,-0.469,0 +17050,22.9,-0.295,0 +17060,22.9,-0.098,0 +17070,22.9,0.11,0 +17080,22.9,0.313,0 +17090,22.9,0.5,0 +17100,22.9,0.658,0 +17103,0,0.658,11 +17110,21.8,0.784,0 +17130,21.8,0.936,0 +17152,50.8,0.936,0 +17170,50.8,1.062,0 +17240,50.8,0.897,0 +17250,50.8,0.775,0 +17260,50.8,0.637,0 +17270,50.8,0.489,0 +17280,50.8,0.342,0 +17290,50.8,0.197,0 +17300,50.8,0.059,0 +17310,50.8,-0.067,0 +17320,50.8,-0.179,0 +17340,50.8,-0.352,0 +17360,50.8,-0.454,0 +17440,50.8,-0.567,0 +17470,50.8,-0.683,0 +17500,50.8,-0.785,0 +17560,50.8,-0.904,0 +17600,50.8,-1.015,0 +17613,14.2,-1.015,0 +17618,32.8,-1.015,0 +17660,32.8,-0.866,0 +17680,32.8,-0.686,0 +17700,32.8,-0.52,0 +17720,32.8,-0.408,0 +17736,0,-0.408,13.6 +17827,10,-0.408,0 +17841,0,-0.408,19 +17890,33.5,-0.511,0 +17910,33.5,-0.628,0 +17930,33.5,-0.757,0 +17938,23.6,-0.757,0 +17939,39.8,-0.757,0 +17950,39.8,-0.859,0 +18030,39.8,-1.012,0 +18044,25.4,-1.012,0 +18050,25.4,-1.176,0 +18053,35.1,-1.176,0 +18070,35.1,-1.341,0 +18120,35.1,-1.145,0 +18122,43.8,-1.145,0 +18130,43.8,-1.008,0 +18140,43.8,-0.86,0 +18150,43.8,-0.722,0 +18160,43.8,-0.601,0 +18180,43.8,-0.437,0 +18210,43.8,-0.307,0 +18230,43.8,-0.167,0 +18237,29.3,-0.167,0 +18240,29.3,-0.065,0 +18250,29.3,0.048,0 +18251,40.1,0.048,0 +18270,40.1,0.241,0 +18290,40.1,0.341,0 +18330,40.1,0.218,0 +18356,0,0.218,12.8 +18430,45.7,0.087,0 +18460,45.7,-0.032,0 +18522,30.7,-0.032,0 +18524,49,-0.032,0 +18540,49,-0.15,0 +18580,49,-0.271,0 +18603,57.3,-0.271,0 +18628,57.4,-0.271,0 +18750,57.4,-0.147,0 +18751,46.8,-0.147,0 +18770,46.8,-0.022,0 +18790,46.8,0.112,0 +18810,46.8,0.214,0 +18846,28.7,0.214,0 +18879,35.2,0.214,0 +18880,35.2,0.317,0 +18920,35.2,0.44,0 +18987,0,0.44,13 +19040,63.5,0.55,0 +19120,63.5,0.445,0 +19140,63.5,0.272,0 +19160,63.5,0.096,0 +19180,63.5,-0.083,0 +19200,63.5,-0.269,0 +19220,63.5,-0.465,0 +19230,63.5,-0.565,0 +19240,63.5,-0.665,0 +19260,63.5,-0.85,0 +19280,63.5,-0.994,0 +19360,63.5,-0.877,0 +19371,0,-0.877,27 +19380,27.8,-0.723,0 +19400,27.8,-0.548,0 +19420,27.8,-0.378,0 +19440,27.8,-0.209,0 +19457,0,-0.209,9.4 +19460,49.8,-0.042,0 +19480,49.8,0.142,0 +19500,49.8,0.302,0 +19520,49.8,0.453,0 +19540,49.8,0.573,0 +19650,49.8,0.446,0 +19664,54.4,0.446,0 +19670,54.4,0.314,0 +19690,54.4,0.127,0 +19700,54.4,0.015,0 +19710,54.4,-0.107,0 +19720,54.4,-0.236,0 +19730,54.4,-0.366,0 +19740,54.4,-0.494,0 +19750,54.4,-0.61,0 +19760,54.4,-0.727,0 +19780,54.4,-0.863,0 +19859,0,-0.863,22.2 +19870,20.4,-0.761,0 +19890,20.4,-0.63,0 +19892,44.7,-0.63,0 +19910,44.7,-0.466,0 +19930,44.7,-0.297,0 +19950,44.7,-0.161,0 +20020,44.7,-0.053,0 +20088,22.6,-0.053,0 +20089,44.1,-0.053,0 +20120,44.1,-0.183,0 +20170,44.1,-0.07,0 +20229,32.2,-0.07,0 +20240,32.2,-0.221,0 +20255,36.2,-0.221,0 +20310,36.2,-0.104,0 +20329,36.5,-0.104,0 +20335,48.5,-0.104,0 +20340,48.5,0,0 +20370,48.5,-0.11,0 +20500,48.5,-0.325,0 +20510,48.5,-0.455,0 +20520,48.5,-0.588,0 +20530,48.5,-0.708,0 +20550,48.5,-0.873,0 +20620,48.5,-0.753,0 +20631,16.5,-0.753,0 +20638,50.6,-0.753,0 +20670,50.6,-0.624,0 +20690,50.6,-0.443,0 +20700,50.6,-0.313,0 +20710,50.6,-0.163,0 +20720,50.6,-0.006,0 +20730,50.6,0.149,0 +20740,50.6,0.29,0 +20750,50.6,0.406,0 +20770,50.6,0.56,0 +20795,54.8,0.56,0 +20800,54.8,0.68,0 +20840,54.8,0.782,0 +20900,54.8,0.637,0 +20920,54.8,0.52,0 +20940,54.8,0.401,0 +20960,54.8,0.264,0 +20967,48.2,0.264,0 +20980,48.2,0.085,0 +20990,48.2,-0.024,0 +21000,48.2,-0.14,0 +21010,48.2,-0.255,0 +21020,48.2,-0.36,0 +21040,48.2,-0.514,0 +21120,48.2,-0.38,0 +21127,23.7,-0.38,0 +21140,54.6,-0.38,0 +21170,54.6,-0.271,0 +21200,54.6,-0.143,0 +21220,54.6,-0.015,0 +21240,54.6,0.097,0 +21269,60.3,0.097,0 +21320,60.3,-0.056,0 +21340,60.3,-0.205,0 +21360,60.3,-0.334,0 +21383,56.4,-0.334,0 +21390,56.4,-0.458,0 +21430,56.4,-0.586,0 +21520,56.4,-0.439,0 +21522,0,-0.439,8 +21530,49.3,-0.317,0 +21540,49.3,-0.182,0 +21550,49.3,-0.044,0 +21560,49.3,0.088,0 +21570,49.3,0.208,0 +21580,49.3,0.314,0 +21600,49.3,0.5,0 +21620,49.3,0.663,0 +21640,49.3,0.807,0 +21705,51.6,0.807,0 +21720,51.6,0.688,0 +21750,51.6,0.554,0 +21775,51.5,0.554,0 +21784,48.3,0.554,0 +21810,48.3,0.43,0 +21830,48.3,0.313,0 +21840,48.3,0.21,0 +21850,48.3,0.109,0 +21860,48.3,-0.005,0 +21870,48.3,-0.131,0 +21873,27,-0.131,0 +21874,30.8,-0.131,0 +21880,30.8,-0.263,0 +21890,30.8,-0.397,0 +21900,30.8,-0.527,0 +21910,30.8,-0.649,0 +21920,30.8,-0.762,0 +21933,0,-0.762,10.8 +21940,28.1,-0.942,0 +21960,28.1,-1.076,0 +21990,28.1,-1.201,0 +22014,18.9,-1.201,0 +22015,46.7,-1.201,0 +22040,46.7,-1.048,0 +22060,46.7,-0.835,0 +22070,46.7,-0.711,0 +22080,46.7,-0.588,0 +22090,46.7,-0.476,0 +22110,46.7,-0.307,0 +22140,46.7,-0.189,0 +22154,33.7,-0.189,0 +22156,50.6,-0.189,0 +22190,50.6,-0.074,0 +22230,50.6,0.068,0 +22250,50.6,0.183,0 +22270,50.6,0.33,0 +22290,50.6,0.482,0 +22305,44,0.482,0 +22310,44,0.605,0 +22322,55.7,0.605,0 +22390,55.7,0.411,0 +22400,55.7,0.297,0 +22410,55.7,0.165,0 +22420,55.7,0.023,0 +22430,55.7,-0.123,0 +22440,55.7,-0.272,0 +22450,55.7,-0.38,0 +22470,55.7,-0.488,0 +22510,55.7,-0.308,0 +22530,55.7,-0.124,0 +22533,0,-0.124,21.6 +22550,26.6,0.065,0 +22570,26.6,0.264,0 +22580,26.6,0.369,0 +22590,26.6,0.479,0 +22591,18.5,0.479,0 +22594,39.3,0.479,0 +22600,39.3,0.585,0 +22620,39.3,0.767,0 +22640,39.3,0.869,0 +22649,50.6,0.869,0 +22670,50.6,0.697,0 +22680,50.6,0.58,0 +22690,50.6,0.451,0 +22700,50.6,0.319,0 +22710,50.6,0.193,0 +22720,50.6,0.077,0 +22730,50.6,-0.026,0 +22750,50.6,-0.194,0 +22830,50.6,-0.08,0 +22847,0,-0.08,17.2 +22850,60.2,0.031,0 +22880,60.2,0.17,0 +22910,60.2,0.33,0 +22930,60.2,0.474,0 +22950,60.2,0.621,0 +23020,60.2,0.511,0 +23040,60.2,0.397,0 +23060,60.2,0.297,0 +23090,60.2,0.16,0 +23110,60.2,0.025,0 +23130,60.2,-0.167,0 +23140,60.2,-0.281,0 +23150,60.2,-0.397,0 +23160,60.2,-0.517,0 +23170,60.2,-0.634,0 +23180,60.2,-0.749,0 +23190,60.2,-0.866,0 +23200,60.2,-0.983,0 +23210,60.2,-1.097,0 +23220,60.2,-1.205,0 +23240,60.2,-1.382,0 +23249,55.1,-1.382,0 +23270,55.1,-1.505,0 +23303,33.7,-1.505,0 +23350,33.7,-1.607,0 +23378,18.4,-1.607,0 +23384,33.3,-1.607,0 +23390,33.3,-1.47,0 +23410,33.3,-1.305,0 +23420,33.3,-1.122,0 +23430,33.3,-0.943,0 +23440,33.3,-0.77,0 +23450,33.3,-0.608,0 +23460,33.3,-0.459,0 +23470,33.3,-0.319,0 +23480,33.3,-0.184,0 +23490,33.3,-0.054,0 +23500,33.3,0.081,0 +23505,81,0.081,0 +23510,81,0.222,0 +23520,81,0.368,0 +23530,81,0.52,0 +23540,81,0.67,0 +23550,81,0.813,0 +23560,81,0.946,0 +23570,81,1.066,0 +23580,81,1.174,0 +23600,81,1.356,0 +23650,81,1.236,0 +23680,81,1.119,0 +23710,81,1.003,0 +23740,81,0.886,0 +23770,81,0.769,0 +24000,81,0.592,0 +24010,81,0.478,0 +24020,81,0.364,0 +24030,81,0.251,0 +24040,81,0.137,0 +24050,81,0.023,0 +24060,81,-0.091,0 +24070,81,-0.205,0 +24080,81,-0.319,0 +24090,81,-0.432,0 +24093,51,-0.432,0 +24100,51,-0.546,0 +24110,51,-0.66,0 +24120,51,-0.774,0 +24130,51,-0.888,0 +24140,51,-1.001,0 +24150,51,-1.115,0 +24160,51,-1.229,0 +24170,51,-1.343,0 +24180,51,-1.457,0 +24190,51,-1.57,0 +24780,74,-1.466,0 +24870,74,-1.309,0 +24880,74,-1.167,0 +24890,74,-1.024,0 +24900,74,-0.882,0 +24910,74,-0.739,0 +24920,74,-0.597,0 +24930,74,-0.454,0 +24940,74,-0.312,0 +24950,74,-0.169,0 +24960,74,-0.046,0 +24980,74,0.113,0 +25000,74,0.272,0 +25020,74,0.431,0 +25040,74,0.59,0 +25060,74,0.735,0 +25080,74,0.609,0 +25100,74,0.483,0 +25120,74,0.357,0 +25140,74,0.231,0 +25160,74,0.13,0 +25640,74,0.235,0 +25860,74,0.361,0 +25890,74,0.495,0 +25920,74,0.629,0 +25950,74,0.764,0 +25980,74,0.898,0 +26010,74,1.032,0 +26040,74,1.166,0 +26100,74,1.046,0 +26110,74,0.859,0 +26120,74,0.671,0 +26130,74,0.483,0 +26140,74,0.295,0 +26150,74,0.107,0 +26160,74,-0.081,0 +26170,74,-0.269,0 +26180,74,-0.457,0 +26190,74,-0.645,0 +26200,74,-0.833,0 +26220,74,-1.022,0 +26240,74,-1.201,0 +26260,74,-1.38,0 +26280,74,-1.559,0 +26310,74,-1.453,0 +26330,74,-1.256,0 +26350,74,-1.06,0 +26370,62,-0.863,0 +26390,74,-0.667,0 +27880,74,-0.434,0 +27890,74,-0.284,0 +27900,74,-0.134,0 +27910,74,0.016,0 +27920,74,0.166,0 +27930,74,0.315,0 +27940,74,0.465,0 +27950,74,0.615,0 +27960,74,0.765,0 +27970,74,0.915,0 +27980,74,1.064,0 +27990,74,1.214,0 +28000,74,1.364,0 +28010,74,1.514,0 +28020,74,1.664,0 +28030,74,1.813,0 +28040,74,1.963,0 +28050,74,2.113,0 +28060,74,2.263,0 +28070,74,2.413,0 +28560,74,2.287,0 +28580,74,2.108,0 +28600,74,1.928,0 +28620,74,1.749,0 +28640,74,1.57,0 +28660,74,1.391,0 +28680,74,1.211,0 +28700,74,1.032,0 +28720,74,0.853,0 +28740,74,0.673,0 +29030,74,0.775,0 +29210,74,0.914,0 +29240,74,1.054,0 +29270,74,1.194,0 +29310,74,1.055,0 +29330,74,0.951,0 +29350,74,0.847,0 +29370,74,0.742,0 +29377,24,0.742,0 +29390,24,0.615,0 +29402,54,0.615,0 +29410,54,0.417,0 +29430,54,0.22,0 +29450,54,0.022,0 +29470,54,-0.175,0 +29780,54,-0.041,0 +29810,54,0.063,0 +29840,54,0.167,0 +29870,54,0.271,0 +29900,54,0.375,0 +30460,54,0.497,0 +30490,54,0.631,0 +30530,54,0.748,0 +30570,54,0.856,0 +30610,54,0.959,0 +30650,54,0.818,0 +30680,54,0.682,0 +30708,74,0.682,0 +30710,74,0.574,0 +30750,74,0.462,0 +30790,74,0.351,0 +31130,74,0.463,0 +31170,74,0.594,0 +31181,54,0.594,0 +31210,54,0.725,0 +31350,54,0.605,0 +31390,54,0.501,0 +31660,54,0.4,0 +31980,54,0.544,0 +32000,31,0.697,0 +32020,54,0.85,0 +32040,54,1.003,0 +32060,54,1.156,0 +32080,54,1.309,0 +32100,54,1.462,0 +32120,54,1.615,0 +32140,54,1.768,0 +32160,54,1.921,0 +32480,54,2.059,0 +32500,54,2.167,0 +32520,54,2.275,0 +32540,54,2.383,0 +32553,0,2.383,29 +32560,43,2.491,0 +32580,43,2.598,0 +32600,43,2.706,0 +32620,43,2.833,0 +32640,43,2.959,0 +32680,43,2.842,0 +32710,43,2.692,0 +32739,0,2.692,14 +32740,37,2.543,0 +32760,37,2.443,0 +32780,37,2.343,0 +32800,37,2.242,0 +32820,37,2.142,0 +32844,64,2.142,0 +33440,64,2.247,0 +33500,64,2.353,0 +33560,64,2.461,0 +33620,64,2.569,0 +33700,64,2.713,0 +33720,64,2.817,0 +33740,64,2.922,0 +33760,64,3.027,0 +33780,64,3.132,0 +33800,64,3.237,0 +33820,64,3.342,0 +33840,64,3.447,0 +33860,64,3.552,0 +34080,64,3.397,0 +34100,64,3.204,0 +34120,64,3.012,0 +34137,34,3.012,0 +34140,34,2.819,0 +34156,0,2.819,40 +34160,18,2.627,0 +34180,18,2.434,0 +34200,18,2.242,0 +34220,18,2.049,0 +34240,18,1.857,0 +34260,18,1.703,0 +34560,18,1.806,0 +34660,18,1.912,0 +34968,0,1.912,4 +34970,11,2.08,0 +34980,11,2.329,0 +34990,11,2.578,0 +35000,11,2.826,0 +35010,11,3.075,0 +35050,11,2.793,0 +35080,0,2.793,40 +35110,20,2.669,0 +35140,20,2.545,0 +35160,20,2.437,0 +35170,20,2.137,0 +35180,20,1.837,0 +35190,20,1.539,0 +35200,20,1.24,0 +35210,20,0.941,0 +35532,21,0.941,0 +35640,21,1.062,0 +35690,21,1.171,0 +35740,21,1.279,0 +35780,21,1.174,0 +35810,21,1.033,0 +35840,21,0.891,0 +35844,20,0.891,0 +35870,20,0.75,0 +35900,20,0.609,0 +35930,20,0.467,0 +36010,20,0.694,0 +36020,20,0.838,0 +36030,20,0.982,0 +36040,20,1.126,0 +36050,20,1.271,0 +36060,20,1.415,0 +36070,20,1.559,0 +36080,20,1.703,0 +36090,18,1.847,0 +36100,18,1.991,0 +36110,18,2.135,0 +36120,18,2.279,0 +36130,18,2.423,0 +36140,18,2.567,0 +36150,18,2.712,0 +36160,18,2.856,0 +36170,18,3,0 +36180,18,3.144,0 +36190,18,3.274,0 +36310,18,3.141,0 +36330,18,2.993,0 +36350,18,2.846,0 +36370,18,2.699,0 +36390,18,2.551,0 +36410,18,2.404,0 +36430,18,2.256,0 +36450,18,2.109,0 +36470,18,1.961,0 +36490,18,1.814,0 +36550,18,1.702,0 +36570,18,1.571,0 +36590,18,1.44,0 +36610,18,1.309,0 +36630,18,1.178,0 +36634,25,1.178,0 +36650,25,1.046,0 +36670,25,0.915,0 +36690,25,0.784,0 +36710,25,0.671,0 +36850,25,0.773,0 +37159,0,0.773,12 +37160,25,0.659,0 +37210,25,0.557,0 +37900,25,0.675,0 +37920,25,0.85,0 +37940,25,1.024,0 +37960,25,1.198,0 +37980,25,1.373,0 +38000,25,1.547,0 +38020,25,1.721,0 +38040,25,1.896,0 +38060,25,2.07,0 +38080,25,2.192,0 +38130,25,1.942,0 +38140,25,1.75,0 +38150,25,1.558,0 +38160,25,1.366,0 +38169,0,1.366,30 +38170,25,1.174,0 +38180,25,0.981,0 +38190,25,0.789,0 +38200,25,0.597,0 +38210,25,0.405,0 +38217,18,0.405,0 +38220,18,0.213,0 +38230,18,0.021,0 +38240,18,-0.125,0 +38250,18,-0.27,0 +38260,18,-0.416,0 +38270,18,-0.561,0 +38280,18,-0.707,0 +38290,18,-0.852,0 +38300,18,-0.997,0 +38310,18,-1.143,0 +38329,0,-1.143,9 +38360,54,-1.024,0 +38390,54,-0.884,0 +38420,54,-0.744,0 +39070,54,-0.605,0 +39080,54,-0.443,0 +39090,54,-0.282,0 +39100,54,-0.12,0 +39110,54,0.042,0 +39120,54,0.203,0 +39130,54,0.365,0 +39140,54,0.526,0 +39150,54,0.688,0 +39160,54,0.85,0 +39164,74,0.85,0 +39170,74,1.011,0 +39180,74,1.173,0 +39190,74,1.322,0 +39200,74,1.443,0 +39210,74,1.564,0 +39220,74,1.685,0 +39230,74,1.806,0 +39240,74,1.927,0 +39250,74,2.048,0 +39260,74,2.169,0 +39300,74,2.054,0 +39330,74,1.932,0 +39360,74,1.811,0 +39390,74,1.706,0 +39430,74,1.853,0 +39450,74,1.961,0 +39470,74,2.07,0 +39490,74,2.178,0 +39510,74,2.287,0 +39530,74,2.396,0 +39550,74,2.504,0 +39570,74,2.611,0 +39590,74,2.719,0 +40040,74,2.849,0 +40070,74,2.972,0 +40100,74,3.094,0 +40130,74,3.217,0 +40160,74,3.34,0 +40190,74,3.463,0 +40220,74,3.586,0 +40360,74,3.371,0 +40370,74,3.178,0 +40380,74,2.986,0 +40390,74,2.793,0 +40400,74,2.6,0 +40410,74,2.414,0 +40420,74,2.285,0 +40430,74,2.157,0 +40440,74,2.028,0 +40448,24,2.028,0 +40450,24,1.9,0 +40460,24,1.771,0 +40470,24,1.642,0 +40480,24,1.514,0 +40490,24,1.385,0 +40500,24,1.257,0 +40510,24,1.128,0 +40520,24,1,0 +40540,24,0.881,0 +40560,24,1.047,0 +40569,0,1.047,22 +40570,24,1.197,0 +40580,74,1.348,0 +40590,74,1.499,0 +40600,74,1.649,0 +40610,74,1.787,0 +40630,74,1.96,0 +40650,74,2.133,0 +40670,74,2.305,0 +40690,74,2.478,0 +40710,74,2.651,0 +40730,74,2.763,0 +40880,74,2.878,0 +40910,74,3.011,0 +40940,74,3.144,0 +40970,74,3.277,0 +41000,74,3.41,0 +41030,74,3.544,0 +41060,74,3.647,0 +41250,74,3.522,0 +41280,74,3.385,0 +41310,74,3.248,0 +41340,74,3.112,0 +41370,74,2.975,0 +41400,74,2.839,0 +41580,74,2.716,0 +41610,74,2.579,0 +41616,85,2.579,0 +41640,85,2.441,0 +41670,85,2.304,0 +41700,85,2.167,0 +41730,85,2.029,0 +41760,85,1.868,0 +41770,85,1.762,0 +41790,85,1.632,0 +41810,85,1.511,0 +41830,85,1.39,0 +41850,85,1.269,0 +41870,85,1.148,0 +41890,85,1.043,0 +41910,85,1.242,0 +41930,85,1.441,0 +41950,85,1.641,0 +41960,85,1.77,0 +41970,85,1.931,0 +41980,85,2.091,0 +41990,85,2.251,0 +42000,85,2.411,0 +42010,85,2.571,0 +42020,85,2.731,0 +42030,85,2.891,0 +42040,85,3.052,0 +42050,85,3.212,0 +42060,85,3.372,0 +42070,85,3.532,0 +42080,85,3.692,0 +42090,85,3.82,0 +42260,85,3.587,0 +42270,51,3.441,0 +42280,71,3.294,0 +42290,71,3.148,0 +42300,71,3.001,0 +42310,71,2.855,0 +42320,71,2.708,0 +42330,71,2.562,0 +42340,71,2.415,0 +42350,71,2.269,0 +42360,71,2.122,0 +42370,71,1.976,0 +42380,71,1.829,0 +42390,71,1.682,0 +42400,71,1.535,0 +42410,71,1.389,0 +42420,71,1.242,0 +42430,71,1.095,0 +42440,71,0.947,0 +42536,84,0.947,0 +42590,84,0.847,0 +42830,84,0.713,0 +42850,84,0.557,0 +42870,84,0.4,0 +42890,84,0.244,0 +42910,84,0.088,0 +42930,84,-0.068,0 +42950,84,-0.225,0 +42970,84,-0.381,0 +42990,84,-0.537,0 +43010,84,-0.694,0 +43178,74,-0.694,0 +43230,74,-0.593,0 +43430,74,-0.492,0 +43460,74,-0.37,0 +43490,74,-0.249,0 +43520,74,-0.127,0 +43550,74,-0.006,0 +43580,74,0.116,0 +43610,74,0.238,0 +44050,74,0.434,0 +44060,74,0.69,0 +44070,74,0.877,0 +44080,74,0.993,0 +44090,74,1.11,0 +44100,74,1.227,0 +44110,74,1.343,0 +44120,74,1.46,0 +44130,74,1.576,0 +44140,74,1.693,0 +44142,54,1.693,0 +44143,84,1.693,0 +44150,84,1.809,0 +44160,84,1.926,0 +44170,84,2.042,0 +44180,84,2.159,0 +44190,84,2.276,0 +44200,84,2.392,0 +44210,84,2.509,0 +44220,84,2.625,0 +44230,84,2.742,0 +44240,84,2.858,0 +44260,84,2.629,0 +44300,84,2.489,0 +44310,84,2.347,0 +44320,84,2.206,0 +44330,84,2.065,0 +44340,84,1.924,0 +44350,84,1.783,0 +44360,84,1.642,0 +44380,84,1.477,0 +44394,74,1.477,0 +44400,74,1.341,0 +44420,74,1.205,0 +44440,74,1.069,0 +44460,74,0.934,0 +44479,0,0.934,18 +44480,54,0.798,0 +44520,54,0.94,0 +44530,54,1.079,0 +44540,54,1.218,0 +44550,54,1.357,0 +44560,54,1.496,0 +44580,54,1.65,0 +44600,54,1.782,0 +44620,54,1.893,0 +44640,54,1.994,0 +44660,54,2.094,0 +44680,54,2.194,0 +44700,54,2.294,0 +44780,54,2.179,0 +44800,54,2.077,0 +44830,54,1.961,0 +44857,68,1.961,0 +44860,68,1.855,0 +44890,68,1.749,0 +44970,68,1.881,0 +44990,68,1.984,0 +44999,74,1.984,0 +45010,74,2.087,0 +45030,74,2.19,0 +45050,74,2.294,0 +45070,74,2.397,0 +45090,74,2.5,0 +45122,79,2.5,0 +45160,79,2.35,0 +45180,79,2.209,0 +45200,79,2.067,0 +45220,79,1.926,0 +45240,79,1.777,0 +45260,79,1.588,0 +45280,79,1.398,0 +45300,79,1.209,0 +45320,79,1.019,0 +45340,79,0.886,0 +45380,79,0.774,0 +45420,79,0.652,0 +45456,59,0.652,0 +45520,59,0.548,0 +45755,72,0.548,0 +45820,72,0.674,0 +45840,72,0.79,0 +45860,72,0.901,0 +45880,72,1.002,0 +45900,72,1.103,0 +45915,76,1.103,0 +45920,76,1.204,0 +45940,76,1.306,0 +45960,76,1.407,0 +46030,76,1.277,0 +46050,76,1.159,0 +46070,76,1.041,0 +46090,76,0.923,0 +46110,76,0.804,0 +46130,76,0.686,0 +46150,76,0.568,0 +46260,76,0.356,0 +46270,76,0.234,0 +46280,76,0.112,0 +46290,76,-0.01,0 +46300,76,-0.132,0 +46310,76,-0.254,0 +46320,76,-0.377,0 +46330,76,-0.499,0 +46348,64,-0.499,0 +46350,64,-0.632,0 +46380,64,-0.743,0 +46410,64,-0.854,0 +46437,42,-0.854,0 +46440,54,-0.966,0 +46470,54,-0.796,0 +46490,54,-0.626,0 +46510,54,-0.456,0 +46530,54,-0.286,0 +46570,54,-0.089,0 +46580,54,0.092,0 +46590,54,0.273,0 +46600,54,0.454,0 +46610,54,0.636,0 +46620,54,0.817,0 +46630,54,0.998,0 +46640,54,1.18,0 +46650,54,1.361,0 +46660,54,1.542,0 +46662,59,1.542,0 +46670,59,1.723,0 +46680,59,1.905,0 +46690,59,2.086,0 +46700,59,2.267,0 +46710,59,2.449,0 +46720,59,2.63,0 +46730,59,2.811,0 +46740,59,2.993,0 +46750,59,3.174,0 +46760,59,3.355,0 +46907,74,3.355,0 +46940,74,3.251,0 +46980,74,3.056,0 +46990,74,2.888,0 +47000,74,2.721,0 +47010,74,2.557,0 +47020,74,2.398,0 +47030,74,2.24,0 +47040,74,2.081,0 +47050,74,1.923,0 +47060,74,1.765,0 +47070,74,1.606,0 +47080,74,1.448,0 +47090,74,1.289,0 +47100,74,1.131,0 +47110,74,0.972,0 +47120,74,0.814,0 +47130,74,0.655,0 +47140,74,0.497,0 +47150,74,0.338,0 +47160,74,0.18,0 +47170,74,0.037,0 +47720,74,0.247,0 +47730,74,0.37,0 +47740,74,0.493,0 +47750,74,0.617,0 +47760,74,0.74,0 +47770,74,0.863,0 +47790,74,1.031,0 +47810,74,1.199,0 +47830,74,1.367,0 +47850,74,1.535,0 +47870,74,1.703,0 +47890,74,1.87,0 +47960,74,1.742,0 +48130,74,1.549,0 +48150,74,1.354,0 +48170,74,1.16,0 +48190,74,0.99,0 +48210,74,0.82,0 +48214,64,0.82,0 +48230,64,0.65,0 +48250,64,0.48,0 +48269,0,0.48,22 +48270,44,0.31,0 +48290,44,0.141,0 +48310,44,-0.029,0 +48730,44,0.184,0 +48740,44,0.305,0 +48750,44,0.426,0 +48760,44,0.547,0 +48770,44,0.668,0 +48780,44,0.789,0 +48790,44,0.91,0 +48799,0,0.91,15 +48800,44,1.031,0 +48810,44,1.152,0 +48820,44,1.273,0 +48830,44,1.394,0 +48840,44,1.515,0 +48850,44,1.636,0 +48860,44,1.757,0 +48870,44,1.878,0 +48880,44,1.999,0 +48890,44,2.119,0 +48900,44,2.24,0 +48910,44,2.361,0 +48950,44,2.256,0 +48970,44,2.061,0 +48990,44,1.866,0 +49010,44,1.67,0 +49030,44,1.475,0 +49033,79,1.475,0 +49050,79,1.28,0 +49070,79,1.085,0 +49090,79,0.889,0 +49110,79,0.694,0 +49130,79,0.499,0 +49460,79,0.393,0 +49490,79,0.291,0 +49520,79,0.19,0 +49550,79,0.089,0 +49580,79,-0.012,0 +49610,79,-0.113,0 +49640,79,-0.214,0 +49760,79,-0.107,0 +49780,79,0.088,0 +49800,79,0.284,0 +49830,79,0.384,0 +49890,79,0.488,0 +49906,69,0.488,0 +49980,69,0.311,0 +50000,69,0.15,0 +50193,79,0.15,0 +50320,79,0.255,0 +50600,79,0.133,0 +50629,69,0.133,0 +50640,69,0.018,0 +50680,69,-0.097,0 +50685,34,-0.097,0 +50720,34,-0.212,0 +50930,34,-0.099,0 +50950,34,0.001,0 +50970,34,0.101,0 +50989,0,0.101,7 +50990,34,0.201,0 +51003,64,0.201,0 +51010,64,0.301,0 +51030,64,0.401,0 +51050,64,0.501,0 +51080,64,0.625,0 +51240,64,0.514,0 +51360,64,0.407,0 +51390,64,0.298,0 +51420,64,0.19,0 +51438,59,0.19,0 +51460,59,0.079,0 +51510,59,-0.034,0 +51535,64,-0.034,0 +52019,54,-0.034,0 +52050,54,-0.141,0 +52059,34,-0.141,0 +52118,0,-0.141,40 +52380,20,-0.024,0 +52400,20,0.096,0 +52420,20,0.216,0 +52440,20,0.336,0 +52460,20,0.456,0 +52480,20,0.576,0 +52570,20,0.426,0 +52590,20,0.306,0 +52620,20,0.451,0 +52650,20,0.596,0 +52680,20,0.741,0 +52690,20,0.849,0 +52700,20,0.958,0 +52710,20,1.066,0 +52720,20,1.174,0 +52730,20,1.283,0 +52740,20,1.391,0 +52750,20,1.499,0 +52760,20,1.608,0 +52770,20,1.716,0 +52780,20,1.825,0 +52820,20,1.669,0 +52840,20,1.506,0 +52860,20,1.343,0 +52880,20,1.18,0 +52889,41,1.18,0 +52900,41,1.017,0 +52920,41,0.854,0 +52940,41,0.69,0 +52960,41,0.527,0 +52980,41,0.364,0 +53090,41,0.505,0 +53110,21,0.67,0 +53130,21,0.835,0 +53150,21,0.999,0 +53170,21,1.162,0 +53190,21,1.325,0 +53210,21,1.488,0 +53230,21,1.65,0 +53250,21,1.805,0 +53339,18,1.805,0 +53436,11,1.805,0 +53455,0,1.805,40 +53650,21,2.305,0 +53660,21,2.805,0 +53670,21,3.305,0 +53680,21,3.805,0 +53690,21,4.305,0 +53700,21,4.805,0 +53710,21,5.305,0 +53720,21,5.805,0 +53730,21,6.305,0 +53740,21,6.805,0 +53750,21,7.305,0 +53760,21,7.805,0 +53770,21,8.305,0 +53780,21,8.805,0 +53790,21,9.305,0 +53800,21,9.805,0 +53810,21,10.305,0 +53820,21,10.805,0 +53830,21,11.305,0 +53840,21,11.805,0 +53850,21,12.305,0 +53860,21,12.192,0 +53870,21,11.75,0 +53880,21,11.309,0 +53890,21,10.867,0 +53900,21,10.426,0 +53910,21,9.984,0 +53920,21,9.541,0 +53930,21,9.099,0 +53937,35,9.099,0 +53940,35,8.815,0 +53950,35,8.687,0 +53960,35,8.56,0 +53970,35,8.432,0 +53980,35,8.304,0 +53990,35,8.177,0 +54000,35,8.049,0 +54010,35,7.922,0 +54020,35,7.794,0 +54030,35,7.667,0 +54050,35,7.364,0 +54060,35,7.159,0 +54070,25,6.953,0 +54080,25,6.748,0 +54090,25,6.542,0 +54100,25,6.337,0 +54110,25,6.131,0 +54120,25,5.925,0 +54130,25,5.719,0 +54140,25,5.513,0 +54150,25,5.308,0 +54160,25,5.065,0 +54170,25,4.818,0 +54180,25,4.57,0 +54190,25,4.323,0 +54200,25,4.076,0 +54210,25,3.829,0 +54220,25,3.582,0 +54230,25,3.335,0 +54240,25,3.129,0 +54251,23,3.129,0 +54270,23,3.005,0 +54300,23,2.88,0 +54330,23,2.756,0 +54388,21,2.756,0 +54389,0,2.756,28 +54390,21,2.997,0 +54400,21,3.145,0 +54410,21,3.293,0 +54420,21,3.44,0 +54430,21,3.588,0 +54440,21,3.736,0 +54450,21,3.883,0 +54460,21,4.031,0 +54468,18,4.031,0 +54470,18,4.179,0 +54480,18,4.326,0 +54490,18,4.474,0 +54500,18,4.622,0 +54510,18,4.77,0 +54520,18,4.918,0 +54530,18,5.066,0 +54540,18,5.214,0 +54550,18,5.361,0 +54560,18,5.509,0 +54570,18,5.613,0 +54640,18,5.818,0 +54650,18,6.318,0 +54660,18,6.818,0 +54664,54,6.818,0 +54670,54,7.318,0 +54680,54,7.818,0 +54690,54,8.318,0 +54700,54,8.818,0 +54710,54,9.318,0 +54720,54,9.818,0 +54730,54,10.318,0 +54740,54,10.818,0 +54750,54,11.318,0 +54760,54,11.818,0 +54770,54,12.318,0 +54780,54,12.818,0 +54790,54,13.118,0 +54800,54,13.261,0 +54810,54,13.404,0 +54820,54,13.546,0 +54830,54,13.688,0 +54840,54,13.558,0 +54850,54,13.058,0 +54860,54,12.558,0 +54870,54,12.058,0 +54880,54,11.558,0 +54890,54,11.058,0 +54900,54,10.558,0 +54910,54,10.058,0 +54920,54,9.558,0 +54930,54,9.058,0 +54940,54,8.558,0 +54950,54,8.714,0 +54960,54,8.953,0 +54970,54,9.192,0 +54980,54,9.431,0 +54990,54,9.67,0 +55000,54,9.909,0 +55010,54,10.148,0 +55020,54,10.387,0 +55030,54,10.626,0 +55040,54,10.865,0 +55060,54,10.73,0 +55080,54,10.567,0 +55100,54,10.405,0 +55120,54,10.242,0 +55140,54,10.032,0 +55150,54,9.712,0 +55160,54,9.392,0 +55170,54,9.071,0 +55180,54,8.751,0 +55190,54,8.431,0 +55200,54,8.111,0 +55210,54,7.79,0 +55220,54,7.47,0 +55230,54,7.149,0 +55240,54,6.829,0 +55450,54,6.983,0 +55460,54,7.182,0 +55470,54,7.38,0 +55480,54,7.577,0 +55490,54,7.775,0 +55500,54,7.972,0 +55510,54,8.169,0 +55520,54,8.367,0 +55530,54,8.565,0 +55540,54,8.762,0 +55550,54,8.96,0 +55560,54,9.157,0 +55570,54,9.355,0 +55580,54,9.553,0 +55590,54,9.75,0 +55600,54,9.948,0 +55610,54,10.145,0 +55620,54,10.343,0 +55630,54,10.541,0 +55640,54,10.738,0 +56100,54,10.635,0 +56160,54,10.531,0 +56220,54,10.43,0 +56620,54,10.172,0 +56630,54,9.992,0 +56640,54,9.812,0 +56650,54,9.632,0 +56660,54,9.452,0 +56670,54,9.272,0 +56680,54,9.092,0 +56690,54,8.912,0 +56700,54,8.732,0 +56710,54,8.551,0 +56720,54,8.371,0 +56730,54,8.191,0 +56740,54,8.011,0 +56750,54,7.831,0 +56760,54,7.651,0 +56770,54,7.471,0 +56780,24,7.291,0 +56790,54,7.111,0 +56800,54,6.931,0 +56810,54,6.805,0 +57190,54,6.628,0 +57200,54,6.5,0 +57210,54,6.372,0 +57220,54,6.244,0 +57230,54,6.116,0 +57240,54,5.988,0 +57250,54,5.86,0 +57260,54,5.732,0 +57270,54,5.604,0 +57280,54,5.477,0 +57290,54,5.349,0 +57300,54,5.221,0 +57310,54,5.093,0 +57320,54,4.965,0 +57330,54,4.837,0 +57340,54,4.709,0 +57350,54,4.581,0 +57360,54,4.453,0 +57370,54,4.325,0 +57430,54,4.056,0 +57440,54,3.828,0 +57480,54,3.949,0 +57506,34,3.949,0 +57510,34,4.06,0 +57519,0,4.06,40 +57540,10,4.17,0 +57560,10,4.067,0 +57570,10,3.661,0 +57580,10,3.255,0 +57590,10,2.852,0 +57600,10,2.45,0 +57610,10,2.047,0 +57620,10,1.667,0 +57630,10,1.488,0 +57640,10,1.31,0 +57650,10,0.867,0 +57656,15,0.867,0 +57660,15,0.424,0 +57670,15,-0.019,0 +57680,15,-0.462,0 +57690,15,-0.905,0 +57700,15,-1.348,0 +57710,15,-1.791,0 +57720,15,-2.224,0 +57730,15,-2.64,0 +57732,51,-2.64,0 +57740,51,-3.057,0 +57750,51,-3.473,0 +57760,51,-3.668,0 +57800,51,-3.561,0 +57840,51,-3.238,0 +57850,51,-2.971,0 +57860,51,-2.705,0 +57870,51,-2.438,0 +57880,51,-2.171,0 +57890,51,-1.904,0 +57900,51,-1.637,0 +57910,51,-1.37,0 +57920,51,-1.117,0 +57930,51,-0.877,0 +57940,51,-0.636,0 +57950,51,-0.396,0 +57960,51,-0.156,0 +57970,51,0.085,0 +57980,21,0.325,0 +57990,21,0.565,0 +58000,21,0.805,0 +58010,21,1.046,0 +58020,21,1.286,0 +58030,21,1.526,0 +58180,21,1.402,0 +58200,21,1.225,0 +58220,21,1.048,0 +58240,21,0.872,0 +58260,21,0.695,0 +58266,25,0.695,0 +58280,25,0.518,0 +58300,25,0.341,0 +58320,25,0.164,0 +58340,25,-0.013,0 +58360,25,-0.19,0 +58430,25,-0.033,0 +58450,25,0.16,0 +58470,25,0.352,0 +58490,25,0.544,0 +58509,23,0.544,0 +58510,23,0.736,0 +58530,23,0.929,0 +58550,23,1.121,0 +58570,23,1.313,0 +58590,23,1.506,0 +58610,23,1.698,0 +58670,23,1.54,0 +58690,23,1.348,0 +58710,23,1.156,0 +58730,23,0.963,0 +58747,25,0.963,0 +58750,25,0.771,0 +58770,25,0.579,0 +58790,25,0.387,0 +58810,25,0.174,0 +58820,25,0.06,0 +58830,25,-0.053,0 +58840,25,-0.167,0 +58853,28,-0.167,0 +59140,28,-0.292,0 +59170,28,-0.426,0 +59200,28,-0.56,0 +59230,28,-0.694,0 +59260,28,-0.828,0 +59290,28,-0.961,0 +59320,28,-1.095,0 +59490,28,-1.22,0 +59520,28,-1.367,0 +59550,28,-1.514,0 +59570,84,-1.514,0 +59580,84,-1.662,0 +59610,84,-1.809,0 +59640,84,-1.956,0 +59670,84,-2.098,0 +59840,84,-1.996,0 +59910,84,-1.894,0 +60100,84,-1.712,0 +60110,84,-1.514,0 +60120,84,-1.316,0 +60130,84,-1.118,0 +60140,84,-0.919,0 +60150,84,-0.721,0 +60160,84,-0.523,0 +60170,84,-0.325,0 +60180,84,-0.127,0 +60190,84,0.071,0 +60200,84,0.296,0 +60210,84,0.586,0 +60220,84,0.875,0 +60230,84,1.165,0 +60240,84,1.454,0 +60250,84,1.744,0 +60260,84,2.034,0 +60270,84,2.323,0 +60280,84,2.613,0 +60290,84,2.902,0 +60300,84,3.073,0 +60320,84,3.256,0 +60340,84,3.439,0 +60370,84,3.266,0 +60390,84,3.118,0 +60400,84,3.007,0 +60410,84,2.841,0 +60420,84,2.676,0 +60430,84,2.51,0 +60440,84,2.344,0 +60450,84,2.178,0 +60460,84,2.013,0 +60470,84,1.847,0 +60480,84,1.681,0 +60490,84,1.516,0 +60500,84,1.35,0 +60510,84,1.184,0 +60520,84,1.018,0 +60530,84,0.853,0 +60540,84,0.687,0 +60820,84,0.577,0 +60830,84,0.386,0 +60840,84,0.195,0 +60850,84,0.003,0 +60860,84,-0.188,0 +60870,84,-0.379,0 +60880,84,-0.57,0 +60890,84,-0.762,0 +60900,84,-0.953,0 +60910,84,-1.144,0 +60920,84,-1.335,0 +60930,84,-1.527,0 +60940,84,-1.718,0 +60950,84,-1.909,0 +60960,84,-2.101,0 +60970,84,-2.292,0 +60980,84,-2.483,0 +60990,84,-2.674,0 +61000,84,-2.866,0 +61010,84,-3.057,0 +61090,84,-2.923,0 +61120,84,-2.818,0 +61160,84,-3.042,0 +61170,84,-3.172,0 +61180,84,-3.303,0 +61190,84,-3.434,0 +61200,84,-3.565,0 +61210,84,-3.695,0 +61220,84,-3.826,0 +61230,84,-3.978,0 +61240,84,-4.144,0 +61250,64,-4.31,0 +61260,64,-4.476,0 +61270,64,-4.642,0 +61280,64,-4.807,0 +61290,64,-4.973,0 +61300,64,-5.139,0 +61310,64,-5.305,0 +61320,84,-5.471,0 +61330,84,-5.637,0 +61340,84,-5.753,0 +61740,84,-5.444,0 +61750,84,-5.147,0 +61760,84,-4.85,0 +61770,84,-4.552,0 +61780,84,-4.254,0 +61790,84,-3.956,0 +61800,84,-3.658,0 +61810,84,-3.36,0 +61820,84,-3.062,0 +61830,84,-2.764,0 +61840,84,-2.467,0 +61850,84,-2.169,0 +61860,84,-1.871,0 +61870,84,-1.573,0 +61880,84,-1.275,0 +61890,84,-0.977,0 +61900,84,-0.679,0 +61910,84,-0.381,0 +61920,84,-0.083,0 +61930,84,0.155,0 +62050,84,0.322,0 +62070,84,0.461,0 +62090,84,0.6,0 +62110,84,0.739,0 +62130,84,0.878,0 +62150,84,1.017,0 +62170,84,1.156,0 +62190,84,1.295,0 +62210,84,1.434,0 +62230,84,1.538,0 +62280,84,1.431,0 +62300,84,1.306,0 +62320,84,1.181,0 +62340,84,1.056,0 +62360,84,0.931,0 +62380,84,0.806,0 +62400,84,0.681,0 +62420,84,0.555,0 +62440,84,0.43,0 +62460,84,0.305,0 +62680,84,0.409,0 +62770,84,0.515,0 +63040,84,0.401,0 +63100,84,0.298,0 +63160,84,0.195,0 +63250,84,0.073,0 +63270,84,-0.039,0 +63290,84,-0.151,0 +63310,84,-0.262,0 +63330,84,-0.374,0 +63350,84,-0.485,0 +63370,84,-0.597,0 +63390,84,-0.709,0 +63410,84,-0.82,0 +63430,84,-0.926,0 +63910,84,-1.039,0 +63950,84,-1.167,0 +64000,84,-1.274,0 +64060,84,-1.382,0 +64110,84,-1.505,0 +64150,84,-1.605,0 +64180,84,-1.707,0 +64290,84,-1.555,0 +64310,84,-1.437,0 +64330,84,-1.319,0 +64350,84,-1.201,0 +64370,84,-1.083,0 +64390,84,-0.965,0 +64530,84,-1.068,0 +64560,84,-1.214,0 +64590,84,-1.36,0 +64620,84,-1.506,0 +64650,84,-1.652,0 +64680,84,-1.797,0 +64990,84,-1.637,0 +65000,84,-1.516,0 +65010,84,-1.394,0 +65020,84,-1.273,0 +65030,84,-1.152,0 +65040,84,-1.03,0 +65050,84,-0.909,0 +65060,84,-0.787,0 +65070,84,-0.666,0 +65080,54,-0.545,0 +65090,54,-0.423,0 +65100,54,-0.302,0 +65110,54,-0.18,0 +65120,54,-0.059,0 +65130,54,0.063,0 +65160,54,0.173,0 +65189,0,0.173,22 +65190,54,0.043,0 +65210,54,-0.132,0 +65230,54,-0.307,0 +65250,54,-0.483,0 +65270,54,-0.658,0 +65290,54,-0.833,0 +65310,54,-1.008,0 +65330,54,-1.184,0 +65390,54,-1.052,0 +65420,54,-0.947,0 +65450,54,-0.843,0 +65480,54,-0.739,0 +65510,54,-0.634,0 +65540,54,-0.53,0 +66180,54,-0.646,0 +66220,54,-0.763,0 +66259,0,-0.763,25 +66260,84,-0.88,0 +66300,84,-0.997,0 +66340,84,-1.108,0 +66380,84,-1.217,0 +66420,84,-1.326,0 +66460,84,-1.435,0 +66500,84,-1.543,0 +66610,84,-1.438,0 +66670,84,-1.324,0 +66820,84,-1.442,0 +66990,84,-1.339,0 +67040,84,-1.22,0 +67230,84,-1.117,0 +67290,84,-1.001,0 +67350,84,-0.896,0 +67410,84,-0.791,0 +67930,84,-0.613,0 +67940,84,-0.475,0 +67950,84,-0.337,0 +67960,84,-0.199,0 +67970,84,-0.061,0 +67980,84,0.077,0 +67990,84,0.214,0 +68000,84,0.352,0 +68010,84,0.49,0 +68020,84,0.628,0 +68030,84,0.766,0 +68040,84,0.904,0 +68050,84,1.042,0 +68060,84,1.18,0 +68070,84,1.318,0 +68080,84,1.456,0 +68090,84,1.594,0 +68100,84,1.732,0 +68110,84,1.87,0 +68120,84,1.98,0 +68260,84,2.104,0 +68280,84,2.296,0 +68300,84,2.487,0 +68320,84,2.679,0 +68340,84,2.871,0 +68360,84,3.062,0 +68380,84,3.254,0 +68400,84,3.445,0 +68420,84,3.637,0 +68440,84,3.828,0 +68740,84,3.699,0 +68750,84,3.492,0 +68760,84,3.285,0 +68770,84,3.078,0 +68780,84,2.871,0 +68790,84,2.664,0 +68800,84,2.457,0 +68810,84,2.25,0 +68820,84,2.043,0 +68830,84,1.836,0 +68831,74,1.836,0 +68840,74,1.629,0 +68850,74,1.422,0 +68860,74,1.215,0 +68870,74,1.008,0 +68880,74,0.801,0 +68890,64,0.594,0 +68900,64,0.387,0 +68910,64,0.14,0 +68920,64,-0.2,0 +68930,64,-0.539,0 +68940,64,-0.672,0 +68942,79,-0.672,0 +68950,79,-0.804,0 +68960,79,-0.936,0 +68970,79,-1.069,0 +68980,79,-1.201,0 +68990,79,-1.334,0 +69000,79,-1.466,0 +69010,79,-1.599,0 +69020,79,-1.731,0 +69030,79,-1.864,0 +69040,79,-1.996,0 +69050,79,-2.128,0 +69060,79,-2.261,0 +69070,79,-2.393,0 +69080,79,-2.526,0 +69090,79,-2.658,0 +69100,79,-2.791,0 +69480,79,-2.641,0 +69500,79,-2.478,0 +69520,79,-2.315,0 +69540,79,-2.151,0 +69560,79,-1.988,0 +69580,79,-1.825,0 +69600,79,-1.661,0 +69620,79,-1.498,0 +69640,79,-1.334,0 +69670,79,-1.561,0 +69680,79,-1.72,0 +69690,79,-1.878,0 +69700,79,-2.037,0 +69710,79,-2.195,0 +69720,79,-2.353,0 +69730,79,-2.512,0 +69740,79,-2.67,0 +69750,79,-2.829,0 +69760,79,-2.987,0 +69770,79,-3.145,0 +69780,79,-3.304,0 +69790,79,-3.462,0 +69800,79,-3.621,0 +69810,79,-3.779,0 +69820,79,-3.937,0 +69830,79,-4.096,0 +69840,79,-4.254,0 +69850,79,-4.397,0 +70170,79,-4.194,0 +70180,79,-4.067,0 +70190,79,-3.94,0 +70200,79,-3.813,0 +70210,79,-3.686,0 +70220,79,-3.559,0 +70230,79,-3.432,0 +70240,79,-3.305,0 +70250,79,-3.179,0 +70260,79,-3.052,0 +70270,79,-2.925,0 +70280,79,-2.798,0 +70290,79,-2.671,0 +70300,79,-2.544,0 +70310,79,-2.417,0 +70320,79,-2.29,0 +70370,79,-2.516,0 +70380,79,-2.648,0 +70390,79,-2.779,0 +70400,79,-2.911,0 +70410,79,-3.042,0 +70420,79,-3.174,0 +70430,79,-3.305,0 +70440,79,-3.437,0 +70450,79,-3.568,0 +70460,79,-3.7,0 +70470,79,-3.831,0 +70480,79,-3.963,0 +70490,79,-4.095,0 +70500,79,-4.226,0 +70510,79,-4.358,0 +70520,79,-4.489,0 +70640,79,-4.295,0 +70660,79,-4.1,0 +70680,79,-3.905,0 +70700,79,-3.711,0 +70720,79,-3.516,0 +70740,79,-3.322,0 +70760,79,-3.127,0 +70780,79,-2.935,0 +70800,79,-2.767,0 +70820,79,-2.608,0 +70900,79,-2.714,0 +70980,79,-2.815,0 +71000,79,-2.685,0 +71020,79,-2.547,0 +71040,79,-2.409,0 +71060,79,-2.271,0 +71080,79,-2.134,0 +71100,79,-1.996,0 +71120,79,-1.858,0 +71140,79,-1.721,0 +71160,79,-1.583,0 +71180,79,-1.445,0 +71220,79,-1.597,0 +71240,79,-1.734,0 +71260,79,-1.872,0 +71280,79,-2.01,0 +71300,79,-2.148,0 +71320,79,-2.285,0 +71340,79,-2.423,0 +71360,79,-2.561,0 +71380,79,-2.698,0 +71400,79,-2.883,0 +71410,79,-2.995,0 +71420,79,-3.107,0 +71430,79,-3.219,0 +71440,79,-3.331,0 +71450,79,-3.443,0 +71460,79,-3.555,0 +71470,79,-3.668,0 +71480,79,-3.78,0 +71490,79,-3.892,0 +71500,79,-4.004,0 +71510,79,-4.116,0 +71520,79,-4.228,0 +71530,79,-4.34,0 +71540,79,-4.452,0 +71550,79,-4.565,0 +71560,79,-4.677,0 +71570,79,-4.789,0 +71580,79,-4.901,0 +71590,79,-5.013,0 +71800,79,-4.853,0 +71820,79,-4.728,0 +71840,79,-4.602,0 +71860,79,-4.477,0 +71880,79,-4.352,0 +71900,79,-4.227,0 +71920,79,-4.102,0 +71940,79,-3.977,0 +71960,79,-3.851,0 +72320,79,-3.644,0 +72330,79,-3.42,0 +72340,79,-3.196,0 +72350,79,-2.972,0 +72360,79,-2.747,0 +72370,79,-2.523,0 +72380,79,-2.299,0 +72390,79,-2.075,0 +72400,79,-1.85,0 +72410,79,-1.626,0 +72420,79,-1.402,0 +72430,79,-1.178,0 +72440,79,-0.953,0 +72450,79,-0.729,0 +72460,79,-0.505,0 +72470,79,-0.281,0 +72480,79,-0.056,0 +72490,79,0.168,0 +72500,79,0.392,0 +72510,79,0.616,0 +72930,79,0.365,0 +72940,79,0.209,0 +72950,79,0.053,0 +72960,79,-0.102,0 +72970,79,-0.258,0 +72980,79,-0.414,0 +72990,79,-0.57,0 +73000,79,-0.726,0 +73010,79,-0.881,0 +73011,64,-0.881,0 +73020,64,-1.037,0 +73030,64,-1.193,0 +73040,64,-1.349,0 +73050,64,-1.505,0 +73060,64,-1.66,0 +73070,64,-1.816,0 +73080,64,-1.972,0 +73090,64,-2.128,0 +73100,64,-2.284,0 +73110,64,-2.44,0 +73180,64,-2.218,0 +73190,64,-1.902,0 +73200,64,-1.586,0 +73210,64,-1.27,0 +73220,64,-0.954,0 +73230,52,-0.638,0 +73240,52,-0.322,0 +73250,52,-0.006,0 +73260,52,0.31,0 +73270,52,0.626,0 +73280,52,0.942,0 +73290,52,1.258,0 +73300,64,1.574,0 +73310,64,1.89,0 +73320,64,2.2,0 +73330,64,2.501,0 +73340,64,2.802,0 +73350,64,3.103,0 +73360,64,3.248,0 +73380,64,3.077,0 +73390,64,2.802,0 +73400,64,2.527,0 +73410,64,2.252,0 +73420,64,1.977,0 +73430,64,1.702,0 +73440,64,1.427,0 +73450,64,1.152,0 +73460,64,0.877,0 +73470,64,0.602,0 +73480,64,0.326,0 +73490,64,0.051,0 +73500,64,-0.224,0 +73510,64,-0.508,0 +73520,64,-0.866,0 +73530,64,-1.217,0 +73540,64,-1.568,0 +73550,64,-1.919,0 +73560,64,-2.088,0 +73580,64,-2.27,0 +73600,64,-2.452,0 +73609,49,-2.452,0 +73620,49,-2.634,0 +73640,49,-2.816,0 +73660,49,-2.997,0 +73680,49,-3.179,0 +73700,49,-3.361,0 +73738,71,-3.361,0 +73750,71,-3.461,0 +73780,71,-3.566,0 +73810,71,-3.671,0 +73840,71,-3.775,0 +73870,71,-3.879,0 +73900,71,-3.984,0 +73904,52,-3.984,0 +73930,52,-4.088,0 +74320,52,-4.189,0 +74380,52,-4.308,0 +74440,52,-4.428,0 +74820,52,-4.528,0 +74910,52,-4.632,0 +75000,32,-4.735,0 +75130,32,-4.576,0 +75140,32,-4.428,0 +75150,52,-4.281,0 +75160,52,-4.134,0 +75170,52,-3.986,0 +75180,52,-3.839,0 +75190,52,-3.692,0 +75200,52,-3.544,0 +75210,52,-3.397,0 +75220,52,-3.25,0 +75230,52,-3.102,0 +75239,0,-3.102,55 +75240,42,-2.955,0 +75250,42,-2.807,0 +75260,42,-2.66,0 +75270,42,-2.513,0 +75280,42,-2.365,0 +75290,42,-2.218,0 +75300,42,-2.071,0 +75310,42,-1.923,0 +75320,42,-1.82,0 +75660,42,-1.924,0 +75690,42,-2.045,0 +75720,42,-2.165,0 +75749,0,-2.165,34 +75750,52,-2.285,0 +75780,52,-2.406,0 +75810,52,-2.526,0 +76690,52,-2.402,0 +76710,52,-2.271,0 +76730,52,-2.14,0 +76750,52,-2.01,0 +76770,52,-1.879,0 +76790,52,-1.67,0 +76800,52,-1.494,0 +76810,52,-1.318,0 +76820,52,-1.142,0 +76830,52,-0.966,0 +76840,52,-0.79,0 +76850,52,-0.614,0 +76860,52,-0.464,0 +76870,52,-0.353,0 +76880,52,-0.242,0 +76889,0,-0.242,42 +76890,52,-0.132,0 +76900,52,-0.021,0 +76910,52,0.09,0 +76920,52,0.201,0 +76930,52,0.311,0 +76940,52,0.542,0 +76950,52,0.803,0 +76960,52,1.064,0 +76969,0,1.064,22 +76970,52,1.325,0 +76980,52,1.586,0 +76990,52,1.758,0 +77000,52,1.908,0 +77010,52,2.046,0 +77020,52,2.185,0 +77030,32,2.323,0 +77032,59,2.323,0 +77040,59,2.461,0 +77050,59,2.599,0 +77060,59,2.737,0 +77070,59,2.875,0 +77080,59,3.013,0 +77090,59,3.151,0 +77100,84,3.289,0 +77110,84,3.427,0 +77120,84,3.565,0 +77130,84,3.703,0 +77240,84,3.828,0 +77260,84,3.972,0 +77280,84,4.115,0 +77300,84,4.259,0 +77320,84,4.403,0 +77340,84,4.546,0 +77360,84,4.69,0 +77380,84,4.833,0 +77400,84,4.977,0 +77450,84,4.852,0 +77480,84,4.712,0 +77510,84,4.571,0 +77540,84,4.429,0 +77570,84,4.288,0 +77600,84,4.146,0 +77790,84,4.304,0 +77810,84,4.459,0 +77830,84,4.614,0 +77850,84,4.769,0 +77867,59,4.769,0 +77870,59,4.924,0 +77890,59,5.079,0 +77910,59,5.234,0 +77930,59,5.389,0 +77950,59,5.544,0 +77970,59,5.668,0 +78178,84,5.668,0 +78500,84,5.561,0 +78520,84,5.418,0 +78540,84,5.276,0 +78560,84,5.133,0 +78580,84,4.991,0 +78600,84,4.848,0 +78620,84,4.706,0 +78640,84,4.563,0 +78660,84,4.421,0 +78680,84,4.278,0 +79025,59,4.278,0 +79040,59,4.121,0 +79060,59,3.936,0 +79080,59,3.75,0 +79100,59,3.565,0 +79120,59,3.38,0 +79126,84,3.38,0 +79130,84,3.274,0 +79140,84,3.166,0 +79150,84,3.057,0 +79160,84,2.949,0 +79170,84,2.84,0 +79180,84,2.732,0 +79190,84,2.623,0 +79200,84,2.515,0 +79210,84,2.406,0 +79220,84,2.298,0 +79260,84,2.189,0 +79350,84,2.059,0 +79380,84,1.925,0 +79410,84,1.79,0 +79440,84,1.656,0 +79470,84,1.522,0 +79500,84,1.388,0 +79530,84,1.254,0 +79650,84,1.45,0 +79660,84,1.557,0 +79670,84,1.663,0 +79680,84,1.77,0 +79690,84,1.876,0 +79700,84,1.983,0 +79710,84,2.09,0 +79720,84,2.196,0 +79730,84,2.303,0 +79740,84,2.409,0 +79750,84,2.516,0 +79760,84,2.623,0 +79770,84,2.729,0 +79780,84,2.836,0 +79790,84,2.998,0 +79800,84,3.215,0 +79810,84,3.432,0 +79820,84,3.65,0 +79830,84,3.824,0 +79840,84,3.935,0 +79850,84,4.046,0 +79860,84,4.157,0 +79870,84,4.267,0 +79880,84,4.378,0 +79890,84,4.489,0 +79900,84,4.6,0 +79910,84,4.71,0 +79920,84,4.821,0 +79930,84,4.932,0 +79940,84,5.043,0 +79950,84,5.153,0 +79960,84,5.264,0 +79970,84,5.375,0 +79980,84,5.486,0 +80170,84,5.362,0 +80180,84,5.242,0 +80190,84,5.122,0 +80200,84,5.002,0 +80210,84,4.882,0 +80220,84,4.762,0 +80230,84,4.642,0 +80240,84,4.522,0 +80250,84,4.402,0 +80260,84,4.282,0 +80270,84,4.162,0 +80280,84,4.041,0 +80290,84,3.921,0 +80300,84,3.801,0 +80310,84,3.681,0 +80320,84,3.561,0 +80330,84,3.441,0 +80340,84,3.321,0 +80350,84,3.214,0 +80420,84,3.331,0 +80460,84,3.432,0 +80476,59,3.432,0 +80500,59,3.237,0 +80520,59,3.042,0 +80540,59,2.846,0 +80550,59,2.733,0 +80560,59,2.61,0 +80570,59,2.487,0 +80576,84,2.487,0 +80580,84,2.364,0 +80590,84,2.241,0 +80600,84,2.117,0 +80610,84,1.994,0 +80620,84,1.871,0 +80630,84,1.748,0 +80640,84,1.625,0 +80650,84,1.501,0 +80660,84,1.378,0 +80670,84,1.255,0 +80710,84,1.108,0 +80720,84,1.001,0 +80730,84,0.894,0 +80740,84,0.787,0 +80750,84,0.68,0 +80760,84,0.573,0 +80770,84,0.466,0 +80780,84,0.359,0 +80790,84,0.252,0 +80800,84,0.145,0 +80810,84,0.038,0 +80820,84,-0.069,0 +80830,84,-0.176,0 +80840,84,-0.283,0 +80850,84,-0.39,0 +80860,84,-0.497,0 +80870,84,-0.604,0 +80880,84,-0.711,0 +80890,84,-0.822,0 +80900,84,-0.935,0 +81070,84,-1.036,0 +81190,84,-1.153,0 +81230,84,-1.281,0 +81270,84,-1.408,0 +81310,84,-1.535,0 +81350,84,-1.673,0 +81460,84,-1.778,0 +81530,84,-2.03,0 +81540,84,-2.21,0 +81550,84,-2.386,0 +81560,84,-2.561,0 +81570,84,-2.736,0 +81580,84,-2.912,0 +81590,84,-3.034,0 +81610,84,-3.233,0 +81630,84,-3.432,0 +81650,84,-3.631,0 +81670,84,-3.83,0 +81690,84,-4.029,0 +81710,84,-4.228,0 +81750,84,-4.065,0 +81770,84,-3.933,0 +81800,84,-4.039,0 +81820,84,-4.17,0 +81840,84,-4.301,0 +81860,84,-4.432,0 +81867,64,-4.432,0 +81880,64,-4.563,0 +81900,64,-4.693,0 +81920,64,-4.822,0 +81940,64,-4.952,0 +81960,64,-5.065,0 +81970,64,-4.947,0 +81980,64,-4.789,0 +81990,64,-4.631,0 +82000,64,-4.473,0 +82010,64,-4.315,0 +82020,64,-4.157,0 +82030,64,-3.999,0 +82040,64,-3.841,0 +82049,0,-3.841,12 +82050,64,-3.683,0 +82060,64,-3.525,0 +82070,64,-3.367,0 +82100,64,-3.479,0 +82119,0,-3.479,45 +82120,64,-3.597,0 +82140,64,-3.715,0 +82160,64,-3.864,0 +82170,64,-4.081,0 +82180,64,-4.297,0 +82190,64,-4.513,0 +82200,64,-4.729,0 +82210,64,-4.945,0 +82220,64,-5.162,0 +82230,64,-5.378,0 +82240,64,-5.594,0 +82280,64,-5.462,0 +82290,64,-5.251,0 +82300,64,-5.04,0 +82310,64,-4.829,0 +82320,64,-4.618,0 +82330,64,-4.406,0 +82340,64,-4.195,0 +82350,64,-3.984,0 +82360,64,-3.773,0 +82370,64,-3.561,0 +82380,64,-3.35,0 +82390,64,-3.139,0 +82400,64,-2.927,0 +82410,64,-2.716,0 +82420,64,-2.504,0 +82430,64,-2.293,0 +82440,64,-2.081,0 +82660,64,-2.186,0 +82730,64,-2.299,0 +82800,64,-2.401,0 +82900,64,-2.283,0 +82930,64,-2.183,0 +82960,64,-2.082,0 +82990,64,-1.981,0 +83020,64,-1.881,0 +83050,64,-1.781,0 +83109,0,-1.781,34 +83110,64,-1.613,0 +83120,64,-1.44,0 +83130,64,-1.266,0 +83140,64,-1.093,0 +83150,64,-0.92,0 +83160,64,-0.746,0 +83170,64,-0.573,0 +83180,64,-0.408,0 +83190,64,-0.248,0 +83200,64,-0.088,0 +83203,84,-0.088,0 +83210,84,0.072,0 +83220,84,0.232,0 +83230,84,0.392,0 +83240,84,0.552,0 +83250,84,0.744,0 +83260,84,0.945,0 +83270,84,1.145,0 +83280,84,1.345,0 +83290,84,1.546,0 +83300,84,1.746,0 +83330,84,1.861,0 +83380,84,1.732,0 +83410,84,1.632,0 +83440,84,1.531,0 +83460,84,1.388,0 +83480,84,1.24,0 +83500,84,1.093,0 +83520,84,0.945,0 +83540,84,0.798,0 +83870,84,0.605,0 +83880,84,0.444,0 +83890,84,0.282,0 +83900,84,0.121,0 +83910,84,-0.041,0 +83920,84,-0.202,0 +83930,84,-0.364,0 +83940,84,-0.525,0 +83950,84,-0.687,0 +83960,84,-0.848,0 +83970,84,-0.996,0 +83980,84,-1.142,0 +83990,84,-1.288,0 +84000,84,-1.434,0 +84010,84,-1.58,0 +84020,84,-1.726,0 +84030,84,-1.886,0 +84040,84,-2.047,0 +84050,84,-2.207,0 +84060,84,-2.335,0 +84250,84,-2.222,0 +84300,84,-2.1,0 +84350,84,-1.978,0 +84390,84,-2.095,0 +84410,84,-2.254,0 +84430,84,-2.412,0 +84450,84,-2.571,0 +84470,84,-2.73,0 +84490,84,-2.889,0 +84510,84,-3.048,0 +84530,84,-3.207,0 +84550,84,-3.366,0 +84570,84,-3.501,0 +85140,84,-3.276,0 +85150,84,-3.144,0 +85160,84,-3.011,0 +85170,84,-2.879,0 +85180,84,-2.746,0 +85190,84,-2.614,0 +85200,84,-2.482,0 +85210,84,-2.349,0 +85220,84,-2.217,0 +85230,84,-2.085,0 +85240,84,-1.952,0 +85250,84,-1.82,0 +85260,84,-1.687,0 +85270,84,-1.555,0 +85280,84,-1.423,0 +85290,84,-1.29,0 +85300,84,-1.158,0 +85310,84,-1.025,0 +85320,84,-0.893,0 +85800,84,-0.754,0 +85810,84,-0.564,0 +85820,84,-0.374,0 +85830,84,-0.185,0 +85840,84,0.005,0 +85850,84,0.195,0 +85860,84,0.384,0 +85870,84,0.574,0 +85880,84,0.764,0 +85890,84,0.953,0 +85900,84,1.143,0 +85910,84,1.333,0 +85920,84,1.522,0 +85930,84,1.712,0 +85940,84,1.902,0 +85950,84,2.091,0 +85960,84,2.281,0 +85970,84,2.471,0 +85980,84,2.661,0 +85990,84,2.85,0 +86090,74,2.85,0 +86160,74,2.707,0 +86180,74,2.531,0 +86200,74,2.363,0 +86220,74,2.203,0 +86240,74,2.043,0 +86260,74,1.882,0 +86280,74,1.722,0 +86300,74,1.562,0 +86320,74,1.402,0 +86340,74,1.242,0 +86360,74,1.129,0 +86400,74,0.909,0 +86410,74,0.763,0 +86420,74,0.616,0 +86430,74,0.47,0 +86440,74,0.323,0 +86450,74,0.176,0 +86460,74,0.03,0 +86470,74,-0.117,0 +86480,74,-0.264,0 +86490,74,-0.41,0 +86500,74,-0.553,0 +86510,74,-0.681,0 +86520,74,-0.809,0 +86530,74,-0.937,0 +86540,74,-1.065,0 +86550,74,-1.193,0 +86560,74,-1.321,0 +86570,74,-1.449,0 +86580,74,-1.577,0 +86670,74,-1.468,0 +86820,74,-1.62,0 +86840,74,-1.776,0 +86860,74,-1.932,0 +86880,74,-2.088,0 +86894,79,-2.088,0 +86900,79,-2.243,0 +86920,79,-2.399,0 +86940,79,-2.555,0 +86960,79,-2.711,0 +86980,79,-2.867,0 +87000,79,-2.969,0 +87260,79,-2.856,0 +87270,79,-2.728,0 +87280,79,-2.6,0 +87290,79,-2.471,0 +87300,79,-2.343,0 +87310,79,-2.215,0 +87320,79,-2.086,0 +87330,79,-1.958,0 +87340,79,-1.83,0 +87350,79,-1.702,0 +87360,79,-1.573,0 +87370,79,-1.445,0 +87380,79,-1.317,0 +87390,79,-1.188,0 +87400,79,-1.06,0 +87410,79,-0.932,0 +87420,79,-0.803,0 +87430,79,-0.675,0 +87440,79,-0.547,0 +87450,79,-0.418,0 +88030,79,-0.529,0 +88060,79,-0.662,0 +88090,79,-0.795,0 +88120,79,-0.928,0 +88150,79,-1.061,0 +88180,79,-1.194,0 +88210,79,-1.3,0 +88310,79,-1.403,0 +88350,79,-1.504,0 +88390,79,-1.605,0 +88430,79,-1.705,0 +88450,79,-1.879,0 +88460,79,-2.152,0 +88470,79,-2.419,0 +88480,79,-2.666,0 +88490,79,-2.913,0 +88500,79,-3.16,0 +88510,79,-3.407,0 +88520,79,-3.654,0 +88530,79,-3.901,0 +88540,79,-4.149,0 +88550,79,-4.396,0 +88560,79,-4.643,0 +88570,79,-4.89,0 +88580,79,-5.137,0 +88590,79,-5.384,0 +88600,79,-5.566,0 +88610,79,-5.683,0 +88620,79,-5.8,0 +88630,79,-5.917,0 +88640,79,-6.034,0 +88660,79,-5.873,0 +88670,79,-5.743,0 +88680,79,-5.613,0 +88690,79,-5.483,0 +88700,49,-5.353,0 +88710,49,-5.223,0 +88720,49,-5.093,0 +88730,49,-4.963,0 +88740,49,-4.833,0 +88750,49,-4.703,0 +88760,79,-4.573,0 +88770,79,-4.443,0 +88780,79,-4.313,0 +88790,79,-4.183,0 +88840,79,-3.944,0 +88850,79,-3.801,0 +88860,79,-3.658,0 +88870,79,-3.516,0 +88880,79,-3.373,0 +88890,79,-3.23,0 +88900,79,-3.087,0 +88910,79,-2.945,0 +88920,79,-2.802,0 +88930,79,-2.659,0 +88940,79,-2.516,0 +88950,79,-2.373,0 +88960,79,-2.231,0 +88970,79,-2.088,0 +88980,79,-1.945,0 +88990,79,-1.802,0 +89000,79,-1.66,0 +89010,79,-1.517,0 +89020,79,-1.375,0 +89130,79,-1.506,0 +89150,79,-1.637,0 +89170,79,-1.768,0 +89190,79,-1.899,0 +89210,79,-2.03,0 +89230,79,-2.161,0 +89250,79,-2.292,0 +89270,79,-2.423,0 +89500,79,-2.547,0 +89530,79,-2.663,0 +89560,79,-2.766,0 +89700,79,-2.908,0 +89710,79,-3.009,0 +89720,79,-3.11,0 +89730,79,-3.211,0 +89740,79,-3.312,0 +89750,79,-3.413,0 +89760,79,-3.514,0 +89770,79,-3.615,0 +89780,79,-3.716,0 +89790,79,-3.817,0 +89800,79,-3.918,0 +89810,79,-4.019,0 +89820,79,-4.12,0 +89830,79,-4.221,0 +89840,79,-4.322,0 +89850,79,-4.423,0 +89860,79,-4.524,0 +89870,79,-4.625,0 +89880,79,-4.726,0 +89900,79,-4.534,0 +89910,79,-4.407,0 +89920,79,-4.279,0 +89930,79,-4.151,0 +89940,79,-4.023,0 +89950,79,-3.896,0 +89960,79,-3.768,0 +89970,79,-3.64,0 +89980,79,-3.513,0 +89990,79,-3.385,0 +90000,79,-3.257,0 +90010,79,-3.13,0 +90020,79,-3.002,0 +90030,79,-2.874,0 +90040,79,-2.747,0 +90050,79,-2.619,0 +90060,79,-2.491,0 +90070,79,-2.364,0 +90080,79,-2.236,0 +90230,79,-2.048,0 +90240,79,-1.923,0 +90250,79,-1.798,0 +90260,79,-1.673,0 +90270,79,-1.547,0 +90280,79,-1.422,0 +90290,79,-1.297,0 +90300,79,-1.172,0 +90310,79,-1.047,0 +90320,79,-0.922,0 +90330,79,-0.797,0 +90340,79,-0.671,0 +90350,79,-0.546,0 +90360,79,-0.421,0 +90370,79,-0.296,0 +90380,79,-0.171,0 +90390,79,-0.046,0 +90400,79,0.08,0 +90410,79,0.205,0 +90650,79,0.095,0 +90670,79,-0.02,0 +90690,79,-0.134,0 +90710,79,-0.248,0 +90730,79,-0.362,0 +90750,79,-0.477,0 +90770,79,-0.591,0 +90790,79,-0.705,0 +90810,79,-0.82,0 +91000,79,-0.925,0 +91020,79,-1.095,0 +91040,79,-1.265,0 +91060,79,-1.435,0 +91080,79,-1.604,0 +91100,79,-1.774,0 +91120,79,-1.944,0 +91140,79,-2.114,0 +91160,79,-2.284,0 +91170,79,-2.436,0 +91180,79,-2.595,0 +91190,42,-2.753,0 +91200,42,-2.861,0 +91220,42,-3.009,0 +91240,42,-3.157,0 +91260,79,-3.305,0 +91280,79,-3.453,0 +91300,79,-3.601,0 +91320,79,-3.749,0 +91340,79,-3.897,0 +91360,79,-4.045,0 +91560,79,-3.862,0 +91570,79,-3.722,0 +91580,79,-3.582,0 +91590,79,-3.442,0 +91600,79,-3.302,0 +91610,79,-3.162,0 +91620,79,-3.022,0 +91630,79,-2.882,0 +91640,79,-2.742,0 +91650,79,-2.602,0 +91660,79,-2.462,0 +91670,79,-2.322,0 +91680,79,-2.182,0 +91690,79,-2.042,0 +91700,79,-1.902,0 +91710,79,-1.762,0 +91720,79,-1.622,0 +91730,79,-1.482,0 +91740,79,-1.342,0 +91820,79,-1.222,0 +91870,79,-1.115,0 +91920,79,-1.009,0 +91970,79,-0.902,0 +92290,79,-1.018,0 +92330,79,-1.119,0 +92370,79,-1.22,0 +92410,79,-1.321,0 +92500,79,-1.212,0 +92550,79,-1.088,0 +92600,79,-0.964,0 +92650,79,-0.842,0 +92700,79,-0.966,0 +92730,79,-1.109,0 +92760,79,-1.252,0 +92774,54,-1.252,0 +92790,54,-1.395,0 +92820,54,-1.538,0 +92850,54,-1.681,0 +92880,54,-1.791,0 +92890,54,-2.033,0 +92900,54,-2.275,0 +92910,54,-2.518,0 +92920,54,-2.76,0 +92930,54,-3.002,0 +92940,54,-3.245,0 +92949,0,-3.245,8 +92950,54,-3.487,0 +92960,54,-3.729,0 +92970,54,-3.972,0 +92980,54,-4.214,0 +92990,54,-4.456,0 +93000,54,-4.699,0 +93010,54,-4.941,0 +93020,54,-5.183,0 +93030,54,-5.426,0 +93040,54,-5.668,0 +93050,54,-5.91,0 +93060,54,-6.153,0 +93069,0,-6.153,27 +93070,54,-6.395,0 +93080,54,-6.613,0 +93200,54,-6.5,0 +93230,54,-6.363,0 +93260,54,-6.227,0 +93290,54,-6.091,0 +93320,54,-5.955,0 +93350,54,-5.818,0 +93380,54,-5.709,0 +93520,54,-5.588,0 +93530,54,-5.418,0 +93540,54,-5.249,0 +93550,54,-5.08,0 +93560,54,-4.911,0 +93570,54,-4.742,0 +93580,54,-4.573,0 +93590,54,-4.404,0 +93600,54,-4.234,0 +93610,54,-4.065,0 +93620,54,-3.896,0 +93630,54,-3.727,0 +93640,54,-3.551,0 +93650,54,-3.35,0 +93660,54,-3.15,0 +93670,54,-2.949,0 +93680,54,-2.749,0 +93690,54,-2.548,0 +93700,54,-2.347,0 +93710,54,-2.147,0 +93740,54,-2.017,0 +93829,0,-2.017,18 +93830,54,-2.149,0 +93850,54,-2.273,0 +93870,54,-2.42,0 +93890,54,-2.567,0 +93910,54,-2.714,0 +93930,54,-2.861,0 +93950,54,-3.008,0 +93970,54,-3.155,0 +94000,54,-3.281,0 +94020,54,-3.441,0 +94040,54,-3.601,0 +94060,54,-3.761,0 +94080,54,-3.921,0 +94100,54,-4.081,0 +94120,54,-4.24,0 +94140,54,-4.4,0 +94160,54,-4.56,0 +94180,54,-4.72,0 +94540,54,-4.616,0 +95157,34,-4.616,0 +95380,34,-4.402,0 +95390,34,-4.277,0 +95400,34,-4.151,0 +95410,34,-4.026,0 +95420,34,-3.901,0 +95430,34,-3.775,0 +95440,34,-3.65,0 +95450,34,-3.524,0 +95460,34,-3.399,0 +95465,0,-3.399,40 +95470,18,-3.26,0 +95480,18,-3.117,0 +95490,18,-2.974,0 +95500,18,-2.831,0 +95510,18,-2.688,0 +95520,18,-2.545,0 +95530,18,-2.403,0 +95540,18,-2.26,0 +95550,18,-2.117,0 +95560,18,-1.974,0 +95590,18,-1.859,0 +95650,18,-1.755,0 +95690,18,-1.642,0 +95740,18,-1.522,0 +95790,18,-1.402,0 +95810,18,-1.272,0 +95830,18,-1.121,0 +95850,18,-0.97,0 +95870,18,-0.867,0 +95890,18,-0.764,0 +95910,18,-0.662,0 +95930,18,-0.559,0 +95950,18,-0.456,0 +95963,0,-0.456,40 +95970,18,-0.353,0 +95990,18,-0.25,0 +96052,25,-0.25,0 +96577,23,-0.25,0 +96650,23,-0.376,0 +96680,23,-0.477,0 +96708,18,-0.477,0 +96710,18,-0.578,0 +96740,18,-0.679,0 +96770,18,-0.78,0 +96800,18,-0.895,0 +96876,0,-0.895,6 +96990,11,-0.785,0 +97013,25,-0.785,0 +97030,25,-0.659,0 +97070,25,-0.532,0 +97110,25,-0.406,0 +97640,25,-0.534,0 +97670,25,-0.653,0 +97700,25,-0.772,0 +97730,25,-0.891,0 +97760,25,-1.01,0 +97790,25,-1.112,0 +97870,25,-1.007,0 +97881,0,-1.007,26 +97920,23,-0.904,0 +97970,23,-0.801,0 +98090,23,-0.935,0 +98120,23,-1.059,0 +98150,23,-1.183,0 +98180,23,-1.307,0 +98210,23,-1.431,0 +98240,23,-1.555,0 +98530,23,-1.442,0 +98560,23,-1.293,0 +98590,23,-1.145,0 +98620,23,-0.996,0 +98650,23,-0.847,0 +98680,23,-0.699,0 +99200,23,-0.802,0 +99260,23,-0.922,0 +99430,23,-0.801,0 +99460,23,-0.684,0 +99490,23,-0.566,0 +99520,23,-0.449,0 +99550,23,-0.332,0 +100060,23,-0.232,0 +100110,23,-0.11,0 +100158,0,-0.11,31 +100160,49,0.013,0 +100210,49,0.135,0 +100260,49,0.253,0 +100310,49,0.127,0 +100330,49,-0.065,0 +100350,49,-0.258,0 +100370,49,-0.45,0 +100390,49,-0.643,0 +100410,49,-0.835,0 +100430,49,-1.028,0 +100450,49,-1.221,0 +100470,49,-1.413,0 +100490,49,-1.606,0 +100530,49,-1.724,0 +100580,49,-1.832,0 +100630,49,-1.94,0 +100680,19,-2.048,0 +100950,19,-1.925,0 +100970,19,-1.738,0 +100990,19,-1.551,0 +101010,19,-1.365,0 +101030,19,-1.178,0 +101032,74,-1.178,0 +101050,74,-0.991,0 +101070,74,-0.804,0 +101090,74,-0.617,0 +101110,74,-0.431,0 +101130,74,-0.244,0 +101250,74,-0.139,0 +101300,74,-0.03,0 +101350,74,0.079,0 +101400,74,0.187,0 +101710,74,0.353,0 +101730,74,0.517,0 +101750,74,0.68,0 +101770,74,0.831,0 +101800,74,0.95,0 +101830,74,1.069,0 +101860,74,1.188,0 +101890,74,1.307,0 +101920,74,1.181,0 +101950,74,1.044,0 +101960,74,0.894,0 +101970,74,0.761,0 +101980,74,0.652,0 +101990,74,0.544,0 +102000,74,0.436,0 +102010,74,0.328,0 +102020,74,0.22,0 +102030,74,0.112,0 +102040,74,0.003,0 +102050,74,-0.105,0 +102060,74,-0.213,0 +102070,74,-0.321,0 +102080,74,-0.429,0 +102090,74,-0.537,0 +102100,74,-0.646,0 +102110,74,-0.748,0 +102120,74,-0.85,0 +102130,74,-0.951,0 +102140,74,-1.053,0 +102460,74,-0.945,0 +102503,32,-0.945,0 +102530,52,-0.84,0 +102600,52,-0.734,0 +102740,52,-0.848,0 +102770,52,-0.977,0 +102800,52,-1.107,0 +102829,0,-1.107,12 +102830,52,-1.236,0 +102860,52,-1.366,0 +102890,52,-1.495,0 +102930,52,-1.285,0 +102940,52,-1.094,0 +102950,52,-0.903,0 +102960,52,-0.712,0 +102970,52,-0.521,0 +102980,52,-0.33,0 +102990,52,-0.139,0 +103000,52,0.052,0 +103009,0,0.052,35 +103010,52,0.243,0 +103020,52,0.433,0 +103030,52,0.624,0 +103040,52,0.79,0 +103060,52,0.657,0 +103080,52,0.524,0 +103100,52,0.392,0 +103120,52,0.125,0 +103130,52,-0.132,0 +103140,52,-0.389,0 +103150,52,-0.646,0 +103160,52,-0.904,0 +103170,52,-1.161,0 +103180,52,-1.418,0 +103190,52,-1.673,0 +103200,52,-1.928,0 +103210,52,-2.183,0 +103220,52,-2.438,0 +103230,52,-2.693,0 +103240,52,-2.897,0 +103250,52,-2.753,0 +103260,52,-2.609,0 +103270,52,-2.465,0 +103280,0,-2.321,17 +103290,59,-2.177,0 +103300,59,-2.033,0 +103310,59,-1.889,0 +103320,59,-1.745,0 +103330,59,-1.601,0 +103340,59,-1.457,0 +103350,59,-1.313,0 +103360,59,-1.169,0 +103370,59,-1.025,0 +103380,44,-0.881,0 +103390,44,-0.739,0 +103400,44,-0.597,0 +103410,44,-0.455,0 +103420,44,-0.314,0 +103430,44,-0.172,0 +103440,44,-0.044,0 +103910,44,-0.148,0 +103947,74,-0.148,0 +103980,74,-0.262,0 +104050,74,-0.37,0 +104720,74,-0.542,0 +104740,74,-0.733,0 +104760,74,-0.924,0 +104780,74,-1.114,0 +104800,74,-1.305,0 +104820,74,-1.496,0 +104840,74,-1.687,0 +104860,74,-1.878,0 +104880,74,-2.069,0 +104920,74,-1.891,0 +104930,74,-1.789,0 +104940,74,-1.687,0 +104950,74,-1.584,0 +104960,74,-1.482,0 +104970,74,-1.38,0 +104980,74,-1.278,0 +104983,69,-1.278,0 +104990,69,-1.175,0 +105000,69,-1.073,0 +105010,69,-0.971,0 +105020,69,-0.869,0 +105030,69,-0.766,0 +105040,69,-0.664,0 +105050,69,-0.562,0 +105060,69,-0.459,0 +105070,69,-0.357,0 +105080,69,-0.255,0 +105260,69,-0.36,0 +105975,0,-0.36,28 +106050,74,-0.258,0 +106340,74,-0.151,0 +106350,74,-0.031,0 +106360,74,0.088,0 +106370,74,0.207,0 +106380,74,0.327,0 +106390,74,0.446,0 +106400,74,0.566,0 +106410,74,0.685,0 +106420,74,0.805,0 +106430,74,0.924,0 +106440,74,1.044,0 +106450,74,1.163,0 +106470,74,1.349,0 +106490,74,1.53,0 +106510,74,1.71,0 +106530,74,1.891,0 +106580,74,1.769,0 +106620,74,1.652,0 +106640,74,1.512,0 +106650,74,1.392,0 +106670,74,1.166,0 +106680,74,1.015,0 +106690,74,0.863,0 +106700,74,0.711,0 +106710,74,0.56,0 +106720,74,0.408,0 +106730,74,0.257,0 +106731,64,0.257,0 +106740,64,0.105,0 +106750,64,-0.047,0 +106760,64,-0.198,0 +106770,64,-0.377,0 +106780,64,-0.597,0 +106790,64,-0.817,0 +106800,64,-1.037,0 +106810,64,-1.257,0 +106820,64,-1.476,0 +106830,64,-1.696,0 +106840,64,-1.826,0 +106850,64,-1.956,0 +106860,64,-2.085,0 +106880,64,-2.234,0 +106900,64,-2.371,0 +106920,64,-2.507,0 +106940,64,-2.644,0 +106960,64,-2.78,0 +107026,54,-2.78,0 +107060,54,-2.64,0 +107080,54,-2.501,0 +107100,54,-2.361,0 +107120,54,-2.222,0 +107140,54,-2.082,0 +107160,54,-1.942,0 +107180,15,-1.802,0 +107200,40,-1.663,0 +107220,40,-1.523,0 +107330,40,-1.401,0 +107350,40,-1.282,0 +107370,40,-1.162,0 +107390,40,-1.042,0 +107410,40,-0.923,0 +107425,0,-0.923,24 +107430,64,-0.803,0 +107450,64,-0.683,0 +107470,64,-0.564,0 +107490,64,-0.444,0 +107510,64,-0.324,0 +107760,64,-0.448,0 +107790,64,-0.56,0 +107820,64,-0.672,0 +107850,64,-0.784,0 +107880,64,-0.897,0 +108090,64,-0.791,0 +108530,64,-0.896,0 +108610,64,-0.999,0 +108650,64,-0.876,0 +108670,64,-0.753,0 +108690,64,-0.631,0 +108710,64,-0.508,0 +108730,64,-0.385,0 +108750,64,-0.262,0 +108770,64,-0.14,0 +108790,64,-0.017,0 +108810,64,0.106,0 +108890,64,0.217,0 +108900,64,0.322,0 +108910,64,0.427,0 +108920,64,0.532,0 +108930,64,0.637,0 +108940,41,0.743,0 +108990,41,0.637,0 +109010,41,0.854,0 +109020,41,0.977,0 +109030,41,1.101,0 +109040,41,1.224,0 +109050,69,1.347,0 +109060,69,1.47,0 +109070,69,1.593,0 +109080,69,1.716,0 +109092,64,1.716,0 +109110,64,1.833,0 +109150,64,2.044,0 +109160,64,2.188,0 +109170,64,2.332,0 +109180,64,2.476,0 +109190,64,2.621,0 +109400,64,2.505,0 +109410,64,2.404,0 +109420,64,2.304,0 +109430,64,2.203,0 +109440,64,2.103,0 +109450,64,2.002,0 +109460,64,1.902,0 +109470,64,1.801,0 +109480,64,1.701,0 +109490,64,1.6,0 +109500,64,1.5,0 +109510,64,1.399,0 +109520,64,1.299,0 +109530,64,1.199,0 +109540,64,1.098,0 +109550,64,0.998,0 +109560,64,0.897,0 +109570,64,0.797,0 +109580,64,0.696,0 +110460,64,0.832,0 +110480,64,1.002,0 +110500,64,1.172,0 +110520,64,1.342,0 +110540,64,1.512,0 +110560,64,1.682,0 +110580,64,1.852,0 +110600,64,2.022,0 +110620,64,2.192,0 +110640,64,2.329,0 +110660,53,2.479,0 +110680,53,2.646,0 +110700,53,2.813,0 +110720,53,2.98,0 +110740,53,3.147,0 +110760,64,3.313,0 +110780,64,3.48,0 +110800,64,3.647,0 +110820,64,3.814,0 +110840,64,3.981,0 +110930,64,3.735,0 +110940,64,3.523,0 +110950,64,3.284,0 +110960,64,2.939,0 +110970,64,2.594,0 +110980,64,2.25,0 +110990,64,1.905,0 +111000,64,1.56,0 +111010,64,1.215,0 +111018,74,1.215,0 +111020,74,0.871,0 +111030,74,0.526,0 +111040,74,0.181,0 +111050,74,-0.164,0 +111060,74,-0.508,0 +111070,74,-0.853,0 +111080,74,-1.198,0 +111090,74,-1.543,0 +111100,74,-1.888,0 +111110,74,-2.232,0 +111120,74,-2.513,0 +111130,74,-2.646,0 +111140,74,-2.778,0 +111240,74,-2.598,0 +111250,74,-2.295,0 +111260,74,-1.992,0 +111270,74,-1.689,0 +111280,74,-1.386,0 +111290,74,-1.083,0 +111300,74,-0.78,0 +111310,74,-0.476,0 +111320,74,-0.173,0 +111330,74,0.13,0 +111340,74,0.433,0 +111350,74,0.736,0 +111360,74,1.039,0 +111370,74,1.428,0 +111380,74,1.827,0 +111390,74,2.225,0 +111400,74,2.624,0 +111410,74,3.022,0 +111420,74,3.421,0 +111430,74,3.819,0 +111450,74,4.01,0 +111470,74,4.201,0 +111490,74,4.392,0 +111510,74,4.583,0 +111530,74,4.773,0 +111550,74,4.964,0 +111720,34,4.964,0 +111899,54,4.964,0 +111960,54,4.736,0 +111970,54,4.583,0 +111980,54,4.43,0 +111990,54,4.277,0 +112000,54,4.125,0 +112010,54,3.976,0 +112020,54,3.826,0 +112030,54,3.677,0 +112040,24,3.528,0 +112050,24,3.379,0 +112060,24,3.23,0 +112070,64,3.081,0 +112080,64,2.931,0 +112090,64,2.82,0 +112100,64,2.708,0 +112110,64,2.596,0 +112120,64,2.485,0 +112130,64,2.373,0 +112140,64,2.262,0 +112190,64,2.389,0 +112220,64,2.502,0 +112250,64,2.615,0 +112370,64,2.511,0 +112410,64,2.396,0 +112419,69,2.396,0 +112450,69,2.281,0 +112480,69,2.592,0 +112490,69,2.808,0 +112500,69,3.025,0 +112510,69,3.241,0 +112520,69,3.461,0 +112530,69,3.695,0 +112540,69,3.929,0 +112550,69,4.163,0 +112560,69,4.397,0 +112570,69,4.631,0 +112580,69,4.865,0 +112590,69,5.099,0 +112600,69,5.333,0 +112610,69,5.566,0 +112620,69,5.8,0 +112630,69,6.034,0 +112640,69,6.267,0 +112650,69,6.501,0 +112660,69,6.735,0 +112690,39,6.735,0 +113170,39,6.558,0 +113180,39,6.423,0 +113190,39,6.288,0 +113200,39,6.153,0 +113210,39,6.018,0 +113220,39,5.883,0 +113230,39,5.748,0 +113240,39,5.613,0 +113250,59,5.478,0 +113260,59,5.343,0 +113270,59,5.208,0 +113280,59,5.073,0 +113290,59,4.937,0 +113300,59,4.802,0 +113310,59,4.667,0 +113320,59,4.532,0 +113330,59,4.397,0 +113340,59,4.262,0 +113350,59,4.127,0 +113390,59,4.328,0 +113400,59,4.442,0 +113410,59,4.555,0 +113420,59,4.668,0 +113430,59,4.781,0 +113440,59,4.894,0 +113450,59,5.007,0 +113460,59,5.12,0 +113470,49,5.233,0 +113480,49,5.347,0 +113490,49,5.46,0 +113500,49,5.573,0 +113510,49,5.686,0 +113520,49,5.799,0 +113530,49,5.912,0 +113540,49,6.025,0 +113550,49,6.138,0 +113560,49,6.252,0 +113570,49,6.365,0 +113963,69,6.365,0 +114180,69,6.212,0 +114190,69,6.041,0 +114200,69,5.87,0 +114210,69,5.699,0 +114220,69,5.528,0 +114230,69,5.357,0 +114240,69,5.186,0 +114250,69,5.015,0 +114260,69,4.844,0 +114270,69,4.673,0 +114280,69,4.502,0 +114290,69,4.331,0 +114300,69,4.16,0 +114310,69,3.989,0 +114320,69,3.818,0 +114330,69,3.647,0 +114340,69,3.476,0 +114350,69,3.305,0 +114360,69,3.134,0 +114370,69,2.963,0 +114480,69,2.732,0 +114490,69,2.476,0 +114500,69,2.221,0 +114510,69,1.965,0 +114520,69,1.709,0 +114530,69,1.453,0 +114540,69,1.197,0 +114550,69,0.941,0 +114560,69,0.685,0 +114570,69,0.429,0 +114580,69,0.173,0 +114590,69,-0.083,0 +114600,69,-0.338,0 +114610,69,-0.594,0 +114620,69,-0.85,0 +114630,69,-1.106,0 +114640,69,-1.362,0 +114650,69,-1.618,0 +114660,69,-1.874,0 +114670,69,-2.13,0 +114810,29,-1.953,0 +114830,54,-1.763,0 +114850,54,-1.572,0 +114870,54,-1.382,0 +114890,54,-1.191,0 +114910,54,-1.001,0 +114930,54,-0.811,0 +114950,54,-0.628,0 +114970,54,-0.44,0 +114980,54,-0.295,0 +114990,54,-0.151,0 +115010,54,-0.018,0 +115030,54,0.087,0 +115050,54,0.192,0 +115070,54,0.298,0 +115090,54,0.403,0 +115110,41,0.509,0 +115130,41,0.614,0 +115180,41,0.419,0 +115190,41,0.291,0 +115200,41,0.163,0 +115210,41,0.036,0 +115220,41,-0.092,0 +115230,41,-0.219,0 +115240,41,-0.347,0 +115250,41,-0.475,0 +115260,41,-0.602,0 +115270,41,-0.73,0 +115280,54,-0.858,0 +115290,54,-0.985,0 +115300,54,-1.113,0 +115310,54,-1.241,0 +115320,54,-1.368,0 +115330,54,-1.496,0 +115340,54,-1.623,0 +115350,54,-1.726,0 +115590,54,-1.587,0 +115610,54,-1.438,0 +115630,54,-1.288,0 +115650,54,-1.138,0 +115670,54,-0.989,0 +115672,16,-0.989,0 +115690,34,-0.839,0 +115700,34,-0.735,0 +115710,34,-0.587,0 +115720,34,-0.439,0 +115730,34,-0.291,0 +115740,34,-0.144,0 +115750,34,0.004,0 +115760,34,0.152,0 +115770,34,0.293,0 +115868,0,0.293,40 +115910,28,0.191,0 +115930,28,0.044,0 +115950,28,-0.103,0 +115970,28,-0.235,0 +116040,28,-0.091,0 +116060,28,0.089,0 +116080,28,0.268,0 +116100,28,0.448,0 +116120,28,0.627,0 +116140,28,0.807,0 +116160,28,0.986,0 +116180,18,1.166,0 +116190,18,1.037,0 +116200,18,0.853,0 +116210,18,0.669,0 +116220,18,0.486,0 +116230,18,0.239,0 +116240,18,-0.034,0 +116250,18,-0.307,0 +116260,18,-0.581,0 +116270,18,-0.854,0 +116280,18,-1.128,0 +116281,0,-1.128,8 +116290,25,-1.401,0 +116300,25,-1.674,0 +116310,25,-1.948,0 +116320,25,-2.221,0 +116330,25,-2.494,0 +116340,25,-2.768,0 +116350,25,-3.041,0 +116360,25,-3.314,0 +116370,25,-3.588,0 +116380,25,-3.861,0 +116470,25,-3.695,0 +116490,25,-3.561,0 +116510,25,-3.427,0 +116530,25,-3.294,0 +116540,0,-3.294,29 +116550,46,-3.16,0 +116570,46,-3.026,0 +116590,46,-2.892,0 +116610,46,-2.759,0 +116630,46,-2.625,0 +116850,46,-2.421,0 +116860,46,-2.192,0 +116870,46,-1.963,0 +116880,46,-1.734,0 +116890,46,-1.505,0 +116900,46,-1.276,0 +116910,46,-1.047,0 +116920,46,-0.818,0 +116930,46,-0.589,0 +116940,46,-0.36,0 +116950,15,-0.131,0 +116960,26,0.098,0 +116970,26,0.326,0 +116980,26,0.555,0 +116990,26,0.784,0 +117000,26,1.013,0 +117010,26,1.242,0 +117020,26,1.471,0 +117030,26,1.7,0 +117040,26,1.929,0 +117330,26,1.698,0 +117340,26,1.428,0 +117350,26,1.158,0 +117360,26,0.888,0 +117370,26,0.618,0 +117380,26,0.349,0 +117390,26,0.079,0 +117400,26,-0.191,0 +117410,26,-0.461,0 +117419,25,-0.461,0 +117420,25,-0.731,0 +117430,25,-1.001,0 +117440,25,-1.27,0 +117450,25,-1.54,0 +117460,25,-1.811,0 +117470,25,-2.084,0 +117480,25,-2.357,0 +117490,25,-2.63,0 +117500,25,-2.903,0 +117510,25,-3.176,0 +117520,25,-3.395,0 +117556,20,-3.395,0 +117935,0,-3.395,19 +117960,21,-3.285,0 +118050,21,-3.001,0 +118060,21,-2.761,0 +118070,21,-2.521,0 +118080,21,-2.281,0 +118090,21,-2.041,0 +118100,21,-1.801,0 +118110,21,-1.561,0 +118120,21,-1.321,0 +118130,21,-1.081,0 +118140,15,-0.841,0 +118150,15,-0.601,0 +118160,15,-0.361,0 +118170,15,-0.12,0 +118180,25,0.12,0 +118190,25,0.36,0 +118200,25,0.6,0 +118210,25,0.84,0 +118220,25,1.08,0 +118230,25,1.32,0 +118240,25,1.56,0 +118740,25,1.337,0 +118750,25,1.113,0 +118760,25,0.888,0 +118770,25,0.664,0 +118780,25,0.439,0 +118790,25,0.215,0 +118800,25,-0.01,0 +118810,25,-0.234,0 +118820,25,-0.458,0 +118830,25,-0.683,0 +118840,25,-0.907,0 +118850,25,-1.132,0 +118860,25,-1.356,0 +118870,25,-1.581,0 +118880,25,-1.805,0 +118890,25,-2.03,0 +118900,25,-2.254,0 +118910,25,-2.479,0 +118920,25,-2.703,0 +118930,25,-2.883,0 +119220,25,-2.698,0 +119230,15,-2.53,0 +119240,25,-2.362,0 +119250,25,-2.194,0 +119260,25,-2.026,0 +119270,25,-1.858,0 +119280,25,-1.69,0 +119290,25,-1.522,0 +119299,0,-1.522,5 +119300,25,-1.354,0 +119310,25,-1.186,0 +119320,25,-1.018,0 +119330,25,-0.85,0 +119340,25,-0.682,0 +119350,25,-0.514,0 +119360,25,-0.346,0 +119370,25,-0.178,0 +119380,25,-0.01,0 +119389,0,-0.01,49 +119390,25,0.158,0 +119400,25,0.326,0 +119410,25,0.461,0 +119920,25,0.352,0 +119940,25,0.217,0 +119960,25,0.082,0 +119980,25,-0.053,0 +120000,25,-0.188,0 +120004,74,-0.188,0 +120020,74,-0.323,0 +120040,74,-0.459,0 +120060,74,-0.594,0 +120080,74,-0.729,0 +120100,74,-0.864,0 +120260,74,-1.086,0 +120270,74,-1.212,0 +120280,74,-1.339,0 +120290,74,-1.465,0 +120300,74,-1.591,0 +120310,74,-1.717,0 +120320,74,-1.843,0 +120330,74,-1.969,0 +120340,74,-2.096,0 +120350,74,-2.222,0 +120360,74,-2.348,0 +120370,74,-2.474,0 +120380,74,-2.6,0 +120390,74,-2.726,0 +120400,74,-2.853,0 +120410,74,-2.979,0 +120430,74,-3.12,0 +120480,74,-2.957,0 +120500,74,-2.826,0 +120520,74,-2.696,0 +120540,74,-2.565,0 +120560,74,-2.434,0 +120580,74,-2.303,0 +120600,74,-2.173,0 +120660,74,-2.449,0 +120670,74,-2.685,0 +120680,74,-2.922,0 +120690,54,-3.159,0 +120700,54,-3.395,0 +120710,54,-3.632,0 +120720,54,-3.868,0 +120730,54,-4.105,0 +120740,74,-4.341,0 +120750,74,-4.578,0 +120760,74,-4.814,0 +120770,74,-5.051,0 +120780,74,-5.287,0 +120790,74,-5.524,0 +120800,74,-5.76,0 +120810,74,-5.997,0 +120820,74,-6.234,0 +120830,74,-6.47,0 +120840,74,-6.707,0 +121891,24,-6.707,0 +122170,24,-6.474,0 +122180,54,-6.324,0 +122190,54,-6.175,0 +122200,54,-6.025,0 +122210,54,-5.876,0 +122220,54,-5.726,0 +122230,54,-5.577,0 +122240,54,-5.428,0 +122250,54,-5.278,0 +122260,54,-5.128,0 +122270,54,-4.978,0 +122280,54,-4.828,0 +122290,54,-4.678,0 +122300,54,-4.528,0 +122310,54,-4.378,0 +122320,54,-4.228,0 +122330,54,-4.078,0 +122340,54,-3.928,0 +122350,54,-3.823,0 +122560,54,-3.924,0 +122830,54,-3.817,0 +122850,34,-3.669,0 +122870,54,-3.521,0 +122890,54,-3.372,0 +122910,54,-3.224,0 +122930,54,-3.076,0 +122950,54,-2.927,0 +122970,54,-2.779,0 +122990,54,-2.63,0 +123030,54,-2.485,0 +123050,54,-2.371,0 +123070,54,-2.258,0 +123090,54,-2.144,0 +123110,54,-2.031,0 +123130,54,-1.917,0 +123150,54,-1.804,0 +123170,54,-1.691,0 +123190,54,-1.577,0 +123210,54,-1.464,0 +123230,54,-1.323,0 +123250,17,-1.144,0 +123270,17,-0.965,0 +123290,34,-0.786,0 +123310,34,-0.607,0 +123330,34,-0.428,0 +123350,34,-0.249,0 +123370,34,-0.07,0 +123390,34,0.109,0 +123410,34,0.257,0 +123470,34,0.156,0 +123510,34,0.027,0 +123530,34,-0.088,0 +123550,34,-0.235,0 +123590,0,-0.235,10 diff --git a/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/InterurbanBus.vveh b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/InterurbanBus.vveh new file mode 100644 index 0000000000..e475077fd7 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/InterurbanBus.vveh @@ -0,0 +1,64 @@ +{ + "Header": { + "CreatedBy": " ()", + "Date": "2016-10-13T08:57:32.3951093Z", + "AppVersion": "3", + "FileVersion": 7 + }, + "Body": { + "SavedInDeclMode": false, + "VehCat": "CityBus", + "CurbWeight": 14800.0, + "CurbWeightExtra": 0.0, + "Loading": 5170.0, + "MassMax": 25.0, + "CdA": 4.115, + "rdyn": 507.0, + "CdCorrMode": "CdofVdecl", + "CdCorrFile": "", + "Retarder": { + "Type": "secondary", + "Ratio": 1.0, + "File": "Default.vrlm" + }, + "Angledrive": { + "Type": "None", + "Ratio": 0.0, + "LossMap": "" + }, + "PTO": { + "Type": "None", + "LossMap": "", + "Cycle": "" + }, + "AxleConfig": { + "Type": "6x2", + "Axles": [ + { + "Inertia": 15.5, + "Wheels": "295/80 R22.5", + "AxleWeightShare": 0.2725, + "TwinTyres": false, + "RRCISO": 0.0065, + "FzISO": 31270.0 + }, + { + "Inertia": 15.5, + "Wheels": "295/80 R22.5", + "AxleWeightShare": 0.455, + "TwinTyres": true, + "RRCISO": 0.0065, + "FzISO": 31270.0 + }, + { + "Inertia": 15.5, + "Wheels": "295/80 R22.5", + "AxleWeightShare": 0.2725, + "TwinTyres": false, + "RRCISO": 0.0065, + "FzISO": 31270.0 + } + ] + } + } +} \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/InterurbanBus_ENG_BusAux.vecto b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/InterurbanBus_ENG_BusAux.vecto new file mode 100644 index 0000000000..bc219f25b3 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/InterurbanBus_ENG_BusAux.vecto @@ -0,0 +1,46 @@ +{ + "Header": { + "CreatedBy": " ()", + "Date": "2016-10-13T10:28:40.9616564Z", + "AppVersion": "3", + "FileVersion": 3 + }, + "Body": { + "SavedInDeclMode": false, + "EngineOnlyMode": false, + "VehicleFile": "InterurbanBus.vveh", + "EngineFile": "Engine_250kW_7.7l.veng", + "GearboxFile": "MT_6_Bus.vgbx", + "BusAux": "BusAuxData.vaux", + "Aux": [], + "Padd": 5000.0, + "VACC": "Driver.vacc", + "StartStop": { + "Enabled": false, + "MaxSpeed": 5.0, + "MinTime": 5.0, + "Delay": 5.0 + }, + "LAC": { + "Enabled": true, + "PreviewDistanceFactor": 10.0, + "DF_offset": 2.5, + "DF_scaling": 1.5, + "DF_targetSpeedLookup": "", + "Df_velocityDropLookup": "" + }, + "OverSpeedEcoRoll": { + "Mode": "Off", + "MinSpeed": 50.0, + "OverSpeed": 5.0, + "UnderSpeed": 5.0 + }, + "Cycles": [ + "Interurban", + "Coach", + "Urban", + "Suburban", + "HeavyUrban" + ] + } +} \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/InterurbanBus_ENG_BusAux_SmartES-SmartPS.vecto b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/InterurbanBus_ENG_BusAux_SmartES-SmartPS.vecto new file mode 100644 index 0000000000..3ef8bc6c89 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/InterurbanBus_ENG_BusAux_SmartES-SmartPS.vecto @@ -0,0 +1,46 @@ +{ + "Header": { + "CreatedBy": " ()", + "Date": "2016-10-13T10:28:40.9616564Z", + "AppVersion": "3", + "FileVersion": 3 + }, + "Body": { + "SavedInDeclMode": false, + "EngineOnlyMode": false, + "VehicleFile": "InterurbanBus.vveh", + "EngineFile": "Engine_250kW_7.7l.veng", + "GearboxFile": "MT_6_Bus.vgbx", + "BusAux": "BusAuxData_SmartES-SmartPS.vaux", + "Aux": [], + "Padd": 5000.0, + "VACC": "Driver.vacc", + "StartStop": { + "Enabled": false, + "MaxSpeed": 5.0, + "MinTime": 5.0, + "Delay": 5.0 + }, + "LAC": { + "Enabled": true, + "PreviewDistanceFactor": 10.0, + "DF_offset": 2.5, + "DF_scaling": 1.5, + "DF_targetSpeedLookup": "", + "Df_velocityDropLookup": "" + }, + "OverSpeedEcoRoll": { + "Mode": "Off", + "MinSpeed": 50.0, + "OverSpeed": 5.0, + "UnderSpeed": 5.0 + }, + "Cycles": [ + "Interurban", + "Coach", + "Urban", + "Suburban", + "HeavyUrban" + ] + } +} \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/InterurbanBus_ENG_BusAux_SmartES.vecto b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/InterurbanBus_ENG_BusAux_SmartES.vecto new file mode 100644 index 0000000000..d234726d63 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/InterurbanBus_ENG_BusAux_SmartES.vecto @@ -0,0 +1,46 @@ +{ + "Header": { + "CreatedBy": " ()", + "Date": "2016-10-13T10:28:40.9616564Z", + "AppVersion": "3", + "FileVersion": 3 + }, + "Body": { + "SavedInDeclMode": false, + "EngineOnlyMode": false, + "VehicleFile": "InterurbanBus.vveh", + "EngineFile": "Engine_250kW_7.7l.veng", + "GearboxFile": "MT_6_Bus.vgbx", + "BusAux": "BusAuxData_SmartES.vaux", + "Aux": [], + "Padd": 5000.0, + "VACC": "Driver.vacc", + "StartStop": { + "Enabled": false, + "MaxSpeed": 5.0, + "MinTime": 5.0, + "Delay": 5.0 + }, + "LAC": { + "Enabled": true, + "PreviewDistanceFactor": 10.0, + "DF_offset": 2.5, + "DF_scaling": 1.5, + "DF_targetSpeedLookup": "", + "Df_velocityDropLookup": "" + }, + "OverSpeedEcoRoll": { + "Mode": "Off", + "MinSpeed": 50.0, + "OverSpeed": 5.0, + "UnderSpeed": 5.0 + }, + "Cycles": [ + "Interurban", + "Coach", + "Urban", + "Suburban", + "HeavyUrban" + ] + } +} \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/InterurbanBus_ENG_BusAux_SmartPS.vecto b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/InterurbanBus_ENG_BusAux_SmartPS.vecto new file mode 100644 index 0000000000..34b666571e --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/InterurbanBus_ENG_BusAux_SmartPS.vecto @@ -0,0 +1,46 @@ +{ + "Header": { + "CreatedBy": " ()", + "Date": "2016-10-13T10:28:40.9616564Z", + "AppVersion": "3", + "FileVersion": 3 + }, + "Body": { + "SavedInDeclMode": false, + "EngineOnlyMode": false, + "VehicleFile": "InterurbanBus.vveh", + "EngineFile": "Engine_250kW_7.7l.veng", + "GearboxFile": "MT_6_Bus.vgbx", + "BusAux": "BusAuxData_SmartPS.vaux", + "Aux": [], + "Padd": 5000.0, + "VACC": "Driver.vacc", + "StartStop": { + "Enabled": false, + "MaxSpeed": 5.0, + "MinTime": 5.0, + "Delay": 5.0 + }, + "LAC": { + "Enabled": true, + "PreviewDistanceFactor": 10.0, + "DF_offset": 2.5, + "DF_scaling": 1.5, + "DF_targetSpeedLookup": "", + "Df_velocityDropLookup": "" + }, + "OverSpeedEcoRoll": { + "Mode": "Off", + "MinSpeed": 50.0, + "OverSpeed": 5.0, + "UnderSpeed": 5.0 + }, + "Cycles": [ + "Interurban", + "Coach", + "Urban", + "Suburban", + "HeavyUrban" + ] + } +} \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/MT_6_Bus.vgbx b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/MT_6_Bus.vgbx new file mode 100644 index 0000000000..b91068b4e0 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/MT_6_Bus.vgbx @@ -0,0 +1,68 @@ +{ + "Header": { + "CreatedBy": " ()", + "Date": "2016-10-13T08:57:53.6836213Z", + "AppVersion": "3", + "FileVersion": 6 + }, + "Body": { + "SavedInDeclMode": false, + "ModelName": "Undefined", + "Inertia": 0.0, + "TracInt": 2.0, + "Gears": [ + { + "Ratio": 4.9, + "LossMap": "Axle_Coach.vtlm" + }, + { + "Ratio": 3.36, + "LossMap": "Gear_1.vtlm", + "ShiftPolygon": "", + "MaxTorque": "" + }, + { + "Ratio": 1.91, + "LossMap": "Gear_2.vtlm", + "ShiftPolygon": "", + "MaxTorque": "" + }, + { + "Ratio": 1.42, + "LossMap": "Gear_3.vtlm", + "ShiftPolygon": "", + "MaxTorque": "" + }, + { + "Ratio": 1.0, + "LossMap": "Gear_4.vtlm", + "ShiftPolygon": "", + "MaxTorque": "" + }, + { + "Ratio": 0.72, + "LossMap": "Gear_5.vtlm", + "ShiftPolygon": "", + "MaxTorque": "" + }, + { + "Ratio": 0.62, + "LossMap": "Gear_6.vtlm", + "ShiftPolygon": "", + "MaxTorque": "" + } + ], + "TqReserve": 0.2, + "ShiftTime": 3.0, + "StartTqReserve": 0.2, + "StartSpeed": 2.0, + "StartAcc": 0.6, + "GearboxType": "MT", + "TorqueConverter": { + "Enabled": false + }, + "DownshiftAferUpshiftDelay": 10.0, + "UpshiftAfterDownshiftDelay": 10.0, + "UpshiftMinAcceleration": 0.1 + } +} \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/VectoCoreTest.csproj b/VectoCore/VectoCoreTest/VectoCoreTest.csproj index 4880a3d9dc..d29031e023 100644 --- a/VectoCore/VectoCoreTest/VectoCoreTest.csproj +++ b/VectoCore/VectoCoreTest/VectoCoreTest.csproj @@ -137,6 +137,7 @@ <Compile Include="Models\Declaration\DeclarationSegmentComplete4AxleBusesTest.cs" /> <Compile Include="Models\Declaration\DeclarationSegmentHeavyBusesTest.cs" /> <Compile Include="Models\Declaration\ShiftPolygonTest.cs" /> + <Compile Include="Models\EngineeringMode\EngineeringModeBusAuxTest.cs" /> <Compile Include="Models\SimulationComponentData\ElectricMotorEfficienyMapTest.cs" /> <Compile Include="Models\Declaration\TestGenericBusPowertrainModelData.cs" /> <Compile Include="Models\SimulationComponentData\ShiftstrategyParameterTests.cs" /> @@ -1177,6 +1178,78 @@ <None Include="TestData\Hybrids\Input CityBus 6x2_HEV_P2\Gear_9.vtlm"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </None> + <None Include="TestData\Integration\Buses\EngineeringMode\250kW.vfld"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="TestData\Integration\Buses\EngineeringMode\250kW.vmap"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="TestData\Integration\Buses\EngineeringMode\Axle_Coach.vtlm"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="TestData\Integration\Buses\EngineeringMode\BusAuxData.vaux"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="TestData\Integration\Buses\EngineeringMode\BusAuxData_SmartES-SmartPS.vaux"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="TestData\Integration\Buses\EngineeringMode\BusAuxData_SmartES.vaux"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="TestData\Integration\Buses\EngineeringMode\BusAuxData_SmartPS.vaux"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="TestData\Integration\Buses\EngineeringMode\Default.vrlm"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="TestData\Integration\Buses\EngineeringMode\DEFAULT_3-Cylinder_2-Stage_598ccm.ACMP"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="TestData\Integration\Buses\EngineeringMode\Driver.vacc"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="TestData\Integration\Buses\EngineeringMode\Engine_250kW_7.7l.veng"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="TestData\Integration\Buses\EngineeringMode\Gear_1.vtlm"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="TestData\Integration\Buses\EngineeringMode\Gear_2.vtlm"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="TestData\Integration\Buses\EngineeringMode\Gear_3.vtlm"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="TestData\Integration\Buses\EngineeringMode\Gear_4.vtlm"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="TestData\Integration\Buses\EngineeringMode\Gear_5.vtlm"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="TestData\Integration\Buses\EngineeringMode\Gear_6.vtlm"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="TestData\Integration\Buses\EngineeringMode\Interurban.vdri"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="TestData\Integration\Buses\EngineeringMode\InterurbanBus.vveh"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="TestData\Integration\Buses\EngineeringMode\InterurbanBus_ENG_BusAux.vecto"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="TestData\Integration\Buses\EngineeringMode\InterurbanBus_ENG_BusAux_SmartES-SmartPS.vecto"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="TestData\Integration\Buses\EngineeringMode\InterurbanBus_ENG_BusAux_SmartES.vecto"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="TestData\Integration\Buses\EngineeringMode\InterurbanBus_ENG_BusAux_SmartPS.vecto"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="TestData\Integration\Buses\EngineeringMode\MT_6_Bus.vgbx"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> <None Include="TestData\Integration\Buses\FactorMethod\CompletedBus_41-32b_ES-AUX_mixed.vecto"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </None> @@ -4654,6 +4727,9 @@ <Content Include="TestData\XML\XMLReaderDeclaration\SchemaVersion2.3\engineSample_WHR.xml"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content> + <Content Include="TestData\XML\XMLReaderDeclaration\SchemaVersion2.3\vecto_tyre-sample.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> <Content Include="TestData\XML\XMLReaderDeclaration\SchemaVersion2.3\vecto_vehicle-fullElectricSP.xml"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content> -- GitLab