From 5e92cabb7255e31e2c64ccd9f47990d9fd703662 Mon Sep 17 00:00:00 2001 From: Markus Quaritsch <markus.quaritsch@tugraz.at> Date: Tue, 2 Mar 2021 10:07:26 +0100 Subject: [PATCH] refactoring busaux: new model parameters electric system: alternator type, connect ES to REESS, ... new testcases for bus aux combinations A - C3b --- ...usAuxiliariesEngParametersForm.Designer.vb | 165 +- VECTO/GUI/BusAuxiliariesEngParametersForm.vb | 59 +- VECTO/Input Files/BusParamsEngineering.vb | 28 +- .../AuxiliaryEnvironmentComparisonTests.vb | 2 +- .../UnitTests/M13Tests.vb | 3 +- .../UnitTests/M6Tests.vb | 3 +- .../UnitTests/M8Tests.vb | 3 +- .../VectoAuxiliariesTests/UnitTests/Utils.vb | 2 +- .../IElectricsUserInputsConfig.cs | 8 +- .../InputData/EngineeringInputData.cs | 6 +- .../VectoCommon/Models/AlternatorType.cs | 28 + VectoCommon/VectoCommon/VectoCommon.csproj | 1 + .../FileIO/JSON/BusAuxiliaryInputData.cs | 9 +- ...larationDataAdapterCompletedBusSpecific.cs | 2 +- .../DeclarationDataAdapterPrimaryBus.cs | 2 +- .../EngineeringDataAdapter.cs | 4 +- .../Models/BusAuxiliaries/AuxiliaryConfig.cs | 2 +- .../Models/BusAuxiliaries/BusAuxiliaries.cs | 165 +- .../Electrics/ElectricsUserInputsConfig.cs | 8 +- .../Impl/Electrics/M05Impl_P0.cs | 4 +- .../DownstreamModules/Impl/M06Impl.cs | 3 +- .../DownstreamModules/Impl/M08Impl.cs | 3 +- .../DownstreamModules/Impl/M13Impl.cs | 3 +- .../Interfaces/IBusAuxiliaries.cs | 1 + .../Simulation/Data/ModalResultField.cs | 7 +- .../Simulation/Impl/PowertrainBuilder.cs | 26 + .../Simulation/Impl/VehicleContainer.cs | 7 +- .../SimulationComponent/DCDCConverter.cs | 87 + .../SimulationComponent/ElectricSystem.cs | 1 + .../Impl/BusAuxiliariesAdapter.cs | 52 +- .../Impl/CombustionEngine.cs | 2 +- .../Models/SimulationComponent/Impl/Driver.cs | 2 +- .../Impl/StopStartCombustionEngine.cs | 2 +- .../Strategies/HybridStrategy.cs | 30 +- .../OutputData/FileIO/BusAuxWriter.cs | 2 +- .../OutputData/FileIO/JSONFileWriter.cs | 8 +- .../OutputData/ModalDataContainer.cs | 3 + .../OutputData/SummaryDataContainer.cs | 2 +- VectoCore/VectoCore/VectoCore.csproj | 1 + .../BusAuxiliaries/AuxDemandTest.cs | 6 +- .../CompletedBusFactorMethodTest.cs | 4 +- .../EngineeringModeBusAuxTest.cs | 17 + .../Hybrids/BusAuxEngineeringMode/250kW.vfld | 11 + .../Hybrids/BusAuxEngineeringMode/250kW.vmap | 107 + .../BusAuxEngineeringMode/Axle_Coach.vtlm | 883 ++++ .../BusAuxEngineeringMode/BusAuxData_A.vaux | 33 + .../BusAuxEngineeringMode/BusAuxData_B.vaux | 33 + .../BusAuxEngineeringMode/BusAuxData_C1.vaux | 33 + .../BusAuxEngineeringMode/BusAuxData_C2a.vaux | 33 + .../BusAuxEngineeringMode/BusAuxData_C2b.vaux | 33 + .../BusAuxEngineeringMode/BusAuxData_C3a.vaux | 33 + .../BusAuxEngineeringMode/BusAuxData_C3b.vaux | 33 + .../DEFAULT_3-Cylinder_2-Stage_598ccm.ACMP | 9 + .../BusAuxEngineeringMode/Default.vrlm | 32 + .../Hybrids/BusAuxEngineeringMode/Driver.vacc | 6 + .../Engine_250kW_7.7l.veng | 21 + .../Hybrids/BusAuxEngineeringMode/Gear_1.vtlm | 233 + .../Hybrids/BusAuxEngineeringMode/Gear_2.vtlm | 233 + .../Hybrids/BusAuxEngineeringMode/Gear_3.vtlm | 233 + .../Hybrids/BusAuxEngineeringMode/Gear_4.vtlm | 233 + .../Hybrids/BusAuxEngineeringMode/Gear_5.vtlm | 233 + .../Hybrids/BusAuxEngineeringMode/Gear_6.vtlm | 233 + .../GenericBat_3kWh.vbatr | 3 + .../GenericBat_3kWh.vbatv | 12 + .../GenericBattery.vreess | 18 + .../BusAuxEngineeringMode/GenericEM.vemd | 3 + .../GenericEM_15KW_220Nm.vem | 20 + .../GenericEM_15kW_220Nm.vemp | 75 + .../GenericEM_32kW_450Nm.vemo | 2016 ++++++++ .../HybridStrategyParams.vhctl | 18 + .../BusAuxEngineeringMode/Interurban.vdri | 4200 +++++++++++++++++ .../BusAuxEngineeringMode/InterurbanBus.vveh | 64 + .../InterurbanBus_ENG_BusAux_A.vecto | 47 + .../InterurbanBus_ENG_BusAux_B.vecto | 47 + .../InterurbanBus_ENG_BusAux_C1.vecto | 50 + .../InterurbanBus_ENG_BusAux_C2a.vecto | 50 + .../InterurbanBus_ENG_BusAux_C2b.vecto | 50 + .../InterurbanBus_ENG_BusAux_C3a.vecto | 50 + .../InterurbanBus_ENG_BusAux_C3b.vecto | 50 + .../InterurbanBus_P1.vveh | 84 + .../BusAuxEngineeringMode/MT_6_Bus.vgbx | 68 + .../BusAuxEngineeringMode/MaxCurrent.vimax | 4 + .../ShiftParameters.vtcu | 11 + .../CityBus_AT-P.vveh | 1 - .../Buses/EngineeringMode/BusAuxData.vaux | 6 +- .../BusAuxData_SmartES-SmartPS.vaux | 20 +- .../EngineeringMode/BusAuxData_SmartES.vaux | 20 +- .../EngineeringMode/BusAuxData_SmartPS.vaux | 20 +- 88 files changed, 10282 insertions(+), 196 deletions(-) create mode 100644 VectoCommon/VectoCommon/Models/AlternatorType.cs create mode 100644 VectoCore/VectoCore/Models/SimulationComponent/DCDCConverter.cs create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/250kW.vfld create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/250kW.vmap create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/Axle_Coach.vtlm create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/BusAuxData_A.vaux create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/BusAuxData_B.vaux create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/BusAuxData_C1.vaux create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/BusAuxData_C2a.vaux create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/BusAuxData_C2b.vaux create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/BusAuxData_C3a.vaux create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/BusAuxData_C3b.vaux create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/DEFAULT_3-Cylinder_2-Stage_598ccm.ACMP create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/Default.vrlm create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/Driver.vacc create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/Engine_250kW_7.7l.veng create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/Gear_1.vtlm create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/Gear_2.vtlm create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/Gear_3.vtlm create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/Gear_4.vtlm create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/Gear_5.vtlm create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/Gear_6.vtlm create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/GenericBat_3kWh.vbatr create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/GenericBat_3kWh.vbatv create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/GenericBattery.vreess create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/GenericEM.vemd create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/GenericEM_15KW_220Nm.vem create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/GenericEM_15kW_220Nm.vemp create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/GenericEM_32kW_450Nm.vemo create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/HybridStrategyParams.vhctl create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/Interurban.vdri create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/InterurbanBus.vveh create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/InterurbanBus_ENG_BusAux_A.vecto create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/InterurbanBus_ENG_BusAux_B.vecto create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/InterurbanBus_ENG_BusAux_C1.vecto create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/InterurbanBus_ENG_BusAux_C2a.vecto create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/InterurbanBus_ENG_BusAux_C2b.vecto create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/InterurbanBus_ENG_BusAux_C3a.vecto create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/InterurbanBus_ENG_BusAux_C3b.vecto create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/InterurbanBus_P1.vveh create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/MT_6_Bus.vgbx create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/MaxCurrent.vimax create mode 100644 VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/ShiftParameters.vtcu diff --git a/VECTO/GUI/BusAuxiliariesEngParametersForm.Designer.vb b/VECTO/GUI/BusAuxiliariesEngParametersForm.Designer.vb index 88286687f4..8394844def 100644 --- a/VECTO/GUI/BusAuxiliariesEngParametersForm.Designer.vb +++ b/VECTO/GUI/BusAuxiliariesEngParametersForm.Designer.vb @@ -65,8 +65,6 @@ Partial Class BusAuxiliariesEngParametersForm Me.lblMaxAlternatorPower = New System.Windows.Forms.Label() Me.lblMaxAlternatorPowerUnit = New System.Windows.Forms.Label() Me.tbMaxAlternatorPower = New System.Windows.Forms.TextBox() - Me.Panel1 = New System.Windows.Forms.Panel() - Me.cbSmartElectric = New System.Windows.Forms.CheckBox() Me.pnAlternatorEfficiency = New System.Windows.Forms.Panel() Me.lblAlternatorEfficiency = New System.Windows.Forms.Label() Me.lblAlternatorEfficiencyUnit = New System.Windows.Forms.Label() @@ -115,6 +113,15 @@ Partial Class BusAuxiliariesEngParametersForm Me.lblHvacMechPowerDemand = New System.Windows.Forms.Label() Me.lblHvacMechPowerDemandUnit = New System.Windows.Forms.Label() Me.tbHvacMechPowerDemand = New System.Windows.Forms.TextBox() + Me.Panel1 = New System.Windows.Forms.Panel() + Me.lbAlternatorTechnology = New System.Windows.Forms.Label() + Me.cbAlternatorTechnology = New System.Windows.Forms.ComboBox() + Me.pnES_HEVREESS = New System.Windows.Forms.Panel() + Me.cbES_HEVREESS = New System.Windows.Forms.CheckBox() + Me.pnDCDCEff = New System.Windows.Forms.Panel() + Me.lblDCDCEff = New System.Windows.Forms.Label() + Me.lblDCDCEffUnit = New System.Windows.Forms.Label() + Me.tbDCDCEff = New System.Windows.Forms.TextBox() Me.ToolStrip1.SuspendLayout Me.StatusStrip1.SuspendLayout CType(Me.PictureBox1,System.ComponentModel.ISupportInitialize).BeginInit @@ -123,7 +130,6 @@ Partial Class BusAuxiliariesEngParametersForm Me.pnSmartElectricParams.SuspendLayout Me.pnElectricStorageCapacity.SuspendLayout Me.pnMaxAlternatorPower.SuspendLayout - Me.Panel1.SuspendLayout Me.pnAlternatorEfficiency.SuspendLayout Me.pnCurrentDemandEngineOffStandstill.SuspendLayout Me.pnCurrentDemandEngineOffDriving.SuspendLayout @@ -138,13 +144,16 @@ Partial Class BusAuxiliariesEngParametersForm Me.pnHvacAuxHeaterPwr.SuspendLayout Me.pnHvacElecPowerDemand.SuspendLayout Me.pnHvacMechPowerDemand.SuspendLayout + Me.Panel1.SuspendLayout + Me.pnES_HEVREESS.SuspendLayout + Me.pnDCDCEff.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.Location = New System.Drawing.Point(936, 369) Me.ButCancel.Name = "ButCancel" Me.ButCancel.Size = New System.Drawing.Size(75, 23) Me.ButCancel.TabIndex = 13 @@ -154,7 +163,7 @@ Partial Class BusAuxiliariesEngParametersForm '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.Location = New System.Drawing.Point(855, 369) Me.ButOK.Name = "ButOK" Me.ButOK.Size = New System.Drawing.Size(75, 23) Me.ButOK.TabIndex = 12 @@ -167,7 +176,7 @@ Partial Class BusAuxiliariesEngParametersForm 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.Size = New System.Drawing.Size(1023, 25) Me.ToolStrip1.TabIndex = 30 Me.ToolStrip1.Text = "ToolStrip1" ' @@ -243,9 +252,9 @@ Partial Class BusAuxiliariesEngParametersForm 'StatusStrip1 ' Me.StatusStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.LbStatus}) - Me.StatusStrip1.Location = New System.Drawing.Point(0, 714) + Me.StatusStrip1.Location = New System.Drawing.Point(0, 395) Me.StatusStrip1.Name = "StatusStrip1" - Me.StatusStrip1.Size = New System.Drawing.Size(508, 22) + Me.StatusStrip1.Size = New System.Drawing.Size(1023, 22) Me.StatusStrip1.SizingGrip = false Me.StatusStrip1.TabIndex = 37 Me.StatusStrip1.Text = "StatusStrip1" @@ -262,7 +271,7 @@ Partial Class BusAuxiliariesEngParametersForm 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.Size = New System.Drawing.Size(1011, 40) Me.PictureBox1.TabIndex = 39 Me.PictureBox1.TabStop = false ' @@ -297,15 +306,17 @@ Partial Class BusAuxiliariesEngParametersForm ' 'gbElectricSystem ' - Me.gbElectricSystem.Controls.Add(Me.pnSmartElectricParams) + Me.gbElectricSystem.Controls.Add(Me.pnDCDCEff) + Me.gbElectricSystem.Controls.Add(Me.pnES_HEVREESS) Me.gbElectricSystem.Controls.Add(Me.Panel1) + Me.gbElectricSystem.Controls.Add(Me.pnSmartElectricParams) 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.Size = New System.Drawing.Size(317, 303) Me.gbElectricSystem.TabIndex = 49 Me.gbElectricSystem.TabStop = false Me.gbElectricSystem.Text = "Electric System" @@ -334,9 +345,9 @@ Partial Class BusAuxiliariesEngParametersForm 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.Size = New System.Drawing.Size(168, 13) Me.lblElectricStorageCapacity.TabIndex = 0 - Me.lblElectricStorageCapacity.Text = "Electric Storage Capacity" + Me.lblElectricStorageCapacity.Text = "Useable Electric Storage Capacity" ' 'lblElectricStorageCapacityUnit ' @@ -369,9 +380,9 @@ Partial Class BusAuxiliariesEngParametersForm 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.Size = New System.Drawing.Size(127, 13) Me.lblMaxAlternatorPower.TabIndex = 0 - Me.lblMaxAlternatorPower.Text = "Max Alternator Power" + Me.lblMaxAlternatorPower.Text = "Max Recuperation Power" ' 'lblMaxAlternatorPowerUnit ' @@ -389,24 +400,6 @@ Partial Class BusAuxiliariesEngParametersForm Me.tbMaxAlternatorPower.Size = New System.Drawing.Size(57, 20) Me.tbMaxAlternatorPower.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 - ' 'pnAlternatorEfficiency ' Me.pnAlternatorEfficiency.Controls.Add(Me.lblAlternatorEfficiency) @@ -553,7 +546,7 @@ Partial Class BusAuxiliariesEngParametersForm 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.Location = New System.Drawing.Point(335, 74) Me.bgPneumaticSystem.Name = "bgPneumaticSystem" Me.bgPneumaticSystem.Size = New System.Drawing.Size(317, 181) Me.bgPneumaticSystem.TabIndex = 51 @@ -563,7 +556,7 @@ Partial Class BusAuxiliariesEngParametersForm 'pnSmartCompressor ' Me.pnSmartCompressor.Controls.Add(Me.cbSmartCompressor) - Me.pnSmartCompressor.Location = New System.Drawing.Point(10, 145) + Me.pnSmartCompressor.Location = New System.Drawing.Point(10, 141) Me.pnSmartCompressor.Name = "pnSmartCompressor" Me.pnSmartCompressor.Size = New System.Drawing.Size(288, 28) Me.pnSmartCompressor.TabIndex = 53 @@ -693,7 +686,7 @@ Partial Class BusAuxiliariesEngParametersForm 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.Location = New System.Drawing.Point(658, 74) Me.gbHVAC.Name = "gbHVAC" Me.gbHVAC.Size = New System.Drawing.Size(317, 160) Me.gbHVAC.TabIndex = 52 @@ -840,13 +833,92 @@ Partial Class BusAuxiliariesEngParametersForm Me.tbHvacMechPowerDemand.Size = New System.Drawing.Size(57, 20) Me.tbHvacMechPowerDemand.TabIndex = 3 ' + 'Panel1 + ' + Me.Panel1.Controls.Add(Me.cbAlternatorTechnology) + Me.Panel1.Controls.Add(Me.lbAlternatorTechnology) + 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 + ' + 'lbAlternatorTechnology + ' + Me.lbAlternatorTechnology.AutoSize = true + Me.lbAlternatorTechnology.Location = New System.Drawing.Point(3, 7) + Me.lbAlternatorTechnology.Name = "lbAlternatorTechnology" + Me.lbAlternatorTechnology.Size = New System.Drawing.Size(111, 13) + Me.lbAlternatorTechnology.TabIndex = 0 + Me.lbAlternatorTechnology.Text = "Alternator Technology" + ' + 'cbAlternatorTechnology + ' + Me.cbAlternatorTechnology.FormattingEnabled = true + Me.cbAlternatorTechnology.Location = New System.Drawing.Point(134, 4) + Me.cbAlternatorTechnology.Name = "cbAlternatorTechnology" + Me.cbAlternatorTechnology.Size = New System.Drawing.Size(121, 21) + Me.cbAlternatorTechnology.TabIndex = 1 + ' + 'pnES_HEVREESS + ' + Me.pnES_HEVREESS.Controls.Add(Me.cbES_HEVREESS) + Me.pnES_HEVREESS.Location = New System.Drawing.Point(10, 235) + Me.pnES_HEVREESS.Name = "pnES_HEVREESS" + Me.pnES_HEVREESS.Size = New System.Drawing.Size(288, 28) + Me.pnES_HEVREESS.TabIndex = 54 + ' + 'cbES_HEVREESS + ' + Me.cbES_HEVREESS.AutoSize = true + Me.cbES_HEVREESS.Location = New System.Drawing.Point(6, 6) + Me.cbES_HEVREESS.Name = "cbES_HEVREESS" + Me.cbES_HEVREESS.Size = New System.Drawing.Size(160, 17) + Me.cbES_HEVREESS.TabIndex = 25 + Me.cbES_HEVREESS.Text = "ES supply from HEV REESS" + Me.cbES_HEVREESS.UseVisualStyleBackColor = true + ' + 'pnDCDCEff + ' + Me.pnDCDCEff.Controls.Add(Me.lblDCDCEff) + Me.pnDCDCEff.Controls.Add(Me.lblDCDCEffUnit) + Me.pnDCDCEff.Controls.Add(Me.tbDCDCEff) + Me.pnDCDCEff.Location = New System.Drawing.Point(10, 264) + Me.pnDCDCEff.Name = "pnDCDCEff" + Me.pnDCDCEff.Size = New System.Drawing.Size(288, 28) + Me.pnDCDCEff.TabIndex = 26 + ' + 'lblDCDCEff + ' + Me.lblDCDCEff.AutoSize = true + Me.lblDCDCEff.Location = New System.Drawing.Point(3, 7) + Me.lblDCDCEff.Name = "lblDCDCEff" + Me.lblDCDCEff.Size = New System.Drawing.Size(140, 13) + Me.lblDCDCEff.TabIndex = 0 + Me.lblDCDCEff.Text = "DC/DC Converter Efficiency" + ' + 'lblDCDCEffUnit + ' + Me.lblDCDCEffUnit.AutoSize = true + Me.lblDCDCEffUnit.Location = New System.Drawing.Point(258, 7) + Me.lblDCDCEffUnit.Name = "lblDCDCEffUnit" + Me.lblDCDCEffUnit.Size = New System.Drawing.Size(16, 13) + Me.lblDCDCEffUnit.TabIndex = 24 + Me.lblDCDCEffUnit.Text = "[-]" + ' + 'tbDCDCEff + ' + Me.tbDCDCEff.Location = New System.Drawing.Point(197, 4) + Me.tbDCDCEff.Name = "tbDCDCEff" + Me.tbDCDCEff.Size = New System.Drawing.Size(57, 20) + Me.tbDCDCEff.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.ClientSize = New System.Drawing.Size(1023, 417) Me.Controls.Add(Me.gbHVAC) Me.Controls.Add(Me.bgPneumaticSystem) Me.Controls.Add(Me.gbElectricSystem) @@ -875,8 +947,6 @@ Partial Class BusAuxiliariesEngParametersForm Me.pnElectricStorageCapacity.PerformLayout Me.pnMaxAlternatorPower.ResumeLayout(false) Me.pnMaxAlternatorPower.PerformLayout - Me.Panel1.ResumeLayout(false) - Me.Panel1.PerformLayout Me.pnAlternatorEfficiency.ResumeLayout(false) Me.pnAlternatorEfficiency.PerformLayout Me.pnCurrentDemandEngineOffStandstill.ResumeLayout(false) @@ -903,6 +973,12 @@ Partial Class BusAuxiliariesEngParametersForm Me.pnHvacElecPowerDemand.PerformLayout Me.pnHvacMechPowerDemand.ResumeLayout(false) Me.pnHvacMechPowerDemand.PerformLayout + Me.Panel1.ResumeLayout(false) + Me.Panel1.PerformLayout + Me.pnES_HEVREESS.ResumeLayout(false) + Me.pnES_HEVREESS.PerformLayout + Me.pnDCDCEff.ResumeLayout(false) + Me.pnDCDCEff.PerformLayout Me.ResumeLayout(false) Me.PerformLayout @@ -947,8 +1023,6 @@ End Sub 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 @@ -985,4 +1059,13 @@ End Sub Friend WithEvents lblHvacMechPowerDemand As Label Friend WithEvents lblHvacMechPowerDemandUnit As Label Friend WithEvents tbHvacMechPowerDemand As TextBox + Friend WithEvents Panel1 As Panel + Friend WithEvents cbAlternatorTechnology As ComboBox + Friend WithEvents lbAlternatorTechnology As Label + Friend WithEvents pnDCDCEff As Panel + Friend WithEvents lblDCDCEff As Label + Friend WithEvents lblDCDCEffUnit As Label + Friend WithEvents tbDCDCEff As TextBox + Friend WithEvents pnES_HEVREESS As Panel + Friend WithEvents cbES_HEVREESS As CheckBox End Class diff --git a/VECTO/GUI/BusAuxiliariesEngParametersForm.vb b/VECTO/GUI/BusAuxiliariesEngParametersForm.vb index 98236152ce..0df4261bc3 100644 --- a/VECTO/GUI/BusAuxiliariesEngParametersForm.vb +++ b/VECTO/GUI/BusAuxiliariesEngParametersForm.vb @@ -1,4 +1,5 @@  +Imports System.Collections.Generic Imports System.Drawing.Imaging Imports System.IO Imports System.Linq @@ -53,6 +54,12 @@ Public Class BusAuxiliariesEngParametersForm 'pnInertia.Enabled = Not Cfg.DeclMode + cbAlternatorTechnology.ValueMember = "Value" + cbAlternatorTechnology.DisplayMember = "Label" + cbAlternatorTechnology.DataSource = + [Enum].GetValues(GetType(AlternatorType)).cast (of AlternatorType)().select( + Function(type) new With {Key .Value = type, .Label = type.GetLabel()}).tolist() + _changed = False @@ -145,7 +152,7 @@ Public Class BusAuxiliariesEngParametersForm DeclInit() _busAuxParamsFile = "" - Text = "Hybrid Strategy Parameters Editor" + Text = "Bus Auxiliaries Parameters Editor" LbStatus.Text = "" _changed = False @@ -176,7 +183,7 @@ Public Class BusAuxiliariesEngParametersForm tbCurrentDemand.Text = inputData.ElectricSystem.CurrentDemand.ToGUIFormat() tbCurrentDemandEngineOffDriving.Text = inputData.ElectricSystem.CurrentDemandEngineOffDriving.ToGUIFormat() tbCurrentDemandEngineOffStandstill.Text = inputData.ElectricSystem.CurrentDemandEngineOffStandstill.ToGUIFormat() - cbSmartElectric.Checked = inputData.ElectricSystem.SmartElectric + cbAlternatorTechnology.SelectedValue = inputData.ElectricSystem.AlternatorType tbMaxAlternatorPower.Text = inputData.ElectricSystem.MaxAlternatorPower.ToGUIFormat() tbElectricStorageCapacity.Text = inputData.ElectricSystem.ElectricStorageCapacity.ConvertToWattHour().Value.ToGUIFormat() @@ -190,7 +197,11 @@ Public Class BusAuxiliariesEngParametersForm tbHvacAuxHeaterPwr.Text = inputData.HVACData.AuxHeaterPower.ToGUIFormat() tbHvacHeatingDemand.Text = (inputData.HVACData.AverageHeatingDemand.Value() / 1e6).ToGUIFormat() - pnSmartElectricParams.Enabled = inputData.ElectricSystem.SmartElectric + pnSmartElectricParams.Enabled = inputData.ElectricSystem.AlternatorType = AlternatorType.Smart + + tbDCDCEff.Text = inputData.ElectricSystem.DCDCConverterEfficiency.ToGUIFormat() + cbES_HEVREESS.Checked = inputData.ElectricSystem.ESSupplyFromHEVREESS + pnDCDCEff.Enabled = cbES_HEVREESS.Checked DeclInit() @@ -206,8 +217,8 @@ Public Class BusAuxiliariesEngParametersForm '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) + If BusAuxFileBrowser.SaveDialog(_busAuxParamsFile) Then + _busAuxParamsFile = BusAuxFileBrowser.Files(0) Else Return False End If @@ -226,9 +237,11 @@ Public Class BusAuxiliariesEngParametersForm busAuxParams.CurrentDemandEngineOn = tbCurrentDemand.Text.ToDouble(0) busAuxParams.CurrentDemandEngineOffDriving = tbCurrentDemandEngineOffDriving.Text.ToDouble(0) busAuxParams.CurrentDemandEngineOffStandstill = tbCurrentDemandEngineOffStandstill.Text.ToDouble(0) - busAuxParams.SmartElectric = cbSmartElectric.Checked + busAuxParams.AlternatorType = CType(cbAlternatorTechnology.SelectedValue, AlternatorType) busAuxParams.MaxAlternatorPower = tbMaxAlternatorPower.Text.ToDouble(0) busAuxParams.ElectricStorageCapacity = tbElectricStorageCapacity.Text.ToDouble(0) + busAuxParams.DCDCEfficiency = tbDCDCEff.Text.ToDouble(0) + busAuxParams.SupplyESFromHEVREESS = cbES_HEVREESS.Checked busAuxParams.PathCompressorMap = tbCompressorMap.Text busAuxParams.AverageAirDemand = tbAverageAirDemand.Text.ToDouble(0) @@ -346,32 +359,24 @@ Public Class BusAuxiliariesEngParametersForm 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 cbAlternatorTechnology_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cbAlternatorTechnology.SelectedIndexChanged - 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 + Select CType(cbAlternatorTechnology.SelectedValue, AlternatorType) + Case AlternatorType.Conventional: + pnSmartElectricParams.Enabled = false + + Case AlternatorType.Smart: + pnSmartElectricParams.Enabled = true + + Case AlternatorType.None: + pnSmartElectricParams.Enabled = false + End Select - Private Sub tbEquivalenceFactor_TextChanged(sender As Object, e As EventArgs) - Change() End Sub - Private Sub cbSmartElectric_CheckedChanged(sender As Object, e As EventArgs) Handles cbSmartElectric.CheckedChanged - pnSmartElectricParams.Enabled = cbSmartElectric.Checked + Private Sub cbES_HEVREESS_CheckedChanged(sender As Object, e As EventArgs) Handles cbES_HEVREESS.CheckedChanged + pnDCDCEff.Enabled = cbES_HEVREESS.Checked End Sub #End Region diff --git a/VECTO/Input Files/BusParamsEngineering.vb b/VECTO/Input Files/BusParamsEngineering.vb index a1ef21dcf2..0dfddbf500 100644 --- a/VECTO/Input Files/BusParamsEngineering.vb +++ b/VECTO/Input Files/BusParamsEngineering.vb @@ -25,7 +25,7 @@ Public Class BusAuxEngineeringParams public AlternatorEfficiency as double public MaxAlternatorPower as double public ElectricStorageCapacity as double - public SmartElectric As Boolean + public AlternatorType As AlternatorType public CompressorMap as SubPath public AverageAirDemand as Double @@ -36,6 +36,8 @@ Public Class BusAuxEngineeringParams public MechanicalPowerDemand As Double public AuxHeaterPower As Double public AverageHeatingDemand As Double + Public DCDCEfficiency As Double + Public SupplyESFromHEVREESS As Boolean Public Sub New() @@ -165,12 +167,6 @@ Public Class BusAuxEngineeringParams End Get End Property - Public ReadOnly Property ES_SmartElectric As Boolean Implements IBusAuxElectricSystemEngineeringData.SmartElectric - get - Return SmartElectric - End Get - End Property - Public ReadOnly Property ES_MaxAlternatorPower As Watt Implements IBusAuxElectricSystemEngineeringData.MaxAlternatorPower get Return MaxAlternatorPower.SI(of Watt) @@ -217,4 +213,22 @@ Public Class BusAuxEngineeringParams Return AuxHeaterPower.SI(of Watt) End Get End Property + + Public ReadOnly Property DCDCConverterEfficiency As Double Implements IBusAuxElectricSystemEngineeringData.DCDCConverterEfficiency + get + Return DCDCEfficiency + End Get + End Property + + Public ReadOnly Property ESSupplyFromHEVREESS As Boolean Implements IBusAuxElectricSystemEngineeringData.ESSupplyFromHEVREESS + get + Return SupplyESFromHEVREESS + End Get + End Property + + Public ReadOnly Property IBusAuxElectricSystemEngineeringData_AlternatorType As AlternatorType Implements IBusAuxElectricSystemEngineeringData.AlternatorType + get + Return AlternatorType + End Get + End Property End Class \ No newline at end of file diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/AuxiliaryEnvironmentComparisonTests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/AuxiliaryEnvironmentComparisonTests.vb index a67a47a8dd..317f91ab48 100644 --- a/VECTOAux/VectoAuxiliariesTests/UnitTests/AuxiliaryEnvironmentComparisonTests.vb +++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/AuxiliaryEnvironmentComparisonTests.vb @@ -470,7 +470,7 @@ Namespace UnitTests Dim auxFresh = GetDefaultAuxiliaryConfig() Dim auxNow = GetDefaultAuxiliaryConfig() Dim compareResult As Boolean - CType (auxNow.ElectricalUserInputsConfig, ElectricsUserInputsConfig).SmartElectrical = Not auxNow.ElectricalUserInputsConfig.SmartElectrical + CType (auxNow.ElectricalUserInputsConfig, ElectricsUserInputsConfig).AlternatorType() = Not auxNow.ElectricalUserInputsConfig.AlternatorType() 'Act compareResult = auxFresh.ConfigValuesAreTheSameAs(auxNow) diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/M13Tests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/M13Tests.vb index b6f18bd8b0..7cab6af299 100644 --- a/VECTOAux/VectoAuxiliariesTests/UnitTests/M13Tests.vb +++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/M13Tests.vb @@ -2,6 +2,7 @@ Imports NUnit.Framework Imports Moq Imports TUGraz.VectoCommon.BusAuxiliaries +Imports TUGraz.VectoCommon.Models Imports TUGraz.VectoCommon.Utils Imports TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl Imports TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces @@ -53,7 +54,7 @@ Namespace UnitTests Dim auxCfg As New Mock(Of IAuxiliaryConfig) Dim elecCfg = New Mock(Of IElectricsUserInputsConfig) - elecCfg.Setup(Function(x) x.SmartElectrical).Returns(IP5) + elecCfg.Setup(Function(x) x.AlternatorType()).Returns(If(IP5, AlternatorType.Smart, AlternatorType.Conventional)) Dim psconfig = New Mock(Of IPneumaticUserInputsConfig) psconfig.Setup(Function(x) x.SmartAirCompression).Returns(IP4) auxCfg.Setup(Function(x) x.ElectricalUserInputsConfig).Returns(elecCfg.Object) diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/M6Tests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/M6Tests.vb index 5ee21b5467..48d75c8df6 100644 --- a/VECTOAux/VectoAuxiliariesTests/UnitTests/M6Tests.vb +++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/M6Tests.vb @@ -2,6 +2,7 @@ Imports Moq Imports NUnit.Framework Imports TUGraz.VectoCommon.BusAuxiliaries +Imports TUGraz.VectoCommon.Models Imports TUGraz.VectoCommon.Utils Imports TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl Imports TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces @@ -21,7 +22,7 @@ Namespace UnitTests Private Function GetAuxConfigDummy() As IAuxiliaryConfig Dim auxCfg As New Mock(Of IAuxiliaryConfig) Dim elecCfg = New Mock(Of IElectricsUserInputsConfig) - elecCfg.Setup(Function(x) x.SmartElectrical).Returns(False) + elecCfg.Setup(Function(x) x.AlternatorType()).Returns(AlternatorType.Conventional) Dim psconfig = New Mock(Of IPneumaticUserInputsConfig) psconfig.Setup(Function(x) x.SmartAirCompression).Returns(False) auxCfg.Setup(Function(x) x.ElectricalUserInputsConfig).Returns(elecCfg.Object) diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/M8Tests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/M8Tests.vb index fea44bb6b0..4901661cd0 100644 --- a/VECTOAux/VectoAuxiliariesTests/UnitTests/M8Tests.vb +++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/M8Tests.vb @@ -2,6 +2,7 @@ Imports NUnit.Framework Imports Moq Imports TUGraz.VectoCommon.BusAuxiliaries +Imports TUGraz.VectoCommon.Models Imports TUGraz.VectoCommon.Utils Imports TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl Imports TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules @@ -13,7 +14,7 @@ Namespace UnitTests Private Function GetAuxConfigDummy(smartElectrics As Boolean, smartPneumatics As Boolean) As IAuxiliaryConfig Dim auxCfg As New Mock(Of IAuxiliaryConfig) Dim elecCfg = New Mock(Of IElectricsUserInputsConfig) - elecCfg.Setup(Function(x) x.SmartElectrical).Returns(smartElectrics) + elecCfg.Setup(Function(x) x.AlternatorType()).Returns(If(smartElectrics, AlternatorType.Smart, AlternatorType.Conventional)) Dim psconfig = New Mock(Of IPneumaticUserInputsConfig) psconfig.Setup(Function(x) x.SmartAirCompression).Returns(smartPneumatics) auxCfg.Setup(Function(x) x.ElectricalUserInputsConfig).Returns(elecCfg.Object) diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/Utils.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/Utils.vb index 62b3324d46..6cd70dd552 100644 --- a/VECTOAux/VectoAuxiliariesTests/UnitTests/Utils.vb +++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/Utils.vb @@ -109,7 +109,7 @@ Public Class Utils .AlternatorMap = AlternatorReader.ReadMap("TestFiles\testAlternatormap.aalt"), .DoorActuationTimeSecond = Constants.BusAuxiliaries.ElectricalConsumers.DoorActuationTimeSecond, .PowerNetVoltage = Constants.BusAuxiliaries.ElectricSystem.PowernetVoltage, - .SmartElectrical = false + .AlternatorType = AlternatorType.Conventional }, .PneumaticAuxillariesConfig = CreatePneumaticAuxConfig(retarder), .PneumaticUserInputsConfig = New PneumaticUserInputsConfig() With { diff --git a/VectoCommon/VectoCommon/BusAuxiliaries/IElectricsUserInputsConfig.cs b/VectoCommon/VectoCommon/BusAuxiliaries/IElectricsUserInputsConfig.cs index b57406e145..ba2d478cb1 100644 --- a/VectoCommon/VectoCommon/BusAuxiliaries/IElectricsUserInputsConfig.cs +++ b/VectoCommon/VectoCommon/BusAuxiliaries/IElectricsUserInputsConfig.cs @@ -10,7 +10,7 @@ // See the LICENSE.txt for the specific language governing permissions and limitations. - +using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics; namespace TUGraz.VectoCommon.BusAuxiliaries @@ -88,7 +88,7 @@ namespace TUGraz.VectoCommon.BusAuxiliaries /// <value></value> /// <returns>True For Smart Electrical Systems/ False For non Smart.</returns> /// <remarks></remarks> - bool SmartElectrical { get; } + AlternatorType AlternatorType { get; } /// <summary> /// Stored Energy Efficiency @@ -101,5 +101,9 @@ namespace TUGraz.VectoCommon.BusAuxiliaries Watt MaxAlternatorPower { get; } WattSecond ElectricStorageCapacity { get; } + + bool ConnectESToREESS { get; } + + double DCDCEfficiency { get; } } } diff --git a/VectoCommon/VectoCommon/InputData/EngineeringInputData.cs b/VectoCommon/VectoCommon/InputData/EngineeringInputData.cs index ca40e0c66f..4218c519dc 100644 --- a/VectoCommon/VectoCommon/InputData/EngineeringInputData.cs +++ b/VectoCommon/VectoCommon/InputData/EngineeringInputData.cs @@ -436,17 +436,21 @@ namespace TUGraz.VectoCommon.InputData { double AlternatorEfficiency { get; } + double DCDCConverterEfficiency { get; } + Ampere CurrentDemand { get; } Ampere CurrentDemandEngineOffDriving { get; } Ampere CurrentDemandEngineOffStandstill { get; } - bool SmartElectric { get; } + AlternatorType AlternatorType { get; } WattSecond ElectricStorageCapacity { get; } Watt MaxAlternatorPower { get; } + + bool ESSupplyFromHEVREESS { get; } } public interface IBusAuxHVACData diff --git a/VectoCommon/VectoCommon/Models/AlternatorType.cs b/VectoCommon/VectoCommon/Models/AlternatorType.cs new file mode 100644 index 0000000000..e216758a7c --- /dev/null +++ b/VectoCommon/VectoCommon/Models/AlternatorType.cs @@ -0,0 +1,28 @@ +using System; + +namespace TUGraz.VectoCommon.Models +{ + public enum AlternatorType + { + Conventional, + Smart, + None + } + + public static class AlternatorTypeHelper + { + public static string GetLabel(this AlternatorType type) + { + switch (type) { + case AlternatorType.Conventional: + return "Conventional"; + case AlternatorType.Smart: + return "Smart Alternator"; + case AlternatorType.None: + return "No Alternator"; + default: + throw new ArgumentOutOfRangeException(nameof(type), type, null); + } + } + } +} \ No newline at end of file diff --git a/VectoCommon/VectoCommon/VectoCommon.csproj b/VectoCommon/VectoCommon/VectoCommon.csproj index f5e003ff10..b9596ddd1e 100644 --- a/VectoCommon/VectoCommon/VectoCommon.csproj +++ b/VectoCommon/VectoCommon/VectoCommon.csproj @@ -79,6 +79,7 @@ <Compile Include="BusAuxiliaries\SmartResult.cs" /> <Compile Include="Hashing\IVectoHash.cs" /> <Compile Include="Hashing\VectoComponents.cs" /> + <Compile Include="Models\AlternatorType.cs" /> <Compile Include="InputData\DataSourceType.cs" /> <Compile Include="InputData\DigestData.cs" /> <Compile Include="Models\GearshiftPosition.cs" /> diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/BusAuxiliaryInputData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/BusAuxiliaryInputData.cs index 42de3d90ab..4e8196bea1 100644 --- a/VectoCore/VectoCore/InputData/FileIO/JSON/BusAuxiliaryInputData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/JSON/BusAuxiliaryInputData.cs @@ -4,6 +4,7 @@ using System.IO; using System.Linq; using Newtonsoft.Json.Linq; using TUGraz.VectoCommon.BusAuxiliaries; +using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.InputData.Reader.ComponentData; using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter; @@ -93,11 +94,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON // SmartElectrical - electricalUserInputsConfig.SmartElectrical = elData.GetEx<bool>("SmartElectrical"); + electricalUserInputsConfig.AlternatorType = elData.GetEx<string>("SmartElectrical").ParseEnum<AlternatorType>(); // ResultCardIdle - electricalUserInputsConfig.ResultCardIdle = electricalUserInputsConfig.SmartElectrical + electricalUserInputsConfig.ResultCardIdle = electricalUserInputsConfig.AlternatorType == AlternatorType.Smart ? new ResultCard( elData["ResultCardIdle"].Select( result => new SmartResult( @@ -105,7 +106,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON : (IResultCard)new DummyResultCard(); // ResultCardOverrun - electricalUserInputsConfig.ResultCardOverrun = electricalUserInputsConfig.SmartElectrical + electricalUserInputsConfig.ResultCardOverrun = electricalUserInputsConfig.AlternatorType == AlternatorType.Smart ? new ResultCard( elData["ResultCardOverrun"].Select( result => new SmartResult( @@ -113,7 +114,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON : (IResultCard)new DummyResultCard(); // ResultCardTraction - electricalUserInputsConfig.ResultCardTraction = electricalUserInputsConfig.SmartElectrical + electricalUserInputsConfig.ResultCardTraction = electricalUserInputsConfig.AlternatorType == AlternatorType.Smart ? new ResultCard( elData["ResultCardTraction"].Select( result => new SmartResult( diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterCompletedBusSpecific.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterCompletedBusSpecific.cs index 96c59b6579..7c12ddb685 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterCompletedBusSpecific.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterCompletedBusSpecific.cs @@ -115,7 +115,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter var retVal = GetDefaultElectricalUserConfig(); var primaryBusAuxiliaries = primaryVehicle.Components.BusAuxiliaries; - retVal.SmartElectrical = primaryBusAuxiliaries.ElectricSupply.SmartElectrics; + retVal.AlternatorType = primaryBusAuxiliaries.ElectricSupply.SmartElectrics ? AlternatorType.Smart : AlternatorType.Conventional; retVal.ElectricalConsumers = currentDemand; retVal.AlternatorMap = new SimpleAlternator( CalculateAlternatorEfficiency( diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs index 162463eb5e..e49470ffc8 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs @@ -101,7 +101,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter var retVal = GetDefaultElectricalUserConfig(); - retVal.SmartElectrical = busAux.ElectricSupply.SmartElectrics; + retVal.AlternatorType = busAux.ElectricSupply.SmartElectrics ? AlternatorType.Smart : AlternatorType.Conventional; retVal.ElectricalConsumers = currentDemand; retVal.AlternatorMap = new SimpleAlternator(CalculateAlternatorEfficiency(busAux.ElectricSupply.Alternators)) { Technologies = busAux.ElectricSupply.Alternators.Select(x => x.Technology).ToList() diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs index 66dd01a978..ec5c2ff54c 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs @@ -557,7 +557,9 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter AlternatorMap = new SimpleAlternator(busAux.ElectricSystem.AlternatorEfficiency) { Technologies = new List<string>() { "engineering mode"} }, - SmartElectrical = busAux.ElectricSystem.SmartElectric, + AlternatorType = busAux.ElectricSystem.AlternatorType, + ConnectESToREESS = busAux.ElectricSystem.ESSupplyFromHEVREESS, + DCDCEfficiency = busAux.ElectricSystem.DCDCConverterEfficiency.LimitTo(0, 1), MaxAlternatorPower = busAux.ElectricSystem.MaxAlternatorPower, ElectricStorageCapacity = busAux.ElectricSystem.ElectricStorageCapacity ?? 0.SI<WattSecond>(), ElectricalConsumers = GetElectricConsumers(busAux.ElectricSystem) diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/AuxiliaryConfig.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/AuxiliaryConfig.cs index 6f2dab82b0..6b22d95990 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/AuxiliaryConfig.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/AuxiliaryConfig.cs @@ -108,7 +108,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries } // SmartElectrical - if (ElectricalUserInputsConfig.SmartElectrical != other.ElectricalUserInputsConfig.SmartElectrical) { + if (ElectricalUserInputsConfig.AlternatorType != other.ElectricalUserInputsConfig.AlternatorType) { return false; } diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/BusAuxiliaries.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/BusAuxiliaries.cs index faf88b9e2f..584c6219e6 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/BusAuxiliaries.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/BusAuxiliaries.cs @@ -13,6 +13,7 @@ using System; using System.Collections.Generic; using TUGraz.VectoCommon.BusAuxiliaries; using TUGraz.VectoCommon.Exceptions; +using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl; using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics; @@ -23,10 +24,107 @@ 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.Models.SimulationComponent; using TUGraz.VectoCore.OutputData; namespace TUGraz.VectoCore.Models.BusAuxiliaries { + + public class BusAuxiliariesNoAlternator : BusAuxiliaries + { + private Ampere _totalAverageDemandAmpsIncludingBaseLoad; + private Ampere _totalAverageDemandAmpsEngineOffStandstill; + private Ampere _totalAverageDemandAmpsEngineOffDriving; + private ISSMPowerDemand ssmTool; + + public BusAuxiliariesNoAlternator(IModalDataContainer modDataContainer) : base(modDataContainer) { } + + + public override void Initialise(IAuxiliaryConfig auxCfg) + { + Signals.CurrentCycleTimeInSeconds = 0; + auxConfig = auxCfg; //new AuxiliaryConfig(auxPath); + + var compressorMap = auxConfig.PneumaticUserInputsConfig.CompressorMap; + + _totalAverageDemandAmpsIncludingBaseLoad = auxConfig.ElectricalUserInputsConfig.AverageCurrentDemandInclBaseLoad(false, false); + _totalAverageDemandAmpsEngineOffStandstill = auxConfig.ElectricalUserInputsConfig.AverageCurrentDemandInclBaseLoad(true, true); + _totalAverageDemandAmpsEngineOffDriving = auxConfig.ElectricalUserInputsConfig.AverageCurrentDemandInclBaseLoad(true, false); + + // SSM HVAC + //var ssmPath = FilePathUtils.ResolveFilePath(vectoDirectory, auxConfig.HvacUserInputsConfig.SSMFilePath); + //var BusDatabase = FilePathUtils.ResolveFilePath(vectoDirectory, auxConfig.HvacUserInputsConfig.BusDatabasePath); + ssmTool = auxConfig.SSMInputs is ISSMEngineeringInputs ? + new SimpleSSMTool(auxConfig.SSMInputs) + : (ISSMPowerDemand)new SSMTOOL(auxConfig.SSMInputs); + + ElectricStorage = new SimpleBattery(0.SI<WattSecond>()); + + var electricUserInputConfigNoAlternator = new ElectricsUserInputsConfig() { + PowerNetVoltage = auxCfg.ElectricalUserInputsConfig.PowerNetVoltage, + AlternatorType = AlternatorType.Conventional, + DoorActuationTimeSecond = auxCfg.ElectricalUserInputsConfig.DoorActuationTimeSecond, + AlternatorMap = auxCfg.ElectricalUserInputsConfig.AlternatorMap, + AlternatorGearEfficiency = auxCfg.ElectricalUserInputsConfig.AlternatorGearEfficiency + }; + + M0 = new M00Impl(electricUserInputConfigNoAlternator, Signals, 0.SI<Watt>()); + + //M0_5 = new M0_5Impl( + // M0, auxConfig.ElectricalUserInputsConfig, Signals); + + M1 = new M01Impl( + M0, electricUserInputConfigNoAlternator.AlternatorGearEfficiency, + auxConfig.PneumaticUserInputsConfig.CompressorGearEfficiency, 0.SI<Watt>(), + ssmTool.MechanicalWBaseAdjusted); + + M2 = new M02Impl(M0, electricUserInputConfigNoAlternator, Signals); + + M3 = new M03Impl(auxConfig, compressorMap, auxCfg.Actuations, Signals); + + M4 = new M04Impl( + compressorMap, auxConfig.PneumaticUserInputsConfig.CompressorGearRatio, + auxConfig.PneumaticUserInputsConfig.CompressorGearEfficiency, Signals); + + M5 = new M05Impl_P0(M0, M1, M2, ElectricStorage, electricUserInputConfigNoAlternator, Signals); + M6 = new M06Impl(electricUserInputConfigNoAlternator, M1, M2, M3, M4, M5, Signals); + M7 = new M07Impl(M0, M1, M2, M5, M6, ElectricStorage, + electricUserInputConfigNoAlternator.AlternatorGearEfficiency, Signals); + M8 = new M08Impl(auxConfig, M1, M6, M7, Signals); + + } + + public override Watt ElectricPowerConsumer { + get { return M2.AveragePowerDemandAtAlternatorFromElectrics; } + } + + public override Watt HVACElectricalPowerConsumer { + get { return ssmTool.ElectricalWAdjusted; } + } + + + public override Watt ElectricPowerConsumerSum { + get { return ssmTool.ElectricalWAdjusted + AveragePowerDemandAtAlternatorFromElectrics; } + } + + protected Watt AveragePowerDemandAtAlternatorFromElectrics { + get { + var current = _totalAverageDemandAmpsIncludingBaseLoad; + if (Signals.EngineStopped) { + current = Signals.VehicleStopped + ? _totalAverageDemandAmpsEngineOffStandstill + : _totalAverageDemandAmpsEngineOffDriving; + } + return auxConfig.ElectricalUserInputsConfig.PowerNetVoltage * current; + } + } + } + + + // ##################################################################### + // ##################################################################### + + /// <summary> /// ''' Main entry point for the advanced auxiliary module. /// ''' This class represents slide number 17 titled Calculations of Cycle FC accounting for Smart Auxiliaries. @@ -47,19 +145,19 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries //private IFuelConsumptionMap fuelMap; // Classes which compose the model. - private IM0_NonSmart_AlternatorsSetEfficiency M0; + protected IM0_NonSmart_AlternatorsSetEfficiency M0; //private IM0_5_SmartAlternatorSetEfficiency M0_5; - private IM1_AverageHVACLoadDemand M1; - private IM2_AverageElectricalLoadDemand M2; - private IM3_AveragePneumaticLoadDemand M3; - private IM4_AirCompressor M4; - private IM5_SmartAlternatorSetGeneration M5; - private IM6 M6; - private IM7 M7; - private IM8 M8; + protected IM1_AverageHVACLoadDemand M1; + protected IM2_AverageElectricalLoadDemand M2; + protected IM3_AveragePneumaticLoadDemand M3; + protected IM4_AirCompressor M4; + protected IM5_SmartAlternatorSetGeneration M5; + protected IM6 M6; + protected IM7 M7; + protected IM8 M8; - private ISimpleBattery ElectricStorage; + protected ISimpleBattery ElectricStorage; //private IM9 M9; //private IM10 M10; @@ -92,7 +190,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries return M14.AuxHeaterDemand(cycleTime, engineWasteHeatTotal); } - public void Initialise(IAuxiliaryConfig auxCfg) + public virtual void Initialise(IAuxiliaryConfig auxCfg) { Signals.CurrentCycleTimeInSeconds = 0; auxConfig = auxCfg; //new AuxiliaryConfig(auxPath); @@ -107,7 +205,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries : (ISSMPowerDemand)new SSMTOOL(auxConfig.SSMInputs); ElectricStorage = new SimpleBattery( - auxCfg.ElectricalUserInputsConfig.SmartElectrical + auxCfg.ElectricalUserInputsConfig.AlternatorType == AlternatorType.Smart ? auxCfg.ElectricalUserInputsConfig.ElectricStorageCapacity : 0.SI<WattSecond>()); @@ -154,26 +252,26 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries public ISignals Signals { get; set; } - public Watt ElectricPowerConsumer + public virtual Watt ElectricPowerConsumer { get { return M2.AveragePowerDemandAtAlternatorFromElectrics; } } - public Watt HVACElectricalPowerConsumer + public virtual Watt HVACElectricalPowerConsumer { get { return M1.AveragePowerDemandAtAlternatorFromHVACElectrics; } } - public Watt ElectricPowerConsumerSum + public virtual Watt ElectricPowerConsumerSum { get { return M1.AveragePowerDemandAtAlternatorFromHVACElectrics + M2.AveragePowerDemandAtAlternatorFromElectrics; } } - public Watt ElectricPowerDemandMech + public virtual Watt ElectricPowerDemandMech { get { - if (auxConfig.ElectricalUserInputsConfig.SmartElectrical) { + if (auxConfig.ElectricalUserInputsConfig.AlternatorType == AlternatorType.Smart) { return auxConfig.PneumaticUserInputsConfig.SmartAirCompression ? M7.SmartElectricalAndPneumaticAuxAltPowerGenAtCrank : M7.SmartElectricalOnlyAuxAltPowerGenAtCrank; @@ -183,10 +281,10 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries } } - public Watt ElectricPowerGenerated + public virtual Watt ElectricPowerGenerated { get { - if (auxConfig.ElectricalUserInputsConfig.SmartElectrical) { + if (auxConfig.ElectricalUserInputsConfig.AlternatorType == AlternatorType.Smart) { var retVal = auxConfig.PneumaticUserInputsConfig.SmartAirCompression ? M7.SmartElectricalAndPneumaticAuxAltPowerGenAtCrank : M7.SmartElectricalOnlyAuxAltPowerGenAtCrank; @@ -197,12 +295,12 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries } } - public NormLiter PSDemandConsumer + public virtual NormLiter PSDemandConsumer { get { return M3.AverageAirConsumed * Signals.SimulationInterval; } } - public NormLiter PSAirGenerated + public virtual NormLiter PSAirGenerated { get { if (auxConfig.PneumaticUserInputsConfig.SmartAirCompression && M6.OverrunFlag && Signals.ClutchEngaged && @@ -220,17 +318,17 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries } } - public NormLiter PSAirGeneratedAlwaysOn + public virtual NormLiter PSAirGeneratedAlwaysOn { get { return M4.GetFlowRate() * Signals.SimulationInterval; } } - public Watt PSPowerDemandAirGenerated + public virtual Watt PSPowerDemandAirGenerated { get { if (auxConfig.PneumaticUserInputsConfig.SmartAirCompression) { - return auxConfig.ElectricalUserInputsConfig.SmartElectrical + return auxConfig.ElectricalUserInputsConfig.AlternatorType == AlternatorType.Smart ? M7.SmartElectricalAndPneumaticAuxAirCompPowerGenAtCrank : M7.SmartPneumaticOnlyAuxAirCompPowerGenAtCrank; } @@ -239,32 +337,31 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries } } - public Watt PSPowerCompressorAlwaysOn + public virtual Watt PSPowerCompressorAlwaysOn { get { return M4.GetPowerCompressorOn(); } } - public Watt PSPowerCompressorDragOnly + public virtual Watt PSPowerCompressorDragOnly { get { return M4.GetPowerCompressorOff(); } } - public Watt HVACMechanicalPowerConsumer + public virtual Watt HVACMechanicalPowerConsumer { get { return M1.AveragePowerDemandAtCrankFromHVACMechanicals; } } - public Watt HVACMechanicalPowerGenerated + public virtual Watt HVACMechanicalPowerGenerated { get { return M1.AveragePowerDemandAtCrankFromHVACMechanicals; } } - public double BatterySOC + public virtual double BatterySOC { get { return ElectricStorage.SOC; } } - //public string AuxiliaryName //{ // get { return "BusAuxiliaries"; } @@ -275,19 +372,19 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries // get { return "Version 2.0 DEV"; } //} - public Watt AuxiliaryPowerAtCrankWatts + public virtual Watt AuxiliaryPowerAtCrankWatts { get { return M8.AuxPowerAtCrankFromElectricalHVACAndPneumaticsAncillaries; } } - public void CycleStep(Second seconds, double essFactor) + public virtual void CycleStep(Second seconds, double essFactor) { try { //M9.CycleStep(seconds); //M10.CycleStep(seconds); //M11.CycleStep(seconds); - if (auxConfig.ElectricalUserInputsConfig.SmartElectrical) { + if (auxConfig.ElectricalUserInputsConfig.AlternatorType == AlternatorType.Smart) { var generatedElPower = (auxConfig.PneumaticUserInputsConfig.SmartAirCompression ? M7.SmartElectricalAndPneumaticAuxAltPowerGenAtCrank @@ -306,7 +403,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries } } - public void ResetCalculations() + public virtual void ResetCalculations() { var modules = new List<IAbstractModule>() { M0, M1, M2, M3, M4, M5, M6, M7, M8 }; foreach (var moduel in modules) diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricsUserInputsConfig.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricsUserInputsConfig.cs index 0425a14a81..dca4644350 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricsUserInputsConfig.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricsUserInputsConfig.cs @@ -14,6 +14,7 @@ using System.Collections.Generic; using System.Linq; using Newtonsoft.Json; using TUGraz.VectoCommon.BusAuxiliaries; +using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter; using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics; @@ -36,7 +37,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric public IResultCard ResultCardTraction { get; set; } public IResultCard ResultCardOverrun { get; set; } - public bool SmartElectrical { get; set; } + public AlternatorType AlternatorType { get; set; } [JsonIgnore] public Dictionary<string, ElectricConsumerEntry> ElectricalConsumers { get; set; } @@ -102,7 +103,12 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric } public Watt MaxAlternatorPower { get; set; } + public WattSecond ElectricStorageCapacity { get; set; } + + public bool ConnectESToREESS { get; set; } + + public double DCDCEfficiency { get; set; } } } diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M05Impl_P0.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M05Impl_P0.cs index c13a12325d..2dcc1d94cf 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M05Impl_P0.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M05Impl_P0.cs @@ -1,4 +1,5 @@ using TUGraz.VectoCommon.BusAuxiliaries; +using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules; using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics; @@ -21,7 +22,8 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric _m01 = m01; _m02 = m02; _bat = bat; - _maxAlternatorPower = elCfg.SmartElectrical ? elCfg.MaxAlternatorPower : 0.SI<Watt>(); + _maxAlternatorPower = + elCfg.AlternatorType == AlternatorType.Smart ? elCfg.MaxAlternatorPower : 0.SI<Watt>(); _alternatorGearEfficiency = elCfg.AlternatorGearEfficiency; _signals = signals; } diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M06Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M06Impl.cs index b88036f1e5..4ac92e9ab4 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M06Impl.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M06Impl.cs @@ -1,4 +1,5 @@ using TUGraz.VectoCommon.BusAuxiliaries; +using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Configuration; using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules; @@ -35,7 +36,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl _m4 = m4; _m5 = m5; _signals = signals; - _smartElectrics = electricConfig.SmartElectrical; + _smartElectrics = electricConfig.AlternatorType == AlternatorType.Smart; } protected override void DoCalculate() diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M08Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M08Impl.cs index b5a8cfa292..93bd37402f 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M08Impl.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M08Impl.cs @@ -1,4 +1,5 @@ using TUGraz.VectoCommon.BusAuxiliaries; +using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules; @@ -23,7 +24,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl _m6 = m6; _m7 = m7; _signals = signals; - _smartElectrics = auxCfg.ElectricalUserInputsConfig.SmartElectrical; + _smartElectrics = auxCfg.ElectricalUserInputsConfig.AlternatorType == AlternatorType.Smart; _smartPneumatics = auxCfg.PneumaticUserInputsConfig.SmartAirCompression; } diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M13Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M13Impl.cs index 9a19dc09db..dfc3cf3504 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M13Impl.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M13Impl.cs @@ -1,4 +1,5 @@ using TUGraz.VectoCommon.BusAuxiliaries; +using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces; using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules; @@ -24,7 +25,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl M11 = m11; M12 = m12; Signals = signals; - _smartElectrics = auxCfg.ElectricalUserInputsConfig.SmartElectrical; + _smartElectrics = auxCfg.ElectricalUserInputsConfig.AlternatorType == AlternatorType.Smart; _smartPneumatics = auxCfg.PneumaticUserInputsConfig.SmartAirCompression; } diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/IBusAuxiliaries.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/IBusAuxiliaries.cs index fea26df4ee..00cd09c786 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/IBusAuxiliaries.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/IBusAuxiliaries.cs @@ -12,6 +12,7 @@ using TUGraz.VectoCommon.BusAuxiliaries; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Models.Simulation.Data; +using TUGraz.VectoCore.Models.SimulationComponent; namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces { diff --git a/VectoCore/VectoCore/Models/Simulation/Data/ModalResultField.cs b/VectoCore/VectoCore/Models/Simulation/Data/ModalResultField.cs index a17ce47ed2..620412dd2f 100644 --- a/VectoCore/VectoCore/Models/Simulation/Data/ModalResultField.cs +++ b/VectoCore/VectoCore/Models/Simulation/Data/ModalResultField.cs @@ -437,7 +437,12 @@ namespace TUGraz.VectoCore.Models.Simulation.Data [ModalResultField(typeof(SI), caption: "U_reess_terminal [V]")] U_reess_terminal, [ModalResultField(typeof(SI), caption: "U_0_reess [V]")] U0_reess, [ModalResultField(typeof(SI), caption: "I_reess [A]")] I_reess, - [ModalResultField(typeof(SI), caption: "T_max_propulsion [Nm]")] MaxPropulsionTorqe + [ModalResultField(typeof(SI), caption: "T_max_propulsion [Nm]")] MaxPropulsionTorqe, + + [ModalResultField(typeof(SI), caption: "P_DC/DC_In [kW]", outputFactor: 1e-3)] P_DCDC_In, + [ModalResultField(typeof(SI), caption: "P_DC/DC_Out [kW]", outputFactor: 1e-3)] P_DCDC_Out, + [ModalResultField(typeof(SI), caption: "P_DC/DC_missing [kW]", outputFactor: 1e-3)] P_DCDC_missing, + } [AttributeUsage(AttributeTargets.Field)] diff --git a/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs b/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs index 8ab4cfafaf..3a50d6df12 100644 --- a/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs +++ b/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs @@ -445,10 +445,23 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl if (data.ElectricMachinesData.Any(x => x.Item1 == PowertrainPosition.HybridP1)) { if (gearbox is ATGearbox atGbx) { atGbx.IdleController = idleController; + } else { + clutch.IdleController = idleController; } } cycle.IdleController = idleController as IdleControllerSwitcher; + if (data.BusAuxiliaries != null && data.BusAuxiliaries.ElectricalUserInputsConfig.ConnectESToREESS) { + if (container.BusAux is BusAuxiliariesAdapter busAux) { + var dcdc = new DCDCConverter(container, + data.BusAuxiliaries.ElectricalUserInputsConfig.DCDCEfficiency); + busAux.DCDCConverter = dcdc; + es.Connect(dcdc); + } else { + throw new VectoException("BusAux data set but no BusAux component found!"); + } + } + return container; } @@ -699,6 +712,19 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl if (gearbox is ATGearbox atGbx) { atGbx.IdleController = idleController; new ATClutchInfo(container); + } else { + clutch.IdleController = idleController; + } + } + + if (data.BusAuxiliaries != null && data.BusAuxiliaries.ElectricalUserInputsConfig.ConnectESToREESS) { + if (container.BusAux is BusAuxiliariesAdapter busAux) { + var dcdc = new DCDCConverter(container, + data.BusAuxiliaries.ElectricalUserInputsConfig.DCDCEfficiency); + busAux.DCDCConverter = dcdc; + es.Connect(dcdc); + } else { + throw new VectoException("BusAux data set but no BusAux component found!"); } } } diff --git a/VectoCore/VectoCore/Models/Simulation/Impl/VehicleContainer.cs b/VectoCore/VectoCore/Models/Simulation/Impl/VehicleContainer.cs index 9cc9bad6e0..df7a9bc4d6 100644 --- a/VectoCore/VectoCore/Models/Simulation/Impl/VehicleContainer.cs +++ b/VectoCore/VectoCore/Models/Simulation/Impl/VehicleContainer.cs @@ -67,6 +67,8 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl public virtual IDriverInfo DriverInfo { get; protected set; } public virtual IHybridController HybridController { get; protected set; } + public virtual IAuxInProvider BusAux { get; protected set; } + public virtual IMileageCounter MileageCounter { get; protected set; } public virtual IClutchInfo ClutchInfo { get; protected set; } @@ -192,7 +194,9 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl HasElectricMotor = true; }) .If<IHybridController>(c => { HybridController = c; }) - .If<IRESSInfo>(c => BatteryInfo = c); + .If<IRESSInfo>(c => BatteryInfo = c) + .If<BusAuxiliariesAdapter>(c => BusAux = c); + if (ignoreComponent) { return; @@ -202,6 +206,7 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl } + public virtual void CommitSimulationStep(Second time, Second simulationInterval) { Log.Info("VehicleContainer committing simulation. time: {0}, dist: {1}, speed: {2}", time, diff --git a/VectoCore/VectoCore/Models/SimulationComponent/DCDCConverter.cs b/VectoCore/VectoCore/Models/SimulationComponent/DCDCConverter.cs new file mode 100644 index 0000000000..fa3fbb8663 --- /dev/null +++ b/VectoCore/VectoCore/Models/SimulationComponent/DCDCConverter.cs @@ -0,0 +1,87 @@ +using TUGraz.VectoCommon.Utils; +using TUGraz.VectoCore.Models.Connector.Ports.Impl; +using TUGraz.VectoCore.Models.Simulation.Data; +using TUGraz.VectoCore.Models.Simulation.Impl; +using TUGraz.VectoCore.OutputData; + +namespace TUGraz.VectoCore.Models.SimulationComponent +{ + public class DCDCConverter : StatefulVectoSimulationComponent<DCDCConverter.State>, IElectricAuxPort + { + public double Efficiency { get; protected set; } + + public DCDCConverter(VehicleContainer container, double efficiency) : base(container) + { + Efficiency = efficiency; + PreviousState.ConsumedEnergy = 0.SI<WattSecond>(); + } + + + #region Implementation of IElectricAuxPort + + public Watt Initialize() + { + PreviousState.ConsumedEnergy = 0.SI<WattSecond>(); + CurrentState.ConsumedEnergy = 0.SI<WattSecond>(); + + return 0.SI<Watt>(); + } + + public Watt PowerDemand(Second absTime, Second dt, bool dryRun) + { + if (DataBus.BatteryInfo.StoredEnergy.IsGreater(PreviousState.ConsumedEnergy)) { + return PreviousState.ConsumedEnergy / dt / Efficiency; + } + + // write in mod-file for post-processing correction + CurrentState.MissingEnergy = PreviousState.ConsumedEnergy; + return 0.SI<Watt>(); + } + + #endregion + + + + #region Overrides of VectoSimulationComponent + + protected override void DoWriteModalResults(Second time, Second simulationInterval, IModalDataContainer container) + { + if (CurrentState.MissingEnergy.IsEqual(0)) { + container[ModalResultField.P_DCDC_In] = + PreviousState.ConsumedEnergy / simulationInterval / Efficiency; + container[ModalResultField.P_DCDC_Out] = + PreviousState.ConsumedEnergy / simulationInterval; + container[ModalResultField.P_DCDC_missing] = 0.SI<Watt>(); + } else { + container[ModalResultField.P_DCDC_In] = 0.SI<Watt>(); + container[ModalResultField.P_DCDC_Out] = 0.SI<Watt>(); + container[ModalResultField.P_DCDC_missing] = CurrentState.MissingEnergy / simulationInterval; + } + } + + protected override void DoCommitSimulationStep(Second time, Second simulationInterval) + { + AdvanceState(); + } + + #endregion + + public void ConsumerPower(Watt electricConsumerPower, Second dt, bool dryRun) + { + if (!dryRun) { + CurrentState.ConsumedEnergy = electricConsumerPower * dt; + } + } + + public class State + { + public State() + { + MissingEnergy = 0.SI<WattSecond>(); + } + + public WattSecond ConsumedEnergy { get; set; } + public WattSecond MissingEnergy { get; set; } + } + } +} \ No newline at end of file diff --git a/VectoCore/VectoCore/Models/SimulationComponent/ElectricSystem.cs b/VectoCore/VectoCore/Models/SimulationComponent/ElectricSystem.cs index 6b6e389c05..feaeceaadd 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/ElectricSystem.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/ElectricSystem.cs @@ -2,6 +2,7 @@ using TUGraz.VectoCommon.Exceptions; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; +using TUGraz.VectoCore.Configuration; using TUGraz.VectoCore.Models.Connector.Ports.Impl; using TUGraz.VectoCore.Models.Simulation; using TUGraz.VectoCore.Models.Simulation.Data; diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/BusAuxiliariesAdapter.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/BusAuxiliariesAdapter.cs index 3fac6dc64d..86a8fb2fd4 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/BusAuxiliariesAdapter.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/BusAuxiliariesAdapter.cs @@ -42,9 +42,8 @@ using TUGraz.VectoCore.OutputData; namespace TUGraz.VectoCore.Models.SimulationComponent.Impl { - public class BusAuxiliariesAdapter : LoggingObject, IAuxInProvider, IAuxPort + public class BusAuxiliariesAdapter : VectoSimulationComponent, IAuxInProvider, IAuxPort { - protected readonly IDataBus DataBus; protected internal BusAuxState CurrentState; protected internal BusAuxState PreviousState; @@ -59,9 +58,9 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl //private readonly FuelConsumptionAdapter _fcMapAdapter; public BusAuxiliariesAdapter( - IVehicleContainer container, IAuxiliaryConfig auxiliaryConfig, IAuxPort additionalAux = null) + IVehicleContainer container, IAuxiliaryConfig auxiliaryConfig, IAuxPort additionalAux = null) : base(container) { - + container.AddComponent(this); EngineStopStartUtilityFactor = container.RunData?.DriverData?.EngineStopStart?.UtilityFactor ?? double.NaN; CurrentState = new BusAuxState(); @@ -71,18 +70,22 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl AuxCfg = auxiliaryConfig; DataBus = container; - var tmpAux = new BusAuxiliaries.BusAuxiliaries(container.ModalData); + var tmpAux = auxiliaryConfig.ElectricalUserInputsConfig.AlternatorType == AlternatorType.None + ? new BusAuxiliaries.BusAuxiliariesNoAlternator(container.ModalData) + : new BusAuxiliaries.BusAuxiliaries(container.ModalData); //'Set Signals tmpAux.Signals.EngineIdleSpeed = container.EngineInfo.EngineIdleSpeed; tmpAux.Initialise(auxiliaryConfig); - SmartElectricSystem = auxiliaryConfig.ElectricalUserInputsConfig.SmartElectrical; + SmartElectricSystem = auxiliaryConfig.ElectricalUserInputsConfig.AlternatorType == AlternatorType.Smart; Auxiliaries = tmpAux; } - + public DCDCConverter DCDCConverter { get; set; } + + public IAuxPort Port() { return this; @@ -93,9 +96,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl //PreviousState.TotalFuelConsumption = 0.SI<Kilogram>(); PreviousState.AngularSpeed = angularSpeed; CurrentState.AngularSpeed = angularSpeed; - if (AdditionalAux != null) { - AdditionalAux.Initialize(torque, angularSpeed); - } + AdditionalAux?.Initialize(torque, angularSpeed); + DCDCConverter?.Initialize(); PreviousState.PowerDemand = GetBusAuxPowerDemand(0.SI<Second>(), 1.SI<Second>(), torque, angularSpeed); return PreviousState.PowerDemand / angularSpeed; } @@ -171,8 +173,11 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl } - protected internal virtual void DoWriteModalResults(Second absTime, Second dt, IModalDataContainer container) + + protected internal virtual void DoWriteModalResultsICE(Second absTime, Second dt, IModalDataContainer container) { + // called from ICE - write modal results there + var essUtilityFactor = 1.0; if (!DataBus.EngineCtl.CombustionEngineOn) { essUtilityFactor = 1 - EngineStopStartUtilityFactor; @@ -200,8 +205,12 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl var batteryPwr = (oldSOC - newSOC) * AuxCfg.ElectricalUserInputsConfig.ElectricStorageCapacity / dt; container[ModalResultField.BatterySOC] = Auxiliaries.BatterySOC * 100.0; - - container[ModalResultField.P_busAux_ES_generated] = essUtilityFactor * (DataBus.VehicleInfo.VehicleStopped && !DataBus.EngineCtl.CombustionEngineOn ? Auxiliaries.ElectricPowerConsumerSum : Auxiliaries.ElectricPowerGenerated); + + container[ModalResultField.P_busAux_ES_generated] = essUtilityFactor * + (DataBus.VehicleInfo.VehicleStopped && + !DataBus.EngineCtl.CombustionEngineOn + ? Auxiliaries.ElectricPowerConsumerSum + : Auxiliaries.ElectricPowerGenerated); container[ModalResultField.P_busAux_ES_sum_mech] = essUtilityFactor * (Auxiliaries.ElectricPowerConsumerSum - batteryPwr) / AuxCfg.ElectricalUserInputsConfig.AlternatorGearEfficiency / AuxCfg.ElectricalUserInputsConfig.AlternatorMap.GetEfficiency(0.RPMtoRad(), 0.SI<Ampere>()); @@ -223,8 +232,19 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl container[ModalResultField.P_busAux_HVACmech_gen] = essUtilityFactor * Auxiliaries.HVACMechanicalPowerGenerated; } + protected override void DoWriteModalResults(Second time, Second simulationInterval, IModalDataContainer container) + { + // called from base class - do nothing here + } + + protected override void DoCommitSimulationStep(Second time, Second simulationInterval) + { + // called from base class - do nothing here + } + protected internal virtual void DoCommitSimulationStep() { + // called from combustion engine - do commit here PreviousState = CurrentState; CurrentState = new BusAuxState(); } @@ -248,7 +268,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl : 0.SI<Watt>(); var drivetrainPower = torquePowerTrain * avgAngularSpeed; - if (!dryRun && DataBus.DriverInfo.DrivingAction == DrivingAction.Brake && CurrentState.ExcessiveDragPower.IsEqual(0)) { + if (!dryRun && !DataBus.IsTestPowertrain && DataBus.DriverInfo.DrivingAction == DrivingAction.Brake && CurrentState.ExcessiveDragPower.IsEqual(0)) { CurrentState.ExcessiveDragPower = drivetrainPower - (DataBus.EngineInfo.EngineDragPower(avgAngularSpeed) - signals.PreExistingAuxPower) - DataBus.Brakes.BrakePower; } @@ -261,7 +281,9 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl signals.Idle = DataBus.VehicleInfo.VehicleStopped; signals.InNeutral = DataBus.GearboxInfo.Gear.Gear == 0; - + if (AuxCfg.ElectricalUserInputsConfig.ConnectESToREESS) { + DCDCConverter.ConsumerPower(Auxiliaries.ElectricPowerConsumerSum, dt, dryRun); + } return Auxiliaries.AuxiliaryPowerAtCrankWatts + signals.PreExistingAuxPower; } diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/CombustionEngine.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/CombustionEngine.cs index 08fc4e8351..a7e361d961 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/CombustionEngine.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/CombustionEngine.cs @@ -501,7 +501,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl //var fcAAUX = fcWHTC; var advancedAux = EngineAux as BusAuxiliariesAdapter; if (advancedAux != null) { - advancedAux.DoWriteModalResults(time, simulationInterval ,container); + advancedAux.DoWriteModalResultsICE(time, simulationInterval ,container); //fcAAUX = advancedAux.AAuxFuelConsumption; } var fcFinal = fcWHTC; // fcAAUX; diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/Driver.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/Driver.cs index 905ffc56df..a0b167afa7 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/Driver.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/Driver.cs @@ -74,7 +74,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl DriverAcceleration = 0.SI<MeterPerSquareSecond>(); var busAux = container.RunData.BusAuxiliaries; smartBusAux = busAux != null && (busAux.PneumaticUserInputsConfig.SmartAirCompression || - busAux.ElectricalUserInputsConfig.SmartElectrical); + busAux.ElectricalUserInputsConfig.AlternatorType == AlternatorType.Smart); } diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/StopStartCombustionEngine.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/StopStartCombustionEngine.cs index 23902397c7..5426702207 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/StopStartCombustionEngine.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/StopStartCombustionEngine.cs @@ -176,7 +176,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl { var advancedAux = EngineAux as BusAuxiliariesAdapter; if (advancedAux != null) { //throw new VectoException("Engine Stop/Start with advanced auxiliaries not supported!"); - advancedAux.DoWriteModalResults(time, simulationInterval, container); + advancedAux.DoWriteModalResultsICE(time, simulationInterval, container); //fcAAUX = advancedAux.AAuxFuelConsumption; } diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Strategies/HybridStrategy.cs b/VectoCore/VectoCore/Models/SimulationComponent/Strategies/HybridStrategy.cs index 7ef3d5b624..69f80ad5cd 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Strategies/HybridStrategy.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Strategies/HybridStrategy.cs @@ -86,10 +86,10 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Strategies } } - if (!nextGear.Engaged) { + //if (!nextGear.Engaged) { TestPowertrain.Gearbox._nextGear = Controller.ShiftStrategy.NextGear; TestPowertrain.Gearbox.Disengaged = !nextGear.Engaged; - } + //} //if (!PreviousState.GearboxEngaged) { TestPowertrain.CombustionEngine.Initialize( @@ -108,8 +108,17 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Strategies (DataBus.EngineInfo as CombustionEngine).PreviousState.EngineTorqueOut; TestPowertrain.CombustionEngine.PreviousState.DynamicFullLoadTorque = (DataBus.EngineInfo as CombustionEngine).PreviousState.DynamicFullLoadTorque; - (TestPowertrain.CombustionEngine.EngineAux as EngineAuxiliary).PreviousState.AngularSpeed = - ((DataBus.EngineInfo as CombustionEngine).EngineAux as EngineAuxiliary).PreviousState.AngularSpeed; + + switch (TestPowertrain.CombustionEngine.EngineAux) { + case EngineAuxiliary engineAux: + engineAux.PreviousState.AngularSpeed = + ((DataBus.EngineInfo as CombustionEngine).EngineAux as EngineAuxiliary).PreviousState.AngularSpeed; + break; + case BusAuxiliariesAdapter busAux: + busAux.PreviousState.AngularSpeed = + ((DataBus.EngineInfo as CombustionEngine).EngineAux as BusAuxiliariesAdapter).PreviousState.AngularSpeed; + break; + } TestPowertrain.Gearbox.PreviousState.InAngularVelocity = (DataBus.GearboxInfo as Gearbox).PreviousState.InAngularVelocity; @@ -236,8 +245,17 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Strategies (DataBus.EngineInfo as CombustionEngine).PreviousState.EngineTorqueOut; TestPowertrain.CombustionEngine.PreviousState.DynamicFullLoadTorque = (DataBus.EngineInfo as CombustionEngine).PreviousState.DynamicFullLoadTorque; - (TestPowertrain.CombustionEngine.EngineAux as EngineAuxiliary).PreviousState.AngularSpeed = - ((DataBus.EngineInfo as CombustionEngine).EngineAux as EngineAuxiliary).PreviousState.AngularSpeed; + + switch (TestPowertrain.CombustionEngine.EngineAux) { + case EngineAuxiliary engineAux: + engineAux.PreviousState.AngularSpeed = + ((DataBus.EngineInfo as CombustionEngine).EngineAux as EngineAuxiliary).PreviousState.AngularSpeed; + break; + case BusAuxiliariesAdapter busAux: + busAux.PreviousState.AngularSpeed = + ((DataBus.EngineInfo as CombustionEngine).EngineAux as BusAuxiliariesAdapter).PreviousState.AngularSpeed; + break; + } TestPowertrain.Gearbox.PreviousState.OutAngularVelocity = (DataBus.GearboxInfo as ATGearbox).PreviousState.OutAngularVelocity; diff --git a/VectoCore/VectoCore/OutputData/FileIO/BusAuxWriter.cs b/VectoCore/VectoCore/OutputData/FileIO/BusAuxWriter.cs index afa13cad80..080b18fbda 100644 --- a/VectoCore/VectoCore/OutputData/FileIO/BusAuxWriter.cs +++ b/VectoCore/VectoCore/OutputData/FileIO/BusAuxWriter.cs @@ -109,7 +109,7 @@ namespace TUGraz.VectoCore.OutputData.FileIO elData["ResultCardTraction"] = resultCard; // SmartElectrical - elData["SmartElectrical"] = electricalUserCfg.SmartElectrical; + elData["SmartElectrical"] = electricalUserCfg.AlternatorType; return elData; } diff --git a/VectoCore/VectoCore/OutputData/FileIO/JSONFileWriter.cs b/VectoCore/VectoCore/OutputData/FileIO/JSONFileWriter.cs index b8995737e8..a12fbe17af 100644 --- a/VectoCore/VectoCore/OutputData/FileIO/JSONFileWriter.cs +++ b/VectoCore/VectoCore/OutputData/FileIO/JSONFileWriter.cs @@ -1138,15 +1138,17 @@ public class JSONFileWriter : IOutputFileWriter {"CurrentDemand", busAux.ElectricSystem.CurrentDemand.Value()}, {"CurrentDemandEngineOffDriving", busAux.ElectricSystem.CurrentDemandEngineOffDriving.Value()}, {"CurrentDemandEngineOffStandstill", busAux.ElectricSystem.CurrentDemandEngineOffStandstill.Value()}, - {"SmartElectric", busAux.ElectricSystem.SmartElectric}, + {"AlternatorType", busAux.ElectricSystem.AlternatorType.ToString()}, {"ElectricStorageCapacity", busAux.ElectricSystem.ElectricStorageCapacity.ConvertToWattHour().Value}, - { "MaxAlternatorPower", busAux.ElectricSystem.MaxAlternatorPower.Value()}, + {"MaxAlternatorPower", busAux.ElectricSystem.MaxAlternatorPower.Value()}, + {"DCDCConverterEfficiency", busAux.ElectricSystem.DCDCConverterEfficiency}, + {"ESSupplyFromHEVREESS", busAux.ElectricSystem.ESSupplyFromHEVREESS} }; 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} + {"AverageHeatingDemand", busAux.HVACData.AverageHeatingDemand.Value() / 1e6} }; var body = new Dictionary<string, object>() { diff --git a/VectoCore/VectoCore/OutputData/ModalDataContainer.cs b/VectoCore/VectoCore/OutputData/ModalDataContainer.cs index 2685131db6..bc3a4379ba 100644 --- a/VectoCore/VectoCore/OutputData/ModalDataContainer.cs +++ b/VectoCore/VectoCore/OutputData/ModalDataContainer.cs @@ -779,6 +779,9 @@ namespace TUGraz.VectoCore.OutputData ModalResultField.P_busAux_PS_generated, ModalResultField.P_busAux_PS_generated_alwaysOn, ModalResultField.P_busAux_PS_generated_dragOnly, + ModalResultField.P_DCDC_In, + ModalResultField.P_DCDC_Out, + ModalResultField.P_DCDC_missing, }.Select(x => x.GetName())); } if (HasTorqueConverter) { diff --git a/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs b/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs index 571a03d390..f8e8f1dab4 100644 --- a/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs +++ b/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs @@ -713,7 +713,7 @@ namespace TUGraz.VectoCore.OutputData row[Fields.E_BusAux_ES_generated] = modData.EnergyBusAuxESGeneratedMech().ConvertToKiloWattHour(); row[Fields.E_BusAux_ES_consumed] = modData.EnergyBusAuxESConsumed().ConvertToKiloWattHour(); - row[Fields.Delta_E_BusAux_Battery] = (runData.BusAuxiliaries.ElectricalUserInputsConfig.SmartElectrical + row[Fields.Delta_E_BusAux_Battery] = (runData.BusAuxiliaries.ElectricalUserInputsConfig.AlternatorType == AlternatorType.Smart ? modData.DeltaSOCBusAuxBattery() * runData.BusAuxiliaries.ElectricalUserInputsConfig.ElectricStorageCapacity : 0.SI<WattSecond>()) .ConvertToKiloWattHour(); diff --git a/VectoCore/VectoCore/VectoCore.csproj b/VectoCore/VectoCore/VectoCore.csproj index 4f46aec255..92f63e4113 100644 --- a/VectoCore/VectoCore/VectoCore.csproj +++ b/VectoCore/VectoCore/VectoCore.csproj @@ -398,6 +398,7 @@ <Compile Include="Models\SimulationComponent\Data\Engine\WHRPowerMap.cs" /> <Compile Include="InputData\Reader\ComponentData\WHRPowerReader.cs" /> <Compile Include="Models\SimulationComponent\Data\HybridStrategyParameters.cs" /> + <Compile Include="Models\SimulationComponent\DCDCConverter.cs" /> <Compile Include="Models\SimulationComponent\ElectricSystem.cs" /> <Compile Include="Models\SimulationComponent\IElectricEnergyStorage.cs" /> <Compile Include="Models\SimulationComponent\IElectricMotor.cs" /> diff --git a/VectoCore/VectoCoreTest/Integration/BusAuxiliaries/AuxDemandTest.cs b/VectoCore/VectoCoreTest/Integration/BusAuxiliaries/AuxDemandTest.cs index 8466632444..aa511fbdcf 100644 --- a/VectoCore/VectoCoreTest/Integration/BusAuxiliaries/AuxDemandTest.cs +++ b/VectoCore/VectoCoreTest/Integration/BusAuxiliaries/AuxDemandTest.cs @@ -95,7 +95,7 @@ namespace TUGraz.VectoCore.Tests.Integration.BusAuxiliaries for (int i = 0; i < 10; i++) { var torque = busAux.TorqueDemand(0.SI<Second>(), 1.SI<Second>(), engineDrivelinePower / engineSpeed, engineSpeed); Assert.AreEqual(6087.03221, (torque * engineSpeed).Value(), 1e-3); - busAux.DoWriteModalResults(0.SI<Second>(), 1.SI<Second>(), modalData); + busAux.DoWriteModalResultsICE(0.SI<Second>(), 1.SI<Second>(), modalData); busAux.DoCommitSimulationStep(); } @@ -107,7 +107,7 @@ namespace TUGraz.VectoCore.Tests.Integration.BusAuxiliaries for (int i = 0; i < 10; i++) { var torque = busAux.TorqueDemand(0.SI<Second>(), 1.SI<Second>(), engineDrivelinePower / engineSpeed, engineSpeed); Assert.AreEqual(8954.1429, (torque * engineSpeed).Value(), 1e-3); - busAux.DoWriteModalResults(0.SI<Second>(), 1.SI<Second>(), modalData); + busAux.DoWriteModalResultsICE(0.SI<Second>(), 1.SI<Second>(), modalData); busAux.DoCommitSimulationStep(); } @@ -119,7 +119,7 @@ namespace TUGraz.VectoCore.Tests.Integration.BusAuxiliaries for (int i = 0; i < 10; i++) { var torque = busAux.TorqueDemand(0.SI<Second>(), 1.SI<Second>(), engineDrivelinePower / engineSpeed, engineSpeed); Assert.AreEqual(6087.03221, (torque * engineSpeed).Value(), 1e-3); - busAux.DoWriteModalResults(0.SI<Second>(), 1.SI<Second>(), modalData); + busAux.DoWriteModalResultsICE(0.SI<Second>(), 1.SI<Second>(), modalData); busAux.DoCommitSimulationStep(); } diff --git a/VectoCore/VectoCoreTest/Integration/CompletedBus/CompletedBusFactorMethodTest.cs b/VectoCore/VectoCoreTest/Integration/CompletedBus/CompletedBusFactorMethodTest.cs index 2972d47f22..e681d0cf44 100644 --- a/VectoCore/VectoCoreTest/Integration/CompletedBus/CompletedBusFactorMethodTest.cs +++ b/VectoCore/VectoCoreTest/Integration/CompletedBus/CompletedBusFactorMethodTest.cs @@ -527,8 +527,8 @@ namespace TUGraz.VectoCore.Tests.Integration.CompletedBus var specificElectric = relatedRun.VectoRunDataSpezificBody.BusAuxiliaries.ElectricalUserInputsConfig; - Assert.AreEqual(false, genericElectric.SmartElectrical); - Assert.AreEqual(genericElectric.SmartElectrical, specificElectric.SmartElectrical); + Assert.AreEqual(false, genericElectric.AlternatorType); + Assert.AreEqual(genericElectric.AlternatorType, specificElectric.AlternatorType); Assert.AreEqual(null, genericElectric.MaxAlternatorPower); Assert.AreEqual(genericElectric.MaxAlternatorPower, specificElectric.MaxAlternatorPower); diff --git a/VectoCore/VectoCoreTest/Models/EngineeringMode/EngineeringModeBusAuxTest.cs b/VectoCore/VectoCoreTest/Models/EngineeringMode/EngineeringModeBusAuxTest.cs index c9ba6a19f4..d42db2d001 100644 --- a/VectoCore/VectoCoreTest/Models/EngineeringMode/EngineeringModeBusAuxTest.cs +++ b/VectoCore/VectoCoreTest/Models/EngineeringMode/EngineeringModeBusAuxTest.cs @@ -32,6 +32,14 @@ namespace TUGraz.VectoCore.Tests.Models.EngineeringMode 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"; + const string JobFile_A = @"TestData\Hybrids\BusAuxEngineeringMode\InterurbanBus_ENG_BusAux_A.vecto"; + const string JobFile_B = @"TestData\Hybrids\BusAuxEngineeringMode\InterurbanBus_ENG_BusAux_B.vecto"; + const string JobFile_C1 = @"TestData\Hybrids\BusAuxEngineeringMode\InterurbanBus_ENG_BusAux_C1.vecto"; + const string JobFile_C2a = @"TestData\Hybrids\BusAuxEngineeringMode\InterurbanBus_ENG_BusAux_C2a.vecto"; + const string JobFile_C2b = @"TestData\Hybrids\BusAuxEngineeringMode\InterurbanBus_ENG_BusAux_C2b.vecto"; + const string JobFile_C3a = @"TestData\Hybrids\BusAuxEngineeringMode\InterurbanBus_ENG_BusAux_C3a.vecto"; + const string JobFile_C3b = @"TestData\Hybrids\BusAuxEngineeringMode\InterurbanBus_ENG_BusAux_C3b.vecto"; + [ TestCase(JobFile, 0, TestName = "InterurbanBus ENG BusAux NonSmart Interurban"), TestCase(JobFile, 1, TestName = "InterurbanBus ENG BusAux NonSmart Coach"), @@ -56,6 +64,15 @@ namespace TUGraz.VectoCore.Tests.Models.EngineeringMode 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"), + + TestCase(JobFile_A, 2, TestName = "InterurbanBus ENG BusAux A Urban"), + TestCase(JobFile_B, 2, TestName = "InterurbanBus ENG BusAux B Urban"), + TestCase(JobFile_C1, 2, TestName = "InterurbanBus ENG BusAux C1 Urban"), + TestCase(JobFile_C2a, 2, TestName = "InterurbanBus ENG BusAux C2a Urban"), + TestCase(JobFile_C2b, 2, TestName = "InterurbanBus ENG BusAux C2b Urban"), + TestCase(JobFile_C3a, 2, TestName = "InterurbanBus ENG BusAux C3a Urban"), + TestCase(JobFile_C3b, 2, TestName = "InterurbanBus ENG BusAux C3b Urban"), + ] public void InterurbanBus_BusAuxTest(string jobFile, int runIdx) { diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/250kW.vfld b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/250kW.vfld new file mode 100644 index 0000000000..ca060a2738 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/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/Hybrids/BusAuxEngineeringMode/250kW.vmap b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/250kW.vmap new file mode 100644 index 0000000000..8dfef1b96d --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/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/Hybrids/BusAuxEngineeringMode/Axle_Coach.vtlm b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/Axle_Coach.vtlm new file mode 100644 index 0000000000..45001b70aa --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/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/Hybrids/BusAuxEngineeringMode/BusAuxData_A.vaux b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/BusAuxData_A.vaux new file mode 100644 index 0000000000..451e0e22b4 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/BusAuxData_A.vaux @@ -0,0 +1,33 @@ +{ + "Header": { + "CreatedBy": "", + "Date": "2021-02-10T13:08:55.1643837Z", + "AppVersion": "3", + "FileVersion": 1 + }, + "Body": { + "PneumaticSystem": { + "CompressorMap": "DEFAULT_3-Cylinder_2-Stage_598ccm.acmp", + "AverageAirDemand": 0.7663, + "SmartAirCompression": false, + "GearRatio": 1.0 + }, + "ElectricSystem": { + "AlternatorEfficiency": 0.7, + "CurrentDemand": 54.181, + "CurrentDemandEngineOffDriving": 54.181, + "CurrentDemandEngineOffStandstill": 54.181, + "ElectricStorageCapacity": 0.0, + "MaxAlternatorPower": 10000.0, + "AlternatorType": "conventional", + "ESSupplyFromHEVREESS": false, + "DCDCConverterEfficiency": 1.0 + }, + "HVAC": { + "ElectricPowerDemand": 469.76, + "MechanicalPowerDemand": 181.28, + "AuxHeaterPower": 5000.0, + "AverageHeatingDemand": 11.2 + } + } +} \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/BusAuxData_B.vaux b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/BusAuxData_B.vaux new file mode 100644 index 0000000000..0133ea98fb --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/BusAuxData_B.vaux @@ -0,0 +1,33 @@ +{ + "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, + "ElectricStorageCapacity": 50, + "MaxAlternatorPower": 35000, + "AlternatorType": "smart", + "ESSupplyFromHEVREESS": false, + "DCDCConverterEfficiency": 1.0 + }, + "HVAC": { + "ElectricPowerDemand": 469.76, + "MechanicalPowerDemand": 181.28, + "AuxHeaterPower": 5000, + "AverageHeatingDemand": 0 + } + } +} \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/BusAuxData_C1.vaux b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/BusAuxData_C1.vaux new file mode 100644 index 0000000000..f0a810ce84 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/BusAuxData_C1.vaux @@ -0,0 +1,33 @@ +{ + "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, + "ElectricStorageCapacity": 50, + "MaxAlternatorPower": 35000, + "AlternatorType": "none", + "ESSupplyFromHEVREESS": true, + "DCDCConverterEfficiency": 0.95 + }, + "HVAC": { + "ElectricPowerDemand": 469.76, + "MechanicalPowerDemand": 181.28, + "AuxHeaterPower": 5000, + "AverageHeatingDemand": 0 + } + } +} \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/BusAuxData_C2a.vaux b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/BusAuxData_C2a.vaux new file mode 100644 index 0000000000..1a8fcdbe52 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/BusAuxData_C2a.vaux @@ -0,0 +1,33 @@ +{ + "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, + "ElectricStorageCapacity": 50, + "MaxAlternatorPower": 35000, + "AlternatorType": "conventional", + "ESSupplyFromHEVREESS": true, + "DCDCConverterEfficiency": 0.95 + }, + "HVAC": { + "ElectricPowerDemand": 469.76, + "MechanicalPowerDemand": 181.28, + "AuxHeaterPower": 5000, + "AverageHeatingDemand": 0 + } + } +} \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/BusAuxData_C2b.vaux b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/BusAuxData_C2b.vaux new file mode 100644 index 0000000000..48f2d8083e --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/BusAuxData_C2b.vaux @@ -0,0 +1,33 @@ +{ + "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, + "ElectricStorageCapacity": 50, + "MaxAlternatorPower": 35000, + "AlternatorType": "conventional", + "ESSupplyFromHEVREESS": false, + "DCDCConverterEfficiency": 1.0 + }, + "HVAC": { + "ElectricPowerDemand": 469.76, + "MechanicalPowerDemand": 181.28, + "AuxHeaterPower": 5000, + "AverageHeatingDemand": 0 + } + } +} \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/BusAuxData_C3a.vaux b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/BusAuxData_C3a.vaux new file mode 100644 index 0000000000..ce126abede --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/BusAuxData_C3a.vaux @@ -0,0 +1,33 @@ +{ + "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, + "ElectricStorageCapacity": 50, + "MaxAlternatorPower": 35000, + "AlternatorType": "smart", + "ESSupplyFromHEVREESS": true, + "DCDCConverterEfficiency": 0.95 + }, + "HVAC": { + "ElectricPowerDemand": 469.76, + "MechanicalPowerDemand": 181.28, + "AuxHeaterPower": 5000, + "AverageHeatingDemand": 0 + } + } +} \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/BusAuxData_C3b.vaux b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/BusAuxData_C3b.vaux new file mode 100644 index 0000000000..438fac1b73 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/BusAuxData_C3b.vaux @@ -0,0 +1,33 @@ +{ + "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, + "ElectricStorageCapacity": 50, + "MaxAlternatorPower": 35000, + "AlternatorType": "smart", + "ESSupplyFromHEVREESS": false, + "DCDCConverterEfficiency": 1.0 + }, + "HVAC": { + "ElectricPowerDemand": 469.76, + "MechanicalPowerDemand": 181.28, + "AuxHeaterPower": 5000, + "AverageHeatingDemand": 0 + } + } +} \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/DEFAULT_3-Cylinder_2-Stage_598ccm.ACMP b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/DEFAULT_3-Cylinder_2-Stage_598ccm.ACMP new file mode 100644 index 0000000000..024770c46f --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/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/Hybrids/BusAuxEngineeringMode/Default.vrlm b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/Default.vrlm new file mode 100644 index 0000000000..eb575b9997 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/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/Hybrids/BusAuxEngineeringMode/Driver.vacc b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/Driver.vacc new file mode 100644 index 0000000000..54e7786487 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/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/Hybrids/BusAuxEngineeringMode/Engine_250kW_7.7l.veng b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/Engine_250kW_7.7l.veng new file mode 100644 index 0000000000..b839a2c57b --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/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/Hybrids/BusAuxEngineeringMode/Gear_1.vtlm b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/Gear_1.vtlm new file mode 100644 index 0000000000..1a9b857161 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/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/Hybrids/BusAuxEngineeringMode/Gear_2.vtlm b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/Gear_2.vtlm new file mode 100644 index 0000000000..1a9b857161 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/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/Hybrids/BusAuxEngineeringMode/Gear_3.vtlm b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/Gear_3.vtlm new file mode 100644 index 0000000000..1a9b857161 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/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/Hybrids/BusAuxEngineeringMode/Gear_4.vtlm b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/Gear_4.vtlm new file mode 100644 index 0000000000..d7fc5d83ff --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/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/Hybrids/BusAuxEngineeringMode/Gear_5.vtlm b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/Gear_5.vtlm new file mode 100644 index 0000000000..1a9b857161 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/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/Hybrids/BusAuxEngineeringMode/Gear_6.vtlm b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/Gear_6.vtlm new file mode 100644 index 0000000000..1a9b857161 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/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/Hybrids/BusAuxEngineeringMode/GenericBat_3kWh.vbatr b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/GenericBat_3kWh.vbatr new file mode 100644 index 0000000000..5f2b3f68ae --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/GenericBat_3kWh.vbatr @@ -0,0 +1,3 @@ +SoC, Ri +0, 0.02 +100, 0.02 \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/GenericBat_3kWh.vbatv b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/GenericBat_3kWh.vbatv new file mode 100644 index 0000000000..4be3a8b48f --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/GenericBat_3kWh.vbatv @@ -0,0 +1,12 @@ +SOC, V +0, 590 +10, 614 +20, 626 +30, 634 +40, 638 +50, 640 +60, 640 +70, 642 +80, 646 +90, 650 +100, 658 \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/GenericBattery.vreess b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/GenericBattery.vreess new file mode 100644 index 0000000000..c29b1b424c --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/GenericBattery.vreess @@ -0,0 +1,18 @@ +{ + "Header": { + "CreatedBy": " ()", + "Date": "2016-10-13T08:54:28.7387223Z", + "AppVersion": "3", + "FileVersion": 1 + }, + "Body": { + "SavedInDeclMode": false, + "Model": "Generic Battery", + "SOC_min": 20, + "SOC_max": 80, + "Capacity": 7.5, + "InternalResistanceCurve": "GenericBat_3kWh.vbatr", + "MaxCurrentMap": "MaxCurrent.vimax", + "SoCCurve": "GenericBat_3kWh.vbatv" + } +} \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/GenericEM.vemd b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/GenericEM.vemd new file mode 100644 index 0000000000..41157c01c8 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/GenericEM.vemd @@ -0,0 +1,3 @@ +n [rpm] , T_drag [Nm] +0 , -5.6 +5000 , -28.1 \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/GenericEM_15KW_220Nm.vem b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/GenericEM_15KW_220Nm.vem new file mode 100644 index 0000000000..a960e797c1 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/GenericEM_15KW_220Nm.vem @@ -0,0 +1,20 @@ +{ + "Header": { + "CreatedBy": "", + "Date": "2021-01-18T16:23:20.3712200Z", + "AppVersion": "3", + "FileVersion": 1 + }, + "Body": { + "SavedInDeclMode": false, + "Model": "Generic 15kW_220Nm", + "FullLoadCurve": "GenericEM_15kW_220Nm.vemp", + "DragCurve": "GenericEM.vemd", + "EfficiencyMap": "GenericEM_32kW_450Nm.vemo", + "Inertia": 0.198, + "ContinuousPower": 15000.0, + "ContinuousPowerSpeed": 651.0, + "OverloadTime": 15.0, + "ThermalOverloadRecoveryFactor": 0.9 + } +} \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/GenericEM_15kW_220Nm.vemp b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/GenericEM_15kW_220Nm.vemp new file mode 100644 index 0000000000..249f3bb3b6 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/GenericEM_15kW_220Nm.vemp @@ -0,0 +1,75 @@ +n [rpm], T_drive [Nm], T_recuperation [Nm] +0,220,-440 +651.0884036,220,-440 +648.7012987,220,-440 +652.5974026,219.494,-438.988 +656.4935065,218.1905,-436.381 +660.3896104,216.9035,-433.807 +662.3376623,216.2655,-432.531 +681.8181818,210.0835,-420.167 +701.2987013,204.248,-408.496 +720.7792208,198.726,-397.452 +740.2597403,193.501,-387.002 +759.7402597,188.54,-377.08 +779.2207792,183.8265,-367.653 +798.7012987,179.3385,-358.677 +818.1818182,175.0705,-350.141 +837.6623377,171.0005,-342.001 +857.1428571,167.112,-334.224 +876.6233766,163.3995,-326.799 +896.1038961,159.8465,-319.693 +915.5844156,156.4475,-312.895 +935.0649351,153.186,-306.372 +954.5454545,150.062,-300.124 +974.025974,147.059,-294.118 +993.5064935,144.177,-288.354 +1012.987013,141.405,-282.81 +1032.467532,138.7375,-277.475 +1051.948052,136.1635,-272.327 +1071.428571,133.6885,-267.377 +1090.909091,131.3015,-262.603 +1110.38961,128.997,-257.994 +1129.87013,126.775,-253.55 +1149.350649,124.6245,-249.249 +1168.831169,122.551,-245.102 +1188.311688,120.538,-241.076 +1207.792208,118.5965,-237.193 +1227.272727,116.7155,-233.431 +1246.753247,114.8895,-229.779 +1266.233766,113.124,-226.248 +1285.714286,111.408,-222.816 +1305.194805,109.747,-219.494 +1324.675325,108.13,-216.26 +1344.155844,106.5625,-213.125 +1363.636364,105.0445,-210.089 +1383.116883,103.565,-207.13 +1402.597403,102.124,-204.248 +1422.077922,100.727,-201.454 +1441.558442,99.363,-198.726 +1461.038961,98.0375,-196.075 +1480.519481,96.7505,-193.501 +1500,95.491,-190.982 +1519.480519,94.27,-188.54 +1538.961039,93.0765,-186.153 +1558.441558,91.9105,-183.821 +1577.922078,90.7775,-181.555 +1597.402597,89.672,-179.344 +1616.883117,88.5885,-177.177 +1636.363636,87.5325,-175.065 +1655.844156,86.504,-173.008 +1675.324675,85.4975,-170.995 +1694.805195,84.5185,-169.037 +1714.285714,83.556,-167.112 +1733.766234,82.6155,-165.231 +1753.246753,81.697,-163.394 +1772.727273,80.8005,-161.601 +1792.207792,79.926,-159.852 +1811.688312,79.0625,-158.125 +1831.168831,78.221,-156.442 +1850.649351,77.4015,-154.803 +1870.12987,76.593,-153.186 +1889.61039,75.801,-151.602 +1909.090909,75.031,-150.062 +1928.571429,74.272,-148.544 +1948.051948,73.5295,-147.059 +4864.577923,29.44539927,-58.89079854 diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/GenericEM_32kW_450Nm.vemo b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/GenericEM_32kW_450Nm.vemo new file mode 100644 index 0000000000..d83549939c --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/GenericEM_32kW_450Nm.vemo @@ -0,0 +1,2016 @@ +n [rpm] , T [Nm] , P_el [kW] +0,-450,5.625657143 +0,-435.9375,5.298228573 +0,-421.875,4.980628573 +0,-407.8125,4.672742858 +0,-393.75,4.374742858 +0,-379.6875,4.086514285 +0,-365.625,3.808057143 +0,-351.5625,3.539428573 +0,-337.5,3.280571428 +0,-323.4375,3.031542858 +0,-309.375,2.792342858 +0,-295.3125,2.562914285 +0,-281.25,2.343257143 +0,-267.1875,2.133428573 +0,-253.125,1.933371428 +0,-239.0625,1.743142858 +0,-225,1.562742858 +0,-210.9375,1.392114285 +0,-196.875,1.231257143 +0,-182.8125,1.080228573 +0,-168.75,0.939028573 +0,-154.6875,0.8076 +0,-140.625,0.685942858 +0,-126.5625,0.574114285 +0,-112.5,0.472097143 +0,-98.4375,0.379874285 +0,-84.375,0.297445715 +0,-70.3125,0.224822858 +0,-56.25,0.161994285 +0,-42.1875,0.108971428 +0,-28.125,0.065748573 +0,-14.0625,0.032323428 +0,0,0.020628573 +0,14.0625,0.049702285 +0,28.125,0.088577143 +0,42.1875,0.137251428 +0,56.25,0.195725715 +0,70.3125,0.264 +0,84.375,0.34208 +0,98.4375,0.429954285 +0,112.5,0.527628573 +0,126.5625,0.635085715 +0,140.625,0.7524 +0,154.6875,0.879485715 +0,168.75,1.016342858 +0,182.8125,1.163028573 +0,196.875,1.319485715 +0,210.9375,1.485771428 +0,225,1.661885715 +0,239.0625,1.847771428 +0,253.125,2.043428573 +0,267.1875,2.248914285 +0,281.25,2.464171428 +0,295.3125,2.689257143 +0,309.375,2.924171428 +0,323.4375,3.168857143 +0,337.5,3.423314285 +0,351.5625,3.6876 +0,365.625,3.961714285 +0,379.6875,4.2456 +0,393.75,4.539257143 +0,407.8125,4.842742858 +0,421.875,5.156057143 +0,435.9375,5.479142858 +0,450,5.812 +46.50584415,-450,3.335257143 +46.50584415,-435.9375,3.080057143 +46.50584415,-421.875,2.834628573 +46.50584415,-407.8125,2.598971428 +46.50584415,-393.75,2.373142858 +46.50584415,-379.6875,2.157142858 +46.50584415,-365.625,1.950914285 +46.50584415,-351.5625,1.754514285 +46.50584415,-337.5,1.567885715 +46.50584415,-323.4375,1.391085715 +46.50584415,-309.375,1.224057143 +46.50584415,-295.3125,1.0668 +46.50584415,-281.25,0.919428573 +46.50584415,-267.1875,0.781771428 +46.50584415,-253.125,0.654 +46.50584415,-239.0625,0.53596 +46.50584415,-225,0.427742858 +46.50584415,-210.9375,0.32988 +46.50584415,-196.875,0.242057143 +46.50584415,-182.8125,0.164377143 +46.50584415,-168.75,0.096302858 +46.50584415,-154.6875,0.037838285 +46.50584415,-140.625,-0.011020573 +46.50584415,-126.5625,-0.050273715 +46.50584415,-112.5,-0.07992 +46.50584415,-98.4375,-0.09996 +46.50584415,-84.375,-0.110394285 +46.50584415,-70.3125,-0.111222858 +46.50584415,-56.25,-0.10244 +46.50584415,-42.1875,-0.084057143 +46.50584415,-28.125,-0.056062858 +46.50584415,-14.0625,-0.018464573 +46.50584415,0,0.0414 +46.50584415,14.0625,0.142691428 +46.50584415,28.125,0.253777143 +46.50584415,42.1875,0.374668573 +46.50584415,56.25,0.505354285 +46.50584415,70.3125,0.645828573 +46.50584415,84.375,0.796114285 +46.50584415,98.4375,0.956228573 +46.50584415,112.5,1.126114285 +46.50584415,126.5625,1.305828573 +46.50584415,140.625,1.495314285 +46.50584415,154.6875,1.694571428 +46.50584415,168.75,1.903714285 +46.50584415,182.8125,2.122571428 +46.50584415,196.875,2.351257143 +46.50584415,210.9375,2.589771428 +46.50584415,225,2.838057143 +46.50584415,239.0625,3.096171428 +46.50584415,253.125,3.364057143 +46.50584415,267.1875,3.641771428 +46.50584415,281.25,3.929257143 +46.50584415,295.3125,4.226571428 +46.50584415,309.375,4.533657143 +46.50584415,323.4375,4.850571428 +46.50584415,337.5,5.177257143 +46.50584415,351.5625,5.513771428 +46.50584415,365.625,5.86 +46.50584415,379.6875,6.216 +46.50584415,393.75,6.582285715 +46.50584415,407.8125,6.957714285 +46.50584415,421.875,7.343428573 +46.50584415,435.9375,7.738285715 +46.50584415,450,8.143428573 +93.01266235,-450,1.045885715 +93.01266235,-435.9375,0.862914285 +93.01266235,-421.875,0.69 +93.01266235,-407.8125,0.528325715 +93.01266235,-393.75,0.377337143 +93.01266235,-379.6875,0.235954285 +93.01266235,-365.625,0.104177143 +93.01266235,-351.5625,-0.017996 +93.01266235,-337.5,-0.13056 +93.01266235,-323.4375,-0.23352 +93.01266235,-309.375,-0.326868573 +93.01266235,-295.3125,-0.410617143 +93.01266235,-281.25,-0.484754285 +93.01266235,-267.1875,-0.549285715 +93.01266235,-253.125,-0.604228573 +93.01266235,-239.0625,-0.649542858 +93.01266235,-225,-0.685257143 +93.01266235,-210.9375,-0.711371428 +93.01266235,-196.875,-0.727828573 +93.01266235,-182.8125,-0.734742858 +93.01266235,-168.75,-0.732057143 +93.01266235,-154.6875,-0.719714285 +93.01266235,-140.625,-0.697771428 +93.01266235,-126.5625,-0.666228573 +93.01266235,-112.5,-0.625085715 +93.01266235,-98.4375,-0.574342858 +93.01266235,-84.375,-0.514017143 +93.01266235,-70.3125,-0.444057143 +93.01266235,-56.25,-0.364497143 +93.01266235,-42.1875,-0.275325715 +93.01266235,-28.125,-0.176548573 +93.01266235,-14.0625,-0.068165715 +93.01266235,0,0.063228573 +93.01266235,14.0625,0.236731428 +93.01266235,28.125,0.42004 +93.01266235,42.1875,0.613142858 +93.01266235,56.25,0.816057143 +93.01266235,70.3125,1.028742858 +93.01266235,84.375,1.251257143 +93.01266235,98.4375,1.483542858 +93.01266235,112.5,1.725657143 +93.01266235,126.5625,1.9776 +93.01266235,140.625,2.239314285 +93.01266235,154.6875,2.5108 +93.01266235,168.75,2.792114285 +93.01266235,182.8125,3.0832 +93.01266235,196.875,3.384114285 +93.01266235,210.9375,3.694857143 +93.01266235,225,4.015371428 +93.01266235,239.0625,4.345657143 +93.01266235,253.125,4.685771428 +93.01266235,267.1875,5.035657143 +93.01266235,281.25,5.395371428 +93.01266235,295.3125,5.765142858 +93.01266235,309.375,6.144 +93.01266235,323.4375,6.533142858 +93.01266235,337.5,6.932 +93.01266235,351.5625,7.341142858 +93.01266235,365.625,7.759428573 +93.01266235,379.6875,8.188 +93.01266235,393.75,8.625714285 +93.01266235,407.8125,9.073714285 +93.01266235,421.875,9.531428573 +93.01266235,435.9375,9.998857143 +93.01266235,450,10.47657143 +139.5194805,-450,-1.204057143 +139.5194805,-435.9375,-1.313085715 +139.5194805,-421.875,-1.412514285 +139.5194805,-407.8125,-1.502285715 +139.5194805,-393.75,-1.582514285 +139.5194805,-379.6875,-1.653085715 +139.5194805,-365.625,-1.714114285 +139.5194805,-351.5625,-1.765485715 +139.5194805,-337.5,-1.807257143 +139.5194805,-323.4375,-1.839428573 +139.5194805,-309.375,-1.862 +139.5194805,-295.3125,-1.874971428 +139.5194805,-281.25,-1.878342858 +139.5194805,-267.1875,-1.872057143 +139.5194805,-253.125,-1.856228573 +139.5194805,-239.0625,-1.830742858 +139.5194805,-225,-1.795657143 +139.5194805,-210.9375,-1.750971428 +139.5194805,-196.875,-1.696685715 +139.5194805,-182.8125,-1.6328 +139.5194805,-168.75,-1.559314285 +139.5194805,-154.6875,-1.476228573 +139.5194805,-140.625,-1.383485715 +139.5194805,-126.5625,-1.2812 +139.5194805,-112.5,-1.169257143 +139.5194805,-98.4375,-1.047714285 +139.5194805,-84.375,-0.916571428 +139.5194805,-70.3125,-0.775828573 +139.5194805,-56.25,-0.625485715 +139.5194805,-42.1875,-0.465548573 +139.5194805,-28.125,-0.295988573 +139.5194805,-14.0625,-0.116822858 +139.5194805,0,0.086125715 +139.5194805,14.0625,0.33184 +139.5194805,28.125,0.587371428 +139.5194805,42.1875,0.852685715 +139.5194805,56.25,1.127828573 +139.5194805,70.3125,1.412742858 +139.5194805,84.375,1.707428573 +139.5194805,98.4375,2.011942858 +139.5194805,112.5,2.326285715 +139.5194805,126.5625,2.6504 +139.5194805,140.625,2.984342858 +139.5194805,154.6875,3.328057143 +139.5194805,168.75,3.6816 +139.5194805,182.8125,4.044914285 +139.5194805,196.875,4.418 +139.5194805,210.9375,4.800971428 +139.5194805,225,5.193657143 +139.5194805,239.0625,5.596228573 +139.5194805,253.125,6.008571428 +139.5194805,267.1875,6.430857143 +139.5194805,281.25,6.862857143 +139.5194805,295.3125,7.304571428 +139.5194805,309.375,7.756 +139.5194805,323.4375,8.217142858 +139.5194805,337.5,8.688571428 +139.5194805,351.5625,9.169142858 +139.5194805,365.625,9.66 +139.5194805,379.6875,10.16057143 +139.5194805,393.75,10.67085714 +139.5194805,407.8125,11.19085714 +139.5194805,421.875,11.72114286 +139.5194805,435.9375,12.26057143 +139.5194805,450,12.81028572 +186.0292208,-450,-3.446 +186.0292208,-435.9375,-3.484228573 +186.0292208,-421.875,-3.512857143 +186.0292208,-407.8125,-3.531885715 +186.0292208,-393.75,-3.541314285 +186.0292208,-379.6875,-3.541142858 +186.0292208,-365.625,-3.531371428 +186.0292208,-351.5625,-3.511942858 +186.0292208,-337.5,-3.482914285 +186.0292208,-323.4375,-3.444342858 +186.0292208,-309.375,-3.396114285 +186.0292208,-295.3125,-3.338285715 +186.0292208,-281.25,-3.270857143 +186.0292208,-267.1875,-3.193828573 +186.0292208,-253.125,-3.1072 +186.0292208,-239.0625,-3.010914285 +186.0292208,-225,-2.905085715 +186.0292208,-210.9375,-2.7896 +186.0292208,-196.875,-2.664514285 +186.0292208,-182.8125,-2.529828573 +186.0292208,-168.75,-2.3856 +186.0292208,-154.6875,-2.231657143 +186.0292208,-140.625,-2.068171428 +186.0292208,-126.5625,-1.895085715 +186.0292208,-112.5,-1.7124 +186.0292208,-98.4375,-1.520057143 +186.0292208,-84.375,-1.318114285 +186.0292208,-70.3125,-1.106628573 +186.0292208,-56.25,-0.885485715 +186.0292208,-42.1875,-0.654742858 +186.0292208,-28.125,-0.414394285 +186.0292208,-14.0625,-0.16444 +186.0292208,0,0.11008 +186.0292208,14.0625,0.428011428 +186.0292208,28.125,0.755771428 +186.0292208,42.1875,1.093257143 +186.0292208,56.25,1.440628573 +186.0292208,70.3125,1.797771428 +186.0292208,84.375,2.164685715 +186.0292208,98.4375,2.541428573 +186.0292208,112.5,2.927942858 +186.0292208,126.5625,3.324285715 +186.0292208,140.625,3.730457143 +186.0292208,154.6875,4.146342858 +186.0292208,168.75,4.572114285 +186.0292208,182.8125,5.007657143 +186.0292208,196.875,5.452971428 +186.0292208,210.9375,5.908 +186.0292208,225,6.373142858 +186.0292208,239.0625,6.848 +186.0292208,253.125,7.332571428 +186.0292208,267.1875,7.826857143 +186.0292208,281.25,8.330857143 +186.0292208,295.3125,8.844571428 +186.0292208,309.375,9.368571428 +186.0292208,323.4375,9.902285715 +186.0292208,337.5,10.44514286 +186.0292208,351.5625,10.99828572 +186.0292208,365.625,11.56171429 +186.0292208,379.6875,12.13428572 +186.0292208,393.75,12.71657143 +186.0292208,407.8125,13.30914286 +186.0292208,421.875,13.91142857 +186.0292208,435.9375,14.52342857 +186.0292208,450,15.14514286 +232.5292208,-450,-5.686914285 +232.5292208,-435.9375,-5.654342858 +232.5292208,-421.875,-5.612228573 +232.5292208,-407.8125,-5.560457143 +232.5292208,-393.75,-5.499085715 +232.5292208,-379.6875,-5.428114285 +232.5292208,-365.625,-5.347542858 +232.5292208,-351.5625,-5.257371428 +232.5292208,-337.5,-5.1576 +232.5292208,-323.4375,-5.048171428 +232.5292208,-309.375,-4.929142858 +232.5292208,-295.3125,-4.800571428 +232.5292208,-281.25,-4.662342858 +232.5292208,-267.1875,-4.514514285 +232.5292208,-253.125,-4.357085715 +232.5292208,-239.0625,-4.190057143 +232.5292208,-225,-4.013428573 +232.5292208,-210.9375,-3.827142858 +232.5292208,-196.875,-3.631314285 +232.5292208,-182.8125,-3.425828573 +232.5292208,-168.75,-3.2108 +232.5292208,-154.6875,-2.986114285 +232.5292208,-140.625,-2.751828573 +232.5292208,-126.5625,-2.507942858 +232.5292208,-112.5,-2.254457143 +232.5292208,-98.4375,-1.991371428 +232.5292208,-84.375,-1.718628573 +232.5292208,-70.3125,-1.436342858 +232.5292208,-56.25,-1.1444 +232.5292208,-42.1875,-0.842857143 +232.5292208,-28.125,-0.531754285 +232.5292208,-14.0625,-0.211017143 +232.5292208,0,0.135091428 +232.5292208,14.0625,0.52524 +232.5292208,28.125,0.9252 +232.5292208,42.1875,1.334914285 +232.5292208,56.25,1.754514285 +232.5292208,70.3125,2.183828573 +232.5292208,84.375,2.622971428 +232.5292208,98.4375,3.071942858 +232.5292208,112.5,3.530685715 +232.5292208,126.5625,3.999257143 +232.5292208,140.625,4.4776 +232.5292208,154.6875,4.965771428 +232.5292208,168.75,5.463714285 +232.5292208,182.8125,5.971428573 +232.5292208,196.875,6.489142858 +232.5292208,210.9375,7.016571428 +232.5292208,225,7.553714285 +232.5292208,239.0625,8.100571428 +232.5292208,253.125,8.657142858 +232.5292208,267.1875,9.224 +232.5292208,281.25,9.8 +232.5292208,295.3125,10.38628572 +232.5292208,309.375,10.98228572 +232.5292208,323.4375,11.588 +232.5292208,337.5,12.20342857 +232.5292208,351.5625,12.82914286 +232.5292208,365.625,13.464 +232.5292208,379.6875,14.10914286 +232.5292208,393.75,14.764 +232.5292208,407.8125,15.42857143 +232.5292208,421.875,16.10285714 +232.5292208,435.9375,16.78685714 +232.5292208,450,17.48114286 +279.038961,-450,-7.926857143 +279.038961,-435.9375,-7.823428573 +279.038961,-421.875,-7.710285715 +279.038961,-407.8125,-7.588 +279.038961,-393.75,-7.456 +279.038961,-379.6875,-7.314285715 +279.038961,-365.625,-7.162857143 +279.038961,-351.5625,-7.001714285 +279.038961,-337.5,-6.831428573 +279.038961,-323.4375,-6.650857143 +279.038961,-309.375,-6.461142858 +279.038961,-295.3125,-6.261714285 +279.038961,-281.25,-6.052571428 +279.038961,-267.1875,-5.834285715 +279.038961,-253.125,-5.606 +279.038961,-239.0625,-5.368171428 +279.038961,-225,-5.120742858 +279.038961,-210.9375,-4.863714285 +279.038961,-196.875,-4.597028573 +279.038961,-182.8125,-4.3208 +279.038961,-168.75,-4.034971428 +279.038961,-154.6875,-3.739485715 +279.038961,-140.625,-3.434457143 +279.038961,-126.5625,-3.119771428 +279.038961,-112.5,-2.795485715 +279.038961,-98.4375,-2.4616 +279.038961,-84.375,-2.118114285 +279.038961,-70.3125,-1.765028573 +279.038961,-56.25,-1.402285715 +279.038961,-42.1875,-1.03 +279.038961,-28.125,-0.648057143 +279.038961,-14.0625,-0.256548573 +279.038961,0,0.161171428 +279.038961,14.0625,0.623542858 +279.038961,28.125,1.095714285 +279.038961,42.1875,1.577657143 +279.038961,56.25,2.069428573 +279.038961,70.3125,2.570971428 +279.038961,84.375,3.082342858 +279.038961,98.4375,3.603542858 +279.038961,112.5,4.134514285 +279.038961,126.5625,4.675257143 +279.038961,140.625,5.225828573 +279.038961,154.6875,5.786285715 +279.038961,168.75,6.356571428 +279.038961,182.8125,6.936571428 +279.038961,196.875,7.526285715 +279.038961,210.9375,8.125714285 +279.038961,225,8.734857143 +279.038961,239.0625,9.354285715 +279.038961,253.125,9.983428573 +279.038961,267.1875,10.62171429 +279.038961,281.25,11.27028572 +279.038961,295.3125,11.92914286 +279.038961,309.375,12.59714286 +279.038961,323.4375,13.27485714 +279.038961,337.5,13.96285714 +279.038961,351.5625,14.66057143 +279.038961,365.625,15.368 +279.038961,379.6875,16.08514286 +279.038961,393.75,16.812 +279.038961,407.8125,17.54857143 +279.038961,421.875,18.29542857 +279.038961,435.9375,19.05142857 +279.038961,450,19.81771429 +325.5487013,-450,-10.16571429 +325.5487013,-435.9375,-9.991428573 +325.5487013,-421.875,-9.808 +325.5487013,-407.8125,-9.614285715 +325.5487013,-393.75,-9.411428573 +325.5487013,-379.6875,-9.198857143 +325.5487013,-365.625,-8.976571428 +325.5487013,-351.5625,-8.745142858 +325.5487013,-337.5,-8.503428573 +325.5487013,-323.4375,-8.252571428 +325.5487013,-309.375,-7.992 +325.5487013,-295.3125,-7.721714285 +325.5487013,-281.25,-7.442285715 +325.5487013,-267.1875,-7.152571428 +325.5487013,-253.125,-6.853714285 +325.5487013,-239.0625,-6.545142858 +325.5487013,-225,-6.226857143 +325.5487013,-210.9375,-5.899428573 +325.5487013,-196.875,-5.561771428 +325.5487013,-182.8125,-5.214742858 +325.5487013,-168.75,-4.858057143 +325.5487013,-154.6875,-4.491828573 +325.5487013,-140.625,-4.116 +325.5487013,-126.5625,-3.730514285 +325.5487013,-112.5,-3.335485715 +325.5487013,-98.4375,-2.9308 +325.5487013,-84.375,-2.516514285 +325.5487013,-70.3125,-2.092628573 +325.5487013,-56.25,-1.659142858 +325.5487013,-42.1875,-1.216057143 +325.5487013,-28.125,-0.763371428 +325.5487013,-14.0625,-0.301045715 +325.5487013,0,0.188308573 +325.5487013,14.0625,0.722914285 +325.5487013,28.125,1.267257143 +325.5487013,42.1875,1.821428573 +325.5487013,56.25,2.385428573 +325.5487013,70.3125,2.9592 +325.5487013,84.375,3.5428 +325.5487013,98.4375,4.136171428 +325.5487013,112.5,4.739371428 +325.5487013,126.5625,5.352342858 +325.5487013,140.625,5.974857143 +325.5487013,154.6875,6.607428573 +325.5487013,168.75,7.250285715 +325.5487013,182.8125,7.902285715 +325.5487013,196.875,8.564 +325.5487013,210.9375,9.236 +325.5487013,225,9.917714285 +325.5487013,239.0625,10.60914286 +325.5487013,253.125,11.31028572 +325.5487013,267.1875,12.02114286 +325.5487013,281.25,12.74171429 +325.5487013,295.3125,13.47257143 +325.5487013,309.375,14.21314286 +325.5487013,323.4375,14.96285714 +325.5487013,337.5,15.72285714 +325.5487013,351.5625,16.49314286 +325.5487013,365.625,17.27257143 +325.5487013,379.6875,18.06171429 +325.5487013,393.75,18.86114286 +325.5487013,407.8125,19.67028572 +325.5487013,421.875,20.48914286 +325.5487013,435.9375,21.31771429 +325.5487013,450,22.156 +372.0487013,-450,-12.40342857 +372.0487013,-435.9375,-12.15828572 +372.0487013,-421.875,-11.904 +372.0487013,-407.8125,-11.64 +372.0487013,-393.75,-11.36628572 +372.0487013,-379.6875,-11.08285714 +372.0487013,-365.625,-10.78971429 +372.0487013,-351.5625,-10.48742857 +372.0487013,-337.5,-10.17542857 +372.0487013,-323.4375,-9.853714285 +372.0487013,-309.375,-9.522285715 +372.0487013,-295.3125,-9.181142858 +372.0487013,-281.25,-8.830857143 +372.0487013,-267.1875,-8.470285715 +372.0487013,-253.125,-8.100571428 +372.0487013,-239.0625,-7.721142858 +372.0487013,-225,-7.332 +372.0487013,-210.9375,-6.933714285 +372.0487013,-196.875,-6.525142858 +372.0487013,-182.8125,-6.107428573 +372.0487013,-168.75,-5.680171428 +372.0487013,-154.6875,-5.243142858 +372.0487013,-140.625,-4.796514285 +372.0487013,-126.5625,-4.340285715 +372.0487013,-112.5,-3.8744 +372.0487013,-98.4375,-3.398971428 +372.0487013,-84.375,-2.913885715 +372.0487013,-70.3125,-2.419257143 +372.0487013,-56.25,-1.914971428 +372.0487013,-42.1875,-1.401085715 +372.0487013,-28.125,-0.8776 +372.0487013,-14.0625,-0.344502858 +372.0487013,0,0.216508573 +372.0487013,14.0625,0.823314285 +372.0487013,28.125,1.439885715 +372.0487013,42.1875,2.066285715 +372.0487013,56.25,2.702457143 +372.0487013,70.3125,3.348457143 +372.0487013,84.375,4.004285715 +372.0487013,98.4375,4.669885715 +372.0487013,112.5,5.345257143 +372.0487013,126.5625,6.030285715 +372.0487013,140.625,6.725714285 +372.0487013,154.6875,7.430285715 +372.0487013,168.75,8.145142858 +372.0487013,182.8125,8.869142858 +372.0487013,196.875,9.603428573 +372.0487013,210.9375,10.34742857 +372.0487013,225,11.10114286 +372.0487013,239.0625,11.86514286 +372.0487013,253.125,12.63828572 +372.0487013,267.1875,13.42171429 +372.0487013,281.25,14.21428572 +372.0487013,295.3125,15.01714286 +372.0487013,309.375,15.82971429 +372.0487013,323.4375,16.652 +372.0487013,337.5,17.48457143 +372.0487013,351.5625,18.32628572 +372.0487013,365.625,19.17828572 +372.0487013,379.6875,20.04 +372.0487013,393.75,20.91142857 +372.0487013,407.8125,21.79257143 +372.0487013,421.875,22.68342857 +372.0487013,435.9375,23.58457143 +372.0487013,450,24.49485714 +418.5584415,-450,-14.64 +418.5584415,-435.9375,-14.32457143 +418.5584415,-421.875,-13.99942857 +418.5584415,-407.8125,-13.664 +418.5584415,-393.75,-13.32 +418.5584415,-379.6875,-12.96571429 +418.5584415,-365.625,-12.60171429 +418.5584415,-351.5625,-12.22857143 +418.5584415,-337.5,-11.84571429 +418.5584415,-323.4375,-11.45314286 +418.5584415,-309.375,-11.05085714 +418.5584415,-295.3125,-10.63942857 +418.5584415,-281.25,-10.21771429 +418.5584415,-267.1875,-9.786857143 +418.5584415,-253.125,-9.346285715 +418.5584415,-239.0625,-8.896 +418.5584415,-225,-8.436571428 +418.5584415,-210.9375,-7.966857143 +418.5584415,-196.875,-7.488 +418.5584415,-182.8125,-6.999428573 +418.5584415,-168.75,-6.501142858 +418.5584415,-154.6875,-5.993142858 +418.5584415,-140.625,-5.476 +418.5584415,-126.5625,-4.948971428 +418.5584415,-112.5,-4.412342858 +418.5584415,-98.4375,-3.866114285 +418.5584415,-84.375,-3.310228573 +418.5584415,-70.3125,-2.7448 +418.5584415,-56.25,-2.169714285 +418.5584415,-42.1875,-1.585085715 +418.5584415,-28.125,-0.9908 +418.5584415,-14.0625,-0.38692 +418.5584415,0,0.245771428 +418.5584415,14.0625,0.9248 +418.5584415,28.125,1.6136 +418.5584415,42.1875,2.312171428 +418.5584415,56.25,3.020628573 +418.5584415,70.3125,3.7388 +418.5584415,84.375,4.4668 +418.5584415,98.4375,5.204628573 +418.5584415,112.5,5.952 +418.5584415,126.5625,6.709714285 +418.5584415,140.625,7.477142858 +418.5584415,154.6875,8.253714285 +418.5584415,168.75,9.040571428 +418.5584415,182.8125,9.837142858 +418.5584415,196.875,10.644 +418.5584415,210.9375,11.46 +418.5584415,225,12.28571429 +418.5584415,239.0625,13.12171429 +418.5584415,253.125,13.96742857 +418.5584415,267.1875,14.82285714 +418.5584415,281.25,15.688 +418.5584415,295.3125,16.56285714 +418.5584415,309.375,17.448 +418.5584415,323.4375,18.34228572 +418.5584415,337.5,19.24685714 +418.5584415,351.5625,20.16114286 +418.5584415,365.625,21.08514286 +418.5584415,379.6875,22.01885714 +418.5584415,393.75,22.96285714 +418.5584415,407.8125,23.916 +418.5584415,421.875,24.87942857 +418.5584415,435.9375,25.852 +418.5584415,450,26.83485715 +465.0584415,-450,-16.876 +465.0584415,-435.9375,-16.48914286 +465.0584415,-421.875,-16.09314286 +465.0584415,-407.8125,-15.68742857 +465.0584415,-393.75,-15.27257143 +465.0584415,-379.6875,-14.84742857 +465.0584415,-365.625,-14.41314286 +465.0584415,-351.5625,-13.96857143 +465.0584415,-337.5,-13.51485714 +465.0584415,-323.4375,-13.052 +465.0584415,-309.375,-12.57885714 +465.0584415,-295.3125,-12.09657143 +465.0584415,-281.25,-11.604 +465.0584415,-267.1875,-11.10228572 +465.0584415,-253.125,-10.59085714 +465.0584415,-239.0625,-10.07028572 +465.0584415,-225,-9.539428573 +465.0584415,-210.9375,-8.999428573 +465.0584415,-196.875,-8.449714285 +465.0584415,-182.8125,-7.890285715 +465.0584415,-168.75,-7.321142858 +465.0584415,-154.6875,-6.742857143 +465.0584415,-140.625,-6.154285715 +465.0584415,-126.5625,-5.556628573 +465.0584415,-112.5,-4.9492 +465.0584415,-98.4375,-4.332171428 +465.0584415,-84.375,-3.705542858 +465.0584415,-70.3125,-3.069314285 +465.0584415,-56.25,-2.423485715 +465.0584415,-42.1875,-1.768 +465.0584415,-28.125,-1.102971428 +465.0584415,-14.0625,-0.428291428 +465.0584415,0,0.276097143 +465.0584415,14.0625,1.027314285 +465.0584415,28.125,1.788342858 +465.0584415,42.1875,2.559142858 +465.0584415,56.25,3.339771428 +465.0584415,70.3125,4.130228573 +465.0584415,84.375,4.930457143 +465.0584415,98.4375,5.740571428 +465.0584415,112.5,6.560571428 +465.0584415,126.5625,7.389714285 +465.0584415,140.625,8.229142858 +465.0584415,154.6875,9.078857143 +465.0584415,168.75,9.937714285 +465.0584415,182.8125,10.80628572 +465.0584415,196.875,11.68514286 +465.0584415,210.9375,12.57371429 +465.0584415,225,13.472 +465.0584415,239.0625,14.38 +465.0584415,253.125,15.29771429 +465.0584415,267.1875,16.22514286 +465.0584415,281.25,17.16285714 +465.0584415,295.3125,18.10971429 +465.0584415,309.375,19.06685714 +465.0584415,323.4375,20.03371429 +465.0584415,337.5,21.01028572 +465.0584415,351.5625,21.99657143 +465.0584415,365.625,22.99314286 +465.0584415,379.6875,23.99885714 +465.0584415,393.75,25.01485715 +465.0584415,407.8125,26.04057143 +465.0584415,421.875,27.076 +465.0584415,435.9375,28.12114285 +465.0584415,450,29.176 +511.5681818,-450,-19.11028572 +511.5681818,-435.9375,-18.65314286 +511.5681818,-421.875,-18.18628572 +511.5681818,-407.8125,-17.70971429 +511.5681818,-393.75,-17.224 +511.5681818,-379.6875,-16.728 +511.5681818,-365.625,-16.22285714 +511.5681818,-351.5625,-15.708 +511.5681818,-337.5,-15.18342857 +511.5681818,-323.4375,-14.64914286 +511.5681818,-309.375,-14.10571429 +511.5681818,-295.3125,-13.55257143 +511.5681818,-281.25,-12.98971429 +511.5681818,-267.1875,-12.41714286 +511.5681818,-253.125,-11.83485714 +511.5681818,-239.0625,-11.24285714 +511.5681818,-225,-10.64171429 +511.5681818,-210.9375,-10.03085714 +511.5681818,-196.875,-9.410285715 +511.5681818,-182.8125,-8.78 +511.5681818,-168.75,-8.14 +511.5681818,-154.6875,-7.490857143 +511.5681818,-140.625,-6.832 +511.5681818,-126.5625,-6.163428573 +511.5681818,-112.5,-5.485028573 +511.5681818,-98.4375,-4.7972 +511.5681818,-84.375,-4.099828573 +511.5681818,-70.3125,-3.3928 +511.5681818,-56.25,-2.676171428 +511.5681818,-42.1875,-1.949942858 +511.5681818,-28.125,-1.214057143 +511.5681818,-14.0625,-0.468622858 +511.5681818,0,0.30748 +511.5681818,14.0625,1.130914285 +511.5681818,28.125,1.964171428 +511.5681818,42.1875,2.8072 +511.5681818,56.25,3.660057143 +511.5681818,70.3125,4.522685715 +511.5681818,84.375,5.395085715 +511.5681818,98.4375,6.277142858 +511.5681818,112.5,7.169142858 +511.5681818,126.5625,8.071428573 +511.5681818,140.625,8.982857143 +511.5681818,154.6875,9.904571428 +511.5681818,168.75,10.83542857 +511.5681818,182.8125,11.77657143 +511.5681818,196.875,12.72742857 +511.5681818,210.9375,13.688 +511.5681818,225,14.65828572 +511.5681818,239.0625,15.63885714 +511.5681818,253.125,16.62857143 +511.5681818,267.1875,17.62857143 +511.5681818,281.25,18.63828572 +511.5681818,295.3125,19.65771429 +511.5681818,309.375,20.68685714 +511.5681818,323.4375,21.72628572 +511.5681818,337.5,22.77485714 +511.5681818,351.5625,23.83371429 +511.5681818,365.625,24.90228572 +511.5681818,379.6875,25.98 +511.5681818,393.75,27.06857143 +511.5681818,407.8125,28.16628573 +511.5681818,421.875,29.27371428 +511.5681818,435.9375,30.39142858 +511.5681818,450,31.51828573 +558.077922,-450,-21.344 +558.077922,-435.9375,-20.816 +558.077922,-421.875,-20.27828572 +558.077922,-407.8125,-19.73142857 +558.077922,-393.75,-19.17428572 +558.077922,-379.6875,-18.608 +558.077922,-365.625,-18.032 +558.077922,-351.5625,-17.44628572 +558.077922,-337.5,-16.85085714 +558.077922,-323.4375,-16.24571429 +558.077922,-309.375,-15.63142857 +558.077922,-295.3125,-15.00742857 +558.077922,-281.25,-14.37371429 +558.077922,-267.1875,-13.73028572 +558.077922,-253.125,-13.07714286 +558.077922,-239.0625,-12.41485714 +558.077922,-225,-11.74285714 +558.077922,-210.9375,-11.06114286 +558.077922,-196.875,-10.36971429 +558.077922,-182.8125,-9.668571428 +558.077922,-168.75,-8.958285715 +558.077922,-154.6875,-8.237714285 +558.077922,-140.625,-7.508 +558.077922,-126.5625,-6.768571428 +558.077922,-112.5,-6.02 +558.077922,-98.4375,-5.2612 +558.077922,-84.375,-4.493028573 +558.077922,-70.3125,-3.7152 +558.077922,-56.25,-2.927771428 +558.077922,-42.1875,-2.1308 +558.077922,-28.125,-1.324171428 +558.077922,-14.0625,-0.50792 +558.077922,0,0.339925715 +558.077922,14.0625,1.2356 +558.077922,28.125,2.141028573 +558.077922,42.1875,3.056285715 +558.077922,56.25,3.981314285 +558.077922,70.3125,4.916171428 +558.077922,84.375,5.860571428 +558.077922,98.4375,6.815428573 +558.077922,112.5,7.779428573 +558.077922,126.5625,8.753714285 +558.077922,140.625,9.737714285 +558.077922,154.6875,10.73085714 +558.077922,168.75,11.73485714 +558.077922,182.8125,12.748 +558.077922,196.875,13.77085714 +558.077922,210.9375,14.804 +558.077922,225,15.84628572 +558.077922,239.0625,16.89885714 +558.077922,253.125,17.96114286 +558.077922,267.1875,19.03314286 +558.077922,281.25,20.11485714 +558.077922,295.3125,21.20685714 +558.077922,309.375,22.308 +558.077922,323.4375,23.41942857 +558.077922,337.5,24.54057143 +558.077922,351.5625,25.67142858 +558.077922,365.625,26.812 +558.077922,379.6875,27.96228573 +558.077922,393.75,29.12285715 +558.077922,407.8125,30.29257143 +558.077922,421.875,31.47257143 +558.077922,435.9375,32.66228573 +558.077922,450,33.86171428 +930.1266235,-450,-39.17542858 +930.1266235,-435.9375,-38.08114285 +930.1266235,-421.875,-36.97771428 +930.1266235,-407.8125,-35.864 +930.1266235,-393.75,-34.74057143 +930.1266235,-379.6875,-33.608 +930.1266235,-365.625,-32.46571428 +930.1266235,-351.5625,-31.31371428 +930.1266235,-337.5,-30.152 +930.1266235,-323.4375,-28.98114285 +930.1266235,-309.375,-27.8 +930.1266235,-295.3125,-26.60971428 +930.1266235,-281.25,-25.40971428 +930.1266235,-267.1875,-24.2 +930.1266235,-253.125,-22.98114286 +930.1266235,-239.0625,-21.752 +930.1266235,-225,-20.51371429 +930.1266235,-210.9375,-19.26571429 +930.1266235,-196.875,-18.008 +930.1266235,-182.8125,-16.74114286 +930.1266235,-168.75,-15.464 +930.1266235,-154.6875,-14.17771429 +930.1266235,-140.625,-12.88171429 +930.1266235,-126.5625,-11.576 +930.1266235,-112.5,-10.26057143 +930.1266235,-98.4375,-8.936 +930.1266235,-84.375,-7.601142858 +930.1266235,-70.3125,-6.257142858 +930.1266235,-56.25,-4.903542858 +930.1266235,-42.1875,-3.540228573 +930.1266235,-28.125,-2.167314285 +930.1266235,-14.0625,-0.7848 +930.1266235,0,0.637714285 +930.1266235,14.0625,2.111085715 +930.1266235,28.125,3.594285715 +930.1266235,42.1875,5.087257143 +930.1266235,56.25,6.590285715 +930.1266235,70.3125,8.102857143 +930.1266235,84.375,9.625142858 +930.1266235,98.4375,11.15714286 +930.1266235,112.5,12.69885714 +930.1266235,126.5625,14.25085714 +930.1266235,140.625,15.81257143 +930.1266235,154.6875,17.384 +930.1266235,168.75,18.96514286 +930.1266235,182.8125,20.556 +930.1266235,196.875,22.15657143 +930.1266235,210.9375,23.76742857 +930.1266235,225,25.388 +930.1266235,239.0625,27.01771428 +930.1266235,253.125,28.65771428 +930.1266235,267.1875,30.30742858 +930.1266235,281.25,31.96742858 +930.1266235,295.3125,33.63657143 +930.1266235,309.375,35.316 +930.1266235,323.4375,37.00457143 +930.1266235,337.5,38.70342858 +930.1266235,351.5625,40.412 +930.1266235,365.625,42.13028573 +930.1266235,379.6875,43.85885715 +930.1266235,393.75,45.59657143 +930.1266235,407.8125,47.34457143 +930.1266235,421.875,49.10228573 +930.1266235,435.9375,50.86971428 +930.1266235,450,52.64685715 +1162.694805,-450,-50.28685715 +1162.694805,-435.9375,-48.83828573 +1162.694805,-421.875,-47.38057143 +1162.694805,-407.8125,-45.91314285 +1162.694805,-393.75,-44.436 +1162.694805,-379.6875,-42.94914285 +1162.694805,-365.625,-41.45314285 +1162.694805,-351.5625,-39.94742858 +1162.694805,-337.5,-38.43142858 +1162.694805,-323.4375,-36.90628573 +1162.694805,-309.375,-35.372 +1162.694805,-295.3125,-33.82742858 +1162.694805,-281.25,-32.27371428 +1162.694805,-267.1875,-30.71028573 +1162.694805,-253.125,-29.13714285 +1162.694805,-239.0625,-27.55428573 +1162.694805,-225,-25.96171428 +1162.694805,-210.9375,-24.36 +1162.694805,-196.875,-22.74857143 +1162.694805,-182.8125,-21.12742857 +1162.694805,-168.75,-19.49657143 +1162.694805,-154.6875,-17.856 +1162.694805,-140.625,-16.20628572 +1162.694805,-126.5625,-14.54628572 +1162.694805,-112.5,-12.87714286 +1162.694805,-98.4375,-11.19828572 +1162.694805,-84.375,-9.510285715 +1162.694805,-70.3125,-7.812 +1162.694805,-56.25,-6.104571428 +1162.694805,-42.1875,-4.387314285 +1162.694805,-28.125,-2.660457143 +1162.694805,-14.0625,-0.924057143 +1162.694805,0,0.858342858 +1162.694805,14.0625,2.6928 +1162.694805,28.125,4.537028573 +1162.694805,42.1875,6.390857143 +1162.694805,56.25,8.254857143 +1162.694805,70.3125,10.12857143 +1162.694805,84.375,12.012 +1162.694805,98.4375,13.90514286 +1162.694805,112.5,15.80857143 +1162.694805,126.5625,17.72114286 +1162.694805,140.625,19.644 +1162.694805,154.6875,21.576 +1162.694805,168.75,23.51828572 +1162.694805,182.8125,25.47085715 +1162.694805,196.875,27.43257143 +1162.694805,210.9375,29.404 +1162.694805,225,31.38571428 +1162.694805,239.0625,33.37657143 +1162.694805,253.125,35.37771428 +1162.694805,267.1875,37.38857143 +1162.694805,281.25,39.40914285 +1162.694805,295.3125,41.44 +1162.694805,309.375,43.48 +1162.694805,323.4375,45.53028573 +1162.694805,337.5,47.58971428 +1162.694805,351.5625,49.65942858 +1162.694805,365.625,51.73885715 +1162.694805,379.6875,53.82857143 +1162.694805,393.75,55.92742858 +1162.694805,407.8125,58.03428573 +1162.694805,421.875,60.15428573 +1162.694805,435.9375,62.28571428 +1162.694805,450,64.42285715 +1395.194805,-450,-61.37142858 +1395.194805,-435.9375,-59.57142858 +1395.194805,-421.875,-57.76 +1395.194805,-407.8125,-55.936 +1395.194805,-393.75,-54.10514285 +1395.194805,-379.6875,-52.26457143 +1395.194805,-365.625,-50.41428573 +1395.194805,-351.5625,-48.55428573 +1395.194805,-337.5,-46.68514285 +1395.194805,-323.4375,-44.80628573 +1395.194805,-309.375,-42.91771428 +1395.194805,-295.3125,-41.01942858 +1395.194805,-281.25,-39.11142858 +1395.194805,-267.1875,-37.19371428 +1395.194805,-253.125,-35.26685715 +1395.194805,-239.0625,-33.33028573 +1395.194805,-225,-31.384 +1395.194805,-210.9375,-29.428 +1395.194805,-196.875,-27.46285715 +1395.194805,-182.8125,-25.48742858 +1395.194805,-168.75,-23.50285714 +1395.194805,-154.6875,-21.50857143 +1395.194805,-140.625,-19.50457143 +1395.194805,-126.5625,-17.49142857 +1395.194805,-112.5,-15.468 +1395.194805,-98.4375,-13.43542857 +1395.194805,-84.375,-11.39314286 +1395.194805,-70.3125,-9.341142858 +1395.194805,-56.25,-7.279428573 +1395.194805,-42.1875,-5.2084 +1395.194805,-28.125,-3.127657143 +1395.194805,-14.0625,-1.037257143 +1395.194805,0,1.105485715 +1395.194805,14.0625,3.301028573 +1395.194805,28.125,5.506342858 +1395.194805,42.1875,7.721714285 +1395.194805,56.25,9.946285715 +1395.194805,70.3125,12.18114286 +1395.194805,84.375,14.42571429 +1395.194805,98.4375,16.68 +1395.194805,112.5,18.944 +1395.194805,126.5625,21.21771429 +1395.194805,140.625,23.50171429 +1395.194805,154.6875,25.79542858 +1395.194805,168.75,28.09885715 +1395.194805,182.8125,30.41142858 +1395.194805,196.875,32.73485715 +1395.194805,210.9375,35.06742858 +1395.194805,225,37.40971428 +1395.194805,239.0625,39.76228573 +1395.194805,253.125,42.12457143 +1395.194805,267.1875,44.496 +1395.194805,281.25,46.87828573 +1395.194805,295.3125,49.26971428 +1395.194805,309.375,51.67085715 +1395.194805,323.4375,54.08228573 +1395.194805,337.5,56.50285715 +1395.194805,351.5625,58.93142858 +1395.194805,365.625,61.37142858 +1395.194805,379.6875,63.82285715 +1395.194805,393.75,66.28571428 +1395.194805,407.8125,68.75428573 +1395.194805,421.875,71.23428573 +1395.194805,435.9375,73.72571428 +1395.194805,450,76.22285715 +1627.694805,-450,-72.42857143 +1627.694805,-435.9375,-70.27428573 +1627.694805,-421.875,-68.10857143 +1627.694805,-407.8125,-65.93142858 +1627.694805,-393.75,-63.74857143 +1627.694805,-379.6875,-61.55428573 +1627.694805,-365.625,-59.34857143 +1627.694805,-351.5625,-57.136 +1627.694805,-337.5,-54.91257143 +1627.694805,-323.4375,-52.67942858 +1627.694805,-309.375,-50.43714285 +1627.694805,-295.3125,-48.18514285 +1627.694805,-281.25,-45.92342858 +1627.694805,-267.1875,-43.652 +1627.694805,-253.125,-41.37085715 +1627.694805,-239.0625,-39.08057143 +1627.694805,-225,-36.78 +1627.694805,-210.9375,-34.47028573 +1627.694805,-196.875,-32.15085715 +1627.694805,-182.8125,-29.82171428 +1627.694805,-168.75,-27.48342858 +1627.694805,-154.6875,-25.13485715 +1627.694805,-140.625,-22.77714286 +1627.694805,-126.5625,-20.40971429 +1627.694805,-112.5,-18.03257143 +1627.694805,-98.4375,-15.64628572 +1627.694805,-84.375,-13.24971429 +1627.694805,-70.3125,-10.844 +1627.694805,-56.25,-8.428571428 +1627.694805,-42.1875,-6.003428573 +1627.694805,-28.125,-3.568742858 +1627.694805,-14.0625,-1.124457143 +1627.694805,0,1.3792 +1627.694805,14.0625,3.935771428 +1627.694805,28.125,6.502285715 +1627.694805,42.1875,9.078285715 +1627.694805,56.25,11.66457143 +1627.694805,70.3125,14.26 +1627.694805,84.375,16.86571429 +1627.694805,98.4375,19.48114286 +1627.694805,112.5,22.10628572 +1627.694805,126.5625,24.74114286 +1627.694805,140.625,27.38628573 +1627.694805,154.6875,30.04057143 +1627.694805,168.75,32.70514285 +1627.694805,182.8125,35.37942858 +1627.694805,196.875,38.06342858 +1627.694805,210.9375,40.75714285 +1627.694805,225,43.46057143 +1627.694805,239.0625,46.17428573 +1627.694805,253.125,48.89714285 +1627.694805,267.1875,51.63028573 +1627.694805,281.25,54.37314285 +1627.694805,295.3125,57.12571428 +1627.694805,309.375,59.88571428 +1627.694805,323.4375,62.66285715 +1627.694805,337.5,65.44 +1627.694805,351.5625,68.23428573 +1627.694805,365.625,71.03428573 +1627.694805,379.6875,73.84571428 +1627.694805,393.75,76.66857143 +1627.694805,407.8125,79.49714285 +1627.694805,421.875,82.34285715 +1627.694805,435.9375,85.18857143 +1627.694805,450,88.05142858 +1860.292208,-450,-83.46285715 +1860.292208,-435.9375,-80.95428573 +1860.292208,-421.875,-78.43428573 +1860.292208,-407.8125,-75.90285715 +1860.292208,-393.75,-73.36571428 +1860.292208,-379.6875,-70.81714285 +1860.292208,-365.625,-68.25714285 +1860.292208,-351.5625,-65.69142858 +1860.292208,-337.5,-63.11428573 +1860.292208,-323.4375,-60.52571428 +1860.292208,-309.375,-57.93142858 +1860.292208,-295.3125,-55.32457143 +1860.292208,-281.25,-52.70914285 +1860.292208,-267.1875,-50.08342858 +1860.292208,-253.125,-47.44857143 +1860.292208,-239.0625,-44.804 +1860.292208,-225,-42.15028573 +1860.292208,-210.9375,-39.48628573 +1860.292208,-196.875,-36.81314285 +1860.292208,-182.8125,-34.13028573 +1860.292208,-168.75,-31.43771428 +1860.292208,-154.6875,-28.73542858 +1860.292208,-140.625,-26.024 +1860.292208,-126.5625,-23.30228572 +1860.292208,-112.5,-20.57142857 +1860.292208,-98.4375,-17.83085714 +1860.292208,-84.375,-15.08057143 +1860.292208,-70.3125,-12.32114286 +1860.292208,-56.25,-9.551428573 +1860.292208,-42.1875,-6.772571428 +1860.292208,-28.125,-3.983885715 +1860.292208,-14.0625,-1.185657143 +1860.292208,0,1.679428573 +1860.292208,14.0625,4.597085715 +1860.292208,28.125,7.524571428 +1860.292208,42.1875,10.46171429 +1860.292208,56.25,13.40914286 +1860.292208,70.3125,16.36571429 +1860.292208,84.375,19.33257143 +1860.292208,98.4375,22.30914286 +1860.292208,112.5,25.29542858 +1860.292208,126.5625,28.29142858 +1860.292208,140.625,31.29714285 +1860.292208,154.6875,34.31257143 +1860.292208,168.75,37.33828573 +1860.292208,182.8125,40.37371428 +1860.292208,196.875,43.41885715 +1860.292208,210.9375,46.47371428 +1860.292208,225,49.53828573 +1860.292208,239.0625,52.61257143 +1860.292208,253.125,55.69714285 +1860.292208,267.1875,58.78857143 +1860.292208,281.25,61.89714285 +1860.292208,295.3125,65.01142858 +1860.292208,309.375,68.13142858 +1860.292208,323.4375,71.26285715 +1860.292208,337.5,74.40571428 +1860.292208,351.5625,77.56 +1860.292208,365.625,80.72571428 +1860.292208,379.6875,83.89714285 +1860.292208,393.75,87.08 +1860.292208,407.8125,90.26857143 +1860.292208,421.875,93.47428573 +1860.292208,435.9375,96.68571428 +1860.292208,450,99.90857143 +2092.792208,-450,-94.46857143 +2092.792208,-435.9375,-91.60571428 +2092.792208,-421.875,-88.73142858 +2092.792208,-407.8125,-85.85142858 +2092.792208,-393.75,-82.95428573 +2092.792208,-379.6875,-80.05714285 +2092.792208,-365.625,-77.14285715 +2092.792208,-351.5625,-74.22285715 +2092.792208,-337.5,-71.29142858 +2092.792208,-323.4375,-68.34857143 +2092.792208,-309.375,-65.4 +2092.792208,-295.3125,-62.44 +2092.792208,-281.25,-59.46857143 +2092.792208,-267.1875,-56.48971428 +2092.792208,-253.125,-53.50057143 +2092.792208,-239.0625,-50.50228573 +2092.792208,-225,-47.49428573 +2092.792208,-210.9375,-44.47657143 +2092.792208,-196.875,-41.44914285 +2092.792208,-182.8125,-38.41257143 +2092.792208,-168.75,-35.36628573 +2092.792208,-154.6875,-32.30971428 +2092.792208,-140.625,-29.244 +2092.792208,-126.5625,-26.16914285 +2092.792208,-112.5,-23.084 +2092.792208,-98.4375,-19.98971429 +2092.792208,-84.375,-16.88571429 +2092.792208,-70.3125,-13.772 +2092.792208,-56.25,-10.64857143 +2092.792208,-42.1875,-7.515428573 +2092.792208,-28.125,-4.373028573 +2092.792208,-14.0625,-1.220857143 +2092.792208,0,2.006171428 +2092.792208,14.0625,5.284914285 +2092.792208,28.125,8.573714285 +2092.792208,42.1875,11.872 +2092.792208,56.25,15.18 +2092.792208,70.3125,18.49771429 +2092.792208,84.375,21.82571429 +2092.792208,98.4375,25.16342858 +2092.792208,112.5,28.51028573 +2092.792208,126.5625,31.86742858 +2092.792208,140.625,35.23485715 +2092.792208,154.6875,38.61142858 +2092.792208,168.75,41.99771428 +2092.792208,182.8125,45.39428573 +2092.792208,196.875,48.80057143 +2092.792208,210.9375,52.21657143 +2092.792208,225,55.64228573 +2092.792208,239.0625,59.08 +2092.792208,253.125,62.52571428 +2092.792208,267.1875,65.97714285 +2092.792208,281.25,69.44571428 +2092.792208,295.3125,72.92 +2092.792208,309.375,76.4 +2092.792208,323.4375,79.89714285 +2092.792208,337.5,83.4 +2092.792208,351.5625,86.91428573 +2092.792208,365.625,90.44 +2092.792208,379.6875,93.97142858 +2092.792208,393.75,97.51428573 +2092.792208,407.8125,101.0685714 +2092.792208,421.875,104.6342857 +2092.792208,435.9375,108.2057143 +2092.792208,450,111.7885714 +2325.292208,-450,-105.4514286 +2325.292208,-435.9375,-102.2342857 +2325.292208,-421.875,-99.00571428 +2325.292208,-407.8125,-95.76571428 +2325.292208,-393.75,-92.52 +2325.292208,-379.6875,-89.26285715 +2325.292208,-365.625,-86 +2325.292208,-351.5625,-82.72571428 +2325.292208,-337.5,-79.44 +2325.292208,-323.4375,-76.14285715 +2325.292208,-309.375,-72.84 +2325.292208,-295.3125,-69.52571428 +2325.292208,-281.25,-66.2 +2325.292208,-267.1875,-62.86857143 +2325.292208,-253.125,-59.52571428 +2325.292208,-239.0625,-56.17428573 +2325.292208,-225,-52.812 +2325.292208,-210.9375,-49.44057143 +2325.292208,-196.875,-46.05942858 +2325.292208,-182.8125,-42.66857143 +2325.292208,-168.75,-39.26857143 +2325.292208,-154.6875,-35.85828573 +2325.292208,-140.625,-32.43885715 +2325.292208,-126.5625,-29.00971428 +2325.292208,-112.5,-25.57085715 +2325.292208,-98.4375,-22.12228572 +2325.292208,-84.375,-18.664 +2325.292208,-70.3125,-15.19657143 +2325.292208,-56.25,-11.71942857 +2325.292208,-42.1875,-8.232571428 +2325.292208,-28.125,-4.736114285 +2325.292208,-14.0625,-1.230057143 +2325.292208,0,2.359485715 +2325.292208,14.0625,5.999428573 +2325.292208,28.125,9.649142858 +2325.292208,42.1875,13.30857143 +2325.292208,56.25,16.97771429 +2325.292208,70.3125,20.65657143 +2325.292208,84.375,24.34514286 +2325.292208,98.4375,28.044 +2325.292208,112.5,31.75257143 +2325.292208,126.5625,35.47085715 +2325.292208,140.625,39.19885715 +2325.292208,154.6875,42.93657143 +2325.292208,168.75,46.684 +2325.292208,182.8125,50.44171428 +2325.292208,196.875,54.20857143 +2325.292208,210.9375,57.98857143 +2325.292208,225,61.77142858 +2325.292208,239.0625,65.57142858 +2325.292208,253.125,69.37714285 +2325.292208,267.1875,73.19428573 +2325.292208,281.25,77.01714285 +2325.292208,295.3125,80.85142858 +2325.292208,309.375,84.69714285 +2325.292208,323.4375,88.55428573 +2325.292208,337.5,92.42285715 +2325.292208,351.5625,96.29714285 +2325.292208,365.625,100.1771429 +2325.292208,379.6875,104.0742857 +2325.292208,393.75,107.9771429 +2325.292208,407.8125,111.8914286 +2325.292208,421.875,115.8171429 +2325.292208,435.9375,119.7485714 +2325.292208,450,123.6971429 +2557.88961,-450,-116.4057143 +2557.88961,-435.9375,-112.8342857 +2557.88961,-421.875,-109.2514286 +2557.88961,-407.8125,-105.6628572 +2557.88961,-393.75,-102.0628572 +2557.88961,-379.6875,-98.45142858 +2557.88961,-365.625,-94.82857143 +2557.88961,-351.5625,-91.2 +2557.88961,-337.5,-87.56 +2557.88961,-323.4375,-83.91428573 +2557.88961,-309.375,-80.25714285 +2557.88961,-295.3125,-76.58857143 +2557.88961,-281.25,-72.90857143 +2557.88961,-267.1875,-69.22285715 +2557.88961,-253.125,-65.52571428 +2557.88961,-239.0625,-61.82285715 +2557.88961,-225,-58.10285715 +2557.88961,-210.9375,-54.37885715 +2557.88961,-196.875,-50.64342858 +2557.88961,-182.8125,-46.89885715 +2557.88961,-168.75,-43.14457143 +2557.88961,-154.6875,-39.38057143 +2557.88961,-140.625,-35.60742858 +2557.88961,-126.5625,-31.824 +2557.88961,-112.5,-28.03142858 +2557.88961,-98.4375,-24.22914286 +2557.88961,-84.375,-20.41714286 +2557.88961,-70.3125,-16.59542857 +2557.88961,-56.25,-12.76457143 +2557.88961,-42.1875,-8.923428573 +2557.88961,-28.125,-5.0732 +2557.88961,-14.0625,-1.2132 +2557.88961,0,2.739314285 +2557.88961,14.0625,6.74 +2557.88961,28.125,10.75085714 +2557.88961,42.1875,14.77142857 +2557.88961,56.25,18.80171429 +2557.88961,70.3125,22.84171429 +2557.88961,84.375,26.89142858 +2557.88961,98.4375,30.95142858 +2557.88961,112.5,35.02114285 +2557.88961,126.5625,39.1 +2557.88961,140.625,43.18914285 +2557.88961,154.6875,47.288 +2557.88961,168.75,51.39714285 +2557.88961,182.8125,55.51542858 +2557.88961,196.875,59.64571428 +2557.88961,210.9375,63.78285715 +2557.88961,225,67.93142858 +2557.88961,239.0625,72.08571428 +2557.88961,253.125,76.25714285 +2557.88961,267.1875,80.43428573 +2557.88961,281.25,84.61714285 +2557.88961,295.3125,88.81714285 +2557.88961,309.375,93.02285715 +2557.88961,323.4375,97.24 +2557.88961,337.5,101.4685714 +2557.88961,351.5625,105.7028572 +2557.88961,365.625,109.9485714 +2557.88961,379.6875,114.2057143 +2557.88961,393.75,118.4685714 +2557.88961,407.8125,122.7428572 +2557.88961,421.875,127.0285714 +2557.88961,435.9375,131.3257143 +2557.88961,450,135.6285714 +2790.38961,-450,-127.3371429 +2790.38961,-435.9375,-123.4114286 +2790.38961,-421.875,-119.4742857 +2790.38961,-407.8125,-115.5314286 +2790.38961,-393.75,-111.5714286 +2790.38961,-379.6875,-107.6114286 +2790.38961,-365.625,-103.6342857 +2790.38961,-351.5625,-99.65142858 +2790.38961,-337.5,-95.65714285 +2790.38961,-323.4375,-91.65714285 +2790.38961,-309.375,-87.64571428 +2790.38961,-295.3125,-83.62285715 +2790.38961,-281.25,-79.59428573 +2790.38961,-267.1875,-75.54857143 +2790.38961,-253.125,-71.50285715 +2790.38961,-239.0625,-67.44 +2790.38961,-225,-63.37142858 +2790.38961,-210.9375,-59.29142858 +2790.38961,-196.875,-55.20171428 +2790.38961,-182.8125,-51.10342858 +2790.38961,-168.75,-46.99485715 +2790.38961,-154.6875,-42.87714285 +2790.38961,-140.625,-38.74971428 +2790.38961,-126.5625,-34.61257143 +2790.38961,-112.5,-30.46571428 +2790.38961,-98.4375,-26.30971428 +2790.38961,-84.375,-22.144 +2790.38961,-70.3125,-17.96857143 +2790.38961,-56.25,-13.78342857 +2790.38961,-42.1875,-9.588571428 +2790.38961,-28.125,-5.384285715 +2790.38961,-14.0625,-1.170342858 +2790.38961,0,3.145714285 +2790.38961,14.0625,7.507428573 +2790.38961,28.125,11.87942857 +2790.38961,42.1875,16.26114286 +2790.38961,56.25,20.65257143 +2790.38961,70.3125,25.05371428 +2790.38961,84.375,29.46457143 +2790.38961,98.4375,33.88514285 +2790.38961,112.5,38.316 +2790.38961,126.5625,42.756 +2790.38961,140.625,47.20628573 +2790.38961,154.6875,51.66628573 +2790.38961,168.75,56.136 +2790.38961,182.8125,60.61714285 +2790.38961,196.875,65.10285715 +2790.38961,210.9375,69.60571428 +2790.38961,225,74.11428573 +2790.38961,239.0625,78.63428573 +2790.38961,253.125,83.16 +2790.38961,267.1875,87.69714285 +2790.38961,281.25,92.24571428 +2790.38961,295.3125,96.80571428 +2790.38961,309.375,101.3714286 +2790.38961,323.4375,105.9485714 +2790.38961,337.5,110.5371429 +2790.38961,351.5625,115.1371429 +2790.38961,365.625,119.7428572 +2790.38961,379.6875,124.36 +2790.38961,393.75,128.9828572 +2790.38961,407.8125,133.6228572 +2790.38961,421.875,138.2685714 +2790.38961,435.9375,142.9257143 +2790.38961,450,147.5885714 +3022.88961,-450,-138.24 +3022.88961,-435.9375,-133.96 +3022.88961,-421.875,-129.6685714 +3022.88961,-407.8125,-125.3714286 +3022.88961,-393.75,-121.0628572 +3022.88961,-379.6875,-116.7428572 +3022.88961,-365.625,-112.4171429 +3022.88961,-351.5625,-108.08 +3022.88961,-337.5,-103.7314286 +3022.88961,-323.4375,-99.37714285 +3022.88961,-309.375,-95.01142858 +3022.88961,-295.3125,-90.63428573 +3022.88961,-281.25,-86.24571428 +3022.88961,-267.1875,-81.85142858 +3022.88961,-253.125,-77.44571428 +3022.88961,-239.0625,-73.03428573 +3022.88961,-225,-68.61142858 +3022.88961,-210.9375,-64.17714285 +3022.88961,-196.875,-59.73142858 +3022.88961,-182.8125,-55.28171428 +3022.88961,-168.75,-50.81942858 +3022.88961,-154.6875,-46.34742858 +3022.88961,-140.625,-41.86628573 +3022.88961,-126.5625,-37.37542858 +3022.88961,-112.5,-32.87485715 +3022.88961,-98.4375,-28.36457143 +3022.88961,-84.375,-23.84457143 +3022.88961,-70.3125,-19.31542857 +3022.88961,-56.25,-14.776 +3022.88961,-42.1875,-10.22742857 +3022.88961,-28.125,-5.669314285 +3022.88961,-14.0625,-1.101485715 +3022.88961,0,3.578628573 +3022.88961,14.0625,8.301714285 +3022.88961,28.125,13.03428572 +3022.88961,42.1875,17.77714286 +3022.88961,56.25,22.52971429 +3022.88961,70.3125,27.292 +3022.88961,84.375,32.064 +3022.88961,98.4375,36.84571428 +3022.88961,112.5,41.63714285 +3022.88961,126.5625,46.43885715 +3022.88961,140.625,51.25028573 +3022.88961,154.6875,56.07142858 +3022.88961,168.75,60.90285715 +3022.88961,182.8125,65.74285715 +3022.88961,196.875,70.59428573 +3022.88961,210.9375,75.45142858 +3022.88961,225,80.32571428 +3022.88961,239.0625,85.20571428 +3022.88961,253.125,90.09142858 +3022.88961,267.1875,94.99428573 +3022.88961,281.25,99.90285715 +3022.88961,295.3125,104.8228572 +3022.88961,309.375,109.7485714 +3022.88961,323.4375,114.6857143 +3022.88961,337.5,119.6342857 +3022.88961,351.5625,124.5942857 +3022.88961,365.625,129.5657143 +3022.88961,379.6875,134.5428572 +3022.88961,393.75,139.5257143 +3022.88961,407.8125,144.5257143 +3022.88961,421.875,149.5314286 +3022.88961,435.9375,154.5485714 +3022.88961,450,159.5771429 +3255.487013,-450,-149.1142857 +3255.487013,-435.9375,-144.48 +3255.487013,-421.875,-139.84 +3255.487013,-407.8125,-135.1828572 +3255.487013,-393.75,-130.52 +3255.487013,-379.6875,-125.8514286 +3255.487013,-365.625,-121.1714286 +3255.487013,-351.5625,-116.48 +3255.487013,-337.5,-111.7771429 +3255.487013,-323.4375,-107.0685714 +3255.487013,-309.375,-102.3485714 +3255.487013,-295.3125,-97.61714285 +3255.487013,-281.25,-92.88 +3255.487013,-267.1875,-88.12571428 +3255.487013,-253.125,-83.37142858 +3255.487013,-239.0625,-78.6 +3255.487013,-225,-73.82285715 +3255.487013,-210.9375,-69.03428573 +3255.487013,-196.875,-64.24 +3255.487013,-182.8125,-59.43428573 +3255.487013,-168.75,-54.61771428 +3255.487013,-154.6875,-49.792 +3255.487013,-140.625,-44.95657143 +3255.487013,-126.5625,-40.11142858 +3255.487013,-112.5,-35.25714285 +3255.487013,-98.4375,-30.39314285 +3255.487013,-84.375,-25.51942858 +3255.487013,-70.3125,-20.636 +3255.487013,-56.25,-15.74285714 +3255.487013,-42.1875,-10.84057143 +3255.487013,-28.125,-5.928571428 +3255.487013,-14.0625,-1.006628573 +3255.487013,0,4.038114285 +3255.487013,14.0625,9.122285715 +3255.487013,28.125,14.216 +3255.487013,42.1875,19.32 +3255.487013,56.25,24.43314286 +3255.487013,70.3125,29.55657143 +3255.487013,84.375,34.68971428 +3255.487013,98.4375,39.83257143 +3255.487013,112.5,44.98571428 +3255.487013,126.5625,50.148 +3255.487013,140.625,55.32057143 +3255.487013,154.6875,60.50285715 +3255.487013,168.75,65.69714285 +3255.487013,182.8125,70.89714285 +3255.487013,196.875,76.10857143 +3255.487013,210.9375,81.33142858 +3255.487013,225,86.56 +3255.487013,239.0625,91.8 +3255.487013,253.125,97.05142858 +3255.487013,267.1875,102.3142857 +3255.487013,281.25,107.5828572 +3255.487013,295.3125,112.8628572 +3255.487013,309.375,118.1542857 +3255.487013,323.4375,123.4514286 +3255.487013,337.5,128.76 +3255.487013,351.5625,134.08 +3255.487013,365.625,139.4114286 +3255.487013,379.6875,144.7485714 +3255.487013,393.75,150.0971429 +3255.487013,407.8125,155.4571429 +3255.487013,421.875,160.8228572 +3255.487013,435.9375,166.2057143 +3255.487013,450,171.5885714 +3487.987013,-450,-159.9657143 +3487.987013,-435.9375,-154.9771429 +3487.987013,-421.875,-149.9828572 +3487.987013,-407.8125,-144.9714286 +3487.987013,-393.75,-139.96 +3487.987013,-379.6875,-134.9314286 +3487.987013,-365.625,-129.8971429 +3487.987013,-351.5625,-124.8514286 +3487.987013,-337.5,-119.7942857 +3487.987013,-323.4375,-114.7314286 +3487.987013,-309.375,-109.6571429 +3487.987013,-295.3125,-104.5714286 +3487.987013,-281.25,-99.48 +3487.987013,-267.1875,-94.37714285 +3487.987013,-253.125,-89.26857143 +3487.987013,-239.0625,-84.14285715 +3487.987013,-225,-79.01142858 +3487.987013,-210.9375,-73.86857143 +3487.987013,-196.875,-68.72 +3487.987013,-182.8125,-63.56 +3487.987013,-168.75,-58.38857143 +3487.987013,-154.6875,-53.21028573 +3487.987013,-140.625,-48.02114285 +3487.987013,-126.5625,-42.82228573 +3487.987013,-112.5,-37.61371428 +3487.987013,-98.4375,-32.396 +3487.987013,-84.375,-27.168 +3487.987013,-70.3125,-21.93085714 +3487.987013,-56.25,-16.684 +3487.987013,-42.1875,-11.42742857 +3487.987013,-28.125,-6.161142858 +3487.987013,-14.0625,-0.885714285 +3487.987013,0,4.524114285 +3487.987013,14.0625,9.969142858 +3487.987013,28.125,15.42457143 +3487.987013,42.1875,20.88914286 +3487.987013,56.25,26.36342858 +3487.987013,70.3125,31.848 +3487.987013,84.375,37.34228573 +3487.987013,98.4375,42.84628573 +3487.987013,112.5,48.36 +3487.987013,126.5625,53.88342858 +3487.987013,140.625,59.41714285 +3487.987013,154.6875,64.96 +3487.987013,168.75,70.51428573 +3487.987013,182.8125,76.07428573 +3487.987013,196.875,81.65142858 +3487.987013,210.9375,87.22857143 +3487.987013,225,92.82285715 +3487.987013,239.0625,98.42285715 +3487.987013,253.125,104.0342857 +3487.987013,267.1875,109.6571429 +3487.987013,281.25,115.2914286 +3487.987013,295.3125,120.9314286 +3487.987013,309.375,126.5828572 +3487.987013,323.4375,132.2457143 +3487.987013,337.5,137.9142857 +3487.987013,351.5625,143.5942857 +3487.987013,365.625,149.2857143 +3487.987013,379.6875,154.9828572 +3487.987013,393.75,160.6914286 +3487.987013,407.8125,166.4114286 +3487.987013,421.875,172.1428572 +3487.987013,435.9375,177.88 +3487.987013,450,183.6285714 +3720.487013,-450,-170.7885714 +3720.487013,-435.9375,-165.4457143 +3720.487013,-421.875,-160.0971429 +3720.487013,-407.8125,-154.7371429 +3720.487013,-393.75,-149.3657143 +3720.487013,-379.6875,-143.9885714 +3720.487013,-365.625,-138.5942857 +3720.487013,-351.5625,-133.2 +3720.487013,-337.5,-127.7885714 +3720.487013,-323.4375,-122.3714286 +3720.487013,-309.375,-116.9428572 +3720.487013,-295.3125,-111.5085714 +3720.487013,-281.25,-106.0571429 +3720.487013,-267.1875,-100.6 +3720.487013,-253.125,-95.13714285 +3720.487013,-239.0625,-89.65714285 +3720.487013,-225,-84.17142858 +3720.487013,-210.9375,-78.68 +3720.487013,-196.875,-73.17714285 +3720.487013,-182.8125,-67.66285715 +3720.487013,-168.75,-62.13714285 +3720.487013,-154.6875,-56.60285715 +3720.487013,-140.625,-51.05942858 +3720.487013,-126.5625,-45.50685715 +3720.487013,-112.5,-39.94457143 +3720.487013,-98.4375,-34.37257143 +3720.487013,-84.375,-28.79085715 +3720.487013,-70.3125,-23.19942857 +3720.487013,-56.25,-17.59885714 +3720.487013,-42.1875,-11.98857143 +3720.487013,-28.125,-6.368571428 +3720.487013,-14.0625,-0.7388 +3720.487013,0,5.036628573 +3720.487013,14.0625,10.84285714 +3720.487013,28.125,16.65885714 +3720.487013,42.1875,22.48457143 +3720.487013,56.25,28.32057143 +3720.487013,70.3125,34.16571428 +3720.487013,84.375,40.02114285 +3720.487013,98.4375,45.88628573 +3720.487013,112.5,51.76114285 +3720.487013,126.5625,57.64571428 +3720.487013,140.625,63.54285715 +3720.487013,154.6875,69.44571428 +3720.487013,168.75,75.36 +3720.487013,182.8125,81.28 +3720.487013,196.875,87.21714285 +3720.487013,210.9375,93.16 +3720.487013,225,99.11428573 +3720.487013,239.0625,105.0742857 +3720.487013,253.125,111.0514286 +3720.487013,267.1875,117.0342857 +3720.487013,281.25,123.0228572 +3720.487013,295.3125,129.0285714 +3720.487013,309.375,135.04 +3720.487013,323.4375,141.0628572 +3720.487013,337.5,147.0914286 +3720.487013,351.5625,153.1314286 +3720.487013,365.625,159.1828572 +3720.487013,379.6875,165.2457143 +3720.487013,393.75,171.3142857 +3720.487013,407.8125,177.4 +3720.487013,421.875,183.4857143 +3720.487013,435.9375,189.5885714 +3720.487013,450,195.6971429 +3953.084415,-450,-181.5885714 +3953.084415,-435.9375,-175.8914286 +3953.084415,-421.875,-170.1885714 +3953.084415,-407.8125,-164.4742857 +3953.084415,-393.75,-158.7485714 +3953.084415,-379.6875,-153.0171429 +3953.084415,-365.625,-147.2742857 +3953.084415,-351.5625,-141.52 +3953.084415,-337.5,-135.7542857 +3953.084415,-323.4375,-129.9828572 +3953.084415,-309.375,-124.2 +3953.084415,-295.3125,-118.4114286 +3953.084415,-281.25,-112.6114286 +3953.084415,-267.1875,-106.8 +3953.084415,-253.125,-100.9771429 +3953.084415,-239.0625,-95.14857143 +3953.084415,-225,-89.30857143 +3953.084415,-210.9375,-83.46285715 +3953.084415,-196.875,-77.6 +3953.084415,-182.8125,-71.73142858 +3953.084415,-168.75,-65.85714285 +3953.084415,-154.6875,-59.97142858 +3953.084415,-140.625,-54.072 +3953.084415,-126.5625,-48.16514285 +3953.084415,-112.5,-42.24914285 +3953.084415,-98.4375,-36.32285715 +3953.084415,-84.375,-30.38742858 +3953.084415,-70.3125,-24.44228572 +3953.084415,-56.25,-18.48742857 +3953.084415,-42.1875,-12.52342857 +3953.084415,-28.125,-6.549714285 +3953.084415,-14.0625,-0.565897143 +3953.084415,0,5.575714285 +3953.084415,14.0625,11.74285714 +3953.084415,28.125,17.92 +3953.084415,42.1875,24.10742857 +3953.084415,56.25,30.304 +3953.084415,70.3125,36.51028573 +3953.084415,84.375,42.72685715 +3953.084415,98.4375,48.95314285 +3953.084415,112.5,55.18914285 +3953.084415,126.5625,61.43428573 +3953.084415,140.625,67.69142858 +3953.084415,154.6875,73.95428573 +3953.084415,168.75,80.22857143 +3953.084415,182.8125,86.51428573 +3953.084415,196.875,92.81142858 +3953.084415,210.9375,99.11428573 +3953.084415,225,105.4285714 +3953.084415,239.0625,111.7542857 +3953.084415,253.125,118.0857143 +3953.084415,267.1875,124.4285714 +3953.084415,281.25,130.7828572 +3953.084415,295.3125,137.1485714 +3953.084415,309.375,143.52 +3953.084415,323.4375,149.9028572 +3953.084415,337.5,156.2971429 +3953.084415,351.5625,162.6971429 +3953.084415,365.625,169.1142857 +3953.084415,379.6875,175.5314286 +3953.084415,393.75,181.9657143 +3953.084415,407.8125,188.4057143 +3953.084415,421.875,194.8571429 +3953.084415,435.9375,201.32 +3953.084415,450,207.7942857 +4185.584415,-450,-192.36 +4185.584415,-435.9375,-186.3142857 +4185.584415,-421.875,-180.2514286 +4185.584415,-407.8125,-174.1828572 +4185.584415,-393.75,-168.1085714 +4185.584415,-379.6875,-162.0171429 +4185.584415,-365.625,-155.92 +4185.584415,-351.5625,-149.8171429 +4185.584415,-337.5,-143.6971429 +4185.584415,-323.4375,-137.5714286 +4185.584415,-309.375,-131.4342857 +4185.584415,-295.3125,-125.2914286 +4185.584415,-281.25,-119.1371429 +4185.584415,-267.1875,-112.9714286 +4185.584415,-253.125,-106.8 +4185.584415,-239.0625,-100.6114286 +4185.584415,-225,-94.42285715 +4185.584415,-210.9375,-88.21714285 +4185.584415,-196.875,-82.00571428 +4185.584415,-182.8125,-75.78285715 +4185.584415,-168.75,-69.54857143 +4185.584415,-154.6875,-63.30857143 +4185.584415,-140.625,-57.05828573 +4185.584415,-126.5625,-50.79771428 +4185.584415,-112.5,-44.52742858 +4185.584415,-98.4375,-38.24742858 +4185.584415,-84.375,-31.95828573 +4185.584415,-70.3125,-25.65942858 +4185.584415,-56.25,-19.35028572 +4185.584415,-42.1875,-13.032 +4185.584415,-28.125,-6.704571428 +4185.584415,-14.0625,-0.366965715 +4185.584415,0,6.141142858 +4185.584415,14.0625,12.66971429 +4185.584415,28.125,19.208 +4185.584415,42.1875,25.756 +4185.584415,56.25,32.31371428 +4185.584415,70.3125,38.88171428 +4185.584415,84.375,45.45885715 +4185.584415,98.4375,52.04628573 +4185.584415,112.5,58.64571428 +4185.584415,126.5625,65.25142858 +4185.584415,140.625,71.86857143 +4185.584415,154.6875,78.49142858 +4185.584415,168.75,85.13142858 +4185.584415,182.8125,91.77714285 +4185.584415,196.875,98.42857143 +4185.584415,210.9375,105.0971429 +4185.584415,225,111.7714286 +4185.584415,239.0625,118.4571429 +4185.584415,253.125,125.1542857 +4185.584415,267.1875,131.8571429 +4185.584415,281.25,138.5714286 +4185.584415,295.3125,145.2971429 +4185.584415,309.375,152.0285714 +4185.584415,323.4375,158.7771429 +4185.584415,337.5,165.5257143 +4185.584415,351.5625,172.2914286 +4185.584415,365.625,179.0628572 +4185.584415,379.6875,185.8457143 +4185.584415,393.75,192.64 +4185.584415,407.8125,199.4457143 +4185.584415,421.875,206.2571429 +4185.584415,435.9375,213.08 +4185.584415,450,219.9142857 +4418.084415,-450,-203.1085714 +4418.084415,-435.9375,-196.7028572 +4418.084415,-421.875,-190.2914286 +4418.084415,-407.8125,-183.8685714 +4418.084415,-393.75,-177.44 +4418.084415,-379.6875,-170.9942857 +4418.084415,-365.625,-164.5428572 +4418.084415,-351.5625,-158.0857143 +4418.084415,-337.5,-151.6114286 +4418.084415,-323.4375,-145.1314286 +4418.084415,-309.375,-138.6457143 +4418.084415,-295.3125,-132.1428572 +4418.084415,-281.25,-125.6342857 +4418.084415,-267.1875,-119.1142857 +4418.084415,-253.125,-112.5885714 +4418.084415,-239.0625,-106.0514286 +4418.084415,-225,-99.50285715 +4418.084415,-210.9375,-92.94857143 +4418.084415,-196.875,-86.38285715 +4418.084415,-182.8125,-79.80571428 +4418.084415,-168.75,-73.21714285 +4418.084415,-154.6875,-66.62285715 +4418.084415,-140.625,-60.01714285 +4418.084415,-126.5625,-53.404 +4418.084415,-112.5,-46.78 +4418.084415,-98.4375,-40.14628573 +4418.084415,-84.375,-33.50285715 +4418.084415,-70.3125,-26.84971428 +4418.084415,-56.25,-20.18742857 +4418.084415,-42.1875,-13.51542857 +4418.084415,-28.125,-6.833142858 +4418.084415,-14.0625,-0.142028573 +4418.084415,0,6.733714285 +4418.084415,14.0625,13.62285714 +4418.084415,28.125,20.52228572 +4418.084415,42.1875,27.43142858 +4418.084415,56.25,34.35028573 +4418.084415,70.3125,41.27885715 +4418.084415,84.375,48.21771428 +4418.084415,98.4375,55.16571428 +4418.084415,112.5,62.12571428 +4418.084415,126.5625,69.09142858 +4418.084415,140.625,76.06857143 +4418.084415,154.6875,83.05714285 +4418.084415,168.75,90.05142858 +4418.084415,182.8125,97.06285715 +4418.084415,196.875,104.08 +4418.084415,210.9375,111.1028572 +4418.084415,225,118.1428572 +4418.084415,239.0625,125.1885714 +4418.084415,253.125,132.2457143 +4418.084415,267.1875,139.3085714 +4418.084415,281.25,146.3828572 +4418.084415,295.3125,153.4685714 +4418.084415,309.375,160.5657143 +4418.084415,323.4375,167.6685714 +4418.084415,337.5,174.7885714 +4418.084415,351.5625,181.9085714 +4418.084415,365.625,189.0457143 +4418.084415,379.6875,196.1885714 +4418.084415,393.75,203.3428572 +4418.084415,407.8125,210.5085714 +4418.084415,421.875,217.68 +4418.084415,435.9375,224.8628572 +4418.084415,450,232.0571429 +4650.584415,-450,-213.8285714 +4650.584415,-435.9375,-207.0742857 +4650.584415,-421.875,-200.3028572 +4650.584415,-407.8125,-193.5257143 +4650.584415,-393.75,-186.7428572 +4650.584415,-379.6875,-179.9485714 +4650.584415,-365.625,-173.1428572 +4650.584415,-351.5625,-166.3257143 +4650.584415,-337.5,-159.5028572 +4650.584415,-323.4375,-152.6685714 +4650.584415,-309.375,-145.8228572 +4650.584415,-295.3125,-138.9714286 +4650.584415,-281.25,-132.1085714 +4650.584415,-267.1875,-125.2342857 +4650.584415,-253.125,-118.3542857 +4650.584415,-239.0625,-111.4628572 +4650.584415,-225,-104.56 +4650.584415,-210.9375,-97.65142858 +4650.584415,-196.875,-90.73142858 +4650.584415,-182.8125,-83.8 +4650.584415,-168.75,-76.86285715 +4650.584415,-154.6875,-69.91428573 +4650.584415,-140.625,-62.95428573 +4650.584415,-126.5625,-55.98457143 +4650.584415,-112.5,-49.00628573 +4650.584415,-98.4375,-42.01885715 +4650.584415,-84.375,-35.02171428 +4650.584415,-70.3125,-28.01485715 +4650.584415,-56.25,-20.99828572 +4650.584415,-42.1875,-13.972 +4650.584415,-28.125,-6.936571428 +4650.584415,-14.0625,0.111422858 +4650.584415,0,7.352 +4650.584415,14.0625,14.60285714 +4650.584415,28.125,21.86285714 +4650.584415,42.1875,29.13314285 +4650.584415,56.25,36.41314285 +4650.584415,70.3125,43.70285715 +4650.584415,84.375,51.00285715 +4650.584415,98.4375,58.31428573 +4650.584415,112.5,65.62857143 +4650.584415,126.5625,72.96 +4650.584415,140.625,80.29714285 +4650.584415,154.6875,87.64571428 +4650.584415,168.75,95.00571428 +4650.584415,182.8125,102.3714286 +4650.584415,196.875,109.7542857 +4650.584415,210.9375,117.1371429 +4650.584415,225,124.5371429 +4650.584415,239.0625,131.9428572 +4650.584415,253.125,139.36 +4650.584415,267.1875,146.7885714 +4650.584415,281.25,154.2228572 +4650.584415,295.3125,161.6742857 +4650.584415,309.375,169.1257143 +4650.584415,323.4375,176.5942857 +4650.584415,337.5,184.0685714 +4650.584415,351.5625,191.5542857 +4650.584415,365.625,199.0514286 +4650.584415,379.6875,206.56 +4650.584415,393.75,214.0742857 +4650.584415,407.8125,221.6 +4650.584415,421.875,229.1314286 +4650.584415,435.9375,236.6742857 +4650.584415,450,244.2285714 +4864.577923,-450,-223.6685714 +4864.577923,-435.9375,-216.5885714 +4864.577923,-421.875,-209.4914286 +4864.577923,-407.8125,-202.3942857 +4864.577923,-393.75,-195.28 +4864.577923,-379.6875,-188.16 +4864.577923,-365.625,-181.0285714 +4864.577923,-351.5625,-173.8857143 +4864.577923,-337.5,-166.7371429 +4864.577923,-323.4375,-159.5771429 +4864.577923,-309.375,-152.4114286 +4864.577923,-295.3125,-145.2285714 +4864.577923,-281.25,-138.04 +4864.577923,-267.1875,-130.8457143 +4864.577923,-253.125,-123.6342857 +4864.577923,-239.0625,-116.4171429 +4864.577923,-225,-109.1942857 +4864.577923,-210.9375,-101.9542857 +4864.577923,-196.875,-94.70857143 +4864.577923,-182.8125,-87.45142858 +4864.577923,-168.75,-80.18857143 +4864.577923,-154.6875,-72.91428573 +4864.577923,-140.625,-65.62857143 +4864.577923,-126.5625,-58.33714285 +4864.577923,-112.5,-51.032 +4864.577923,-98.4375,-43.71885715 +4864.577923,-84.375,-36.396 +4864.577923,-70.3125,-29.06342858 +4864.577923,-56.25,-21.72114286 +4864.577923,-42.1875,-14.36971429 +4864.577923,-28.125,-7.008 +4864.577923,-14.0625,0.371868573 +4864.577923,0,7.944571428 +4864.577923,14.0625,15.52742857 +4864.577923,28.125,23.12 +4864.577923,42.1875,30.72228573 +4864.577923,56.25,38.33485715 +4864.577923,70.3125,45.95657143 +4864.577923,84.375,53.58857143 +4864.577923,98.4375,61.22857143 +4864.577923,112.5,68.88 +4864.577923,126.5625,76.54285715 +4864.577923,140.625,84.21142858 +4864.577923,154.6875,91.89142858 +4864.577923,168.75,99.58285715 +4864.577923,182.8125,107.2857143 +4864.577923,196.875,114.9942857 +4864.577923,210.9375,122.7142857 +4864.577923,225,130.4457143 +4864.577923,239.0625,138.1828572 +4864.577923,253.125,145.9314286 +4864.577923,267.1875,153.6914286 +4864.577923,281.25,161.4628572 +4864.577923,295.3125,169.24 +4864.577923,309.375,177.0285714 +4864.577923,323.4375,184.8285714 +4864.577923,337.5,192.6342857 +4864.577923,351.5625,200.4514286 +4864.577923,365.625,208.28 +4864.577923,379.6875,216.12 +4864.577923,393.75,223.9657143 +4864.577923,407.8125,231.8228572 +4864.577923,421.875,239.6914286 +4864.577923,435.9375,247.5657143 +4864.577923,450,255.4514285 diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/HybridStrategyParams.vhctl b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/HybridStrategyParams.vhctl new file mode 100644 index 0000000000..7a28da155f --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/HybridStrategyParams.vhctl @@ -0,0 +1,18 @@ +{ + "Header": { + "CreatedBy": "", + "Date": "2020-08-04T07:11:24.0318977Z", + "AppVersion": "3", + "FileVersion": 1 + }, + "Body": { + "EquivalenceFactorDischarge": 2.5, + "EquivalenceFactorCharge": 1.5, + "MinSoC": 10.0, + "MaxSoC": 90.0, + "TargetSoC": 50.0, + "MinICEOnTime": 3, + "AuxBufferTime": 5, + "AuxBufferChgTime": 3 + } +} \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/Interurban.vdri b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/Interurban.vdri new file mode 100644 index 0000000000..90b5604a3e --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/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/Hybrids/BusAuxEngineeringMode/InterurbanBus.vveh b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/InterurbanBus.vveh new file mode 100644 index 0000000000..e475077fd7 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/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/Hybrids/BusAuxEngineeringMode/InterurbanBus_ENG_BusAux_A.vecto b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/InterurbanBus_ENG_BusAux_A.vecto new file mode 100644 index 0000000000..60383957df --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/InterurbanBus_ENG_BusAux_A.vecto @@ -0,0 +1,47 @@ +{ + "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_A.vaux", + "Aux": [], + "Padd": 5000.0, + "VACC": "Driver.vacc", + "StartStop": { + "Enabled": false, + "MaxSpeed": 5.0, + "MinTime": 5.0, + "Delay": 5.0 + }, + "EngineStopStartUtilityFactor": 1, + "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/Hybrids/BusAuxEngineeringMode/InterurbanBus_ENG_BusAux_B.vecto b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/InterurbanBus_ENG_BusAux_B.vecto new file mode 100644 index 0000000000..6ee03f097f --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/InterurbanBus_ENG_BusAux_B.vecto @@ -0,0 +1,47 @@ +{ + "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_B.vaux", + "Aux": [], + "Padd": 5000.0, + "VACC": "Driver.vacc", + "StartStop": { + "Enabled": false, + "MaxSpeed": 5.0, + "MinTime": 5.0, + "Delay": 5.0 + }, + "EngineStopStartUtilityFactor": 1, + "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/Hybrids/BusAuxEngineeringMode/InterurbanBus_ENG_BusAux_C1.vecto b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/InterurbanBus_ENG_BusAux_C1.vecto new file mode 100644 index 0000000000..cecf71a41d --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/InterurbanBus_ENG_BusAux_C1.vecto @@ -0,0 +1,50 @@ +{ + "Header": { + "CreatedBy": " ()", + "Date": "2016-10-13T10:28:40.9616564Z", + "AppVersion": "3", + "FileVersion": 8 + }, + "Body": { + "SavedInDeclMode": false, + "EngineOnlyMode": false, + "VehicleFile": "InterurbanBus_P1.vveh", + "EngineFile": "Engine_250kW_7.7l.veng", + "GearboxFile": "MT_6_Bus.vgbx", + "TCU": "ShiftPArameters.vtcu", + "ShiftStrategy": "", + "BusAux": "BusAuxData_C1.vaux", + "HybridStrategyParams": "HybridStrategyParams.vhctl", + "Aux": [], + "Padd": 5000.0, + "VACC": "Driver.vacc", + "StartStop": { + "Enabled": false, + "MaxSpeed": 5.0, + "MinTime": 5.0, + "Delay": 5.0 + }, + "EngineStopStartUtilityFactor": 1, + "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/Hybrids/BusAuxEngineeringMode/InterurbanBus_ENG_BusAux_C2a.vecto b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/InterurbanBus_ENG_BusAux_C2a.vecto new file mode 100644 index 0000000000..2c0b530c90 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/InterurbanBus_ENG_BusAux_C2a.vecto @@ -0,0 +1,50 @@ +{ + "Header": { + "CreatedBy": " ()", + "Date": "2016-10-13T10:28:40.9616564Z", + "AppVersion": "3", + "FileVersion": 8 + }, + "Body": { + "SavedInDeclMode": false, + "EngineOnlyMode": false, + "VehicleFile": "InterurbanBus_P1.vveh", + "EngineFile": "Engine_250kW_7.7l.veng", + "GearboxFile": "MT_6_Bus.vgbx", + "TCU": "ShiftPArameters.vtcu", + "ShiftStrategy": "", + "HybridStrategyParams": "HybridStrategyParams.vhctl", + "BusAux": "BusAuxData_C2a.vaux", + "Aux": [], + "Padd": 5000.0, + "VACC": "Driver.vacc", + "StartStop": { + "Enabled": false, + "MaxSpeed": 5.0, + "MinTime": 5.0, + "Delay": 5.0 + }, + "EngineStopStartUtilityFactor": 1, + "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/Hybrids/BusAuxEngineeringMode/InterurbanBus_ENG_BusAux_C2b.vecto b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/InterurbanBus_ENG_BusAux_C2b.vecto new file mode 100644 index 0000000000..0603519d68 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/InterurbanBus_ENG_BusAux_C2b.vecto @@ -0,0 +1,50 @@ +{ + "Header": { + "CreatedBy": " ()", + "Date": "2016-10-13T10:28:40.9616564Z", + "AppVersion": "3", + "FileVersion": 8 + }, + "Body": { + "SavedInDeclMode": false, + "EngineOnlyMode": false, + "VehicleFile": "InterurbanBus_P1.vveh", + "EngineFile": "Engine_250kW_7.7l.veng", + "GearboxFile": "MT_6_Bus.vgbx", + "TCU": "ShiftPArameters.vtcu", + "ShiftStrategy": "", + "HybridStrategyParams": "HybridStrategyParams.vhctl", + "BusAux": "BusAuxData_C2b.vaux", + "Aux": [], + "Padd": 5000.0, + "VACC": "Driver.vacc", + "StartStop": { + "Enabled": false, + "MaxSpeed": 5.0, + "MinTime": 5.0, + "Delay": 5.0 + }, + "EngineStopStartUtilityFactor": 1, + "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/Hybrids/BusAuxEngineeringMode/InterurbanBus_ENG_BusAux_C3a.vecto b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/InterurbanBus_ENG_BusAux_C3a.vecto new file mode 100644 index 0000000000..fb64789b27 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/InterurbanBus_ENG_BusAux_C3a.vecto @@ -0,0 +1,50 @@ +{ + "Header": { + "CreatedBy": " ()", + "Date": "2016-10-13T10:28:40.9616564Z", + "AppVersion": "3", + "FileVersion": 8 + }, + "Body": { + "SavedInDeclMode": false, + "EngineOnlyMode": false, + "VehicleFile": "InterurbanBus_P1.vveh", + "EngineFile": "Engine_250kW_7.7l.veng", + "GearboxFile": "MT_6_Bus.vgbx", + "TCU": "ShiftPArameters.vtcu", + "ShiftStrategy": "", + "HybridStrategyParams": "HybridStrategyParams.vhctl", + "BusAux": "BusAuxData_C3a.vaux", + "Aux": [], + "Padd": 5000.0, + "VACC": "Driver.vacc", + "StartStop": { + "Enabled": false, + "MaxSpeed": 5.0, + "MinTime": 5.0, + "Delay": 5.0 + }, + "EngineStopStartUtilityFactor": 1, + "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/Hybrids/BusAuxEngineeringMode/InterurbanBus_ENG_BusAux_C3b.vecto b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/InterurbanBus_ENG_BusAux_C3b.vecto new file mode 100644 index 0000000000..fdccba1dd8 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/InterurbanBus_ENG_BusAux_C3b.vecto @@ -0,0 +1,50 @@ +{ + "Header": { + "CreatedBy": " ()", + "Date": "2016-10-13T10:28:40.9616564Z", + "AppVersion": "3", + "FileVersion": 8 + }, + "Body": { + "SavedInDeclMode": false, + "EngineOnlyMode": false, + "VehicleFile": "InterurbanBus_P1.vveh", + "EngineFile": "Engine_250kW_7.7l.veng", + "GearboxFile": "MT_6_Bus.vgbx", + "TCU": "ShiftPArameters.vtcu", + "ShiftStrategy": "", + "HybridStrategyParams": "HybridStrategyParams.vhctl", + "BusAux": "BusAuxData_C3b.vaux", + "Aux": [], + "Padd": 5000.0, + "VACC": "Driver.vacc", + "StartStop": { + "Enabled": false, + "MaxSpeed": 5.0, + "MinTime": 5.0, + "Delay": 5.0 + }, + "EngineStopStartUtilityFactor": 1, + "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/Hybrids/BusAuxEngineeringMode/InterurbanBus_P1.vveh b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/InterurbanBus_P1.vveh new file mode 100644 index 0000000000..2fb1ac246f --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/InterurbanBus_P1.vveh @@ -0,0 +1,84 @@ +{ + "Header": { + "CreatedBy": " ()", + "Date": "2016-10-13T08:57:32.3951093Z", + "AppVersion": "3", + "FileVersion": 10 + }, + "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 + } + ] + }, + "EngineStopStart": true, + "EcoRoll": "None", + "PredictiveCruiseControl": "None", + "ATEcoRollReleaseLockupClutch": false, + "TorqueLimits": {}, + "InitialSoC": 50.0, + "PowertrainConfiguration": "ParallelHybrid", + "ElectricMotors": [ + { + "Count": 1, + "Ratio": 2.0, + "MechanicalEfficiency": 0.98, + "Position": "P1", + "MotorFile": "GenericEM_15KW_220Nm.vem" + } + ], + "Battery": { + "NumPacks": 1, + "BatteryFile": "GenericBattery.vreess" + } + } +} \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/MT_6_Bus.vgbx b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/MT_6_Bus.vgbx new file mode 100644 index 0000000000..b91068b4e0 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/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/TestData/Hybrids/BusAuxEngineeringMode/MaxCurrent.vimax b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/MaxCurrent.vimax new file mode 100644 index 0000000000..d802d5d760 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/MaxCurrent.vimax @@ -0,0 +1,4 @@ +SOC, I_charge, I_discharge +0, 375, 375 +50, 375, 375 +100, 375, 375 \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/ShiftParameters.vtcu b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/ShiftParameters.vtcu new file mode 100644 index 0000000000..a574f711ac --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/BusAuxEngineeringMode/ShiftParameters.vtcu @@ -0,0 +1,11 @@ +{ + "Header": { + "CreatedBy": " ()", + "Date": "2016-10-13T15:52:04.0766564Z", + "AppVersion": "3", + "FileVersion": 1 + }, + "Body": { + + } +} \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/Citybus_P1-APT-P-220kW-7.7l/CityBus_AT-P.vveh b/VectoCore/VectoCoreTest/TestData/Hybrids/Citybus_P1-APT-P-220kW-7.7l/CityBus_AT-P.vveh index 434bc9f53a..a09afe3f63 100644 --- a/VectoCore/VectoCoreTest/TestData/Hybrids/Citybus_P1-APT-P-220kW-7.7l/CityBus_AT-P.vveh +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/Citybus_P1-APT-P-220kW-7.7l/CityBus_AT-P.vveh @@ -62,7 +62,6 @@ "Cycle": "" }, "TorqueLimits": {}, - "MaxDrivetrainPower": 10000.0, "InitialSoC": 90.0, "PowertrainConfiguration": "ParallelHybrid", "ElectricMotors": [ diff --git a/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/BusAuxData.vaux b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/BusAuxData.vaux index 4fe8c49914..451e0e22b4 100644 --- a/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/BusAuxData.vaux +++ b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/BusAuxData.vaux @@ -17,9 +17,11 @@ "CurrentDemand": 54.181, "CurrentDemandEngineOffDriving": 54.181, "CurrentDemandEngineOffStandstill": 54.181, - "SmartElectric": false, "ElectricStorageCapacity": 0.0, - "MaxAlternatorPower": 10000.0 + "MaxAlternatorPower": 10000.0, + "AlternatorType": "conventional", + "ESSupplyFromHEVREESS": false, + "DCDCConverterEfficiency": 1.0 }, "HVAC": { "ElectricPowerDemand": 469.76, diff --git a/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/BusAuxData_SmartES-SmartPS.vaux b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/BusAuxData_SmartES-SmartPS.vaux index 784e9d5d3e..60ef858454 100644 --- a/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/BusAuxData_SmartES-SmartPS.vaux +++ b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/BusAuxData_SmartES-SmartPS.vaux @@ -12,15 +12,17 @@ "SmartAirCompression": true, "GearRatio": 1 }, - "ElectricSystem": { - "AlternatorEfficiency": 0.7, - "CurrentDemand": 54.181, - "CurrentDemandEngineOffDriving": 54.181, - "CurrentDemandEngineOffStandstill": 54.181, - "SmartElectric": true, - "ElectricStorageCapacity": 50, - "MaxAlternatorPower": 35000, - }, + "ElectricSystem": { + "AlternatorEfficiency": 0.7, + "CurrentDemand": 54.181, + "CurrentDemandEngineOffDriving": 54.181, + "CurrentDemandEngineOffStandstill": 54.181, + "ElectricStorageCapacity": 50, + "MaxAlternatorPower": 35000, + "AlternatorType": "smart", + "ESSupplyFromHEVREESS": false, + "DCDCConverterEfficiency": 1.0 + }, "HVAC": { "ElectricPowerDemand": 469.76, "MechanicalPowerDemand": 181.28, diff --git a/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/BusAuxData_SmartES.vaux b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/BusAuxData_SmartES.vaux index 43427efe16..0133ea98fb 100644 --- a/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/BusAuxData_SmartES.vaux +++ b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/BusAuxData_SmartES.vaux @@ -12,15 +12,17 @@ "SmartAirCompression": false, "GearRatio": 1 }, - "ElectricSystem": { - "AlternatorEfficiency": 0.7, - "CurrentDemand": 54.181, - "CurrentDemandEngineOffDriving": 54.181, - "CurrentDemandEngineOffStandstill": 54.181, - "SmartElectric": true, - "ElectricStorageCapacity": 50, - "MaxAlternatorPower": 35000, - }, + "ElectricSystem": { + "AlternatorEfficiency": 0.7, + "CurrentDemand": 54.181, + "CurrentDemandEngineOffDriving": 54.181, + "CurrentDemandEngineOffStandstill": 54.181, + "ElectricStorageCapacity": 50, + "MaxAlternatorPower": 35000, + "AlternatorType": "smart", + "ESSupplyFromHEVREESS": false, + "DCDCConverterEfficiency": 1.0 + }, "HVAC": { "ElectricPowerDemand": 469.76, "MechanicalPowerDemand": 181.28, diff --git a/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/BusAuxData_SmartPS.vaux b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/BusAuxData_SmartPS.vaux index 2334a8264d..3f1f112b1a 100644 --- a/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/BusAuxData_SmartPS.vaux +++ b/VectoCore/VectoCoreTest/TestData/Integration/Buses/EngineeringMode/BusAuxData_SmartPS.vaux @@ -12,15 +12,17 @@ "SmartAirCompression": true, "GearRatio": 1 }, - "ElectricSystem": { - "AlternatorEfficiency": 0.7, - "CurrentDemand": 54.181, - "CurrentDemandEngineOffDriving": 54.181, - "CurrentDemandEngineOffStandstill": 54.181, - "SmartElectric": false, - "ElectricStorageCapacity": 0, - "MaxAlternatorPower": 10000, - }, + "ElectricSystem": { + "AlternatorEfficiency": 0.7, + "CurrentDemand": 54.181, + "CurrentDemandEngineOffDriving": 54.181, + "CurrentDemandEngineOffStandstill": 54.181, + "ElectricStorageCapacity": 0, + "MaxAlternatorPower": 10000, + "AlternatorType": "conventional", + "ESSupplyFromHEVREESS": false, + "DCDCConverterEfficiency": 1.0 + }, "HVAC": { "ElectricPowerDemand": 469.76, "MechanicalPowerDemand": 181.28, -- GitLab