diff --git a/VECTO/File Browser/FileBrowserModule.vb b/VECTO/File Browser/FileBrowserModule.vb index f01b31ac74ced22f05b1cd740c0996895dd25539..962654495adb8e330c5767d765ab98989f6c9dd8 100644 --- a/VECTO/File Browser/FileBrowserModule.vb +++ b/VECTO/File Browser/FileBrowserModule.vb @@ -66,4 +66,6 @@ Public Module FileBrowserModule Public ElectricMotorFileBrowser As FileBrowser Public REESSFileBrowser As FileBrowser + + public EmADCLossMapFileBrowser As FileBrowser End Module diff --git a/VECTO/GUI/MainForm.vb b/VECTO/GUI/MainForm.vb index 4dad998242770bf972944ced66ba76e05a82c8a2..d8976d4dff71dc04c03cb142d832e57d8251cf5f 100644 --- a/VECTO/GUI/MainForm.vb +++ b/VECTO/GUI/MainForm.vb @@ -142,6 +142,7 @@ Imports TUGraz.VectoCore.Utils CrossWindCorrectionFileBrowser = New FileBrowser("vcdx") ElectricMotorFileBrowser = New FileBrowser("vem") REESSFileBrowser = New FileBrowser("vreess") + EmADCLossMapFileBrowser = new FileBrowser("vtlm") DriverDecisionFactorVelocityDropFileBrowser = New FileBrowser("DfVelocityDrop") DriverDecisionFactorTargetSpeedFileBrowser = New FileBrowser("DfTargetSpeed") DriverDecisionFactorVelocityDropFileBrowser.Extensions = New String() {"csv"} @@ -184,6 +185,7 @@ Imports TUGraz.VectoCore.Utils CrossWindCorrectionFileBrowser.Extensions = New String() {"vcdv", "vcdb"} ElectricMotorFileBrowser.Extensions = New String() {"vem"} REESSFileBrowser.Extensions = New String() {"vreess"} + EmADCLossMapFileBrowser.Extensions = new String(){"vtlm"} ElectricMachineDragTorqueFileBrowser.Extensions = New String() {"vemd"} ElectricMachineMaxTorqueFileBrowser.Extensions = New String() {"vemp"} diff --git a/VECTO/GUI/VehicleForm.Designer.vb b/VECTO/GUI/VehicleForm.Designer.vb index b9488341bb76e60ef311819d58d93bbd314ff5e4..a08b8c0f06df8092e5d5ef1c6dd92f8fcc2ba94a 100644 --- a/VECTO/GUI/VehicleForm.Designer.vb +++ b/VECTO/GUI/VehicleForm.Designer.vb @@ -150,8 +150,8 @@ Partial Class VehicleForm Me.btnBrowseBattery = New System.Windows.Forms.Button() Me.tbBattery = New System.Windows.Forms.TextBox() Me.gpElectricMotor = New System.Windows.Forms.GroupBox() - Me.tbEmEfficiency = New System.Windows.Forms.TextBox() - Me.lblEmEfficiency = New System.Windows.Forms.Label() + Me.tbEmADCLossMap = New System.Windows.Forms.TextBox() + Me.lblEmADCLossmap = New System.Windows.Forms.Label() Me.tbRatioEm = New System.Windows.Forms.TextBox() Me.lblRatioEm = New System.Windows.Forms.Label() Me.tbEmCount = New System.Windows.Forms.TextBox() @@ -163,6 +163,13 @@ Partial Class VehicleForm Me.btnBrowseElectricMotor = New System.Windows.Forms.Button() Me.tbElectricMotor = New System.Windows.Forms.TextBox() Me.tpTorqueLimits = New System.Windows.Forms.TabPage() + Me.gbPropulsionTorque = New System.Windows.Forms.GroupBox() + Me.btnPropulsionTorqueLimit = New System.Windows.Forms.Button() + Me.tbPropulsionTorqueLimit = New System.Windows.Forms.TextBox() + Me.gbEMTorqueLimits = New System.Windows.Forms.GroupBox() + Me.btnEmTorqueLimits = New System.Windows.Forms.Button() + Me.tbEmTorqueLimits = New System.Windows.Forms.TextBox() + Me.bgVehicleTorqueLimits = New System.Windows.Forms.GroupBox() 'Me.TabPage2 = New System.Windows.Forms.TabPage() 'Me.GroupBox9 = New System.Windows.Forms.GroupBox() 'Me.cbTankSystem = New System.Windows.Forms.ComboBox() @@ -171,9 +178,9 @@ Partial Class VehicleForm Me.lvTorqueLimits = New System.Windows.Forms.ListView() Me.ColumnHeader5 = CType(New System.Windows.Forms.ColumnHeader(),System.Windows.Forms.ColumnHeader) Me.ColumnHeader6 = CType(New System.Windows.Forms.ColumnHeader(),System.Windows.Forms.ColumnHeader) + Me.btAddMaxTorqueEntry = New System.Windows.Forms.Button() Me.Label17 = New System.Windows.Forms.Label() Me.btDelMaxTorqueEntry = New System.Windows.Forms.Button() - Me.btAddMaxTorqueEntry = New System.Windows.Forms.Button() Me.tpADAS = New System.Windows.Forms.TabPage() Me.GroupBox5 = New System.Windows.Forms.GroupBox() Me.cbAtEcoRollReleaseLockupClutch = New System.Windows.Forms.CheckBox() @@ -201,13 +208,7 @@ Partial Class VehicleForm Me.cbLegislativeClass = New System.Windows.Forms.ComboBox() Me.Label21 = New System.Windows.Forms.Label() Me.lblTitle = New System.Windows.Forms.Label() - Me.bgVehicleTorqueLimits = New System.Windows.Forms.GroupBox() - Me.gbEMTorqueLimits = New System.Windows.Forms.GroupBox() - Me.btnEmTorqueLimits = New System.Windows.Forms.Button() - Me.tbEmTorqueLimits = New System.Windows.Forms.TextBox() - Me.gbPropulsionTorque = New System.Windows.Forms.GroupBox() - Me.btnPropulsionTorqueLimit = New System.Windows.Forms.Button() - Me.tbPropulsionTorqueLimit = New System.Windows.Forms.TextBox() + Me.btnEmADCLossMap = New System.Windows.Forms.Button() Me.GroupBox6.SuspendLayout Me.ToolStrip1.SuspendLayout Me.GroupBox7.SuspendLayout @@ -237,6 +238,9 @@ Partial Class VehicleForm Me.gpElectricMotor.SuspendLayout Me.pnElectricMotor.SuspendLayout Me.tpTorqueLimits.SuspendLayout + Me.gbPropulsionTorque.SuspendLayout + Me.gbEMTorqueLimits.SuspendLayout + Me.bgVehicleTorqueLimits.SuspendLayout Me.tpADAS.SuspendLayout Me.GroupBox5.SuspendLayout Me.bgVehicleTorqueLimits.SuspendLayout @@ -1155,7 +1159,7 @@ Partial Class VehicleForm Me.tpGeneral.Controls.Add(Me.GrAirRes) Me.tpGeneral.Location = New System.Drawing.Point(4, 22) Me.tpGeneral.Name = "tpGeneral" - Me.tpGeneral.Padding = New System.Windows.Forms.Padding(3, 3, 3, 3) + Me.tpGeneral.Padding = New System.Windows.Forms.Padding(3) Me.tpGeneral.Size = New System.Drawing.Size(579, 355) Me.tpGeneral.TabIndex = 0 Me.tpGeneral.Text = "General" @@ -1170,7 +1174,7 @@ Partial Class VehicleForm Me.tpPowertrain.Controls.Add(Me.GroupBox2) Me.tpPowertrain.Location = New System.Drawing.Point(4, 22) Me.tpPowertrain.Name = "tpPowertrain" - Me.tpPowertrain.Padding = New System.Windows.Forms.Padding(3, 3, 3, 3) + Me.tpPowertrain.Padding = New System.Windows.Forms.Padding(3) Me.tpPowertrain.Size = New System.Drawing.Size(579, 355) Me.tpPowertrain.TabIndex = 1 Me.tpPowertrain.Text = "Powertrain" @@ -1334,7 +1338,7 @@ Partial Class VehicleForm Me.tpElectricComponents.Controls.Add(Me.gpElectricMotor) Me.tpElectricComponents.Location = New System.Drawing.Point(4, 22) Me.tpElectricComponents.Name = "tpElectricComponents" - Me.tpElectricComponents.Padding = New System.Windows.Forms.Padding(3, 3, 3, 3) + Me.tpElectricComponents.Padding = New System.Windows.Forms.Padding(3) Me.tpElectricComponents.Size = New System.Drawing.Size(579, 355) Me.tpElectricComponents.TabIndex = 4 Me.tpElectricComponents.Text = "Electric Components" @@ -1439,8 +1443,9 @@ Partial Class VehicleForm ' 'gpElectricMotor ' - Me.gpElectricMotor.Controls.Add(Me.tbEmEfficiency) - Me.gpElectricMotor.Controls.Add(Me.lblEmEfficiency) + Me.gpElectricMotor.Controls.Add(Me.btnEmADCLossMap) + Me.gpElectricMotor.Controls.Add(Me.tbEmADCLossMap) + Me.gpElectricMotor.Controls.Add(Me.lblEmADCLossmap) Me.gpElectricMotor.Controls.Add(Me.tbRatioEm) Me.gpElectricMotor.Controls.Add(Me.lblRatioEm) Me.gpElectricMotor.Controls.Add(Me.tbEmCount) @@ -1455,21 +1460,21 @@ Partial Class VehicleForm Me.gpElectricMotor.TabStop = false Me.gpElectricMotor.Text = "Electric Motor" ' - 'tbEmEfficiency + 'tbEmADCLossMap ' - Me.tbEmEfficiency.Location = New System.Drawing.Point(204, 131) - Me.tbEmEfficiency.Name = "tbEmEfficiency" - Me.tbEmEfficiency.Size = New System.Drawing.Size(59, 20) - Me.tbEmEfficiency.TabIndex = 26 + Me.tbEmADCLossMap.Location = New System.Drawing.Point(204, 131) + Me.tbEmADCLossMap.Name = "tbEmADCLossMap" + Me.tbEmADCLossMap.Size = New System.Drawing.Size(323, 20) + Me.tbEmADCLossMap.TabIndex = 26 ' - 'lblEmEfficiency + 'lblEmADCLossmap ' - Me.lblEmEfficiency.AutoSize = true - Me.lblEmEfficiency.Location = New System.Drawing.Point(7, 134) - Me.lblEmEfficiency.Name = "lblEmEfficiency" - Me.lblEmEfficiency.Size = New System.Drawing.Size(135, 13) - Me.lblEmEfficiency.TabIndex = 25 - Me.lblEmEfficiency.Text = "Efficiency EM to Drivetrain:" + Me.lblEmADCLossmap.AutoSize = true + Me.lblEmADCLossmap.Location = New System.Drawing.Point(7, 134) + Me.lblEmADCLossmap.Name = "lblEmADCLossmap" + Me.lblEmADCLossmap.Size = New System.Drawing.Size(100, 13) + Me.lblEmADCLossmap.TabIndex = 25 + Me.lblEmADCLossmap.Text = "Loss Map EM ADC:" ' 'tbRatioEm ' @@ -1585,6 +1590,73 @@ Partial Class VehicleForm ' Me.TabPage3.Text = "Torque Limits" ' Me.TabPage3.UseVisualStyleBackColor = true '>>>>>>> VECTO_CERT/master + ' + 'gbPropulsionTorque + ' + Me.gbPropulsionTorque.Controls.Add(Me.btnPropulsionTorqueLimit) + Me.gbPropulsionTorque.Controls.Add(Me.tbPropulsionTorqueLimit) + Me.gbPropulsionTorque.Location = New System.Drawing.Point(3, 236) + Me.gbPropulsionTorque.Name = "gbPropulsionTorque" + Me.gbPropulsionTorque.Size = New System.Drawing.Size(407, 52) + Me.gbPropulsionTorque.TabIndex = 17 + Me.gbPropulsionTorque.TabStop = false + Me.gbPropulsionTorque.Text = "Propulsion Torque Limit" + ' + 'btnPropulsionTorqueLimit + ' + Me.btnPropulsionTorqueLimit.Image = Global.TUGraz.VECTO.My.Resources.Resources.Open_icon + Me.btnPropulsionTorqueLimit.Location = New System.Drawing.Point(331, 17) + Me.btnPropulsionTorqueLimit.Name = "btnPropulsionTorqueLimit" + Me.btnPropulsionTorqueLimit.Size = New System.Drawing.Size(24, 24) + Me.btnPropulsionTorqueLimit.TabIndex = 16 + Me.btnPropulsionTorqueLimit.UseVisualStyleBackColor = true + ' + 'tbPropulsionTorqueLimit + ' + Me.tbPropulsionTorqueLimit.Location = New System.Drawing.Point(6, 20) + Me.tbPropulsionTorqueLimit.Name = "tbPropulsionTorqueLimit" + Me.tbPropulsionTorqueLimit.Size = New System.Drawing.Size(319, 20) + Me.tbPropulsionTorqueLimit.TabIndex = 15 + ' + 'gbEMTorqueLimits + ' + Me.gbEMTorqueLimits.Controls.Add(Me.btnEmTorqueLimits) + Me.gbEMTorqueLimits.Controls.Add(Me.tbEmTorqueLimits) + Me.gbEMTorqueLimits.Location = New System.Drawing.Point(3, 178) + Me.gbEMTorqueLimits.Name = "gbEMTorqueLimits" + Me.gbEMTorqueLimits.Size = New System.Drawing.Size(407, 52) + Me.gbEMTorqueLimits.TabIndex = 9 + Me.gbEMTorqueLimits.TabStop = false + Me.gbEMTorqueLimits.Text = "Electric Machine Torque Limits" + ' + 'btnEmTorqueLimits + ' + Me.btnEmTorqueLimits.Image = Global.TUGraz.VECTO.My.Resources.Resources.Open_icon + Me.btnEmTorqueLimits.Location = New System.Drawing.Point(331, 17) + Me.btnEmTorqueLimits.Name = "btnEmTorqueLimits" + Me.btnEmTorqueLimits.Size = New System.Drawing.Size(24, 24) + Me.btnEmTorqueLimits.TabIndex = 16 + Me.btnEmTorqueLimits.UseVisualStyleBackColor = true + ' + 'tbEmTorqueLimits + ' + Me.tbEmTorqueLimits.Location = New System.Drawing.Point(6, 20) + Me.tbEmTorqueLimits.Name = "tbEmTorqueLimits" + Me.tbEmTorqueLimits.Size = New System.Drawing.Size(319, 20) + Me.tbEmTorqueLimits.TabIndex = 15 + ' + 'bgVehicleTorqueLimits + ' + Me.bgVehicleTorqueLimits.Controls.Add(Me.lvTorqueLimits) + Me.bgVehicleTorqueLimits.Controls.Add(Me.btAddMaxTorqueEntry) + Me.bgVehicleTorqueLimits.Controls.Add(Me.Label17) + Me.bgVehicleTorqueLimits.Controls.Add(Me.btDelMaxTorqueEntry) + Me.bgVehicleTorqueLimits.Location = New System.Drawing.Point(3, 9) + Me.bgVehicleTorqueLimits.Name = "bgVehicleTorqueLimits" + Me.bgVehicleTorqueLimits.Size = New System.Drawing.Size(407, 163) + Me.bgVehicleTorqueLimits.TabIndex = 8 + Me.bgVehicleTorqueLimits.TabStop = false + Me.bgVehicleTorqueLimits.Text = "ICE Torque Limits" ' 'lvTorqueLimits ' @@ -1613,6 +1685,15 @@ Partial Class VehicleForm Me.ColumnHeader6.Text = "Max. Torque" Me.ColumnHeader6.Width = 172 ' + 'btAddMaxTorqueEntry + ' + Me.btAddMaxTorqueEntry.Image = Global.TUGraz.VECTO.My.Resources.Resources.plus_circle_icon + Me.btAddMaxTorqueEntry.Location = New System.Drawing.Point(6, 127) + Me.btAddMaxTorqueEntry.Name = "btAddMaxTorqueEntry" + Me.btAddMaxTorqueEntry.Size = New System.Drawing.Size(24, 24) + Me.btAddMaxTorqueEntry.TabIndex = 4 + Me.btAddMaxTorqueEntry.UseVisualStyleBackColor = true + ' 'Label17 ' Me.Label17.AutoSize = true @@ -1631,21 +1712,12 @@ Partial Class VehicleForm Me.btDelMaxTorqueEntry.TabIndex = 5 Me.btDelMaxTorqueEntry.UseVisualStyleBackColor = true ' - 'btAddMaxTorqueEntry - ' - Me.btAddMaxTorqueEntry.Image = Global.TUGraz.VECTO.My.Resources.Resources.plus_circle_icon - Me.btAddMaxTorqueEntry.Location = New System.Drawing.Point(6, 127) - Me.btAddMaxTorqueEntry.Name = "btAddMaxTorqueEntry" - Me.btAddMaxTorqueEntry.Size = New System.Drawing.Size(24, 24) - Me.btAddMaxTorqueEntry.TabIndex = 4 - Me.btAddMaxTorqueEntry.UseVisualStyleBackColor = true - ' 'tpADAS ' Me.tpADAS.Controls.Add(Me.GroupBox5) Me.tpADAS.Location = New System.Drawing.Point(4, 22) Me.tpADAS.Name = "tpADAS" - Me.tpADAS.Padding = New System.Windows.Forms.Padding(3, 3, 3, 3) + Me.tpADAS.Padding = New System.Windows.Forms.Padding(3) Me.tpADAS.Size = New System.Drawing.Size(579, 355) Me.tpADAS.TabIndex = 3 Me.tpADAS.Text = "ADAS" @@ -1908,72 +1980,15 @@ Partial Class VehicleForm Me.lblTitle.TabIndex = 43 Me.lblTitle.Text = "Vehicle TITLE" ' - 'bgVehicleTorqueLimits - ' - Me.bgVehicleTorqueLimits.Controls.Add(Me.lvTorqueLimits) - Me.bgVehicleTorqueLimits.Controls.Add(Me.btAddMaxTorqueEntry) - Me.bgVehicleTorqueLimits.Controls.Add(Me.Label17) - Me.bgVehicleTorqueLimits.Controls.Add(Me.btDelMaxTorqueEntry) - Me.bgVehicleTorqueLimits.Location = New System.Drawing.Point(3, 9) - Me.bgVehicleTorqueLimits.Name = "bgVehicleTorqueLimits" - Me.bgVehicleTorqueLimits.Size = New System.Drawing.Size(407, 163) - Me.bgVehicleTorqueLimits.TabIndex = 8 - Me.bgVehicleTorqueLimits.TabStop = false - Me.bgVehicleTorqueLimits.Text = "ICE Torque Limits" - ' - 'gbEMTorqueLimits - ' - Me.gbEMTorqueLimits.Controls.Add(Me.btnEmTorqueLimits) - Me.gbEMTorqueLimits.Controls.Add(Me.tbEmTorqueLimits) - Me.gbEMTorqueLimits.Location = New System.Drawing.Point(3, 178) - Me.gbEMTorqueLimits.Name = "gbEMTorqueLimits" - Me.gbEMTorqueLimits.Size = New System.Drawing.Size(407, 52) - Me.gbEMTorqueLimits.TabIndex = 9 - Me.gbEMTorqueLimits.TabStop = false - Me.gbEMTorqueLimits.Text = "Electric Machine Torque Limits" + 'btnEmADCLossMap ' - 'btnEmTorqueLimits - ' - Me.btnEmTorqueLimits.Image = Global.TUGraz.VECTO.My.Resources.Resources.Open_icon - Me.btnEmTorqueLimits.Location = New System.Drawing.Point(331, 17) - Me.btnEmTorqueLimits.Name = "btnEmTorqueLimits" - Me.btnEmTorqueLimits.Size = New System.Drawing.Size(24, 24) - Me.btnEmTorqueLimits.TabIndex = 16 - Me.btnEmTorqueLimits.UseVisualStyleBackColor = true - ' - 'tbEmTorqueLimits - ' - Me.tbEmTorqueLimits.Location = New System.Drawing.Point(6, 20) - Me.tbEmTorqueLimits.Name = "tbEmTorqueLimits" - Me.tbEmTorqueLimits.Size = New System.Drawing.Size(319, 20) - Me.tbEmTorqueLimits.TabIndex = 15 - ' - 'gbPropulsionTorque - ' - Me.gbPropulsionTorque.Controls.Add(Me.btnPropulsionTorqueLimit) - Me.gbPropulsionTorque.Controls.Add(Me.tbPropulsionTorqueLimit) - Me.gbPropulsionTorque.Location = New System.Drawing.Point(3, 236) - Me.gbPropulsionTorque.Name = "gbPropulsionTorque" - Me.gbPropulsionTorque.Size = New System.Drawing.Size(407, 52) - Me.gbPropulsionTorque.TabIndex = 17 - Me.gbPropulsionTorque.TabStop = false - Me.gbPropulsionTorque.Text = "Propulsion Torque Limit" - ' - 'btnPropulsionTorqueLimit - ' - Me.btnPropulsionTorqueLimit.Image = Global.TUGraz.VECTO.My.Resources.Resources.Open_icon - Me.btnPropulsionTorqueLimit.Location = New System.Drawing.Point(331, 17) - Me.btnPropulsionTorqueLimit.Name = "btnPropulsionTorqueLimit" - Me.btnPropulsionTorqueLimit.Size = New System.Drawing.Size(24, 24) - Me.btnPropulsionTorqueLimit.TabIndex = 16 - Me.btnPropulsionTorqueLimit.UseVisualStyleBackColor = true - ' - 'tbPropulsionTorqueLimit - ' - Me.tbPropulsionTorqueLimit.Location = New System.Drawing.Point(6, 20) - Me.tbPropulsionTorqueLimit.Name = "tbPropulsionTorqueLimit" - Me.tbPropulsionTorqueLimit.Size = New System.Drawing.Size(319, 20) - Me.tbPropulsionTorqueLimit.TabIndex = 15 + Me.btnEmADCLossMap.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left),System.Windows.Forms.AnchorStyles) + Me.btnEmADCLossMap.Image = Global.TUGraz.VECTO.My.Resources.Resources.Open_icon + Me.btnEmADCLossMap.Location = New System.Drawing.Point(533, 127) + Me.btnEmADCLossMap.Name = "btnEmADCLossMap" + Me.btnEmADCLossMap.Size = New System.Drawing.Size(24, 24) + Me.btnEmADCLossMap.TabIndex = 28 + Me.btnEmADCLossMap.UseVisualStyleBackColor = true ' 'VehicleForm ' @@ -2051,6 +2066,12 @@ Partial Class VehicleForm Me.pnElectricMotor.ResumeLayout(false) Me.pnElectricMotor.PerformLayout Me.tpTorqueLimits.ResumeLayout(false) + Me.gbPropulsionTorque.ResumeLayout(false) + Me.gbPropulsionTorque.PerformLayout + Me.gbEMTorqueLimits.ResumeLayout(false) + Me.gbEMTorqueLimits.PerformLayout + Me.bgVehicleTorqueLimits.ResumeLayout(false) + Me.bgVehicleTorqueLimits.PerformLayout Me.tpADAS.ResumeLayout(false) Me.GroupBox5.ResumeLayout(false) Me.GroupBox5.PerformLayout @@ -2210,8 +2231,8 @@ End Sub Friend WithEvents tpElectricComponents As TabPage Friend WithEvents gpElectricMotor As GroupBox Friend WithEvents gbBattery As GroupBox - Friend WithEvents tbEmEfficiency As TextBox - Friend WithEvents lblEmEfficiency As Label + Friend WithEvents tbEmADCLossMap As TextBox + Friend WithEvents lblEmADCLossmap As Label Friend WithEvents tbRatioEm As TextBox Friend WithEvents lblRatioEm As Label Friend WithEvents tbEmCount As TextBox @@ -2244,6 +2265,7 @@ End Sub Friend WithEvents gbPropulsionTorque As GroupBox Friend WithEvents btnPropulsionTorqueLimit As Button Friend WithEvents tbPropulsionTorqueLimit As TextBox + Friend WithEvents btnEmADCLossMap As Button '======= Friend WithEvents tpRoadSweeper As TabPage Friend WithEvents gbPTODrive As GroupBox diff --git a/VECTO/GUI/VehicleForm.resx b/VECTO/GUI/VehicleForm.resx index 5e567b01ea761ca564e4363b220e171c4f43893a..ab8c10a72dc5c6c7b48c097a5091cb159d692526 100644 --- a/VECTO/GUI/VehicleForm.resx +++ b/VECTO/GUI/VehicleForm.resx @@ -129,6 +129,9 @@ <metadata name="ToolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <value>376, 21</value> </metadata> + <metadata name="ToolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>376, 21</value> + </metadata> <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <data name="btnBrowseBattery.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value> diff --git a/VECTO/GUI/VehicleForm.vb b/VECTO/GUI/VehicleForm.vb index 1c7ab8308a203e7ab1df0b14c5d95acb12f15bd4..d54ccbf1bb210b6cd3826ae16bc2a2342deffda6 100644 --- a/VECTO/GUI/VehicleForm.vb +++ b/VECTO/GUI/VehicleForm.vb @@ -69,8 +69,8 @@ Public Class VehicleForm PnWheelDiam.Enabled = Not Cfg.DeclMode 'gbPTO.Enabled = Not Cfg.DeclMode pnPTO.Enabled = Not Cfg.DeclMode - gbPTODrive.Enabled = not Cfg.DeclMode - tpRoadSweeper.Visible = Not cfg.DeclMode + gbPTODrive.Enabled = not Cfg.DeclMode + tpRoadSweeper.Visible = Not cfg.DeclMode CbCdMode.ValueMember = "Value" CbCdMode.DisplayMember = "Label" @@ -425,8 +425,8 @@ Public Class VehicleForm cbTankSystem.SelectedValue = declVehicle.TankSystem.Value End If - tbPtoEngineSpeed.Text = vehicle.PTO_DriveEngineSpeed?.AsRPM.ToGUIFormat() - tbPtoGear.Text = if (not vehicle.PTO_DriveGear is nothing, vehicle.PTO_DriveGear.Gear.ToString() ,"") + tbPtoEngineSpeed.Text = vehicle.PTO_DriveEngineSpeed?.AsRPM.ToGUIFormat() + tbPtoGear.Text = if (not vehicle.PTO_DriveGear is nothing, vehicle.PTO_DriveGear.Gear.ToString() ,"") End If LvRRC.Items.Clear() @@ -459,7 +459,7 @@ Public Class VehicleForm tbPTOLossMap.Text = If(Cfg.DeclMode OrElse pto.PTOLossMap Is Nothing, "", GetRelativePath(pto.PTOLossMap.Source, basePath)) tbPTOCycle.Text = If(Cfg.DeclMode OrElse pto.PTOCycleDuringStop Is Nothing, "", GetRelativePath(pto.PTOCycleDuringStop.Source, basePath)) - tbPTODrive.Text = If (Cfg.DeclMode OrElse pto.PTOCycleWhileDriving Is Nothing, "", GetRelativePath(pto.PTOCycleWhileDriving.Source, basePath)) + tbPTODrive.Text = If (Cfg.DeclMode OrElse pto.PTOCycleWhileDriving Is Nothing, "", GetRelativePath(pto.PTOCycleWhileDriving.Source, basePath)) cbAngledriveType.SelectedValue = angledrive.Type tbAngledriveRatio.Text = angledrive.Ratio.ToGUIFormat() @@ -474,7 +474,8 @@ Public Class VehicleForm Dim em As ElectricMachineEntry(Of IElectricMotorEngineeringInputData) = vehicle.Components.ElectricMachines.Entries.First() tbElectricMotor.Text = GetRelativePath(em.ElectricMachine.DataSource.SourceFile, basePath) tbEmCount.Text = em.Count.ToGUIFormat() - tbEmEfficiency.Text = em.MechanicalEfficiency.ToGUIFormat() + tbEmADCLossMap.Text = If(em.MechanicalTransmissionLossMap Is Nothing, em.MechanicalTransmissionEfficiency.ToGUIFormat(), + GetRelativePath(em.MechanicalTransmissionLossMap.Source, basePath)) tbRatioEm.Text = em.Ratio.ToGUIFormat() cbEmPos.SelectedValue = em.Position End If @@ -482,7 +483,7 @@ Public Class VehicleForm If (vehicle.VehicleType = VectoSimulationJobType.ParallelHybridVehicle) Then 'tbMaxDrivetrainPwr.Text = vehicle.MaxDrivetrainPower.ConvertToKiloWatt().Value.ToXMLFormat(2) tbEmTorqueLimits.Text = if (Not vehicle.ElectricMotorTorqueLimits Is Nothing, GetRelativePath(vehicle.ElectricMotorTorqueLimits.Source, basePath), "") - tbPropulsionTorqueLimit.Text = if (Not vehicle.MaxPropulsionTorque Is Nothing, GetRelativePath(vehicle.MaxPropulsionTorque.Source, basePath), "") + tbPropulsionTorqueLimit.Text = if (Not vehicle.MaxPropulsionTorque Is Nothing, GetRelativePath(vehicle.MaxPropulsionTorque.Source, basePath), "") End If DeclInit() @@ -600,7 +601,7 @@ Public Class VehicleForm veh.PtoType = CType(cbPTOType.SelectedValue, String) veh.PtoLossMap.Init(GetPath(file), tbPTOLossMap.Text) veh.PtoCycleStandstill.Init(GetPath(file), tbPTOCycle.Text) - veh.PtoCycleDriving.Init(GetPath(file), tbPTODrive.Text) + veh.PtoCycleDriving.Init(GetPath(file), tbPTODrive.Text) For Each item As ListViewItem In lvTorqueLimits.Items Dim tl As TorqueLimitInputData = New TorqueLimitInputData() @@ -621,7 +622,8 @@ Public Class VehicleForm veh.ElectricMotorPosition = CType(cbEmPos.SelectedValue, PowertrainPosition) veh.ElectricMotorCount = tbEmCount.Text.ToInt() veh.ElectricMotorRatio = tbRatioEm.Text.ToDouble() - veh.ElectricMotorMechEff = tbEmEfficiency.Text.ToDouble() + 'veh.ElectricMotorMechEff = tbEmADCLossMap.Text.ToDouble() + veh.ElectricMotorMechLossMap.Init(GetPath(file), tbEmADCLossMap.Text) End If If (VehicleType = VectoSimulationJobType.ParallelHybridVehicle) AndAlso not String.IsNullOrWhiteSpace(tbEmTorqueLimits.Text) Then @@ -638,8 +640,8 @@ Public Class VehicleForm veh.EcoRollReleaseLockupClutch = cbAtEcoRollReleaseLockupClutch.Checked - veh.GearDuringPTODrive = If(string.IsNullOrWhiteSpace(tbPtoGear.Text), nothing, CType(tbPtoGear.Text.ToInt(), UInteger?)) - veh.EngineSpeedDuringPTODrive = if(string.IsNullOrWhiteSpace(tbPtoEngineSpeed.Text), Nothing, tbPtoEngineSpeed.Text.ToDouble().RPMtoRad()) + veh.GearDuringPTODrive = If(string.IsNullOrWhiteSpace(tbPtoGear.Text), nothing, CType(tbPtoGear.Text.ToInt(), UInteger?)) + veh.EngineSpeedDuringPTODrive = if(string.IsNullOrWhiteSpace(tbPtoEngineSpeed.Text), Nothing, tbPtoEngineSpeed.Text.ToDouble().RPMtoRad()) '--------------------------------------------------------------------------------- If Not veh.SaveFile Then MsgBox("Cannot save to " & file, MsgBoxStyle.Critical) @@ -970,11 +972,11 @@ Public Class VehicleForm If (cbPTOType.SelectedIndex = 0) Then pnPTO.Enabled = False - gbPTODrive.Enabled = false + gbPTODrive.Enabled = false tbPTOLossMap.Text = "" Else pnPTO.Enabled = True - gbPTODrive.Enabled = True + gbPTODrive.Enabled = True End If Change() @@ -1156,10 +1158,15 @@ Public Class VehicleForm End Sub - Private Sub btPTOCycleDrive_Click(sender As Object, e As EventArgs) Handles btPTOCycleDrive.Click - If PTODrivingCycleDrivingFileBrowser.OpenDialog(FileRepl(tbPTODrive.Text, GetPath(_vehFile))) Then - tbPTODrive.Text = GetFilenameWithoutDirectory(PTODrivingCycleDrivingFileBrowser.Files(0), GetPath(_vehFile)) - End If - End Sub + Private Sub btnEmADCLossMap_Click(sender As Object, e As EventArgs) Handles btnEmADCLossMap.Click + If EmADCLossMapFileBrowser.OpenDialog(FileRepl(tbEmADCLossMap.Text, GetPath(_vehFile))) Then _ + tbEmADCLossMap.Text = GetFilenameWithoutDirectory(EmADCLossMapFileBrowser.Files(0), GetPath(_vehFile)) + End Sub + + Private Sub btPTOCycleDrive_Click(sender As Object, e As EventArgs) Handles btPTOCycleDrive.Click + If PTODrivingCycleDrivingFileBrowser.OpenDialog(FileRepl(tbPTODrive.Text, GetPath(_vehFile))) Then + tbPTODrive.Text = GetFilenameWithoutDirectory(PTODrivingCycleDrivingFileBrowser.Files(0), GetPath(_vehFile)) + End If + End Sub End Class diff --git a/VECTO/Input Files/Vehicle.vb b/VECTO/Input Files/Vehicle.vb index 69981c6da561679093463b585e6d75ce190aa459..36375246f38f1d247ade87d8ad27ac4e5d33ce09 100644 --- a/VECTO/Input Files/Vehicle.vb +++ b/VECTO/Input Files/Vehicle.vb @@ -87,7 +87,8 @@ Public Class Vehicle Public ElectricMotorPosition As PowertrainPosition Public ElectricMotorCount As Integer Public ElectricMotorRatio As Double - Public ElectricMotorMechEff As Double + 'Public ElectricMotorMechEff As Double + Public ElectricMotorMechLossMap As SubPath public GearDuringPTODrive As UInteger? Public EngineSpeedDuringPTODrive As PerSecond @@ -109,6 +110,7 @@ Public Class Vehicle PtoCycleDriving = new SubPath() BatteryFile = New SubPath() ElectricMotorFile = New SubPath() + ElectricMotorMechLossMap = new SubPath() SetDefault() End Sub @@ -231,6 +233,9 @@ Public Class Vehicle MassMax = 0 AxleConfiguration = AxleConfiguration.AxleConfig_4x2 + ElectricMotorFile.Clear() + ElectricMotorMechLossMap.Clear() + SavedInDeclMode = False End Sub @@ -964,7 +969,11 @@ Public Class ElectricMachineWrapper Return New List(Of ElectricMachineEntry(Of IElectricMotorDeclarationInputData))(New ElectricMachineEntry(Of IElectricMotorDeclarationInputData)() { New ElectricMachineEntry(Of IElectricMotorDeclarationInputData) With { .ElectricMachine = Me, - .MechanicalEfficiency = Vehicle.ElectricMotorMechEff, .Position = Vehicle.ElectricMotorPosition, .Ratio = Vehicle.ElectricMotorRatio, .Count = Vehicle.ElectricMotorCount}}) + .MechanicalTransmissionEfficiency = If(IsNumeric(Vehicle.ElectricMotorMechLossMap.OriginalPath), Vehicle.ElectricMotorMechLossMap.OriginalPath.ToDouble(), double.NaN), + .MechanicalTransmissionLossMap = VectoCSVFile.Read(Vehicle.ElectricMotorMechLossMap.FullPath), + .Position = Vehicle.ElectricMotorPosition, + .Ratio = Vehicle.ElectricMotorRatio, + .Count = Vehicle.ElectricMotorCount}}) End Get End Property Public ReadOnly Property IElectricMachinesEngineeringInputData_Entries As IList(Of ElectricMachineEntry(Of IElectricMotorEngineeringInputData)) Implements IElectricMachinesEngineeringInputData.Entries @@ -972,7 +981,11 @@ Public Class ElectricMachineWrapper Return New List(Of ElectricMachineEntry(Of IElectricMotorEngineeringInputData))(New ElectricMachineEntry(Of IElectricMotorEngineeringInputData)() { New ElectricMachineEntry(Of IElectricMotorEngineeringInputData)() With { .ElectricMachine = Me, - .MechanicalEfficiency = Vehicle.ElectricMotorMechEff, .Position = Vehicle.ElectricMotorPosition, .Ratio = Vehicle.ElectricMotorRatio, .Count = Vehicle.ElectricMotorCount}}) + .MechanicalTransmissionEfficiency = If(IsNumeric(Vehicle.ElectricMotorMechLossMap.OriginalPath), Vehicle.ElectricMotorMechLossMap.OriginalPath.ToDouble(), double.NaN), + .MechanicalTransmissionLossMap = If(IsNumeric(Vehicle.ElectricMotorMechLossMap.OriginalPath), Nothing, VectoCSVFile.Read(Vehicle.ElectricMotorMechLossMap.FullPath)), + .Position = Vehicle.ElectricMotorPosition, + .Ratio = Vehicle.ElectricMotorRatio, + .Count = Vehicle.ElectricMotorCount}}) End Get End Property diff --git a/VECTO/MainModule.vb b/VECTO/MainModule.vb index d5e6d0f0350adcbb9902caa55ecee88d658d74ac..5f4544e9c2d8dbc9ad39e4794fb4ec931c98a99e 100644 --- a/VECTO/MainModule.vb +++ b/VECTO/MainModule.vb @@ -80,7 +80,7 @@ Module MainModule If (string.isnullOrempty(basePath)) Then Return filePath End If - If (Path.GetDirectoryName(filePath).StartsWith(basePath, StringComparison.OrdinalIgnoreCase)) Then + If (Path.GetDirectoryName(Path.GetFullPath(filePath)).StartsWith(basePath, StringComparison.OrdinalIgnoreCase)) Then Return Path.GetFullPath(filePath).Substring(basePath.Length + If(basePath.EndsWith("\"), 0, 1)) End If Return filePath diff --git a/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs b/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs index b8c74a50c11c5d6c4965dd8651065e48b27b88f1..f78867921812b12eb3f4aa0892437aedf63e358e 100644 --- a/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs +++ b/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs @@ -725,7 +725,9 @@ namespace TUGraz.VectoCommon.InputData public double Ratio { get; set; } - public double MechanicalEfficiency { get; set; } + public double MechanicalTransmissionEfficiency { get; set; } + + public TableData MechanicalTransmissionLossMap { get; set; } } public interface IElectricStorageDeclarationInputData diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONComponentInputData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONComponentInputData.cs index 7f6ab84087f7e999d40c5244ccdb47cae4c4acb7..5e722911a96604a0cbade6176cd436bd2f95925a 100644 --- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONComponentInputData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONComponentInputData.cs @@ -287,7 +287,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON { return new JSONElectricMotors(new List<ElectricMachineEntry<IElectricMotorEngineeringInputData>>() { new ElectricMachineEntry<IElectricMotorEngineeringInputData>() { - ElectricMachine = ElectricMotor, Count = 1, Ratio = 1, MechanicalEfficiency = 1, + ElectricMachine = ElectricMotor, Count = 1, Ratio = 1, MechanicalTransmissionEfficiency = 1, Position = PowertrainPosition.HybridPositionNotSet } }); diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs index 28f39d7d9fa204740761078412c7f3c016d04468..27ee62d1679c568dbe501a48e342df01870a7753 100644 --- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs @@ -98,15 +98,20 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON protected virtual JSONElectricMotors ReadMotors() { var retVal = new List<ElectricMachineEntry<IElectricMotorEngineeringInputData>>(); - foreach (var entry in Body["ElectricMotors"]) - { - var tmp = new ElectricMachineEntry<IElectricMotorEngineeringInputData>() - { + foreach (var entry in Body["ElectricMotors"]) { + var tmp = new ElectricMachineEntry<IElectricMotorEngineeringInputData>() { Position = PowertrainPositionHelper.Parse(entry.GetEx<string>("Position")), Ratio = entry.GetEx<double>("Ratio"), - MechanicalEfficiency = entry.GetEx<double>("MechanicalEfficiency"), + MechanicalTransmissionEfficiency = entry["MechanicalEfficiency"] != null + ? entry.GetEx<double>("MechanicalEfficiency") + : double.NaN, + MechanicalTransmissionLossMap = entry["MechanicalTransmissionLossMap"] != null + ? ReadTableData(Path.Combine(BasePath, entry.GetEx<string>("MechanicalTransmissionLossMap")), "EM ADC LossMap") + : null, Count = entry.GetEx<int>("Count"), - ElectricMachine = JSONInputDataFactory.ReadElectricMotorData(Path.Combine(BasePath, entry.GetEx<string>("MotorFile")), false) + ElectricMachine = + JSONInputDataFactory.ReadElectricMotorData( + Path.Combine(BasePath, entry.GetEx<string>("MotorFile")), false) }; retVal.Add(tmp); } diff --git a/VectoCore/VectoCore/InputData/Reader/ComponentData/TransmissionLossMapReader.cs b/VectoCore/VectoCore/InputData/Reader/ComponentData/TransmissionLossMapReader.cs index 3da0b1a2c9b3d45a2fa0ed2d314dc29a2b8bd4f5..fdcc4b11c2f4c42ff351775a63d45ddad14bb871 100644 --- a/VectoCore/VectoCore/InputData/Reader/ComponentData/TransmissionLossMapReader.cs +++ b/VectoCore/VectoCore/InputData/Reader/ComponentData/TransmissionLossMapReader.cs @@ -101,6 +101,38 @@ namespace TUGraz.VectoCore.InputData.Reader.ComponentData return new TransmissionLossMap(entries, gearRatio, gearName); } + public static TransmissionLossMap CreateEmADCLossMap(DataTable data, double gearRatio, string gearName) + { + if (data == null || data.Columns.Count < 3) { + throw new VectoException("TransmissionLossMap Data File for {0} must consist of 3 columns.", gearName); + } + + if (data.Rows.Count < 4) { + throw new VectoException( + "TransmissionLossMap for {0} must consist of at least four lines with numeric values (below file header", gearName); + } + + List<TransmissionLossMap.GearLossMapEntry> entries; + if (!HeaderIsValid(data.Columns)) { + LoggingObject.Logger<TransmissionLossMap>().Warn( + "TransmissionLossMap {5}: Header line is not valid. Expected: '{0}, {1}, {2}'. Got: '{4}'. Falling back to column index.", + Fields.InputSpeed, Fields.InputTorque, Fields.TorqeLoss, + string.Join(", ", data.Columns.Cast<DataColumn>().Select(c => c.ColumnName).Reverse()), gearName); + + data.Columns[0].ColumnName = Fields.InputSpeed; + data.Columns[1].ColumnName = Fields.InputTorque; + data.Columns[2].ColumnName = Fields.TorqeLoss; + } + entries = (from DataRow row in data.Rows + select new TransmissionLossMap.GearLossMapEntry( + inputSpeed: row.ParseDouble(Fields.InputSpeed).RPMtoRad(), + inputTorque: -row.ParseDouble(Fields.InputTorque).SI<NewtonMeter>(), + torqueLoss: -row.ParseDouble(Fields.TorqeLoss).SI<NewtonMeter>())) + .ToList(); + + return new TransmissionLossMap(entries, gearRatio, gearName); + } + private static List<TransmissionLossMap.GearLossMapEntry> ExtendLossMap( List<TransmissionLossMap.GearLossMapEntry> entries) { @@ -179,6 +211,37 @@ namespace TUGraz.VectoCore.InputData.Reader.ComponentData return new TransmissionLossMap(entries, gearRatio, gearName); } + public static TransmissionLossMap CreateEmADCLossMap(double efficiency, double gearRatio, string gearName) + { + if (double.IsNaN(efficiency)) { + throw new VectoException("TransmissionLossMap: Efficiency is not a number."); + } + + if (efficiency <= 0) { + throw new VectoException("TransmissionLossMap: Efficiency for gear {0} must be greater than 0", gearName); + } + if (efficiency > 1) { + throw new VectoException("TransmissionLossMap: Efficiency for gear {1} must not be greater than 1", gearName); + } + // different signs due to e-motor: negative torque means EM propels the vehicle, positive torque means the EM recuperates energy + // to use the same equations as for other components (i.e. lookup methods of TransmissionLossMap) set losses to negative values + // for positive torque entries torque is transferred from drivetrain to EM -> drivetrain is reference for computing efficiency + // for negative torque entries torque is transferred from EM to drivetrain -> EM is reference for computing efficiency + var entries = new List<TransmissionLossMap.GearLossMapEntry> { + new TransmissionLossMap.GearLossMapEntry(0.RPMtoRad(), 1e5.SI<NewtonMeter>(), + (1 - 1/efficiency) * 1e5.SI<NewtonMeter>()), + new TransmissionLossMap.GearLossMapEntry(0.RPMtoRad(), -1e5.SI<NewtonMeter>(), + -(1 - efficiency) * 1e5.SI<NewtonMeter>()), + new TransmissionLossMap.GearLossMapEntry(0.RPMtoRad(), 0.SI<NewtonMeter>(), 0.SI<NewtonMeter>()), + new TransmissionLossMap.GearLossMapEntry(10000.RPMtoRad(), 0.SI<NewtonMeter>(), 0.SI<NewtonMeter>()), + new TransmissionLossMap.GearLossMapEntry(10000.RPMtoRad(), -1e5.SI<NewtonMeter>(), + -(1 - efficiency) * 1e5.SI<NewtonMeter>()), + new TransmissionLossMap.GearLossMapEntry(10000.RPMtoRad(), 1e5.SI<NewtonMeter>(), + (1 - 1/efficiency) * 1e5.SI<NewtonMeter>()), + }; + return new TransmissionLossMap(entries, gearRatio, gearName); + } + private static bool HeaderIsValid(DataColumnCollection columns) { return columns.Contains(Fields.InputSpeed) && diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs index d12b3020edd7cc26ea840f70931efbf30b8a8305..e80654895728a06b975ca8d4e07d4a76affdfeb7 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs @@ -736,7 +736,8 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter }; } - public List<Tuple<PowertrainPosition, ElectricMotorData>> CreateElectricMachines(IElectricMachinesEngineeringInputData electricMachines, TableData torqueLimits) + public List<Tuple<PowertrainPosition, ElectricMotorData>> CreateElectricMachines( + IElectricMachinesEngineeringInputData electricMachines, TableData torqueLimits) { if (electricMachines == null) { return null; @@ -751,17 +752,23 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter } return electricMachines.Entries - .Select(x => Tuple.Create(x.Position, CreateElectricMachine(x.ElectricMachine, x.Count, x.Ratio, x.MechanicalEfficiency, torqueLimits))).ToList(); + .Select(x => Tuple.Create(x.Position, + CreateElectricMachine(x.ElectricMachine, x.Count, x.Ratio, x.MechanicalTransmissionEfficiency, + x.MechanicalTransmissionLossMap, torqueLimits))).ToList(); } private ElectricMotorData CreateElectricMachine(IElectricMotorEngineeringInputData motorData, int count, - double ratio, double efficiency, TableData torqueLimits) + double ratio, double efficiency, TableData adcLossMap, TableData torqueLimits) { var fullLoadCurve = ElectricFullLoadCurveReader.Create(motorData.FullLoadCurve, count); var maxTorqueCurve = torqueLimits == null ? null : ElectricFullLoadCurveReader.Create(torqueLimits, count); var fullLoadCurveCombined = IntersectEMFullLoadCurves(fullLoadCurve, maxTorqueCurve); + var lossMap = adcLossMap != null + ? TransmissionLossMapReader.CreateEmADCLossMap(adcLossMap, ratio, "EM ADC LossMap") + : TransmissionLossMapReader.CreateEmADCLossMap(efficiency, ratio, "EM ADC LossMap Eff"); + return new ElectricMotorData() { FullLoadCurve = fullLoadCurveCombined, DragCurve = ElectricMotorDragCurveReader.Create(motorData.DragCurve, count), @@ -772,7 +779,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter OverloadTime = motorData.OverloadTime, OverloadRegenerationFactor = motorData.OverloadRecoveryFactor, Ratio = ratio, - TransmissionEfficiency = efficiency + TransmissionLossMap = lossMap }; } diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Data/ElectricMotor/ElectricMotorData.cs b/VectoCore/VectoCore/Models/SimulationComponent/Data/ElectricMotor/ElectricMotorData.cs index 0b4ce384e429e0423d4394308dcfe5fb4d9cc4f7..ccf2b5b6cbdc6ad3261280934214a750e09049a7 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Data/ElectricMotor/ElectricMotorData.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Data/ElectricMotor/ElectricMotorData.cs @@ -1,5 +1,7 @@ using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Models.SimulationComponent.Data.ElectricMotor; +using TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox; +using TUGraz.VectoCore.Models.SimulationComponent.Impl; namespace TUGraz.VectoCore.Models.SimulationComponent.Data { @@ -30,6 +32,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data public double OverloadRegenerationFactor { get; internal set; } public double Ratio { get; internal set; } - public double TransmissionEfficiency { get; internal set; } + + public TransmissionLossMap TransmissionLossMap { get; internal set; } } } \ No newline at end of file diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Data/Gearbox/TransmissionLossMap.cs b/VectoCore/VectoCore/Models/SimulationComponent/Data/Gearbox/TransmissionLossMap.cs index d3fd85b762facf0180ea34a5f2fff6e25c204dc3..87239edc6d15e1d23ef9e421c5fe7503c80f8ec1 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Data/Gearbox/TransmissionLossMap.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Data/Gearbox/TransmissionLossMap.cs @@ -52,6 +52,11 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox /// </summary> private readonly DelaunayMap _lossMap; + /// <summary> + /// The inverted loss map for range sanity checks. [X=Input EngineSpeed, Y=Input Torque] => Z=Output Torque + /// </summary> + private readonly DelaunayMap _invertedLossMap; + public string GearName { get; private set; } @@ -67,11 +72,14 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox _ratio = gearRatio; _entries = entries; _lossMap = new DelaunayMap("TransmissionLossMap " + GearName); + _invertedLossMap = new DelaunayMap("TransmissionLossMapInv. " + GearName); foreach (var entry in _entries) { _lossMap.AddPoint(entry.InputSpeed.Value(), (entry.InputTorque - entry.TorqueLoss).Value(), entry.TorqueLoss.Value()); + _invertedLossMap.AddPoint(entry.InputSpeed.Value(), entry.InputTorque.Value(), entry.TorqueLoss.Value()); } _lossMap.Triangulate(); + _invertedLossMap.Triangulate(); } /// <summary> @@ -104,7 +112,30 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox public NewtonMeter Value; } - + /// <summary> + /// Computes the OUTPUT torque given by the input engineSpeed and the input torque. + /// </summary> + /// <param name="inAngularVelocity">Angular speed at input side.</param> + /// <param name="inTorque">Torque at input side.</param> + /// <param name="allowExtrapolation"></param> + /// <returns>Torque needed at output side (towards the wheels).</returns> + public NewtonMeter GetOutTorque(PerSecond inAngularVelocity, NewtonMeter inTorque, bool allowExtrapolation = false) + { + var torqueLoss = _invertedLossMap.Interpolate(inAngularVelocity.Value(), inTorque.Value()); + if (torqueLoss.HasValue) { + return (inTorque - torqueLoss.Value.SI<NewtonMeter>()) * _ratio; + } + + if (allowExtrapolation) { + torqueLoss = _invertedLossMap.Extrapolate(inAngularVelocity.Value(), inTorque.Value()); + return (inTorque - torqueLoss.Value.SI<NewtonMeter>()) * _ratio; + } + + throw new VectoException("TransmissionLossMap {0}: Interpolation failed. inTorque: {1}, inAngularVelocity: {2}", + GearName, inTorque, + inAngularVelocity.AsRPM); + } + public GearLossMapEntry this[int i] { get { return _entries[i]; } diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/ElectricMotor.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/ElectricMotor.cs index 86b6a39e38b21f1e38add4cfe58f0cf1710a84b7..4034dcc5bde588a05aad996e41085635eaee4bb6 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/ElectricMotor.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/ElectricMotor.cs @@ -1,4 +1,5 @@ -using System.Runtime.InteropServices.WindowsRuntime; +using System; +using System.Runtime.InteropServices.WindowsRuntime; using System.Security.Cryptography; using NLog.LayoutRenderers; using TUGraz.VectoCommon.Exceptions; @@ -86,7 +87,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl var tqInertia = Formulas.InertiaPower(emSpeed, PreviousState.EMSpeed, ModelData.Inertia, dt) / avgEmSpeed; var tqEm = tqEmMap + tqInertia; - var tqDt = ConvertEmTorqueToDrivetrain(tqEm); + var tqDt = ConvertEmTorqueToDrivetrain(avgEmSpeed, tqEm); return tqDt; } @@ -151,14 +152,14 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl maxRecuperationTorqueEm = null; } - var maxDriveTorqueDt = maxDriveTorqueEm == null ? null : ConvertEmTorqueToDrivetrain(maxDriveTorqueEm); - var maxRecuperationTorqueDt = maxRecuperationTorqueEm == null ? null : ConvertEmTorqueToDrivetrain(maxRecuperationTorqueEm); + var maxDriveTorqueDt = maxDriveTorqueEm == null ? null : ConvertEmTorqueToDrivetrain(avgEmSpeed, maxDriveTorqueEm); + var maxRecuperationTorqueDt = maxRecuperationTorqueEm == null ? null : ConvertEmTorqueToDrivetrain(avgEmSpeed, maxRecuperationTorqueEm); // control returns torque that shall be applied on the drivetrain. calculate backward to the EM var emTorqueDt = Control.MechanicalAssistPower(absTime, dt, outTorque, PreviousState.DrivetrainSpeed, outAngularVelocity, maxDriveTorqueDt, maxRecuperationTorqueDt, Position, dryRun); - var emTorque = emTorqueDt == null ? null : ConvertDrivetrainTorqueToEm(emTorqueDt); + var emTorque = emTorqueDt == null ? null : ConvertDrivetrainTorqueToEm(avgDtSpeed, emTorqueDt); var emOff = emTorqueDt == null; if (!dryRun && !DataBus.IsTestPowertrain && emTorqueDt != null && ((emTorque).IsSmaller(maxDriveTorqueEm ?? 0.SI<NewtonMeter>(), 1e-3) || @@ -216,7 +217,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl // if EM is off, calculate EM drag torque 'forward' to be applied on drivetrain // add inertia, drag is positive emTorque = ModelData.DragCurve.Lookup(avgEmSpeed) + inertiaTorqueEm; - emTorqueDt = ConvertEmTorqueToDrivetrain(emTorque); + emTorqueDt = ConvertEmTorqueToDrivetrain(avgEmSpeed, emTorque); emOff = true; } @@ -388,16 +389,37 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl } - protected NewtonMeter ConvertEmTorqueToDrivetrain(NewtonMeter emTorque) + protected NewtonMeter ConvertEmTorqueToDrivetrain(PerSecond emSpeed, NewtonMeter emTorque) { - return emTorque * ModelData.Ratio * - (emTorque < 0 ? ModelData.TransmissionEfficiency : 1 / ModelData.TransmissionEfficiency); + var dtTorque = ModelData.TransmissionLossMap.GetOutTorque(emSpeed, emTorque); + + var dtSpeed = emSpeed / ModelData.Ratio; + var emTorqueBwd = ConvertDrivetrainTorqueToEm(dtSpeed, dtTorque); + if (!emTorque.IsEqual(emTorqueBwd, 1e-8.SI<NewtonMeter>())) { + Log.Debug("Forward Calculation and Backward Calculation do not match..."); + dtTorque = SearchAlgorithm.Search(emTorque, (emTorqueBwd - emTorque) * 1e3, emTorque / 10, + getYValue: r => (r as NewtonMeter - emTorque) * 1e3, + evaluateFunction: x => ConvertDrivetrainTorqueToEm(dtSpeed, x), + criterion: r => { + var i = r as NewtonMeter; + return (i - emTorque).Value() * 1e3; + }); + } + + return dtTorque; + //return emTorque * ModelData.Ratio * + // (emTorque < 0 ? ModelData.TransmissionLossMap : 1 / ModelData.TransmissionLossMap); } - protected NewtonMeter ConvertDrivetrainTorqueToEm(NewtonMeter dtTorque) + protected NewtonMeter ConvertDrivetrainTorqueToEm(PerSecond dtSpeed, NewtonMeter dtTorque) { - return dtTorque / ModelData.Ratio * - (dtTorque < 0 ? 1 / ModelData.TransmissionEfficiency : ModelData.TransmissionEfficiency); + var torqueLoss = ModelData.TransmissionLossMap.GetTorqueLoss(dtSpeed, dtTorque); + + var emTorque = dtTorque / ModelData.Ratio + torqueLoss.Value; + + return emTorque; + //return dtTorque / ModelData.Ratio * + // (dtTorque < 0 ? 1 / ModelData.TransmissionLossMap : ModelData.TransmissionLossMap); } diff --git a/VectoCore/VectoCore/OutputData/FileIO/JSONFileWriter.cs b/VectoCore/VectoCore/OutputData/FileIO/JSONFileWriter.cs index 8865ca6384bebb4b25e390ade4c3438e071bac28..d7880d853512d86d37192f4e9c3f7e0ac03ef4b8 100644 --- a/VectoCore/VectoCore/OutputData/FileIO/JSONFileWriter.cs +++ b/VectoCore/VectoCore/OutputData/FileIO/JSONFileWriter.cs @@ -63,7 +63,7 @@ public class JSONFileWriter : IOutputFileWriter return filePath; } - if (Path.GetDirectoryName(filePath).StartsWith(basePath, StringComparison.OrdinalIgnoreCase)) { + if (Path.GetDirectoryName(Path.GetFullPath(filePath)).StartsWith(basePath, StringComparison.OrdinalIgnoreCase)) { return Path.GetFullPath(filePath).Substring(basePath.Length + (basePath.EndsWith(@"\") ? 0 : 1)); } @@ -566,12 +566,23 @@ public class JSONFileWriter : IOutputFileWriter private Array GetElectricMotors(IVehicleEngineeringInputData vehicle, string basePath) { //var em = vehicle.Components.ElectricMachines.Entries.First(); - return vehicle.Components.ElectricMachines.Entries.Select(em =>new Dictionary<string, object>() { - {"Count", em.Count}, - {"Ratio", em.Ratio}, - {"MechanicalEfficiency", em.MechanicalEfficiency}, - {"Position", em.Position.GetName()}, - {"MotorFile", GetRelativePath(em.ElectricMachine.DataSource.SourceFile, basePath)} + return vehicle.Components.ElectricMachines.Entries.Select(em => { + var d = new Dictionary<string, object>() { + { "Count", em.Count }, + { "Ratio", em.Ratio }, + { "Position", em.Position.GetName() }, + { "MotorFile", GetRelativePath(em.ElectricMachine.DataSource.SourceFile, basePath) } + }; + if (!double.IsNaN(em.MechanicalTransmissionEfficiency)) { + d["MechanicalEfficiency"] = em.MechanicalTransmissionEfficiency; + + } + + if (em.MechanicalTransmissionLossMap != null) { + d["MechanicalTransmissionLossMap"] = GetRelativePath(em.MechanicalTransmissionLossMap.Source, basePath); + + } + return d; }).ToArray(); } diff --git a/VectoCore/VectoCoreTest/Integration/Hybrid/ParallelHybridTest.cs b/VectoCore/VectoCoreTest/Integration/Hybrid/ParallelHybridTest.cs index b536cf391998c88ce82015a35cfba992d8e7673e..e0d6899ca02184df709db5cf1265ec297e4c10ba 100644 --- a/VectoCore/VectoCoreTest/Integration/Hybrid/ParallelHybridTest.cs +++ b/VectoCore/VectoCoreTest/Integration/Hybrid/ParallelHybridTest.cs @@ -264,17 +264,17 @@ namespace TUGraz.VectoCore.Tests.Integration.Hybrid TestCase(TestJobP1_APTP, 8, TestName = "P1 Hybrid APT-P, DriveCycle Urban"), TestCase(TestJobP1_APTP, 9, TestName = "P1 Hybrid APT-P, DriveCycle UrbanDelivery"), - TestCase(TestJobCityBusP1_APTP, 0, TestName = "P1 CityBus Hybrid APT-P, DriveCycle LongHaul"), - TestCase(TestJobCityBusP1_APTP, 1, TestName = "P1 CityBus Hybrid APT-P, DriveCycle Coach"), - TestCase(TestJobCityBusP1_APTP, 2, TestName = "P1 CityBus Hybrid APT-P, DriveCycle Construction"), - TestCase(TestJobCityBusP1_APTP, 3, TestName = "P1 CityBus Hybrid APT-P, DriveCycle HeavyUrban"), - TestCase(TestJobCityBusP1_APTP, 4, TestName = "P1 CityBus Hybrid APT-P, DriveCycle Interurban"), - TestCase(TestJobCityBusP1_APTP, 5, TestName = "P1 CityBus Hybrid APT-P, DriveCycle MunicipalUtility"), - TestCase(TestJobCityBusP1_APTP, 6, TestName = "P1 CityBus Hybrid APT-P, DriveCycle RegionalDelivery"), - TestCase(TestJobCityBusP1_APTP, 7, TestName = "P1 CityBus Hybrid APT-P, DriveCycle Suburban"), - TestCase(TestJobCityBusP1_APTP, 8, TestName = "P1 CityBus Hybrid APT-P, DriveCycle Urban"), + TestCase(TestJobCityBusP1_APTP, 0, TestName = "P1 CityBus Hybrid APT-P, DriveCycle LongHaul"), + TestCase(TestJobCityBusP1_APTP, 1, TestName = "P1 CityBus Hybrid APT-P, DriveCycle Coach"), + TestCase(TestJobCityBusP1_APTP, 2, TestName = "P1 CityBus Hybrid APT-P, DriveCycle Construction"), + TestCase(TestJobCityBusP1_APTP, 3, TestName = "P1 CityBus Hybrid APT-P, DriveCycle HeavyUrban"), + TestCase(TestJobCityBusP1_APTP, 4, TestName = "P1 CityBus Hybrid APT-P, DriveCycle Interurban"), + TestCase(TestJobCityBusP1_APTP, 5, TestName = "P1 CityBus Hybrid APT-P, DriveCycle MunicipalUtility"), + TestCase(TestJobCityBusP1_APTP, 6, TestName = "P1 CityBus Hybrid APT-P, DriveCycle RegionalDelivery"), + TestCase(TestJobCityBusP1_APTP, 7, TestName = "P1 CityBus Hybrid APT-P, DriveCycle Suburban"), + TestCase(TestJobCityBusP1_APTP, 8, TestName = "P1 CityBus Hybrid APT-P, DriveCycle Urban"), TestCase(TestJobCityBusP1_APTP, 9, TestName = "P1 CityBus Hybrid APT-P, DriveCycle UrbanDelivery"), - ] + ] public void P1APTHybridDriveCycle(string jobFile, int cycleIdx) { var inputProvider = JSONInputDataFactory.ReadJsonJob(jobFile); @@ -559,6 +559,10 @@ namespace TUGraz.VectoCore.Tests.Integration.Hybrid public const string Group5_LimitPropTq_TestJob = @"TestData\Hybrids\GenericVehicle_Group5_P2\P2 Group 5_LimitVehiclePropTq.vecto"; + public const string Group5TestJob_EMLossMap_1 = @"TestData\Hybrids\GenericVehicle_Group5_P2\P2 Group 5_EMLossMap_1.vecto"; // non-linear EM Loss-Map + + public const string Group5TestJob_EMLossMap_2 = @"TestData\Hybrids\GenericVehicle_Group5_P2\P2 Group 5_EMLossMap_2.vecto"; // linear EM Loss-Map + [ TestCase(Group5TestJob, 0, TestName = "P2 Hybrid Group 5 DriveCycle LongHaul"), TestCase(Group5TestJob, 1, TestName = "P2 Hybrid Group 5 DriveCycle Coach"), // error @@ -681,6 +685,27 @@ namespace TUGraz.VectoCore.Tests.Integration.Hybrid TestCase(Group5_LimitPropTq_TestJob, 8, TestName = "P2 Hybrid Group 5 Vehicle Prop TorqueLimit DriveCycle Urban"), TestCase(Group5_LimitPropTq_TestJob, 9, TestName = "P2 Hybrid Group 5 Vehicle Prop TorqueLimit DriveCycle UrbanDelivery"), + TestCase(Group5TestJob_EMLossMap_1, 0, TestName = "P2 Hybrid Group 5 EM-LossMap 1 DriveCycle LongHaul"), + TestCase(Group5TestJob_EMLossMap_1, 1, TestName = "P2 Hybrid Group 5 EM-LossMap 1 DriveCycle Coach"), + TestCase(Group5TestJob_EMLossMap_1, 2, TestName = "P2 Hybrid Group 5 EM-LossMap 1 DriveCycle Construction"), + TestCase(Group5TestJob_EMLossMap_1, 3, TestName = "P2 Hybrid Group 5 EM-LossMap 1 DriveCycle HeavyUrban"), + TestCase(Group5TestJob_EMLossMap_1, 4, TestName = "P2 Hybrid Group 5 EM-LossMap 1 DriveCycle Interurban"), + TestCase(Group5TestJob_EMLossMap_1, 5, TestName = "P2 Hybrid Group 5 EM-LossMap 1 DriveCycle MunicipalUtility"), + TestCase(Group5TestJob_EMLossMap_1, 6, TestName = "P2 Hybrid Group 5 EM-LossMap 1 DriveCycle RegionalDelivery"), + TestCase(Group5TestJob_EMLossMap_1, 7, TestName = "P2 Hybrid Group 5 EM-LossMap 1 DriveCycle Suburban"), + TestCase(Group5TestJob_EMLossMap_1, 8, TestName = "P2 Hybrid Group 5 EM-LossMap 1 DriveCycle Urban"), + TestCase(Group5TestJob_EMLossMap_1, 9, TestName = "P2 Hybrid Group 5 EM-LossMap 1 DriveCycle UrbanDelivery"), + + TestCase(Group5TestJob_EMLossMap_2, 0, TestName = "P2 Hybrid Group 5 EM-LossMap 2 DriveCycle LongHaul"), + TestCase(Group5TestJob_EMLossMap_2, 1, TestName = "P2 Hybrid Group 5 EM-LossMap 2 DriveCycle Coach"), + TestCase(Group5TestJob_EMLossMap_2, 2, TestName = "P2 Hybrid Group 5 EM-LossMap 2 DriveCycle Construction"), + TestCase(Group5TestJob_EMLossMap_2, 3, TestName = "P2 Hybrid Group 5 EM-LossMap 2 DriveCycle HeavyUrban"), + TestCase(Group5TestJob_EMLossMap_2, 4, TestName = "P2 Hybrid Group 5 EM-LossMap 2 DriveCycle Interurban"), + TestCase(Group5TestJob_EMLossMap_2, 5, TestName = "P2 Hybrid Group 5 EM-LossMap 2 DriveCycle MunicipalUtility"), + TestCase(Group5TestJob_EMLossMap_2, 6, TestName = "P2 Hybrid Group 5 EM-LossMap 2 DriveCycle RegionalDelivery"), + TestCase(Group5TestJob_EMLossMap_2, 7, TestName = "P2 Hybrid Group 5 EM-LossMap 2 DriveCycle Suburban"), + TestCase(Group5TestJob_EMLossMap_2, 8, TestName = "P2 Hybrid Group 5 EM-LossMap 2 DriveCycle Urban"), + TestCase(Group5TestJob_EMLossMap_2, 9, TestName = "P2 Hybrid Group 5 EM-LossMap 2 DriveCycle UrbanDelivery"), ] public void P2HybridGroup5DriveCycle(string jobFile, int cycleIdx) { diff --git a/VectoCore/VectoCoreTest/Models/SimulationComponent/ElectricMotorTest.cs b/VectoCore/VectoCoreTest/Models/SimulationComponent/ElectricMotorTest.cs index b9f8210fad0f53a0c6a9204f944317884d32f809..4a473847a8e141c7cd5c2b8a07c8f7aaa9151edd 100644 --- a/VectoCore/VectoCoreTest/Models/SimulationComponent/ElectricMotorTest.cs +++ b/VectoCore/VectoCoreTest/Models/SimulationComponent/ElectricMotorTest.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Diagnostics; using System.IO; using System.Linq; using NUnit.Framework; @@ -7,6 +8,7 @@ using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.InputData.FileIO.JSON; +using TUGraz.VectoCore.InputData.Reader.ComponentData; using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter; using TUGraz.VectoCore.Models.Connector.Ports.Impl; using TUGraz.VectoCore.Models.Simulation.Data; @@ -15,6 +17,7 @@ using TUGraz.VectoCore.Models.SimulationComponent; using TUGraz.VectoCore.Models.SimulationComponent.Impl; using TUGraz.VectoCore.OutputData; using TUGraz.VectoCore.Tests.Utils; +using TUGraz.VectoCore.Utils; namespace TUGraz.VectoCore.Tests.Models.SimulationComponent { @@ -49,7 +52,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent ElectricMachine = inputData, Count = 1, Ratio = 1, - MechanicalEfficiency = 1 + MechanicalTransmissionEfficiency = 1 } } }; @@ -76,6 +79,51 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent Assert.IsTrue(response.ElectricSystem.ConsumerPower.Value() < enginePower.Value()); } + [TestCase(100, 100, -1557.958914), + TestCase(100, 30, -514.409252), + TestCase(100, 300, -5354.8590277), + TestCase(600, 100, -7634.931063), + TestCase(600, 300, -22551.5067289), + TestCase(800, -100, 6899.830573), + TestCase(800, -300, 21495.107228)] + public void ElectricMotorOnlyRequestTestMechLoss(double speed, double torque, double expectedBatteryPower) + { + var container = new MockVehicleContainer(); + + var inputData = JSONInputDataFactory.ReadElectricMotorData(MotorFile, false); + var dao = new EngineeringDataAdapter(); + var electricMachine = new MockElectricMachinesInputData() { + Entries = new List<ElectricMachineEntry<IElectricMotorEngineeringInputData>>() { + new ElectricMachineEntry<IElectricMotorEngineeringInputData>() { + ElectricMachine = inputData, + Count = 1, + Ratio = 1, + MechanicalTransmissionEfficiency= 0.95 + } + } + }; + var data = dao.CreateElectricMachines(electricMachine, null); + var strategy = new MockHybridControl(); + + var battery = new MockBattery(); + var motor = new ElectricMotor(container, data.First().Item2, strategy, PowertrainPosition.HybridP2); + var es = new ElectricSystem(container); + es.Connect(battery); + motor.Connect(es); + + strategy.ElectricShare = -torque.SI<NewtonMeter>(); + motor.Initialize(0.SI<NewtonMeter>(), speed.RPMtoRad()); + + var response = motor.Request(0.SI<Second>(), 0.5.SI<Second>(), torque.SI<NewtonMeter>(), speed.RPMtoRad()); + + Assert.IsInstanceOf<ResponseSuccess>(response); + var enginePower = speed.RPMtoRad() * strategy.ElectricShare; + Assert.AreEqual(0, response.Engine.PowerRequest.Value(), 1e-6); + Assert.AreEqual(enginePower.Value(), response.ElectricMotor.ElectricMotorPowerMech.Value(), 1e-6); + Assert.AreEqual(expectedBatteryPower, response.ElectricSystem.ConsumerPower.Value(), 1e-6); + Assert.AreEqual(expectedBatteryPower, response.ElectricSystem.RESSResponse.PowerDemand.Value(), 1e-6); + Assert.IsTrue(response.ElectricSystem.ConsumerPower.Value() < enginePower.Value()); + } [TestCase(100, 100, -30, -494.148831), TestCase(100, 300, -150, -2265.054223), @@ -96,7 +144,55 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent ElectricMachine = inputData, Count = 1, Ratio = 1, - MechanicalEfficiency = 1 + MechanicalTransmissionEfficiency = 1 + } + } + }; + var data = dao.CreateElectricMachines(electricMachine, null); + var strategy = new MockHybridControl(); + + var battery = new MockBattery(); + var motor = new ElectricMotor(container, data.First().Item2, strategy, PowertrainPosition.HybridP2); + var es = new ElectricSystem(container); + es.Connect(battery); + motor.Connect(es); + var tnPort = new MockTnOutPort(); + motor.Connect(tnPort); + + strategy.ElectricShare = electricTorque.SI<NewtonMeter>(); + motor.Initialize(0.SI<NewtonMeter>(), speed.RPMtoRad()); + + var response = motor.Request(0.SI<Second>(), 0.5.SI<Second>(), torque.SI<NewtonMeter>(), speed.RPMtoRad()); + + Assert.IsInstanceOf<ResponseSuccess>(response); + var enginePower = speed.RPMtoRad() * (torque + electricTorque).SI<NewtonMeter>(); + var motorMechPower = speed.RPMtoRad() * electricTorque.SI<NewtonMeter>(); + Assert.AreEqual(enginePower.Value(), response.Engine.PowerRequest.Value(), 1e-6); + Assert.AreEqual(motorMechPower, response.ElectricMotor.ElectricMotorPowerMech); + Assert.AreEqual(expectedBatteryPower, response.ElectricSystem.ConsumerPower.Value(), 1e-6); + Assert.AreEqual(expectedBatteryPower, response.ElectricSystem.RESSResponse.PowerDemand.Value(), 1e-6); + Assert.IsTrue(response.ElectricSystem.ConsumerPower.Value() < response.ElectricMotor.ElectricMotorPowerMech.Value()); + } + + [TestCase(100, 100, -30, -514.409252), + TestCase(100, 300, -150, -2393.422644), + TestCase(600, 100, 100, 5089.426615), + TestCase(600, 300, -50, -4095.4354163), + TestCase(800, -100, 200, 14414.8247370), + TestCase(800, -300, 200, 14414.8247370),] + public void ElectricMotorAssistingRequestTestMechLoss(double speed, double torque, double electricTorque, double expectedBatteryPower) + { + var container = new MockVehicleContainer(); + + var inputData = JSONInputDataFactory.ReadElectricMotorData(MotorFile, false); + var dao = new EngineeringDataAdapter(); + var electricMachine = new MockElectricMachinesInputData() { + Entries = new List<ElectricMachineEntry<IElectricMotorEngineeringInputData>>() { + new ElectricMachineEntry<IElectricMotorEngineeringInputData>() { + ElectricMachine = inputData, + Count = 1, + Ratio = 1, + MechanicalTransmissionEfficiency = 0.95 } } }; @@ -140,7 +236,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent ElectricMachine = inputData, Count = 1, Ratio = 1, - MechanicalEfficiency = 1 + MechanicalTransmissionEfficiency = 1 } } }; @@ -203,7 +299,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent ElectricMachine = inputData, Count = 1, Ratio = 1, - MechanicalEfficiency = 1 + MechanicalTransmissionEfficiency = 1 } } }; @@ -259,7 +355,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent Position = PowertrainPosition.HybridP2, Count = 1, Ratio = 1, - MechanicalEfficiency = 1 + MechanicalTransmissionEfficiency = 1 } } }; @@ -328,6 +424,88 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent motor.CommitSimulationStep(absTime, dt, modData); } } + + [TestCase(0.95, 1000, 1000, 1052.63157894), // case EM drag: EM torque is lower than DT torque + TestCase(0.95, 1000, -1000, -950), // case EM drive: DT torque is lower than EM torque + ] + public void TestADCEfficiencyMapLookupFWD(double eff, double emSpeed, double emTorque, double expectedDTTorque) + { + var lossMap = TransmissionLossMapReader.CreateEmADCLossMap(eff, 1.0, "EM ADC Eff"); + + var outTorque = lossMap.GetOutTorque(emSpeed.RPMtoRad(), emTorque.SI<NewtonMeter>()); + + Assert.AreEqual(expectedDTTorque, outTorque.Value(), 1e-6); + + var effValue = emTorque < 0 ? outTorque / emTorque : emTorque / outTorque; + + Assert.AreEqual(eff, effValue.Value(), 1e-6); + } + + [TestCase(0.95, 1000, 1000, 950), // case EM drag: EM torque is lower than DT torque + TestCase(0.95, 1000, -1000, -1052.63157894), // case EM drive: DT torque is lower than EM torque + ] + public void TestADCEfficiencyMapLookupBWD(double eff, double dtSpeed, double dtTorque, double expectedEMTorque) + { + var lossMap = TransmissionLossMapReader.CreateEmADCLossMap(eff, 1.0, "EM ADC Eff"); + + var torqueLoss = lossMap.GetTorqueLoss(dtSpeed.RPMtoRad(), dtTorque.SI<NewtonMeter>()); + + var emTorque = dtTorque.SI<NewtonMeter>() + torqueLoss.Value; + + Assert.AreEqual(expectedEMTorque, emTorque.Value(), 1e-6); + + + } + + [TestCase(1000, 1000, 1050), + TestCase(1000, -1000, -950), + ] + public void TestADCEfficiencyMapLookupFWD(double emSpeed, double emTorque, double expectedDTTorque) + { + var header = "n, T_in, T_loss"; + var mapData = new [] { + "0, -100000, 5000", + "0, 0, 0", + "0, 100000, 5000", + "10000, -100000, 5000", + "10000, 0, 0", + "10000, 100000, 5000" + }; + + var lossMap = + TransmissionLossMapReader.CreateEmADCLossMap(VectoCSVFile.ReadStream(InputDataHelper.InputDataAsStream(header, mapData)), 1.0, + "EM ADC Map"); + + var outTorque = lossMap.GetOutTorque(emSpeed.RPMtoRad(), emTorque.SI<NewtonMeter>()); + + Assert.AreEqual(expectedDTTorque, outTorque.Value(), 1e-6); + } + + [TestCase(1000, 1000, 952.380952), + TestCase(1000, -1000, -1052.6315789), + ] + public void TestADCEfficiencyMapLookupBWD(double dtSpeed, double dtTorque, double expectedEMTorque) + { + var header = "n, T_in, T_loss"; + var mapData = new[] { + "0, -100000, 5000", + "0, 0, 0", + "0, 100000, 5000", + "10000, -100000, 5000", + "10000, 0, 0", + "10000, 100000, 5000" + }; + + var lossMap = + TransmissionLossMapReader.CreateEmADCLossMap(VectoCSVFile.ReadStream(InputDataHelper.InputDataAsStream(header, mapData)), 1.0, + "EM ADC Map"); + + var torqueLoss = lossMap.GetTorqueLoss(dtSpeed.RPMtoRad(), dtTorque.SI<NewtonMeter>()); + + var emTorque = dtTorque.SI<NewtonMeter>() + torqueLoss.Value; + + Assert.AreEqual(expectedEMTorque, emTorque.Value(), 1e-6); + } } } \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/GenericADC.vtlm b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/GenericADC.vtlm new file mode 100644 index 0000000000000000000000000000000000000000..0b59be17aaec2f2bd5948d95df4d6c987a1ff4b1 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group2_P2/GenericADC.vtlm @@ -0,0 +1,71 @@ +n , T_in , T_loss +0 , -1250 , 71.875 +0 , -1000 , 50 +0 , -750 , 31.875 +0 , -500 , 17.5 +0 , -250 , 6.875 +0 , 250 , 6.875 +0 , 500 , 17.5 +0 , 750 , 31.875 +0 , 1000 , 50 +0 , 1250 , 71.875 +500 , -1250 , 71.875 +500 , -1000 , 50 +500 , -750 , 31.875 +500 , -500 , 17.5 +500 , -250 , 6.875 +500 , 250 , 6.875 +500 , 500 , 17.5 +500 , 750 , 31.875 +500 , 1000 , 50 +500 , 1250 , 71.875 +1000 , -1250 , 73.875 +1000 , -1000 , 52 +1000 , -750 , 33.875 +1000 , -500 , 19.5 +1000 , -250 , 8.875 +1000 , 250 , 8.875 +1000 , 500 , 19.5 +1000 , 750 , 33.875 +1000 , 1000 , 52 +1000 , 1250 , 73.875 +2000 , -1250 , 77.875 +2000 , -1000 , 56 +2000 , -750 , 37.875 +2000 , -500 , 23.5 +2000 , -250 , 12.875 +2000 , 250 , 12.875 +2000 , 500 , 23.5 +2000 , 750 , 37.875 +2000 , 1000 , 56 +2000 , 1250 , 77.875 +3000 , -1250 , 81.875 +3000 , -1000 , 60 +3000 , -750 , 41.875 +3000 , -500 , 27.5 +3000 , -250 , 16.875 +3000 , 250 , 16.875 +3000 , 500 , 27.5 +3000 , 750 , 41.875 +3000 , 1000 , 60 +3000 , 1250 , 81.875 +4000 , -1250 , 85.875 +4000 , -1000 , 64 +4000 , -750 , 45.875 +4000 , -500 , 31.5 +4000 , -250 , 20.875 +4000 , 250 , 20.875 +4000 , 500 , 31.5 +4000 , 750 , 45.875 +4000 , 1000 , 64 +4000 , 1250 , 85.875 +5000 , -1250 , 89.875 +5000 , -1000 , 68 +5000 , -750 , 49.875 +5000 , -500 , 35.5 +5000 , -250 , 24.875 +5000 , 250 , 24.875 +5000 , 500 , 35.5 +5000 , 750 , 49.875 +5000 , 1000 , 68 +5000 , 1250 , 89.875 diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/325kW.vfld b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/325kW.vfld new file mode 100644 index 0000000000000000000000000000000000000000..750d4048ef2da521d3c51bd0a8af39b6373c8575 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/325kW.vfld @@ -0,0 +1,202 @@ +engine speed [1/min], full load torque [Nm], motoring torque [Nm] +600,1188,-138 +608,1206.92,-138.2 +616,1225.84,-138.4 +624,1244.76,-138.6 +632,1263.68,-138.8 +640,1282.6,-139 +648,1301.52,-139.2 +656,1320.44,-139.4 +664,1339.36,-139.6 +672,1358.28,-139.8 +680,1377.2,-140 +688,1396.12,-140.2 +696,1415.04,-140.4 +704,1433.96,-140.6 +712,1452.88,-140.8 +720,1471.8,-141 +728,1490.72,-141.2 +736,1509.64,-141.4 +744,1528.56,-141.6 +752,1547.48,-141.8 +760,1566.4,-142 +768,1585.32,-142.2 +776,1604.24,-142.4 +784,1623.16,-142.6 +792,1642.08,-142.8 +800,1661,-143 +808,1679.92,-143.36 +816,1698.84,-143.72 +824,1717.76,-144.08 +832,1736.68,-144.44 +840,1755.6,-144.8 +848,1774.52,-145.16 +856,1793.44,-145.52 +864,1812.36,-145.88 +872,1831.28,-146.24 +880,1850.2,-146.6 +888,1869.12,-146.96 +896,1888.04,-147.32 +904,1906.96,-147.68 +912,1925.88,-148.04 +920,1944.8,-148.4 +928,1963.72,-148.76 +936,1982.64,-149.12 +944,2001.56,-149.48 +952,2020.48,-149.84 +960,2039.4,-150.2 +968,2058.32,-150.56 +976,2077.24,-150.92 +984,2096.16,-151.28 +992,2115.08,-151.64 +1000,2134,-152 +1008,2134,-152.52 +1016,2134,-153.04 +1024,2134,-153.56 +1032,2134,-154.08 +1040,2134,-154.6 +1048,2134,-155.12 +1056,2134,-155.64 +1064,2134,-156.16 +1072,2134,-156.68 +1080,2134,-157.2 +1088,2134,-157.72 +1096,2134,-158.24 +1104,2134,-158.76 +1112,2134,-159.28 +1120,2134,-159.8 +1128,2134,-160.32 +1136,2134,-160.84 +1144,2134,-161.36 +1152,2134,-161.88 +1160,2134,-162.4 +1168,2134,-162.92 +1176,2134,-163.44 +1184,2134,-163.96 +1192,2134,-164.48 +1200,2134,-165 +1208,2134,-165.88 +1216,2134,-166.76 +1224,2134,-167.64 +1232,2134,-168.52 +1240,2134,-169.4 +1248,2134,-170.28 +1256,2134,-171.16 +1264,2134,-172.04 +1272,2134,-172.92 +1280,2134,-173.8 +1288,2134,-174.68 +1296,2134,-175.56 +1304,2134,-176.44 +1312,2134,-177.32 +1320,2134,-178.2 +1328,2134,-179.08 +1336,2134,-179.96 +1344,2134,-180.84 +1352,2134,-181.72 +1360,2134,-182.6 +1368,2134,-183.48 +1376,2134,-184.36 +1384,2134,-185.24 +1392,2134,-186.12 +1400,2134,-187 +1408,2125.76,-188.2 +1416,2117.52,-189.4 +1424,2109.28,-190.6 +1432,2101.04,-191.8 +1440,2092.8,-193 +1448,2084.56,-194.2 +1456,2076.32,-195.4 +1464,2068.08,-196.6 +1472,2059.84,-197.8 +1480,2051.6,-199 +1488,2043.36,-200.2 +1496,2035.12,-201.3911 +1504,2026.88,-202.5793 +1512,2018.64,-203.7675 +1520,2010.4,-204.9557 +1528,2002.16,-206.1439 +1536,1993.92,-207.3321 +1544,1985.68,-208.5203 +1552,1977.44,-209.7085 +1560,1969.2,-210.8967 +1568,1960.96,-212.0849 +1576,1952.72,-213.2731 +1584,1944.48,-214.4613 +1592,1936.24,-215.6495 +1600,1928,-216.8377 +1608,1919.76,-218.0259 +1616,1911.52,-219.16 +1624,1903.28,-220.24 +1632,1895.04,-221.32 +1640,1886.8,-222.4 +1648,1878.56,-223.48 +1656,1870.32,-224.56 +1664,1862.08,-225.64 +1672,1853.84,-226.72 +1680,1845.6,-227.8 +1688,1837.36,-228.88 +1696,1829.12,-229.96 +1704,1820.88,-231.04 +1712,1812.64,-232.12 +1720,1804.4,-233.2 +1728,1796.16,-234.28 +1736,1787.92,-235.36 +1744,1779.68,-236.44 +1752,1771.44,-237.52 +1760,1763.2,-238.6 +1768,1754.96,-239.68 +1776,1746.72,-240.76 +1784,1738.48,-241.84 +1792,1730.24,-242.92 +1800,1722,-244 +1808,1703.24,-245.36 +1816,1684.48,-246.72 +1824,1665.72,-248.08 +1832,1646.96,-249.44 +1840,1628.2,-250.8 +1848,1609.44,-252.16 +1856,1590.68,-253.52 +1864,1571.92,-254.88 +1872,1553.16,-256.24 +1880,1534.4,-257.6 +1888,1515.64,-258.96 +1896,1496.88,-260.32 +1904,1478.12,-261.68 +1912,1459.36,-263.04 +1920,1440.6,-264.4 +1928,1421.84,-265.76 +1936,1403.08,-267.12 +1944,1384.32,-268.48 +1952,1365.56,-269.84 +1960,1346.8,-271.2 +1968,1328.04,-272.56 +1976,1309.28,-273.92 +1984,1290.52,-275.28 +1992,1271.76,-276.64 +2000,1253,-278 +2008,1234.28,-279.36 +2016,1215.56,-280.72 +2024,1196.84,-282.08 +2032,1178.12,-283.44 +2040,1159.4,-284.8 +2048,1140.68,-286.16 +2056,1121.96,-287.52 +2064,1103.24,-288.88 +2072,1084.52,-290.24 +2080,1065.8,-291.6 +2088,1047.08,-292.96 +2096,1028.36,-294.32 +2104,978.24,-295.68 +2112,896.72,-297.04 +2120,815.2,-298.4 +2128,733.68,-299.76 +2136,652.16,-301.12 +2144,570.64,-302.48 +2152,489.12,-303.84 +2160,407.6,-305.2 +2168,326.08,-306.56 +2176,244.56,-307.92 +2184,163.04,-309.28 +2192,81.52,-310.64 +2200,0,-312 diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/325kW.vmap b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/325kW.vmap new file mode 100644 index 0000000000000000000000000000000000000000..eea08f963f4b23b49f15d030db630b52edc1d4e3 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/325kW.vmap @@ -0,0 +1,140 @@ +engine speed [rpm], torque [Nm], fuel consumption [g/h] +500,-135.5,0 +500,0,1355 +500,213.4,3412.291 +500,426.8,5830.1 +500,640.2,8316.426 +500,853.6,10439.87 +500,1067,12823.69 +500,1188,14228.79 +500,1401.4,16628.66 +600,-138,0 +600,0,1355 +600,213.4,3412.291 +600,426.8,5830.1 +600,640.2,8316.426 +600,853.6,10439.87 +600,1067,12823.69 +600,1188,14228.79 +600,1401.4,16628.66 +751,-141.775,0 +750.9,0,1649.255 +750.9,213.4,4157.795 +750.9,426.8,7149.494 +750.9,640.2,10037.08 +750.9,853.6,12957.07 +750.9,1067,16055.22 +750.9,1280.4,19231.36 +750.9,1493.8,22400.17 +750.9,1544.879,23213.92 +751,1758.279,26392.93 +902,-147.59,0 +901.8,0,2210.735 +901.8,213.4,5204.867 +901.8,426.8,8515.462 +901.8,640.2,11804.75 +901.8,853.6,15410.55 +901.8,1067,19081.7 +901.8,1280.4,22742.96 +901.8,1493.8,26543.87 +901.8,1707.2,30534.68 +901.8,1901.757,34352.75 +902,2115.157,38403.27 +1053,-155.445,0 +1052.7,0,2768.035 +1052.7,213.4,6228.407 +1052.7,426.8,9836.041 +1052.7,640.2,13624.5 +1052.7,853.6,17854.95 +1052.7,1067,22072.71 +1052.7,1280.4,26161.13 +1052.7,1493.8,30525.55 +1052.7,1707.2,35019.18 +1052.7,1920.6,39913.3 +1052.7,2134,45438.16 +1053,2347.4,50542.53 +1204,-165.44,0 +1203.6,0,3086.704 +1203.6,213.4,6943.027 +1203.6,426.8,11040.37 +1203.6,640.2,15504.65 +1203.6,853.6,20335.89 +1203.6,1067,25176.6 +1203.6,1280.4,29782.22 +1203.6,1493.8,34642.24 +1203.6,1707.2,39786.14 +1203.6,1920.6,45254.8 +1203.6,2134,51129.03 +1204,2347.4,56732.88 +1367,-183.37,0 +1367.1,0,3845.344 +1367.1,213.4,7981.742 +1367.1,426.8,12796.69 +1367.1,640.2,17789.2 +1367.1,853.6,22854.21 +1367.1,1067,28302.84 +1367.1,1280.4,33739.91 +1367.1,1493.8,39393.87 +1367.1,1707.2,45836.33 +1367.1,1920.6,52078.71 +1367.1,2134,58296.41 +1367,2347.4,64530.56 +1490,-200.5,0 +1489.6,0,4373.424 +1489.6,213.4,8861.484 +1489.6,426.8,14090.86 +1489.6,640.2,19518.29 +1489.6,853.6,25092.8 +1489.6,1067,30873.69 +1489.6,1280.4,36865.42 +1489.6,1493.8,43095.57 +1489.6,1707.2,50249.81 +1489.6,1920.6,57035.25 +1489.6,2041.712,60609.5 +1490,2255.112,67311.83 +1612,-218.62,0 +1612.2,0,4904.015 +1612.2,213.4,9810.482 +1612.2,426.8,15403.9 +1612.2,640.2,21301.35 +1612.2,853.6,27492.32 +1612.2,1067,33580.96 +1612.2,1280.4,40114.61 +1612.2,1493.8,46914.77 +1612.2,1707.2,54666.14 +1612.2,1915.434,61862.91 +1612,2128.834,69491.99 +1735,-235.225,0 +1734.7,0,5586.953 +1734.7,213.4,11041.15 +1734.7,426.8,16949.24 +1734.7,640.2,23500.23 +1734.7,853.6,30159.59 +1734.7,1067,36741.18 +1734.7,1280.4,43923.85 +1734.7,1493.8,51295.21 +1734.7,1707.2,59469.31 +1734.7,1789.259,62731.31 +1735,2002.659,70935.23 +1857,-253.69,0 +1857.3,0,6673.839 +1857.3,213.4,12518.56 +1857.3,426.8,18687.88 +1857.3,640.2,25652.39 +1857.3,853.6,33003.08 +1857.3,1067,40438.09 +1857.3,1280.4,48117.52 +1857.3,1493.8,55848.59 +1857.3,1587.631,59434.17 +1857,1801.031,67215.39 +1957,-270.69,0 +1957.3,0,6673.839 +1957.3,213.4,12518.56 +1957.3,426.8,18687.88 +1957.3,640.2,25652.39 +1957.3,853.6,33003.08 +1957.3,1067,40438.09 +1957.3,1280.4,48117.52 +1957.3,1493.8,55848.59 +1957.3,1587.631,59434.17 +1957,1801.031,67215.39 diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/AMT_12.vgbx b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/AMT_12.vgbx new file mode 100644 index 0000000000000000000000000000000000000000..6a66c1bccbbea0b3185663e41217f32df21ee1df --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/AMT_12.vgbx @@ -0,0 +1,117 @@ +{ + "Header": { + "CreatedBy": "", + "Date": "2020-09-07T15:26:44.5653903Z", + "AppVersion": "3", + "FileVersion": 6 + }, + "Body": { + "SavedInDeclMode": false, + "ModelName": "tractor_12gear_example", + "Inertia": 0.0, + "TracInt": 1.0, + "Gears": [ + { + "Ratio": 2.64, + "LossMap": "Axle_4x2_Tractor.vtlm" + }, + { + "Ratio": 14.93, + "LossMap": "Gear_1.vtlm", + "ShiftPolygon": "", + "MaxTorque": "", + "MaxSpeed": "" + }, + { + "Ratio": 11.64, + "LossMap": "Gear_2.vtlm", + "ShiftPolygon": "", + "MaxTorque": "", + "MaxSpeed": "" + }, + { + "Ratio": 9.02, + "LossMap": "Gear_3.vtlm", + "ShiftPolygon": "", + "MaxTorque": "", + "MaxSpeed": "" + }, + { + "Ratio": 7.04, + "LossMap": "Gear_4.vtlm", + "ShiftPolygon": "", + "MaxTorque": "", + "MaxSpeed": "" + }, + { + "Ratio": 5.64, + "LossMap": "Gear_5.vtlm", + "ShiftPolygon": "", + "MaxTorque": "", + "MaxSpeed": "" + }, + { + "Ratio": 4.4, + "LossMap": "Gear_6.vtlm", + "ShiftPolygon": "", + "MaxTorque": "", + "MaxSpeed": "" + }, + { + "Ratio": 3.39, + "LossMap": "Gear_7.vtlm", + "ShiftPolygon": "", + "MaxTorque": "", + "MaxSpeed": "" + }, + { + "Ratio": 2.65, + "LossMap": "Gear_8.vtlm", + "ShiftPolygon": "", + "MaxTorque": "", + "MaxSpeed": "" + }, + { + "Ratio": 2.05, + "LossMap": "Gear_9.vtlm", + "ShiftPolygon": "", + "MaxTorque": "", + "MaxSpeed": "" + }, + { + "Ratio": 1.6, + "LossMap": "Gear_10.vtlm", + "ShiftPolygon": "", + "MaxTorque": "", + "MaxSpeed": "" + }, + { + "Ratio": 1.28, + "LossMap": "Gear_11.vtlm", + "ShiftPolygon": "", + "MaxTorque": "", + "MaxSpeed": "" + }, + { + "Ratio": 1.0, + "LossMap": "Gear_12.vtlm", + "ShiftPolygon": "", + "MaxTorque": "", + "MaxSpeed": "" + } + ], + "TqReserve": 20.0, + "ShiftTime": 2.0, + "StartTqReserve": 20.0, + "StartSpeed": 2.0, + "StartAcc": 0.6, + "GearboxType": "AMT", + "TorqueConverter": { + "Enabled": false + }, + "DownshiftAfterUpshiftDelay": 6.0, + "UpshiftAfterDownshiftDelay": 6.0, + "UpshiftMinAcceleration": 0.1, + "PowershiftShiftTime": 0.8 + } +} \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Axle_4x2_Tractor.vtlm b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Axle_4x2_Tractor.vtlm new file mode 100644 index 0000000000000000000000000000000000000000..e11cbf7cdde175e06ab8f6a0b79d46b84b3e0c1a --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Axle_4x2_Tractor.vtlm @@ -0,0 +1,317 @@ +Input Speed [rpm],Input Torque [Nm],Torque Loss [Nm] +0,-5478,220 +0,-176,28 +0,0,8 +0,116,14 +0,220,17 +0,326,21 +0,432,24 +0,641,31 +0,853,38 +0,1274,53 +0,1696,67 +0,2117,82 +0,2538,96 +0,2959,110 +0,3376,119 +0,3785,123 +0,4200,130 +0,6309,204 +0,8409,268 +0,10507,332 +0,12606,396 +0,16804,523 +0,21002,651 +0,25199,778 +0,29397,905 +0,33594,1032 +0,37792,1160 +0,41990,1288 +0,46187,1415 +0,50385,1542 +143,-5482,216 +143,-174,28 +143,0,9 +143,116,14 +143,222,17 +143,326,21 +143,432,24 +143,641,31 +143,853,38 +143,1273,52 +143,1694,66 +143,2115,80 +143,2536,94 +143,2957,108 +143,3372,116 +143,3786,123 +143,4200,130 +143,6323,218 +143,8427,287 +143,10532,356 +143,12635,425 +143,16843,563 +143,21052,701 +143,25260,839 +143,29467,977 +143,33676,1115 +143,37884,1253 +143,42092,1391 +143,46300,1529 +143,50509,1667 +285,-5496,202 +285,-172,32 +285,0,10 +285,118,16 +285,223,19 +285,327,22 +285,432,24 +285,641,31 +285,851,37 +285,1271,50 +285,1690,63 +285,2110,75 +285,2530,88 +285,2950,101 +285,3369,113 +285,3780,117 +285,4195,124 +285,6305,200 +285,8402,262 +285,10499,324 +285,12596,386 +285,16791,510 +285,20987,636 +285,25181,760 +285,29376,884 +285,33570,1009 +285,37765,1133 +285,41960,1259 +285,46154,1383 +285,50350,1507 +428,-5501,200 +428,-167,35 +428,0,12 +428,119,17 +428,224,21 +428,328,23 +428,433,26 +428,643,31 +428,851,37 +428,1270,49 +428,1689,61 +428,2109,74 +428,2529,87 +428,2949,100 +428,3365,109 +428,3778,115 +428,4191,121 +428,6296,191 +428,8390,251 +428,10485,310 +428,12579,369 +428,16767,486 +428,20955,604 +428,25143,723 +428,29332,841 +428,33521,958 +428,37708,1076 +428,41897,1195 +428,46084,1313 +428,50273,1430 +570,-5512,188 +570,-167,37 +570,0,13 +570,121,19 +570,224,21 +570,328,23 +570,433,26 +570,641,31 +570,850,36 +570,1268,46 +570,1685,58 +570,2104,70 +570,2523,81 +570,2943,94 +570,3363,107 +570,3776,113 +570,4189,118 +570,6281,175 +570,8369,230 +570,10459,283 +570,12547,336 +570,16724,443 +570,20901,550 +570,25078,658 +570,29255,764 +570,33432,871 +570,37611,979 +570,41788,1086 +570,45965,1192 +570,50142,1299 +713,-5517,181 +713,-165,39 +713,0,14 +713,122,20 +713,225,22 +713,329,24 +713,433,27 +713,641,30 +713,850,36 +713,1267,45 +713,1684,56 +713,2102,67 +713,2521,79 +713,2939,90 +713,3358,102 +713,3775,111 +713,4188,118 +713,6272,166 +713,8357,217 +713,10442,267 +713,12527,317 +713,16697,416 +713,20867,517 +713,25039,617 +713,29209,717 +713,33379,818 +713,37549,918 +713,41719,1017 +713,45890,1117 +713,50060,1218 +855,-5524,174 +855,-162,42 +855,0,15 +855,122,21 +855,226,22 +855,329,24 +855,434,27 +855,641,31 +855,849,35 +855,1266,45 +855,1683,55 +855,2100,65 +855,2518,77 +855,2937,87 +855,3355,99 +855,3775,111 +855,4188,117 +855,6264,158 +855,8346,205 +855,10427,252 +855,12509,299 +855,16674,393 +855,20838,487 +855,25003,581 +855,29167,675 +855,33330,769 +855,37495,863 +855,41659,957 +855,45823,1051 +855,49988,1145 +998,-5526,172 +998,-160,44 +998,0,16 +998,123,22 +998,227,23 +998,331,26 +998,435,28 +998,641,31 +998,850,36 +998,1266,45 +998,1682,55 +998,2100,64 +998,2517,74 +998,2935,86 +998,3354,97 +998,3772,109 +998,4185,115 +998,6258,153 +998,8338,197 +998,10418,242 +998,12498,288 +998,16658,377 +998,20817,466 +998,24977,556 +998,29137,645 +998,33297,735 +998,37456,825 +998,41616,914 +998,45776,1003 +998,49936,1093 +1140,-5529,169 +1140,-158,46 +1140,0,18 +1140,125,23 +1140,229,24 +1140,332,27 +1140,436,29 +1140,643,32 +1140,851,37 +1140,1267,45 +1140,1683,55 +1140,2100,64 +1140,2516,74 +1140,2934,85 +1140,3352,96 +1140,3771,108 +1140,4183,114 +1283,-5529,169 +1283,-155,49 +1283,0,19 +1283,126,24 +1283,230,26 +1283,333,28 +1283,437,30 +1283,644,34 +1283,853,38 +1283,1267,46 +1283,1683,55 +1283,2098,64 +1283,2516,74 +1283,2934,85 +1283,3351,95 +1283,3764,101 +1425,-5531,167 +1425,-153,51 +1425,0,20 +1425,128,26 +1425,231,27 +1425,336,30 +1425,436,29 +1425,646,36 +1425,853,38 +1425,1268,46 +1425,1683,55 +1425,2098,63 +1425,2516,73 +1425,2932,84 +1425,3345,89 +1568,-5538,160 +1568,-148,56 +1568,0,21 +1568,129,28 +1568,232,29 +1568,336,31 +1568,440,32 +1568,647,37 +1568,854,41 +1568,1269,48 +1568,1684,57 +1568,2101,65 +1568,2517,74 +1568,2929,80 +1853,-5540,158 +1853,-144,60 +1853,0,24 +1853,132,30 +1853,234,31 +1853,340,34 +1853,442,35 +1853,650,38 +1853,856,42 +1853,1269,49 +1853,1684,57 +1853,2098,64 +1853,2515,73 +1853,2928,79 diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Default.vrlm b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Default.vrlm new file mode 100644 index 0000000000000000000000000000000000000000..eb575b99973291e5414c4826da086c1f03a7f179 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/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/GenericVehicle_Group5_P2/Engine_325kW_12.7l.veng b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Engine_325kW_12.7l.veng new file mode 100644 index 0000000000000000000000000000000000000000..084062afccf57ee58c485634cb158fdf05647b86 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Engine_325kW_12.7l.veng @@ -0,0 +1,35 @@ +{ + "Header": { + "CreatedBy": "", + "Date": "2020-08-21T09:24:04.0725494Z", + "AppVersion": "3", + "FileVersion": 5 + }, + "Body": { + "SavedInDeclMode": false, + "ModelName": "325kW 12.7l Engine", + "Displacement": "12740", + "IdlingSpeed": 600.0, + "Inertia": 5.1498, + "Fuels": [ + { + "WHTC-Urban": 0.0, + "WHTC-Rural": 0.0, + "WHTC-Motorway": 0.0, + "WHTC-Engineering": 1.0, + "ColdHotBalancingFactor": 0.0, + "CFRegPer": 1.0, + "FuelMap": "325kW.vmap", + "FuelType": "DieselCI" + } + ], + "RatedPower": 0.0, + "RatedSpeed": 0.0, + "MaxTorque": 0.0, + "FullLoadCurve": "325kW.vfld", + "WHRType": [ + "None" + ], + "WHRCorrectionFactors": {} + } +} \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Gear_1.vtlm b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Gear_1.vtlm new file mode 100644 index 0000000000000000000000000000000000000000..ea00afe57cd1fa0d4f058cced560bd1bd482dd1a --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Gear_1.vtlm @@ -0,0 +1,233 @@ +Input Speed [rpm],Input Torque [Nm],Torque Loss [Nm] +0,-5500.0,239.2 +0,-5000.0,219.2 +0,-4500.0,179.2 +0,-4000.0,179.2 +0,-3500.0,159.2 +0,-3000.0,139.2 +0,-2500.0,119.2 +0,-2000.0,99.2 +0,-1600.0,83.2 +0,-1200.0,67.2 +0,-900.0,55.2 +0,-600.0,43.2 +0,-400.0,35.2 +0,-200.0,27.2 +0,0.0,27.2 +0,200.0,27.2 +0,400.0,35.2 +0,600.0,43.2 +0,900.0,55.2 +0,1200.0,67.2 +0,1600.0,83.2 +0,2000.0,99.2 +0,2500.0,119.2 +0,3000.0,139.2 +0,3500.0,159.2 +0,4000.0,179.2 +0,4500.0,199.2 +0,5000.0,219.2 +0,5500.0,239.2 +600,-5500.0,239.2 +600,-5000.0,219.2 +600,-4500.0,179.2 +600,-4000.0,179.2 +600,-3500.0,159.2 +600,-3000.0,139.2 +600,-2500.0,119.2 +600,-2000.0,99.2 +600,-1600.0,83.2 +600,-1200.0,67.2 +600,-900.0,55.2 +600,-600.0,43.2 +600,-400.0,35.2 +600,-200.0,27.2 +600,0.0,27.2 +600,200.0,27.2 +600,400.0,35.2 +600,600.0,43.2 +600,900.0,55.2 +600,1200.0,67.2 +600,1600.0,83.2 +600,2000.0,99.2 +600,2500.0,119.2 +600,3000.0,139.2 +600,3500.0,159.2 +600,4000.0,179.2 +600,4500.0,199.2 +600,5000.0,219.2 +600,5500.0,239.2 +900,-5500.0,242.8 +900,-5000.0,222.8 +900,-4500.0,182.8 +900,-4000.0,182.8 +900,-3500.0,162.8 +900,-3000.0,142.8 +900,-2500.0,122.8 +900,-2000.0,102.8 +900,-1600.0,86.8 +900,-1200.0,70.8 +900,-900.0,58.8 +900,-600.0,46.8 +900,-400.0,38.8 +900,-200.0,30.8 +900,0.0,30.8 +900,200.0,30.8 +900,400.0,38.8 +900,600.0,46.8 +900,900.0,58.8 +900,1200.0,70.8 +900,1600.0,86.8 +900,2000.0,102.8 +900,2500.0,122.8 +900,3000.0,142.8 +900,3500.0,162.8 +900,4000.0,182.8 +900,4500.0,202.8 +900,5000.0,222.8 +900,5500.0,242.8 +1200,-5500.0,246.4 +1200,-5000.0,226.4 +1200,-4500.0,186.4 +1200,-4000.0,186.4 +1200,-3500.0,166.4 +1200,-3000.0,146.4 +1200,-2500.0,126.4 +1200,-2000.0,106.4 +1200,-1600.0,90.4 +1200,-1200.0,74.4 +1200,-900.0,62.4 +1200,-600.0,50.4 +1200,-400.0,42.4 +1200,-200.0,34.4 +1200,0.0,34.4 +1200,200.0,34.4 +1200,400.0,42.4 +1200,600.0,50.4 +1200,900.0,62.4 +1200,1200.0,74.4 +1200,1600.0,90.4 +1200,2000.0,106.4 +1200,2500.0,126.4 +1200,3000.0,146.4 +1200,3500.0,166.4 +1200,4000.0,186.4 +1200,4500.0,206.4 +1200,5000.0,226.4 +1200,5500.0,246.4 +1600,-5500.0,251.2 +1600,-5000.0,231.2 +1600,-4500.0,191.2 +1600,-4000.0,191.2 +1600,-3500.0,171.2 +1600,-3000.0,151.2 +1600,-2500.0,131.2 +1600,-2000.0,111.2 +1600,-1600.0,95.2 +1600,-1200.0,79.2 +1600,-900.0,67.2 +1600,-600.0,55.2 +1600,-400.0,47.2 +1600,-200.0,39.2 +1600,0.0,39.2 +1600,200.0,39.2 +1600,400.0,47.2 +1600,600.0,55.2 +1600,900.0,67.2 +1600,1200.0,79.2 +1600,1600.0,95.2 +1600,2000.0,111.2 +1600,2500.0,131.2 +1600,3000.0,151.2 +1600,3500.0,171.2 +1600,4000.0,191.2 +1600,4500.0,211.2 +1600,5000.0,231.2 +1600,5500.0,251.2 +2000,-5500.0,256.0 +2000,-5000.0,236.0 +2000,-4500.0,196.0 +2000,-4000.0,196.0 +2000,-3500.0,176.0 +2000,-3000.0,156.0 +2000,-2500.0,136.0 +2000,-2000.0,116.0 +2000,-1600.0,100.0 +2000,-1200.0,84.0 +2000,-900.0,72.0 +2000,-600.0,60.0 +2000,-400.0,52.0 +2000,-200.0,44.0 +2000,0.0,44.0 +2000,200.0,44.0 +2000,400.0,52.0 +2000,600.0,60.0 +2000,900.0,72.0 +2000,1200.0,84.0 +2000,1600.0,100.0 +2000,2000.0,116.0 +2000,2500.0,136.0 +2000,3000.0,156.0 +2000,3500.0,176.0 +2000,4000.0,196.0 +2000,4500.0,216.0 +2000,5000.0,236.0 +2000,5500.0,256.0 +2500,-5500.0,262.0 +2500,-5000.0,242.0 +2500,-4500.0,202.0 +2500,-4000.0,202.0 +2500,-3500.0,182.0 +2500,-3000.0,162.0 +2500,-2500.0,142.0 +2500,-2000.0,122.0 +2500,-1600.0,106.0 +2500,-1200.0,90.0 +2500,-900.0,78.0 +2500,-600.0,66.0 +2500,-400.0,58.0 +2500,-200.0,50.0 +2500,0.0,50.0 +2500,200.0,50.0 +2500,400.0,58.0 +2500,600.0,66.0 +2500,900.0,78.0 +2500,1200.0,90.0 +2500,1600.0,106.0 +2500,2000.0,122.0 +2500,2500.0,142.0 +2500,3000.0,162.0 +2500,3500.0,182.0 +2500,4000.0,202.0 +2500,4500.0,222.0 +2500,5000.0,242.0 +2500,5500.0,262.0 +3000,-5500.0,268.0 +3000,-5000.0,248.0 +3000,-4500.0,208.0 +3000,-4000.0,208.0 +3000,-3500.0,188.0 +3000,-3000.0,168.0 +3000,-2500.0,148.0 +3000,-2000.0,128.0 +3000,-1600.0,112.0 +3000,-1200.0,96.0 +3000,-900.0,84.0 +3000,-600.0,72.0 +3000,-400.0,64.0 +3000,-200.0,56.0 +3000,0.0,56.0 +3000,200.0,56.0 +3000,400.0,64.0 +3000,600.0,72.0 +3000,900.0,84.0 +3000,1200.0,96.0 +3000,1600.0,112.0 +3000,2000.0,128.0 +3000,2500.0,148.0 +3000,3000.0,168.0 +3000,3500.0,188.0 +3000,4000.0,208.0 +3000,4500.0,228.0 +3000,5000.0,248.0 +3000,5500.0,268.0 \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Gear_10.vtlm b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Gear_10.vtlm new file mode 100644 index 0000000000000000000000000000000000000000..ea00afe57cd1fa0d4f058cced560bd1bd482dd1a --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Gear_10.vtlm @@ -0,0 +1,233 @@ +Input Speed [rpm],Input Torque [Nm],Torque Loss [Nm] +0,-5500.0,239.2 +0,-5000.0,219.2 +0,-4500.0,179.2 +0,-4000.0,179.2 +0,-3500.0,159.2 +0,-3000.0,139.2 +0,-2500.0,119.2 +0,-2000.0,99.2 +0,-1600.0,83.2 +0,-1200.0,67.2 +0,-900.0,55.2 +0,-600.0,43.2 +0,-400.0,35.2 +0,-200.0,27.2 +0,0.0,27.2 +0,200.0,27.2 +0,400.0,35.2 +0,600.0,43.2 +0,900.0,55.2 +0,1200.0,67.2 +0,1600.0,83.2 +0,2000.0,99.2 +0,2500.0,119.2 +0,3000.0,139.2 +0,3500.0,159.2 +0,4000.0,179.2 +0,4500.0,199.2 +0,5000.0,219.2 +0,5500.0,239.2 +600,-5500.0,239.2 +600,-5000.0,219.2 +600,-4500.0,179.2 +600,-4000.0,179.2 +600,-3500.0,159.2 +600,-3000.0,139.2 +600,-2500.0,119.2 +600,-2000.0,99.2 +600,-1600.0,83.2 +600,-1200.0,67.2 +600,-900.0,55.2 +600,-600.0,43.2 +600,-400.0,35.2 +600,-200.0,27.2 +600,0.0,27.2 +600,200.0,27.2 +600,400.0,35.2 +600,600.0,43.2 +600,900.0,55.2 +600,1200.0,67.2 +600,1600.0,83.2 +600,2000.0,99.2 +600,2500.0,119.2 +600,3000.0,139.2 +600,3500.0,159.2 +600,4000.0,179.2 +600,4500.0,199.2 +600,5000.0,219.2 +600,5500.0,239.2 +900,-5500.0,242.8 +900,-5000.0,222.8 +900,-4500.0,182.8 +900,-4000.0,182.8 +900,-3500.0,162.8 +900,-3000.0,142.8 +900,-2500.0,122.8 +900,-2000.0,102.8 +900,-1600.0,86.8 +900,-1200.0,70.8 +900,-900.0,58.8 +900,-600.0,46.8 +900,-400.0,38.8 +900,-200.0,30.8 +900,0.0,30.8 +900,200.0,30.8 +900,400.0,38.8 +900,600.0,46.8 +900,900.0,58.8 +900,1200.0,70.8 +900,1600.0,86.8 +900,2000.0,102.8 +900,2500.0,122.8 +900,3000.0,142.8 +900,3500.0,162.8 +900,4000.0,182.8 +900,4500.0,202.8 +900,5000.0,222.8 +900,5500.0,242.8 +1200,-5500.0,246.4 +1200,-5000.0,226.4 +1200,-4500.0,186.4 +1200,-4000.0,186.4 +1200,-3500.0,166.4 +1200,-3000.0,146.4 +1200,-2500.0,126.4 +1200,-2000.0,106.4 +1200,-1600.0,90.4 +1200,-1200.0,74.4 +1200,-900.0,62.4 +1200,-600.0,50.4 +1200,-400.0,42.4 +1200,-200.0,34.4 +1200,0.0,34.4 +1200,200.0,34.4 +1200,400.0,42.4 +1200,600.0,50.4 +1200,900.0,62.4 +1200,1200.0,74.4 +1200,1600.0,90.4 +1200,2000.0,106.4 +1200,2500.0,126.4 +1200,3000.0,146.4 +1200,3500.0,166.4 +1200,4000.0,186.4 +1200,4500.0,206.4 +1200,5000.0,226.4 +1200,5500.0,246.4 +1600,-5500.0,251.2 +1600,-5000.0,231.2 +1600,-4500.0,191.2 +1600,-4000.0,191.2 +1600,-3500.0,171.2 +1600,-3000.0,151.2 +1600,-2500.0,131.2 +1600,-2000.0,111.2 +1600,-1600.0,95.2 +1600,-1200.0,79.2 +1600,-900.0,67.2 +1600,-600.0,55.2 +1600,-400.0,47.2 +1600,-200.0,39.2 +1600,0.0,39.2 +1600,200.0,39.2 +1600,400.0,47.2 +1600,600.0,55.2 +1600,900.0,67.2 +1600,1200.0,79.2 +1600,1600.0,95.2 +1600,2000.0,111.2 +1600,2500.0,131.2 +1600,3000.0,151.2 +1600,3500.0,171.2 +1600,4000.0,191.2 +1600,4500.0,211.2 +1600,5000.0,231.2 +1600,5500.0,251.2 +2000,-5500.0,256.0 +2000,-5000.0,236.0 +2000,-4500.0,196.0 +2000,-4000.0,196.0 +2000,-3500.0,176.0 +2000,-3000.0,156.0 +2000,-2500.0,136.0 +2000,-2000.0,116.0 +2000,-1600.0,100.0 +2000,-1200.0,84.0 +2000,-900.0,72.0 +2000,-600.0,60.0 +2000,-400.0,52.0 +2000,-200.0,44.0 +2000,0.0,44.0 +2000,200.0,44.0 +2000,400.0,52.0 +2000,600.0,60.0 +2000,900.0,72.0 +2000,1200.0,84.0 +2000,1600.0,100.0 +2000,2000.0,116.0 +2000,2500.0,136.0 +2000,3000.0,156.0 +2000,3500.0,176.0 +2000,4000.0,196.0 +2000,4500.0,216.0 +2000,5000.0,236.0 +2000,5500.0,256.0 +2500,-5500.0,262.0 +2500,-5000.0,242.0 +2500,-4500.0,202.0 +2500,-4000.0,202.0 +2500,-3500.0,182.0 +2500,-3000.0,162.0 +2500,-2500.0,142.0 +2500,-2000.0,122.0 +2500,-1600.0,106.0 +2500,-1200.0,90.0 +2500,-900.0,78.0 +2500,-600.0,66.0 +2500,-400.0,58.0 +2500,-200.0,50.0 +2500,0.0,50.0 +2500,200.0,50.0 +2500,400.0,58.0 +2500,600.0,66.0 +2500,900.0,78.0 +2500,1200.0,90.0 +2500,1600.0,106.0 +2500,2000.0,122.0 +2500,2500.0,142.0 +2500,3000.0,162.0 +2500,3500.0,182.0 +2500,4000.0,202.0 +2500,4500.0,222.0 +2500,5000.0,242.0 +2500,5500.0,262.0 +3000,-5500.0,268.0 +3000,-5000.0,248.0 +3000,-4500.0,208.0 +3000,-4000.0,208.0 +3000,-3500.0,188.0 +3000,-3000.0,168.0 +3000,-2500.0,148.0 +3000,-2000.0,128.0 +3000,-1600.0,112.0 +3000,-1200.0,96.0 +3000,-900.0,84.0 +3000,-600.0,72.0 +3000,-400.0,64.0 +3000,-200.0,56.0 +3000,0.0,56.0 +3000,200.0,56.0 +3000,400.0,64.0 +3000,600.0,72.0 +3000,900.0,84.0 +3000,1200.0,96.0 +3000,1600.0,112.0 +3000,2000.0,128.0 +3000,2500.0,148.0 +3000,3000.0,168.0 +3000,3500.0,188.0 +3000,4000.0,208.0 +3000,4500.0,228.0 +3000,5000.0,248.0 +3000,5500.0,268.0 \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Gear_11.vtlm b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Gear_11.vtlm new file mode 100644 index 0000000000000000000000000000000000000000..ea00afe57cd1fa0d4f058cced560bd1bd482dd1a --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Gear_11.vtlm @@ -0,0 +1,233 @@ +Input Speed [rpm],Input Torque [Nm],Torque Loss [Nm] +0,-5500.0,239.2 +0,-5000.0,219.2 +0,-4500.0,179.2 +0,-4000.0,179.2 +0,-3500.0,159.2 +0,-3000.0,139.2 +0,-2500.0,119.2 +0,-2000.0,99.2 +0,-1600.0,83.2 +0,-1200.0,67.2 +0,-900.0,55.2 +0,-600.0,43.2 +0,-400.0,35.2 +0,-200.0,27.2 +0,0.0,27.2 +0,200.0,27.2 +0,400.0,35.2 +0,600.0,43.2 +0,900.0,55.2 +0,1200.0,67.2 +0,1600.0,83.2 +0,2000.0,99.2 +0,2500.0,119.2 +0,3000.0,139.2 +0,3500.0,159.2 +0,4000.0,179.2 +0,4500.0,199.2 +0,5000.0,219.2 +0,5500.0,239.2 +600,-5500.0,239.2 +600,-5000.0,219.2 +600,-4500.0,179.2 +600,-4000.0,179.2 +600,-3500.0,159.2 +600,-3000.0,139.2 +600,-2500.0,119.2 +600,-2000.0,99.2 +600,-1600.0,83.2 +600,-1200.0,67.2 +600,-900.0,55.2 +600,-600.0,43.2 +600,-400.0,35.2 +600,-200.0,27.2 +600,0.0,27.2 +600,200.0,27.2 +600,400.0,35.2 +600,600.0,43.2 +600,900.0,55.2 +600,1200.0,67.2 +600,1600.0,83.2 +600,2000.0,99.2 +600,2500.0,119.2 +600,3000.0,139.2 +600,3500.0,159.2 +600,4000.0,179.2 +600,4500.0,199.2 +600,5000.0,219.2 +600,5500.0,239.2 +900,-5500.0,242.8 +900,-5000.0,222.8 +900,-4500.0,182.8 +900,-4000.0,182.8 +900,-3500.0,162.8 +900,-3000.0,142.8 +900,-2500.0,122.8 +900,-2000.0,102.8 +900,-1600.0,86.8 +900,-1200.0,70.8 +900,-900.0,58.8 +900,-600.0,46.8 +900,-400.0,38.8 +900,-200.0,30.8 +900,0.0,30.8 +900,200.0,30.8 +900,400.0,38.8 +900,600.0,46.8 +900,900.0,58.8 +900,1200.0,70.8 +900,1600.0,86.8 +900,2000.0,102.8 +900,2500.0,122.8 +900,3000.0,142.8 +900,3500.0,162.8 +900,4000.0,182.8 +900,4500.0,202.8 +900,5000.0,222.8 +900,5500.0,242.8 +1200,-5500.0,246.4 +1200,-5000.0,226.4 +1200,-4500.0,186.4 +1200,-4000.0,186.4 +1200,-3500.0,166.4 +1200,-3000.0,146.4 +1200,-2500.0,126.4 +1200,-2000.0,106.4 +1200,-1600.0,90.4 +1200,-1200.0,74.4 +1200,-900.0,62.4 +1200,-600.0,50.4 +1200,-400.0,42.4 +1200,-200.0,34.4 +1200,0.0,34.4 +1200,200.0,34.4 +1200,400.0,42.4 +1200,600.0,50.4 +1200,900.0,62.4 +1200,1200.0,74.4 +1200,1600.0,90.4 +1200,2000.0,106.4 +1200,2500.0,126.4 +1200,3000.0,146.4 +1200,3500.0,166.4 +1200,4000.0,186.4 +1200,4500.0,206.4 +1200,5000.0,226.4 +1200,5500.0,246.4 +1600,-5500.0,251.2 +1600,-5000.0,231.2 +1600,-4500.0,191.2 +1600,-4000.0,191.2 +1600,-3500.0,171.2 +1600,-3000.0,151.2 +1600,-2500.0,131.2 +1600,-2000.0,111.2 +1600,-1600.0,95.2 +1600,-1200.0,79.2 +1600,-900.0,67.2 +1600,-600.0,55.2 +1600,-400.0,47.2 +1600,-200.0,39.2 +1600,0.0,39.2 +1600,200.0,39.2 +1600,400.0,47.2 +1600,600.0,55.2 +1600,900.0,67.2 +1600,1200.0,79.2 +1600,1600.0,95.2 +1600,2000.0,111.2 +1600,2500.0,131.2 +1600,3000.0,151.2 +1600,3500.0,171.2 +1600,4000.0,191.2 +1600,4500.0,211.2 +1600,5000.0,231.2 +1600,5500.0,251.2 +2000,-5500.0,256.0 +2000,-5000.0,236.0 +2000,-4500.0,196.0 +2000,-4000.0,196.0 +2000,-3500.0,176.0 +2000,-3000.0,156.0 +2000,-2500.0,136.0 +2000,-2000.0,116.0 +2000,-1600.0,100.0 +2000,-1200.0,84.0 +2000,-900.0,72.0 +2000,-600.0,60.0 +2000,-400.0,52.0 +2000,-200.0,44.0 +2000,0.0,44.0 +2000,200.0,44.0 +2000,400.0,52.0 +2000,600.0,60.0 +2000,900.0,72.0 +2000,1200.0,84.0 +2000,1600.0,100.0 +2000,2000.0,116.0 +2000,2500.0,136.0 +2000,3000.0,156.0 +2000,3500.0,176.0 +2000,4000.0,196.0 +2000,4500.0,216.0 +2000,5000.0,236.0 +2000,5500.0,256.0 +2500,-5500.0,262.0 +2500,-5000.0,242.0 +2500,-4500.0,202.0 +2500,-4000.0,202.0 +2500,-3500.0,182.0 +2500,-3000.0,162.0 +2500,-2500.0,142.0 +2500,-2000.0,122.0 +2500,-1600.0,106.0 +2500,-1200.0,90.0 +2500,-900.0,78.0 +2500,-600.0,66.0 +2500,-400.0,58.0 +2500,-200.0,50.0 +2500,0.0,50.0 +2500,200.0,50.0 +2500,400.0,58.0 +2500,600.0,66.0 +2500,900.0,78.0 +2500,1200.0,90.0 +2500,1600.0,106.0 +2500,2000.0,122.0 +2500,2500.0,142.0 +2500,3000.0,162.0 +2500,3500.0,182.0 +2500,4000.0,202.0 +2500,4500.0,222.0 +2500,5000.0,242.0 +2500,5500.0,262.0 +3000,-5500.0,268.0 +3000,-5000.0,248.0 +3000,-4500.0,208.0 +3000,-4000.0,208.0 +3000,-3500.0,188.0 +3000,-3000.0,168.0 +3000,-2500.0,148.0 +3000,-2000.0,128.0 +3000,-1600.0,112.0 +3000,-1200.0,96.0 +3000,-900.0,84.0 +3000,-600.0,72.0 +3000,-400.0,64.0 +3000,-200.0,56.0 +3000,0.0,56.0 +3000,200.0,56.0 +3000,400.0,64.0 +3000,600.0,72.0 +3000,900.0,84.0 +3000,1200.0,96.0 +3000,1600.0,112.0 +3000,2000.0,128.0 +3000,2500.0,148.0 +3000,3000.0,168.0 +3000,3500.0,188.0 +3000,4000.0,208.0 +3000,4500.0,228.0 +3000,5000.0,248.0 +3000,5500.0,268.0 \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Gear_12.vtlm b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Gear_12.vtlm new file mode 100644 index 0000000000000000000000000000000000000000..d30c0dbb042ca6d2235b4febe01b31292e5593c0 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Gear_12.vtlm @@ -0,0 +1,233 @@ +Input Speed [rpm],Input Torque [Nm],Torque Loss [Nm] +0,-5500.0,74.2 +0,-5000.0,69.2 +0,-4500.0,59.2 +0,-4000.0,59.2 +0,-3500.0,54.2 +0,-3000.0,49.2 +0,-2500.0,44.2 +0,-2000.0,39.2 +0,-1600.0,35.2 +0,-1200.0,31.2 +0,-900.0,28.2 +0,-600.0,25.2 +0,-400.0,23.2 +0,-200.0,21.2 +0,0.0,21.2 +0,200.0,21.2 +0,400.0,23.2 +0,600.0,25.2 +0,900.0,28.2 +0,1200.0,31.2 +0,1600.0,35.2 +0,2000.0,39.2 +0,2500.0,44.2 +0,3000.0,49.2 +0,3500.0,54.2 +0,4000.0,59.2 +0,4500.0,64.2 +0,5000.0,69.2 +0,5500.0,74.2 +600,-5500.0,74.2 +600,-5000.0,69.2 +600,-4500.0,59.2 +600,-4000.0,59.2 +600,-3500.0,54.2 +600,-3000.0,49.2 +600,-2500.0,44.2 +600,-2000.0,39.2 +600,-1600.0,35.2 +600,-1200.0,31.2 +600,-900.0,28.2 +600,-600.0,25.2 +600,-400.0,23.2 +600,-200.0,21.2 +600,0.0,21.2 +600,200.0,21.2 +600,400.0,23.2 +600,600.0,25.2 +600,900.0,28.2 +600,1200.0,31.2 +600,1600.0,35.2 +600,2000.0,39.2 +600,2500.0,44.2 +600,3000.0,49.2 +600,3500.0,54.2 +600,4000.0,59.2 +600,4500.0,64.2 +600,5000.0,69.2 +600,5500.0,74.2 +900,-5500.0,77.8 +900,-5000.0,72.8 +900,-4500.0,62.8 +900,-4000.0,62.8 +900,-3500.0,57.8 +900,-3000.0,52.8 +900,-2500.0,47.8 +900,-2000.0,42.8 +900,-1600.0,38.8 +900,-1200.0,34.8 +900,-900.0,31.8 +900,-600.0,28.8 +900,-400.0,26.8 +900,-200.0,24.8 +900,0.0,24.8 +900,200.0,24.8 +900,400.0,26.8 +900,600.0,28.8 +900,900.0,31.8 +900,1200.0,34.8 +900,1600.0,38.8 +900,2000.0,42.8 +900,2500.0,47.8 +900,3000.0,52.8 +900,3500.0,57.8 +900,4000.0,62.8 +900,4500.0,67.8 +900,5000.0,72.8 +900,5500.0,77.8 +1200,-5500.0,81.4 +1200,-5000.0,76.4 +1200,-4500.0,66.4 +1200,-4000.0,66.4 +1200,-3500.0,61.4 +1200,-3000.0,56.4 +1200,-2500.0,51.4 +1200,-2000.0,46.4 +1200,-1600.0,42.4 +1200,-1200.0,38.4 +1200,-900.0,35.4 +1200,-600.0,32.4 +1200,-400.0,30.4 +1200,-200.0,28.4 +1200,0.0,28.4 +1200,200.0,28.4 +1200,400.0,30.4 +1200,600.0,32.4 +1200,900.0,35.4 +1200,1200.0,38.4 +1200,1600.0,42.4 +1200,2000.0,46.4 +1200,2500.0,51.4 +1200,3000.0,56.4 +1200,3500.0,61.4 +1200,4000.0,66.4 +1200,4500.0,71.4 +1200,5000.0,76.4 +1200,5500.0,81.4 +1600,-5500.0,86.2 +1600,-5000.0,81.2 +1600,-4500.0,71.2 +1600,-4000.0,71.2 +1600,-3500.0,66.2 +1600,-3000.0,61.2 +1600,-2500.0,56.2 +1600,-2000.0,51.2 +1600,-1600.0,47.2 +1600,-1200.0,43.2 +1600,-900.0,40.2 +1600,-600.0,37.2 +1600,-400.0,35.2 +1600,-200.0,33.2 +1600,0.0,33.2 +1600,200.0,33.2 +1600,400.0,35.2 +1600,600.0,37.2 +1600,900.0,40.2 +1600,1200.0,43.2 +1600,1600.0,47.2 +1600,2000.0,51.2 +1600,2500.0,56.2 +1600,3000.0,61.2 +1600,3500.0,66.2 +1600,4000.0,71.2 +1600,4500.0,76.2 +1600,5000.0,81.2 +1600,5500.0,86.2 +2000,-5500.0,91.0 +2000,-5000.0,86.0 +2000,-4500.0,76.0 +2000,-4000.0,76.0 +2000,-3500.0,71.0 +2000,-3000.0,66.0 +2000,-2500.0,61.0 +2000,-2000.0,56.0 +2000,-1600.0,52.0 +2000,-1200.0,48.0 +2000,-900.0,45.0 +2000,-600.0,42.0 +2000,-400.0,40.0 +2000,-200.0,38.0 +2000,0.0,38.0 +2000,200.0,38.0 +2000,400.0,40.0 +2000,600.0,42.0 +2000,900.0,45.0 +2000,1200.0,48.0 +2000,1600.0,52.0 +2000,2000.0,56.0 +2000,2500.0,61.0 +2000,3000.0,66.0 +2000,3500.0,71.0 +2000,4000.0,76.0 +2000,4500.0,81.0 +2000,5000.0,86.0 +2000,5500.0,91.0 +2500,-5500.0,97.0 +2500,-5000.0,92.0 +2500,-4500.0,82.0 +2500,-4000.0,82.0 +2500,-3500.0,77.0 +2500,-3000.0,72.0 +2500,-2500.0,67.0 +2500,-2000.0,62.0 +2500,-1600.0,58.0 +2500,-1200.0,54.0 +2500,-900.0,51.0 +2500,-600.0,48.0 +2500,-400.0,46.0 +2500,-200.0,44.0 +2500,0.0,44.0 +2500,200.0,44.0 +2500,400.0,46.0 +2500,600.0,48.0 +2500,900.0,51.0 +2500,1200.0,54.0 +2500,1600.0,58.0 +2500,2000.0,62.0 +2500,2500.0,67.0 +2500,3000.0,72.0 +2500,3500.0,77.0 +2500,4000.0,82.0 +2500,4500.0,87.0 +2500,5000.0,92.0 +2500,5500.0,97.0 +3000,-5500.0,103.0 +3000,-5000.0,98.0 +3000,-4500.0,88.0 +3000,-4000.0,88.0 +3000,-3500.0,83.0 +3000,-3000.0,78.0 +3000,-2500.0,73.0 +3000,-2000.0,68.0 +3000,-1600.0,64.0 +3000,-1200.0,60.0 +3000,-900.0,57.0 +3000,-600.0,54.0 +3000,-400.0,52.0 +3000,-200.0,50.0 +3000,0.0,50.0 +3000,200.0,50.0 +3000,400.0,52.0 +3000,600.0,54.0 +3000,900.0,57.0 +3000,1200.0,60.0 +3000,1600.0,64.0 +3000,2000.0,68.0 +3000,2500.0,73.0 +3000,3000.0,78.0 +3000,3500.0,83.0 +3000,4000.0,88.0 +3000,4500.0,93.0 +3000,5000.0,98.0 +3000,5500.0,103.0 \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Gear_2.vtlm b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Gear_2.vtlm new file mode 100644 index 0000000000000000000000000000000000000000..ea00afe57cd1fa0d4f058cced560bd1bd482dd1a --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Gear_2.vtlm @@ -0,0 +1,233 @@ +Input Speed [rpm],Input Torque [Nm],Torque Loss [Nm] +0,-5500.0,239.2 +0,-5000.0,219.2 +0,-4500.0,179.2 +0,-4000.0,179.2 +0,-3500.0,159.2 +0,-3000.0,139.2 +0,-2500.0,119.2 +0,-2000.0,99.2 +0,-1600.0,83.2 +0,-1200.0,67.2 +0,-900.0,55.2 +0,-600.0,43.2 +0,-400.0,35.2 +0,-200.0,27.2 +0,0.0,27.2 +0,200.0,27.2 +0,400.0,35.2 +0,600.0,43.2 +0,900.0,55.2 +0,1200.0,67.2 +0,1600.0,83.2 +0,2000.0,99.2 +0,2500.0,119.2 +0,3000.0,139.2 +0,3500.0,159.2 +0,4000.0,179.2 +0,4500.0,199.2 +0,5000.0,219.2 +0,5500.0,239.2 +600,-5500.0,239.2 +600,-5000.0,219.2 +600,-4500.0,179.2 +600,-4000.0,179.2 +600,-3500.0,159.2 +600,-3000.0,139.2 +600,-2500.0,119.2 +600,-2000.0,99.2 +600,-1600.0,83.2 +600,-1200.0,67.2 +600,-900.0,55.2 +600,-600.0,43.2 +600,-400.0,35.2 +600,-200.0,27.2 +600,0.0,27.2 +600,200.0,27.2 +600,400.0,35.2 +600,600.0,43.2 +600,900.0,55.2 +600,1200.0,67.2 +600,1600.0,83.2 +600,2000.0,99.2 +600,2500.0,119.2 +600,3000.0,139.2 +600,3500.0,159.2 +600,4000.0,179.2 +600,4500.0,199.2 +600,5000.0,219.2 +600,5500.0,239.2 +900,-5500.0,242.8 +900,-5000.0,222.8 +900,-4500.0,182.8 +900,-4000.0,182.8 +900,-3500.0,162.8 +900,-3000.0,142.8 +900,-2500.0,122.8 +900,-2000.0,102.8 +900,-1600.0,86.8 +900,-1200.0,70.8 +900,-900.0,58.8 +900,-600.0,46.8 +900,-400.0,38.8 +900,-200.0,30.8 +900,0.0,30.8 +900,200.0,30.8 +900,400.0,38.8 +900,600.0,46.8 +900,900.0,58.8 +900,1200.0,70.8 +900,1600.0,86.8 +900,2000.0,102.8 +900,2500.0,122.8 +900,3000.0,142.8 +900,3500.0,162.8 +900,4000.0,182.8 +900,4500.0,202.8 +900,5000.0,222.8 +900,5500.0,242.8 +1200,-5500.0,246.4 +1200,-5000.0,226.4 +1200,-4500.0,186.4 +1200,-4000.0,186.4 +1200,-3500.0,166.4 +1200,-3000.0,146.4 +1200,-2500.0,126.4 +1200,-2000.0,106.4 +1200,-1600.0,90.4 +1200,-1200.0,74.4 +1200,-900.0,62.4 +1200,-600.0,50.4 +1200,-400.0,42.4 +1200,-200.0,34.4 +1200,0.0,34.4 +1200,200.0,34.4 +1200,400.0,42.4 +1200,600.0,50.4 +1200,900.0,62.4 +1200,1200.0,74.4 +1200,1600.0,90.4 +1200,2000.0,106.4 +1200,2500.0,126.4 +1200,3000.0,146.4 +1200,3500.0,166.4 +1200,4000.0,186.4 +1200,4500.0,206.4 +1200,5000.0,226.4 +1200,5500.0,246.4 +1600,-5500.0,251.2 +1600,-5000.0,231.2 +1600,-4500.0,191.2 +1600,-4000.0,191.2 +1600,-3500.0,171.2 +1600,-3000.0,151.2 +1600,-2500.0,131.2 +1600,-2000.0,111.2 +1600,-1600.0,95.2 +1600,-1200.0,79.2 +1600,-900.0,67.2 +1600,-600.0,55.2 +1600,-400.0,47.2 +1600,-200.0,39.2 +1600,0.0,39.2 +1600,200.0,39.2 +1600,400.0,47.2 +1600,600.0,55.2 +1600,900.0,67.2 +1600,1200.0,79.2 +1600,1600.0,95.2 +1600,2000.0,111.2 +1600,2500.0,131.2 +1600,3000.0,151.2 +1600,3500.0,171.2 +1600,4000.0,191.2 +1600,4500.0,211.2 +1600,5000.0,231.2 +1600,5500.0,251.2 +2000,-5500.0,256.0 +2000,-5000.0,236.0 +2000,-4500.0,196.0 +2000,-4000.0,196.0 +2000,-3500.0,176.0 +2000,-3000.0,156.0 +2000,-2500.0,136.0 +2000,-2000.0,116.0 +2000,-1600.0,100.0 +2000,-1200.0,84.0 +2000,-900.0,72.0 +2000,-600.0,60.0 +2000,-400.0,52.0 +2000,-200.0,44.0 +2000,0.0,44.0 +2000,200.0,44.0 +2000,400.0,52.0 +2000,600.0,60.0 +2000,900.0,72.0 +2000,1200.0,84.0 +2000,1600.0,100.0 +2000,2000.0,116.0 +2000,2500.0,136.0 +2000,3000.0,156.0 +2000,3500.0,176.0 +2000,4000.0,196.0 +2000,4500.0,216.0 +2000,5000.0,236.0 +2000,5500.0,256.0 +2500,-5500.0,262.0 +2500,-5000.0,242.0 +2500,-4500.0,202.0 +2500,-4000.0,202.0 +2500,-3500.0,182.0 +2500,-3000.0,162.0 +2500,-2500.0,142.0 +2500,-2000.0,122.0 +2500,-1600.0,106.0 +2500,-1200.0,90.0 +2500,-900.0,78.0 +2500,-600.0,66.0 +2500,-400.0,58.0 +2500,-200.0,50.0 +2500,0.0,50.0 +2500,200.0,50.0 +2500,400.0,58.0 +2500,600.0,66.0 +2500,900.0,78.0 +2500,1200.0,90.0 +2500,1600.0,106.0 +2500,2000.0,122.0 +2500,2500.0,142.0 +2500,3000.0,162.0 +2500,3500.0,182.0 +2500,4000.0,202.0 +2500,4500.0,222.0 +2500,5000.0,242.0 +2500,5500.0,262.0 +3000,-5500.0,268.0 +3000,-5000.0,248.0 +3000,-4500.0,208.0 +3000,-4000.0,208.0 +3000,-3500.0,188.0 +3000,-3000.0,168.0 +3000,-2500.0,148.0 +3000,-2000.0,128.0 +3000,-1600.0,112.0 +3000,-1200.0,96.0 +3000,-900.0,84.0 +3000,-600.0,72.0 +3000,-400.0,64.0 +3000,-200.0,56.0 +3000,0.0,56.0 +3000,200.0,56.0 +3000,400.0,64.0 +3000,600.0,72.0 +3000,900.0,84.0 +3000,1200.0,96.0 +3000,1600.0,112.0 +3000,2000.0,128.0 +3000,2500.0,148.0 +3000,3000.0,168.0 +3000,3500.0,188.0 +3000,4000.0,208.0 +3000,4500.0,228.0 +3000,5000.0,248.0 +3000,5500.0,268.0 \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Gear_3.vtlm b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Gear_3.vtlm new file mode 100644 index 0000000000000000000000000000000000000000..ea00afe57cd1fa0d4f058cced560bd1bd482dd1a --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Gear_3.vtlm @@ -0,0 +1,233 @@ +Input Speed [rpm],Input Torque [Nm],Torque Loss [Nm] +0,-5500.0,239.2 +0,-5000.0,219.2 +0,-4500.0,179.2 +0,-4000.0,179.2 +0,-3500.0,159.2 +0,-3000.0,139.2 +0,-2500.0,119.2 +0,-2000.0,99.2 +0,-1600.0,83.2 +0,-1200.0,67.2 +0,-900.0,55.2 +0,-600.0,43.2 +0,-400.0,35.2 +0,-200.0,27.2 +0,0.0,27.2 +0,200.0,27.2 +0,400.0,35.2 +0,600.0,43.2 +0,900.0,55.2 +0,1200.0,67.2 +0,1600.0,83.2 +0,2000.0,99.2 +0,2500.0,119.2 +0,3000.0,139.2 +0,3500.0,159.2 +0,4000.0,179.2 +0,4500.0,199.2 +0,5000.0,219.2 +0,5500.0,239.2 +600,-5500.0,239.2 +600,-5000.0,219.2 +600,-4500.0,179.2 +600,-4000.0,179.2 +600,-3500.0,159.2 +600,-3000.0,139.2 +600,-2500.0,119.2 +600,-2000.0,99.2 +600,-1600.0,83.2 +600,-1200.0,67.2 +600,-900.0,55.2 +600,-600.0,43.2 +600,-400.0,35.2 +600,-200.0,27.2 +600,0.0,27.2 +600,200.0,27.2 +600,400.0,35.2 +600,600.0,43.2 +600,900.0,55.2 +600,1200.0,67.2 +600,1600.0,83.2 +600,2000.0,99.2 +600,2500.0,119.2 +600,3000.0,139.2 +600,3500.0,159.2 +600,4000.0,179.2 +600,4500.0,199.2 +600,5000.0,219.2 +600,5500.0,239.2 +900,-5500.0,242.8 +900,-5000.0,222.8 +900,-4500.0,182.8 +900,-4000.0,182.8 +900,-3500.0,162.8 +900,-3000.0,142.8 +900,-2500.0,122.8 +900,-2000.0,102.8 +900,-1600.0,86.8 +900,-1200.0,70.8 +900,-900.0,58.8 +900,-600.0,46.8 +900,-400.0,38.8 +900,-200.0,30.8 +900,0.0,30.8 +900,200.0,30.8 +900,400.0,38.8 +900,600.0,46.8 +900,900.0,58.8 +900,1200.0,70.8 +900,1600.0,86.8 +900,2000.0,102.8 +900,2500.0,122.8 +900,3000.0,142.8 +900,3500.0,162.8 +900,4000.0,182.8 +900,4500.0,202.8 +900,5000.0,222.8 +900,5500.0,242.8 +1200,-5500.0,246.4 +1200,-5000.0,226.4 +1200,-4500.0,186.4 +1200,-4000.0,186.4 +1200,-3500.0,166.4 +1200,-3000.0,146.4 +1200,-2500.0,126.4 +1200,-2000.0,106.4 +1200,-1600.0,90.4 +1200,-1200.0,74.4 +1200,-900.0,62.4 +1200,-600.0,50.4 +1200,-400.0,42.4 +1200,-200.0,34.4 +1200,0.0,34.4 +1200,200.0,34.4 +1200,400.0,42.4 +1200,600.0,50.4 +1200,900.0,62.4 +1200,1200.0,74.4 +1200,1600.0,90.4 +1200,2000.0,106.4 +1200,2500.0,126.4 +1200,3000.0,146.4 +1200,3500.0,166.4 +1200,4000.0,186.4 +1200,4500.0,206.4 +1200,5000.0,226.4 +1200,5500.0,246.4 +1600,-5500.0,251.2 +1600,-5000.0,231.2 +1600,-4500.0,191.2 +1600,-4000.0,191.2 +1600,-3500.0,171.2 +1600,-3000.0,151.2 +1600,-2500.0,131.2 +1600,-2000.0,111.2 +1600,-1600.0,95.2 +1600,-1200.0,79.2 +1600,-900.0,67.2 +1600,-600.0,55.2 +1600,-400.0,47.2 +1600,-200.0,39.2 +1600,0.0,39.2 +1600,200.0,39.2 +1600,400.0,47.2 +1600,600.0,55.2 +1600,900.0,67.2 +1600,1200.0,79.2 +1600,1600.0,95.2 +1600,2000.0,111.2 +1600,2500.0,131.2 +1600,3000.0,151.2 +1600,3500.0,171.2 +1600,4000.0,191.2 +1600,4500.0,211.2 +1600,5000.0,231.2 +1600,5500.0,251.2 +2000,-5500.0,256.0 +2000,-5000.0,236.0 +2000,-4500.0,196.0 +2000,-4000.0,196.0 +2000,-3500.0,176.0 +2000,-3000.0,156.0 +2000,-2500.0,136.0 +2000,-2000.0,116.0 +2000,-1600.0,100.0 +2000,-1200.0,84.0 +2000,-900.0,72.0 +2000,-600.0,60.0 +2000,-400.0,52.0 +2000,-200.0,44.0 +2000,0.0,44.0 +2000,200.0,44.0 +2000,400.0,52.0 +2000,600.0,60.0 +2000,900.0,72.0 +2000,1200.0,84.0 +2000,1600.0,100.0 +2000,2000.0,116.0 +2000,2500.0,136.0 +2000,3000.0,156.0 +2000,3500.0,176.0 +2000,4000.0,196.0 +2000,4500.0,216.0 +2000,5000.0,236.0 +2000,5500.0,256.0 +2500,-5500.0,262.0 +2500,-5000.0,242.0 +2500,-4500.0,202.0 +2500,-4000.0,202.0 +2500,-3500.0,182.0 +2500,-3000.0,162.0 +2500,-2500.0,142.0 +2500,-2000.0,122.0 +2500,-1600.0,106.0 +2500,-1200.0,90.0 +2500,-900.0,78.0 +2500,-600.0,66.0 +2500,-400.0,58.0 +2500,-200.0,50.0 +2500,0.0,50.0 +2500,200.0,50.0 +2500,400.0,58.0 +2500,600.0,66.0 +2500,900.0,78.0 +2500,1200.0,90.0 +2500,1600.0,106.0 +2500,2000.0,122.0 +2500,2500.0,142.0 +2500,3000.0,162.0 +2500,3500.0,182.0 +2500,4000.0,202.0 +2500,4500.0,222.0 +2500,5000.0,242.0 +2500,5500.0,262.0 +3000,-5500.0,268.0 +3000,-5000.0,248.0 +3000,-4500.0,208.0 +3000,-4000.0,208.0 +3000,-3500.0,188.0 +3000,-3000.0,168.0 +3000,-2500.0,148.0 +3000,-2000.0,128.0 +3000,-1600.0,112.0 +3000,-1200.0,96.0 +3000,-900.0,84.0 +3000,-600.0,72.0 +3000,-400.0,64.0 +3000,-200.0,56.0 +3000,0.0,56.0 +3000,200.0,56.0 +3000,400.0,64.0 +3000,600.0,72.0 +3000,900.0,84.0 +3000,1200.0,96.0 +3000,1600.0,112.0 +3000,2000.0,128.0 +3000,2500.0,148.0 +3000,3000.0,168.0 +3000,3500.0,188.0 +3000,4000.0,208.0 +3000,4500.0,228.0 +3000,5000.0,248.0 +3000,5500.0,268.0 \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Gear_4.vtlm b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Gear_4.vtlm new file mode 100644 index 0000000000000000000000000000000000000000..ea00afe57cd1fa0d4f058cced560bd1bd482dd1a --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Gear_4.vtlm @@ -0,0 +1,233 @@ +Input Speed [rpm],Input Torque [Nm],Torque Loss [Nm] +0,-5500.0,239.2 +0,-5000.0,219.2 +0,-4500.0,179.2 +0,-4000.0,179.2 +0,-3500.0,159.2 +0,-3000.0,139.2 +0,-2500.0,119.2 +0,-2000.0,99.2 +0,-1600.0,83.2 +0,-1200.0,67.2 +0,-900.0,55.2 +0,-600.0,43.2 +0,-400.0,35.2 +0,-200.0,27.2 +0,0.0,27.2 +0,200.0,27.2 +0,400.0,35.2 +0,600.0,43.2 +0,900.0,55.2 +0,1200.0,67.2 +0,1600.0,83.2 +0,2000.0,99.2 +0,2500.0,119.2 +0,3000.0,139.2 +0,3500.0,159.2 +0,4000.0,179.2 +0,4500.0,199.2 +0,5000.0,219.2 +0,5500.0,239.2 +600,-5500.0,239.2 +600,-5000.0,219.2 +600,-4500.0,179.2 +600,-4000.0,179.2 +600,-3500.0,159.2 +600,-3000.0,139.2 +600,-2500.0,119.2 +600,-2000.0,99.2 +600,-1600.0,83.2 +600,-1200.0,67.2 +600,-900.0,55.2 +600,-600.0,43.2 +600,-400.0,35.2 +600,-200.0,27.2 +600,0.0,27.2 +600,200.0,27.2 +600,400.0,35.2 +600,600.0,43.2 +600,900.0,55.2 +600,1200.0,67.2 +600,1600.0,83.2 +600,2000.0,99.2 +600,2500.0,119.2 +600,3000.0,139.2 +600,3500.0,159.2 +600,4000.0,179.2 +600,4500.0,199.2 +600,5000.0,219.2 +600,5500.0,239.2 +900,-5500.0,242.8 +900,-5000.0,222.8 +900,-4500.0,182.8 +900,-4000.0,182.8 +900,-3500.0,162.8 +900,-3000.0,142.8 +900,-2500.0,122.8 +900,-2000.0,102.8 +900,-1600.0,86.8 +900,-1200.0,70.8 +900,-900.0,58.8 +900,-600.0,46.8 +900,-400.0,38.8 +900,-200.0,30.8 +900,0.0,30.8 +900,200.0,30.8 +900,400.0,38.8 +900,600.0,46.8 +900,900.0,58.8 +900,1200.0,70.8 +900,1600.0,86.8 +900,2000.0,102.8 +900,2500.0,122.8 +900,3000.0,142.8 +900,3500.0,162.8 +900,4000.0,182.8 +900,4500.0,202.8 +900,5000.0,222.8 +900,5500.0,242.8 +1200,-5500.0,246.4 +1200,-5000.0,226.4 +1200,-4500.0,186.4 +1200,-4000.0,186.4 +1200,-3500.0,166.4 +1200,-3000.0,146.4 +1200,-2500.0,126.4 +1200,-2000.0,106.4 +1200,-1600.0,90.4 +1200,-1200.0,74.4 +1200,-900.0,62.4 +1200,-600.0,50.4 +1200,-400.0,42.4 +1200,-200.0,34.4 +1200,0.0,34.4 +1200,200.0,34.4 +1200,400.0,42.4 +1200,600.0,50.4 +1200,900.0,62.4 +1200,1200.0,74.4 +1200,1600.0,90.4 +1200,2000.0,106.4 +1200,2500.0,126.4 +1200,3000.0,146.4 +1200,3500.0,166.4 +1200,4000.0,186.4 +1200,4500.0,206.4 +1200,5000.0,226.4 +1200,5500.0,246.4 +1600,-5500.0,251.2 +1600,-5000.0,231.2 +1600,-4500.0,191.2 +1600,-4000.0,191.2 +1600,-3500.0,171.2 +1600,-3000.0,151.2 +1600,-2500.0,131.2 +1600,-2000.0,111.2 +1600,-1600.0,95.2 +1600,-1200.0,79.2 +1600,-900.0,67.2 +1600,-600.0,55.2 +1600,-400.0,47.2 +1600,-200.0,39.2 +1600,0.0,39.2 +1600,200.0,39.2 +1600,400.0,47.2 +1600,600.0,55.2 +1600,900.0,67.2 +1600,1200.0,79.2 +1600,1600.0,95.2 +1600,2000.0,111.2 +1600,2500.0,131.2 +1600,3000.0,151.2 +1600,3500.0,171.2 +1600,4000.0,191.2 +1600,4500.0,211.2 +1600,5000.0,231.2 +1600,5500.0,251.2 +2000,-5500.0,256.0 +2000,-5000.0,236.0 +2000,-4500.0,196.0 +2000,-4000.0,196.0 +2000,-3500.0,176.0 +2000,-3000.0,156.0 +2000,-2500.0,136.0 +2000,-2000.0,116.0 +2000,-1600.0,100.0 +2000,-1200.0,84.0 +2000,-900.0,72.0 +2000,-600.0,60.0 +2000,-400.0,52.0 +2000,-200.0,44.0 +2000,0.0,44.0 +2000,200.0,44.0 +2000,400.0,52.0 +2000,600.0,60.0 +2000,900.0,72.0 +2000,1200.0,84.0 +2000,1600.0,100.0 +2000,2000.0,116.0 +2000,2500.0,136.0 +2000,3000.0,156.0 +2000,3500.0,176.0 +2000,4000.0,196.0 +2000,4500.0,216.0 +2000,5000.0,236.0 +2000,5500.0,256.0 +2500,-5500.0,262.0 +2500,-5000.0,242.0 +2500,-4500.0,202.0 +2500,-4000.0,202.0 +2500,-3500.0,182.0 +2500,-3000.0,162.0 +2500,-2500.0,142.0 +2500,-2000.0,122.0 +2500,-1600.0,106.0 +2500,-1200.0,90.0 +2500,-900.0,78.0 +2500,-600.0,66.0 +2500,-400.0,58.0 +2500,-200.0,50.0 +2500,0.0,50.0 +2500,200.0,50.0 +2500,400.0,58.0 +2500,600.0,66.0 +2500,900.0,78.0 +2500,1200.0,90.0 +2500,1600.0,106.0 +2500,2000.0,122.0 +2500,2500.0,142.0 +2500,3000.0,162.0 +2500,3500.0,182.0 +2500,4000.0,202.0 +2500,4500.0,222.0 +2500,5000.0,242.0 +2500,5500.0,262.0 +3000,-5500.0,268.0 +3000,-5000.0,248.0 +3000,-4500.0,208.0 +3000,-4000.0,208.0 +3000,-3500.0,188.0 +3000,-3000.0,168.0 +3000,-2500.0,148.0 +3000,-2000.0,128.0 +3000,-1600.0,112.0 +3000,-1200.0,96.0 +3000,-900.0,84.0 +3000,-600.0,72.0 +3000,-400.0,64.0 +3000,-200.0,56.0 +3000,0.0,56.0 +3000,200.0,56.0 +3000,400.0,64.0 +3000,600.0,72.0 +3000,900.0,84.0 +3000,1200.0,96.0 +3000,1600.0,112.0 +3000,2000.0,128.0 +3000,2500.0,148.0 +3000,3000.0,168.0 +3000,3500.0,188.0 +3000,4000.0,208.0 +3000,4500.0,228.0 +3000,5000.0,248.0 +3000,5500.0,268.0 \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Gear_5.vtlm b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Gear_5.vtlm new file mode 100644 index 0000000000000000000000000000000000000000..ea00afe57cd1fa0d4f058cced560bd1bd482dd1a --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Gear_5.vtlm @@ -0,0 +1,233 @@ +Input Speed [rpm],Input Torque [Nm],Torque Loss [Nm] +0,-5500.0,239.2 +0,-5000.0,219.2 +0,-4500.0,179.2 +0,-4000.0,179.2 +0,-3500.0,159.2 +0,-3000.0,139.2 +0,-2500.0,119.2 +0,-2000.0,99.2 +0,-1600.0,83.2 +0,-1200.0,67.2 +0,-900.0,55.2 +0,-600.0,43.2 +0,-400.0,35.2 +0,-200.0,27.2 +0,0.0,27.2 +0,200.0,27.2 +0,400.0,35.2 +0,600.0,43.2 +0,900.0,55.2 +0,1200.0,67.2 +0,1600.0,83.2 +0,2000.0,99.2 +0,2500.0,119.2 +0,3000.0,139.2 +0,3500.0,159.2 +0,4000.0,179.2 +0,4500.0,199.2 +0,5000.0,219.2 +0,5500.0,239.2 +600,-5500.0,239.2 +600,-5000.0,219.2 +600,-4500.0,179.2 +600,-4000.0,179.2 +600,-3500.0,159.2 +600,-3000.0,139.2 +600,-2500.0,119.2 +600,-2000.0,99.2 +600,-1600.0,83.2 +600,-1200.0,67.2 +600,-900.0,55.2 +600,-600.0,43.2 +600,-400.0,35.2 +600,-200.0,27.2 +600,0.0,27.2 +600,200.0,27.2 +600,400.0,35.2 +600,600.0,43.2 +600,900.0,55.2 +600,1200.0,67.2 +600,1600.0,83.2 +600,2000.0,99.2 +600,2500.0,119.2 +600,3000.0,139.2 +600,3500.0,159.2 +600,4000.0,179.2 +600,4500.0,199.2 +600,5000.0,219.2 +600,5500.0,239.2 +900,-5500.0,242.8 +900,-5000.0,222.8 +900,-4500.0,182.8 +900,-4000.0,182.8 +900,-3500.0,162.8 +900,-3000.0,142.8 +900,-2500.0,122.8 +900,-2000.0,102.8 +900,-1600.0,86.8 +900,-1200.0,70.8 +900,-900.0,58.8 +900,-600.0,46.8 +900,-400.0,38.8 +900,-200.0,30.8 +900,0.0,30.8 +900,200.0,30.8 +900,400.0,38.8 +900,600.0,46.8 +900,900.0,58.8 +900,1200.0,70.8 +900,1600.0,86.8 +900,2000.0,102.8 +900,2500.0,122.8 +900,3000.0,142.8 +900,3500.0,162.8 +900,4000.0,182.8 +900,4500.0,202.8 +900,5000.0,222.8 +900,5500.0,242.8 +1200,-5500.0,246.4 +1200,-5000.0,226.4 +1200,-4500.0,186.4 +1200,-4000.0,186.4 +1200,-3500.0,166.4 +1200,-3000.0,146.4 +1200,-2500.0,126.4 +1200,-2000.0,106.4 +1200,-1600.0,90.4 +1200,-1200.0,74.4 +1200,-900.0,62.4 +1200,-600.0,50.4 +1200,-400.0,42.4 +1200,-200.0,34.4 +1200,0.0,34.4 +1200,200.0,34.4 +1200,400.0,42.4 +1200,600.0,50.4 +1200,900.0,62.4 +1200,1200.0,74.4 +1200,1600.0,90.4 +1200,2000.0,106.4 +1200,2500.0,126.4 +1200,3000.0,146.4 +1200,3500.0,166.4 +1200,4000.0,186.4 +1200,4500.0,206.4 +1200,5000.0,226.4 +1200,5500.0,246.4 +1600,-5500.0,251.2 +1600,-5000.0,231.2 +1600,-4500.0,191.2 +1600,-4000.0,191.2 +1600,-3500.0,171.2 +1600,-3000.0,151.2 +1600,-2500.0,131.2 +1600,-2000.0,111.2 +1600,-1600.0,95.2 +1600,-1200.0,79.2 +1600,-900.0,67.2 +1600,-600.0,55.2 +1600,-400.0,47.2 +1600,-200.0,39.2 +1600,0.0,39.2 +1600,200.0,39.2 +1600,400.0,47.2 +1600,600.0,55.2 +1600,900.0,67.2 +1600,1200.0,79.2 +1600,1600.0,95.2 +1600,2000.0,111.2 +1600,2500.0,131.2 +1600,3000.0,151.2 +1600,3500.0,171.2 +1600,4000.0,191.2 +1600,4500.0,211.2 +1600,5000.0,231.2 +1600,5500.0,251.2 +2000,-5500.0,256.0 +2000,-5000.0,236.0 +2000,-4500.0,196.0 +2000,-4000.0,196.0 +2000,-3500.0,176.0 +2000,-3000.0,156.0 +2000,-2500.0,136.0 +2000,-2000.0,116.0 +2000,-1600.0,100.0 +2000,-1200.0,84.0 +2000,-900.0,72.0 +2000,-600.0,60.0 +2000,-400.0,52.0 +2000,-200.0,44.0 +2000,0.0,44.0 +2000,200.0,44.0 +2000,400.0,52.0 +2000,600.0,60.0 +2000,900.0,72.0 +2000,1200.0,84.0 +2000,1600.0,100.0 +2000,2000.0,116.0 +2000,2500.0,136.0 +2000,3000.0,156.0 +2000,3500.0,176.0 +2000,4000.0,196.0 +2000,4500.0,216.0 +2000,5000.0,236.0 +2000,5500.0,256.0 +2500,-5500.0,262.0 +2500,-5000.0,242.0 +2500,-4500.0,202.0 +2500,-4000.0,202.0 +2500,-3500.0,182.0 +2500,-3000.0,162.0 +2500,-2500.0,142.0 +2500,-2000.0,122.0 +2500,-1600.0,106.0 +2500,-1200.0,90.0 +2500,-900.0,78.0 +2500,-600.0,66.0 +2500,-400.0,58.0 +2500,-200.0,50.0 +2500,0.0,50.0 +2500,200.0,50.0 +2500,400.0,58.0 +2500,600.0,66.0 +2500,900.0,78.0 +2500,1200.0,90.0 +2500,1600.0,106.0 +2500,2000.0,122.0 +2500,2500.0,142.0 +2500,3000.0,162.0 +2500,3500.0,182.0 +2500,4000.0,202.0 +2500,4500.0,222.0 +2500,5000.0,242.0 +2500,5500.0,262.0 +3000,-5500.0,268.0 +3000,-5000.0,248.0 +3000,-4500.0,208.0 +3000,-4000.0,208.0 +3000,-3500.0,188.0 +3000,-3000.0,168.0 +3000,-2500.0,148.0 +3000,-2000.0,128.0 +3000,-1600.0,112.0 +3000,-1200.0,96.0 +3000,-900.0,84.0 +3000,-600.0,72.0 +3000,-400.0,64.0 +3000,-200.0,56.0 +3000,0.0,56.0 +3000,200.0,56.0 +3000,400.0,64.0 +3000,600.0,72.0 +3000,900.0,84.0 +3000,1200.0,96.0 +3000,1600.0,112.0 +3000,2000.0,128.0 +3000,2500.0,148.0 +3000,3000.0,168.0 +3000,3500.0,188.0 +3000,4000.0,208.0 +3000,4500.0,228.0 +3000,5000.0,248.0 +3000,5500.0,268.0 \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Gear_6.vtlm b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Gear_6.vtlm new file mode 100644 index 0000000000000000000000000000000000000000..ea00afe57cd1fa0d4f058cced560bd1bd482dd1a --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Gear_6.vtlm @@ -0,0 +1,233 @@ +Input Speed [rpm],Input Torque [Nm],Torque Loss [Nm] +0,-5500.0,239.2 +0,-5000.0,219.2 +0,-4500.0,179.2 +0,-4000.0,179.2 +0,-3500.0,159.2 +0,-3000.0,139.2 +0,-2500.0,119.2 +0,-2000.0,99.2 +0,-1600.0,83.2 +0,-1200.0,67.2 +0,-900.0,55.2 +0,-600.0,43.2 +0,-400.0,35.2 +0,-200.0,27.2 +0,0.0,27.2 +0,200.0,27.2 +0,400.0,35.2 +0,600.0,43.2 +0,900.0,55.2 +0,1200.0,67.2 +0,1600.0,83.2 +0,2000.0,99.2 +0,2500.0,119.2 +0,3000.0,139.2 +0,3500.0,159.2 +0,4000.0,179.2 +0,4500.0,199.2 +0,5000.0,219.2 +0,5500.0,239.2 +600,-5500.0,239.2 +600,-5000.0,219.2 +600,-4500.0,179.2 +600,-4000.0,179.2 +600,-3500.0,159.2 +600,-3000.0,139.2 +600,-2500.0,119.2 +600,-2000.0,99.2 +600,-1600.0,83.2 +600,-1200.0,67.2 +600,-900.0,55.2 +600,-600.0,43.2 +600,-400.0,35.2 +600,-200.0,27.2 +600,0.0,27.2 +600,200.0,27.2 +600,400.0,35.2 +600,600.0,43.2 +600,900.0,55.2 +600,1200.0,67.2 +600,1600.0,83.2 +600,2000.0,99.2 +600,2500.0,119.2 +600,3000.0,139.2 +600,3500.0,159.2 +600,4000.0,179.2 +600,4500.0,199.2 +600,5000.0,219.2 +600,5500.0,239.2 +900,-5500.0,242.8 +900,-5000.0,222.8 +900,-4500.0,182.8 +900,-4000.0,182.8 +900,-3500.0,162.8 +900,-3000.0,142.8 +900,-2500.0,122.8 +900,-2000.0,102.8 +900,-1600.0,86.8 +900,-1200.0,70.8 +900,-900.0,58.8 +900,-600.0,46.8 +900,-400.0,38.8 +900,-200.0,30.8 +900,0.0,30.8 +900,200.0,30.8 +900,400.0,38.8 +900,600.0,46.8 +900,900.0,58.8 +900,1200.0,70.8 +900,1600.0,86.8 +900,2000.0,102.8 +900,2500.0,122.8 +900,3000.0,142.8 +900,3500.0,162.8 +900,4000.0,182.8 +900,4500.0,202.8 +900,5000.0,222.8 +900,5500.0,242.8 +1200,-5500.0,246.4 +1200,-5000.0,226.4 +1200,-4500.0,186.4 +1200,-4000.0,186.4 +1200,-3500.0,166.4 +1200,-3000.0,146.4 +1200,-2500.0,126.4 +1200,-2000.0,106.4 +1200,-1600.0,90.4 +1200,-1200.0,74.4 +1200,-900.0,62.4 +1200,-600.0,50.4 +1200,-400.0,42.4 +1200,-200.0,34.4 +1200,0.0,34.4 +1200,200.0,34.4 +1200,400.0,42.4 +1200,600.0,50.4 +1200,900.0,62.4 +1200,1200.0,74.4 +1200,1600.0,90.4 +1200,2000.0,106.4 +1200,2500.0,126.4 +1200,3000.0,146.4 +1200,3500.0,166.4 +1200,4000.0,186.4 +1200,4500.0,206.4 +1200,5000.0,226.4 +1200,5500.0,246.4 +1600,-5500.0,251.2 +1600,-5000.0,231.2 +1600,-4500.0,191.2 +1600,-4000.0,191.2 +1600,-3500.0,171.2 +1600,-3000.0,151.2 +1600,-2500.0,131.2 +1600,-2000.0,111.2 +1600,-1600.0,95.2 +1600,-1200.0,79.2 +1600,-900.0,67.2 +1600,-600.0,55.2 +1600,-400.0,47.2 +1600,-200.0,39.2 +1600,0.0,39.2 +1600,200.0,39.2 +1600,400.0,47.2 +1600,600.0,55.2 +1600,900.0,67.2 +1600,1200.0,79.2 +1600,1600.0,95.2 +1600,2000.0,111.2 +1600,2500.0,131.2 +1600,3000.0,151.2 +1600,3500.0,171.2 +1600,4000.0,191.2 +1600,4500.0,211.2 +1600,5000.0,231.2 +1600,5500.0,251.2 +2000,-5500.0,256.0 +2000,-5000.0,236.0 +2000,-4500.0,196.0 +2000,-4000.0,196.0 +2000,-3500.0,176.0 +2000,-3000.0,156.0 +2000,-2500.0,136.0 +2000,-2000.0,116.0 +2000,-1600.0,100.0 +2000,-1200.0,84.0 +2000,-900.0,72.0 +2000,-600.0,60.0 +2000,-400.0,52.0 +2000,-200.0,44.0 +2000,0.0,44.0 +2000,200.0,44.0 +2000,400.0,52.0 +2000,600.0,60.0 +2000,900.0,72.0 +2000,1200.0,84.0 +2000,1600.0,100.0 +2000,2000.0,116.0 +2000,2500.0,136.0 +2000,3000.0,156.0 +2000,3500.0,176.0 +2000,4000.0,196.0 +2000,4500.0,216.0 +2000,5000.0,236.0 +2000,5500.0,256.0 +2500,-5500.0,262.0 +2500,-5000.0,242.0 +2500,-4500.0,202.0 +2500,-4000.0,202.0 +2500,-3500.0,182.0 +2500,-3000.0,162.0 +2500,-2500.0,142.0 +2500,-2000.0,122.0 +2500,-1600.0,106.0 +2500,-1200.0,90.0 +2500,-900.0,78.0 +2500,-600.0,66.0 +2500,-400.0,58.0 +2500,-200.0,50.0 +2500,0.0,50.0 +2500,200.0,50.0 +2500,400.0,58.0 +2500,600.0,66.0 +2500,900.0,78.0 +2500,1200.0,90.0 +2500,1600.0,106.0 +2500,2000.0,122.0 +2500,2500.0,142.0 +2500,3000.0,162.0 +2500,3500.0,182.0 +2500,4000.0,202.0 +2500,4500.0,222.0 +2500,5000.0,242.0 +2500,5500.0,262.0 +3000,-5500.0,268.0 +3000,-5000.0,248.0 +3000,-4500.0,208.0 +3000,-4000.0,208.0 +3000,-3500.0,188.0 +3000,-3000.0,168.0 +3000,-2500.0,148.0 +3000,-2000.0,128.0 +3000,-1600.0,112.0 +3000,-1200.0,96.0 +3000,-900.0,84.0 +3000,-600.0,72.0 +3000,-400.0,64.0 +3000,-200.0,56.0 +3000,0.0,56.0 +3000,200.0,56.0 +3000,400.0,64.0 +3000,600.0,72.0 +3000,900.0,84.0 +3000,1200.0,96.0 +3000,1600.0,112.0 +3000,2000.0,128.0 +3000,2500.0,148.0 +3000,3000.0,168.0 +3000,3500.0,188.0 +3000,4000.0,208.0 +3000,4500.0,228.0 +3000,5000.0,248.0 +3000,5500.0,268.0 \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Gear_7.vtlm b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Gear_7.vtlm new file mode 100644 index 0000000000000000000000000000000000000000..ea00afe57cd1fa0d4f058cced560bd1bd482dd1a --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Gear_7.vtlm @@ -0,0 +1,233 @@ +Input Speed [rpm],Input Torque [Nm],Torque Loss [Nm] +0,-5500.0,239.2 +0,-5000.0,219.2 +0,-4500.0,179.2 +0,-4000.0,179.2 +0,-3500.0,159.2 +0,-3000.0,139.2 +0,-2500.0,119.2 +0,-2000.0,99.2 +0,-1600.0,83.2 +0,-1200.0,67.2 +0,-900.0,55.2 +0,-600.0,43.2 +0,-400.0,35.2 +0,-200.0,27.2 +0,0.0,27.2 +0,200.0,27.2 +0,400.0,35.2 +0,600.0,43.2 +0,900.0,55.2 +0,1200.0,67.2 +0,1600.0,83.2 +0,2000.0,99.2 +0,2500.0,119.2 +0,3000.0,139.2 +0,3500.0,159.2 +0,4000.0,179.2 +0,4500.0,199.2 +0,5000.0,219.2 +0,5500.0,239.2 +600,-5500.0,239.2 +600,-5000.0,219.2 +600,-4500.0,179.2 +600,-4000.0,179.2 +600,-3500.0,159.2 +600,-3000.0,139.2 +600,-2500.0,119.2 +600,-2000.0,99.2 +600,-1600.0,83.2 +600,-1200.0,67.2 +600,-900.0,55.2 +600,-600.0,43.2 +600,-400.0,35.2 +600,-200.0,27.2 +600,0.0,27.2 +600,200.0,27.2 +600,400.0,35.2 +600,600.0,43.2 +600,900.0,55.2 +600,1200.0,67.2 +600,1600.0,83.2 +600,2000.0,99.2 +600,2500.0,119.2 +600,3000.0,139.2 +600,3500.0,159.2 +600,4000.0,179.2 +600,4500.0,199.2 +600,5000.0,219.2 +600,5500.0,239.2 +900,-5500.0,242.8 +900,-5000.0,222.8 +900,-4500.0,182.8 +900,-4000.0,182.8 +900,-3500.0,162.8 +900,-3000.0,142.8 +900,-2500.0,122.8 +900,-2000.0,102.8 +900,-1600.0,86.8 +900,-1200.0,70.8 +900,-900.0,58.8 +900,-600.0,46.8 +900,-400.0,38.8 +900,-200.0,30.8 +900,0.0,30.8 +900,200.0,30.8 +900,400.0,38.8 +900,600.0,46.8 +900,900.0,58.8 +900,1200.0,70.8 +900,1600.0,86.8 +900,2000.0,102.8 +900,2500.0,122.8 +900,3000.0,142.8 +900,3500.0,162.8 +900,4000.0,182.8 +900,4500.0,202.8 +900,5000.0,222.8 +900,5500.0,242.8 +1200,-5500.0,246.4 +1200,-5000.0,226.4 +1200,-4500.0,186.4 +1200,-4000.0,186.4 +1200,-3500.0,166.4 +1200,-3000.0,146.4 +1200,-2500.0,126.4 +1200,-2000.0,106.4 +1200,-1600.0,90.4 +1200,-1200.0,74.4 +1200,-900.0,62.4 +1200,-600.0,50.4 +1200,-400.0,42.4 +1200,-200.0,34.4 +1200,0.0,34.4 +1200,200.0,34.4 +1200,400.0,42.4 +1200,600.0,50.4 +1200,900.0,62.4 +1200,1200.0,74.4 +1200,1600.0,90.4 +1200,2000.0,106.4 +1200,2500.0,126.4 +1200,3000.0,146.4 +1200,3500.0,166.4 +1200,4000.0,186.4 +1200,4500.0,206.4 +1200,5000.0,226.4 +1200,5500.0,246.4 +1600,-5500.0,251.2 +1600,-5000.0,231.2 +1600,-4500.0,191.2 +1600,-4000.0,191.2 +1600,-3500.0,171.2 +1600,-3000.0,151.2 +1600,-2500.0,131.2 +1600,-2000.0,111.2 +1600,-1600.0,95.2 +1600,-1200.0,79.2 +1600,-900.0,67.2 +1600,-600.0,55.2 +1600,-400.0,47.2 +1600,-200.0,39.2 +1600,0.0,39.2 +1600,200.0,39.2 +1600,400.0,47.2 +1600,600.0,55.2 +1600,900.0,67.2 +1600,1200.0,79.2 +1600,1600.0,95.2 +1600,2000.0,111.2 +1600,2500.0,131.2 +1600,3000.0,151.2 +1600,3500.0,171.2 +1600,4000.0,191.2 +1600,4500.0,211.2 +1600,5000.0,231.2 +1600,5500.0,251.2 +2000,-5500.0,256.0 +2000,-5000.0,236.0 +2000,-4500.0,196.0 +2000,-4000.0,196.0 +2000,-3500.0,176.0 +2000,-3000.0,156.0 +2000,-2500.0,136.0 +2000,-2000.0,116.0 +2000,-1600.0,100.0 +2000,-1200.0,84.0 +2000,-900.0,72.0 +2000,-600.0,60.0 +2000,-400.0,52.0 +2000,-200.0,44.0 +2000,0.0,44.0 +2000,200.0,44.0 +2000,400.0,52.0 +2000,600.0,60.0 +2000,900.0,72.0 +2000,1200.0,84.0 +2000,1600.0,100.0 +2000,2000.0,116.0 +2000,2500.0,136.0 +2000,3000.0,156.0 +2000,3500.0,176.0 +2000,4000.0,196.0 +2000,4500.0,216.0 +2000,5000.0,236.0 +2000,5500.0,256.0 +2500,-5500.0,262.0 +2500,-5000.0,242.0 +2500,-4500.0,202.0 +2500,-4000.0,202.0 +2500,-3500.0,182.0 +2500,-3000.0,162.0 +2500,-2500.0,142.0 +2500,-2000.0,122.0 +2500,-1600.0,106.0 +2500,-1200.0,90.0 +2500,-900.0,78.0 +2500,-600.0,66.0 +2500,-400.0,58.0 +2500,-200.0,50.0 +2500,0.0,50.0 +2500,200.0,50.0 +2500,400.0,58.0 +2500,600.0,66.0 +2500,900.0,78.0 +2500,1200.0,90.0 +2500,1600.0,106.0 +2500,2000.0,122.0 +2500,2500.0,142.0 +2500,3000.0,162.0 +2500,3500.0,182.0 +2500,4000.0,202.0 +2500,4500.0,222.0 +2500,5000.0,242.0 +2500,5500.0,262.0 +3000,-5500.0,268.0 +3000,-5000.0,248.0 +3000,-4500.0,208.0 +3000,-4000.0,208.0 +3000,-3500.0,188.0 +3000,-3000.0,168.0 +3000,-2500.0,148.0 +3000,-2000.0,128.0 +3000,-1600.0,112.0 +3000,-1200.0,96.0 +3000,-900.0,84.0 +3000,-600.0,72.0 +3000,-400.0,64.0 +3000,-200.0,56.0 +3000,0.0,56.0 +3000,200.0,56.0 +3000,400.0,64.0 +3000,600.0,72.0 +3000,900.0,84.0 +3000,1200.0,96.0 +3000,1600.0,112.0 +3000,2000.0,128.0 +3000,2500.0,148.0 +3000,3000.0,168.0 +3000,3500.0,188.0 +3000,4000.0,208.0 +3000,4500.0,228.0 +3000,5000.0,248.0 +3000,5500.0,268.0 \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Gear_8.vtlm b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Gear_8.vtlm new file mode 100644 index 0000000000000000000000000000000000000000..ea00afe57cd1fa0d4f058cced560bd1bd482dd1a --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Gear_8.vtlm @@ -0,0 +1,233 @@ +Input Speed [rpm],Input Torque [Nm],Torque Loss [Nm] +0,-5500.0,239.2 +0,-5000.0,219.2 +0,-4500.0,179.2 +0,-4000.0,179.2 +0,-3500.0,159.2 +0,-3000.0,139.2 +0,-2500.0,119.2 +0,-2000.0,99.2 +0,-1600.0,83.2 +0,-1200.0,67.2 +0,-900.0,55.2 +0,-600.0,43.2 +0,-400.0,35.2 +0,-200.0,27.2 +0,0.0,27.2 +0,200.0,27.2 +0,400.0,35.2 +0,600.0,43.2 +0,900.0,55.2 +0,1200.0,67.2 +0,1600.0,83.2 +0,2000.0,99.2 +0,2500.0,119.2 +0,3000.0,139.2 +0,3500.0,159.2 +0,4000.0,179.2 +0,4500.0,199.2 +0,5000.0,219.2 +0,5500.0,239.2 +600,-5500.0,239.2 +600,-5000.0,219.2 +600,-4500.0,179.2 +600,-4000.0,179.2 +600,-3500.0,159.2 +600,-3000.0,139.2 +600,-2500.0,119.2 +600,-2000.0,99.2 +600,-1600.0,83.2 +600,-1200.0,67.2 +600,-900.0,55.2 +600,-600.0,43.2 +600,-400.0,35.2 +600,-200.0,27.2 +600,0.0,27.2 +600,200.0,27.2 +600,400.0,35.2 +600,600.0,43.2 +600,900.0,55.2 +600,1200.0,67.2 +600,1600.0,83.2 +600,2000.0,99.2 +600,2500.0,119.2 +600,3000.0,139.2 +600,3500.0,159.2 +600,4000.0,179.2 +600,4500.0,199.2 +600,5000.0,219.2 +600,5500.0,239.2 +900,-5500.0,242.8 +900,-5000.0,222.8 +900,-4500.0,182.8 +900,-4000.0,182.8 +900,-3500.0,162.8 +900,-3000.0,142.8 +900,-2500.0,122.8 +900,-2000.0,102.8 +900,-1600.0,86.8 +900,-1200.0,70.8 +900,-900.0,58.8 +900,-600.0,46.8 +900,-400.0,38.8 +900,-200.0,30.8 +900,0.0,30.8 +900,200.0,30.8 +900,400.0,38.8 +900,600.0,46.8 +900,900.0,58.8 +900,1200.0,70.8 +900,1600.0,86.8 +900,2000.0,102.8 +900,2500.0,122.8 +900,3000.0,142.8 +900,3500.0,162.8 +900,4000.0,182.8 +900,4500.0,202.8 +900,5000.0,222.8 +900,5500.0,242.8 +1200,-5500.0,246.4 +1200,-5000.0,226.4 +1200,-4500.0,186.4 +1200,-4000.0,186.4 +1200,-3500.0,166.4 +1200,-3000.0,146.4 +1200,-2500.0,126.4 +1200,-2000.0,106.4 +1200,-1600.0,90.4 +1200,-1200.0,74.4 +1200,-900.0,62.4 +1200,-600.0,50.4 +1200,-400.0,42.4 +1200,-200.0,34.4 +1200,0.0,34.4 +1200,200.0,34.4 +1200,400.0,42.4 +1200,600.0,50.4 +1200,900.0,62.4 +1200,1200.0,74.4 +1200,1600.0,90.4 +1200,2000.0,106.4 +1200,2500.0,126.4 +1200,3000.0,146.4 +1200,3500.0,166.4 +1200,4000.0,186.4 +1200,4500.0,206.4 +1200,5000.0,226.4 +1200,5500.0,246.4 +1600,-5500.0,251.2 +1600,-5000.0,231.2 +1600,-4500.0,191.2 +1600,-4000.0,191.2 +1600,-3500.0,171.2 +1600,-3000.0,151.2 +1600,-2500.0,131.2 +1600,-2000.0,111.2 +1600,-1600.0,95.2 +1600,-1200.0,79.2 +1600,-900.0,67.2 +1600,-600.0,55.2 +1600,-400.0,47.2 +1600,-200.0,39.2 +1600,0.0,39.2 +1600,200.0,39.2 +1600,400.0,47.2 +1600,600.0,55.2 +1600,900.0,67.2 +1600,1200.0,79.2 +1600,1600.0,95.2 +1600,2000.0,111.2 +1600,2500.0,131.2 +1600,3000.0,151.2 +1600,3500.0,171.2 +1600,4000.0,191.2 +1600,4500.0,211.2 +1600,5000.0,231.2 +1600,5500.0,251.2 +2000,-5500.0,256.0 +2000,-5000.0,236.0 +2000,-4500.0,196.0 +2000,-4000.0,196.0 +2000,-3500.0,176.0 +2000,-3000.0,156.0 +2000,-2500.0,136.0 +2000,-2000.0,116.0 +2000,-1600.0,100.0 +2000,-1200.0,84.0 +2000,-900.0,72.0 +2000,-600.0,60.0 +2000,-400.0,52.0 +2000,-200.0,44.0 +2000,0.0,44.0 +2000,200.0,44.0 +2000,400.0,52.0 +2000,600.0,60.0 +2000,900.0,72.0 +2000,1200.0,84.0 +2000,1600.0,100.0 +2000,2000.0,116.0 +2000,2500.0,136.0 +2000,3000.0,156.0 +2000,3500.0,176.0 +2000,4000.0,196.0 +2000,4500.0,216.0 +2000,5000.0,236.0 +2000,5500.0,256.0 +2500,-5500.0,262.0 +2500,-5000.0,242.0 +2500,-4500.0,202.0 +2500,-4000.0,202.0 +2500,-3500.0,182.0 +2500,-3000.0,162.0 +2500,-2500.0,142.0 +2500,-2000.0,122.0 +2500,-1600.0,106.0 +2500,-1200.0,90.0 +2500,-900.0,78.0 +2500,-600.0,66.0 +2500,-400.0,58.0 +2500,-200.0,50.0 +2500,0.0,50.0 +2500,200.0,50.0 +2500,400.0,58.0 +2500,600.0,66.0 +2500,900.0,78.0 +2500,1200.0,90.0 +2500,1600.0,106.0 +2500,2000.0,122.0 +2500,2500.0,142.0 +2500,3000.0,162.0 +2500,3500.0,182.0 +2500,4000.0,202.0 +2500,4500.0,222.0 +2500,5000.0,242.0 +2500,5500.0,262.0 +3000,-5500.0,268.0 +3000,-5000.0,248.0 +3000,-4500.0,208.0 +3000,-4000.0,208.0 +3000,-3500.0,188.0 +3000,-3000.0,168.0 +3000,-2500.0,148.0 +3000,-2000.0,128.0 +3000,-1600.0,112.0 +3000,-1200.0,96.0 +3000,-900.0,84.0 +3000,-600.0,72.0 +3000,-400.0,64.0 +3000,-200.0,56.0 +3000,0.0,56.0 +3000,200.0,56.0 +3000,400.0,64.0 +3000,600.0,72.0 +3000,900.0,84.0 +3000,1200.0,96.0 +3000,1600.0,112.0 +3000,2000.0,128.0 +3000,2500.0,148.0 +3000,3000.0,168.0 +3000,3500.0,188.0 +3000,4000.0,208.0 +3000,4500.0,228.0 +3000,5000.0,248.0 +3000,5500.0,268.0 \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Gear_9.vtlm b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Gear_9.vtlm new file mode 100644 index 0000000000000000000000000000000000000000..ea00afe57cd1fa0d4f058cced560bd1bd482dd1a --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Gear_9.vtlm @@ -0,0 +1,233 @@ +Input Speed [rpm],Input Torque [Nm],Torque Loss [Nm] +0,-5500.0,239.2 +0,-5000.0,219.2 +0,-4500.0,179.2 +0,-4000.0,179.2 +0,-3500.0,159.2 +0,-3000.0,139.2 +0,-2500.0,119.2 +0,-2000.0,99.2 +0,-1600.0,83.2 +0,-1200.0,67.2 +0,-900.0,55.2 +0,-600.0,43.2 +0,-400.0,35.2 +0,-200.0,27.2 +0,0.0,27.2 +0,200.0,27.2 +0,400.0,35.2 +0,600.0,43.2 +0,900.0,55.2 +0,1200.0,67.2 +0,1600.0,83.2 +0,2000.0,99.2 +0,2500.0,119.2 +0,3000.0,139.2 +0,3500.0,159.2 +0,4000.0,179.2 +0,4500.0,199.2 +0,5000.0,219.2 +0,5500.0,239.2 +600,-5500.0,239.2 +600,-5000.0,219.2 +600,-4500.0,179.2 +600,-4000.0,179.2 +600,-3500.0,159.2 +600,-3000.0,139.2 +600,-2500.0,119.2 +600,-2000.0,99.2 +600,-1600.0,83.2 +600,-1200.0,67.2 +600,-900.0,55.2 +600,-600.0,43.2 +600,-400.0,35.2 +600,-200.0,27.2 +600,0.0,27.2 +600,200.0,27.2 +600,400.0,35.2 +600,600.0,43.2 +600,900.0,55.2 +600,1200.0,67.2 +600,1600.0,83.2 +600,2000.0,99.2 +600,2500.0,119.2 +600,3000.0,139.2 +600,3500.0,159.2 +600,4000.0,179.2 +600,4500.0,199.2 +600,5000.0,219.2 +600,5500.0,239.2 +900,-5500.0,242.8 +900,-5000.0,222.8 +900,-4500.0,182.8 +900,-4000.0,182.8 +900,-3500.0,162.8 +900,-3000.0,142.8 +900,-2500.0,122.8 +900,-2000.0,102.8 +900,-1600.0,86.8 +900,-1200.0,70.8 +900,-900.0,58.8 +900,-600.0,46.8 +900,-400.0,38.8 +900,-200.0,30.8 +900,0.0,30.8 +900,200.0,30.8 +900,400.0,38.8 +900,600.0,46.8 +900,900.0,58.8 +900,1200.0,70.8 +900,1600.0,86.8 +900,2000.0,102.8 +900,2500.0,122.8 +900,3000.0,142.8 +900,3500.0,162.8 +900,4000.0,182.8 +900,4500.0,202.8 +900,5000.0,222.8 +900,5500.0,242.8 +1200,-5500.0,246.4 +1200,-5000.0,226.4 +1200,-4500.0,186.4 +1200,-4000.0,186.4 +1200,-3500.0,166.4 +1200,-3000.0,146.4 +1200,-2500.0,126.4 +1200,-2000.0,106.4 +1200,-1600.0,90.4 +1200,-1200.0,74.4 +1200,-900.0,62.4 +1200,-600.0,50.4 +1200,-400.0,42.4 +1200,-200.0,34.4 +1200,0.0,34.4 +1200,200.0,34.4 +1200,400.0,42.4 +1200,600.0,50.4 +1200,900.0,62.4 +1200,1200.0,74.4 +1200,1600.0,90.4 +1200,2000.0,106.4 +1200,2500.0,126.4 +1200,3000.0,146.4 +1200,3500.0,166.4 +1200,4000.0,186.4 +1200,4500.0,206.4 +1200,5000.0,226.4 +1200,5500.0,246.4 +1600,-5500.0,251.2 +1600,-5000.0,231.2 +1600,-4500.0,191.2 +1600,-4000.0,191.2 +1600,-3500.0,171.2 +1600,-3000.0,151.2 +1600,-2500.0,131.2 +1600,-2000.0,111.2 +1600,-1600.0,95.2 +1600,-1200.0,79.2 +1600,-900.0,67.2 +1600,-600.0,55.2 +1600,-400.0,47.2 +1600,-200.0,39.2 +1600,0.0,39.2 +1600,200.0,39.2 +1600,400.0,47.2 +1600,600.0,55.2 +1600,900.0,67.2 +1600,1200.0,79.2 +1600,1600.0,95.2 +1600,2000.0,111.2 +1600,2500.0,131.2 +1600,3000.0,151.2 +1600,3500.0,171.2 +1600,4000.0,191.2 +1600,4500.0,211.2 +1600,5000.0,231.2 +1600,5500.0,251.2 +2000,-5500.0,256.0 +2000,-5000.0,236.0 +2000,-4500.0,196.0 +2000,-4000.0,196.0 +2000,-3500.0,176.0 +2000,-3000.0,156.0 +2000,-2500.0,136.0 +2000,-2000.0,116.0 +2000,-1600.0,100.0 +2000,-1200.0,84.0 +2000,-900.0,72.0 +2000,-600.0,60.0 +2000,-400.0,52.0 +2000,-200.0,44.0 +2000,0.0,44.0 +2000,200.0,44.0 +2000,400.0,52.0 +2000,600.0,60.0 +2000,900.0,72.0 +2000,1200.0,84.0 +2000,1600.0,100.0 +2000,2000.0,116.0 +2000,2500.0,136.0 +2000,3000.0,156.0 +2000,3500.0,176.0 +2000,4000.0,196.0 +2000,4500.0,216.0 +2000,5000.0,236.0 +2000,5500.0,256.0 +2500,-5500.0,262.0 +2500,-5000.0,242.0 +2500,-4500.0,202.0 +2500,-4000.0,202.0 +2500,-3500.0,182.0 +2500,-3000.0,162.0 +2500,-2500.0,142.0 +2500,-2000.0,122.0 +2500,-1600.0,106.0 +2500,-1200.0,90.0 +2500,-900.0,78.0 +2500,-600.0,66.0 +2500,-400.0,58.0 +2500,-200.0,50.0 +2500,0.0,50.0 +2500,200.0,50.0 +2500,400.0,58.0 +2500,600.0,66.0 +2500,900.0,78.0 +2500,1200.0,90.0 +2500,1600.0,106.0 +2500,2000.0,122.0 +2500,2500.0,142.0 +2500,3000.0,162.0 +2500,3500.0,182.0 +2500,4000.0,202.0 +2500,4500.0,222.0 +2500,5000.0,242.0 +2500,5500.0,262.0 +3000,-5500.0,268.0 +3000,-5000.0,248.0 +3000,-4500.0,208.0 +3000,-4000.0,208.0 +3000,-3500.0,188.0 +3000,-3000.0,168.0 +3000,-2500.0,148.0 +3000,-2000.0,128.0 +3000,-1600.0,112.0 +3000,-1200.0,96.0 +3000,-900.0,84.0 +3000,-600.0,72.0 +3000,-400.0,64.0 +3000,-200.0,56.0 +3000,0.0,56.0 +3000,200.0,56.0 +3000,400.0,64.0 +3000,600.0,72.0 +3000,900.0,84.0 +3000,1200.0,96.0 +3000,1600.0,112.0 +3000,2000.0,128.0 +3000,2500.0,148.0 +3000,3000.0,168.0 +3000,3500.0,188.0 +3000,4000.0,208.0 +3000,4500.0,228.0 +3000,5000.0,248.0 +3000,5500.0,268.0 \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/GenericBattery_10kWh_658V.vbat b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/GenericBattery_10kWh_658V.vbat new file mode 100644 index 0000000000000000000000000000000000000000..b63cc3aad2ae9a38a3f3d17146b5db01390e99ac --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/GenericBattery_10kWh_658V.vbat @@ -0,0 +1,18 @@ +{ + "Header": { + "CreatedBy": "", + "Date": "2020-09-07T15:28:30.2818342Z", + "AppVersion": "3", + "FileVersion": 1 + }, + "Body": { + "SavedInDeclMode": false, + "Model": "Generic Battery", + "Capacity": 14.0, + "SOC_min": 20.0, + "SOC_max": 80.0, + "MaxCurrentMap": "MaxCurrent.vimax", + "InternalResistanceCurve": "GenericBattery_10kWh_658V.vbatr", + "SoCCurve": "GenericBattery_10kWh_658V.vbatv" + } +} \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/GenericBattery_10kWh_658V.vbatr b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/GenericBattery_10kWh_658V.vbatr new file mode 100644 index 0000000000000000000000000000000000000000..09c936221ae38d84265ae27ba5542834d407026a --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/GenericBattery_10kWh_658V.vbatr @@ -0,0 +1,3 @@ +SoC, Ri +0, 0.12 +100, 0.12 \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/GenericBattery_10kWh_658V.vbatv b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/GenericBattery_10kWh_658V.vbatv new file mode 100644 index 0000000000000000000000000000000000000000..8063e04c9379cce6870b2d71c99807f0ee73c3fa --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/GenericBattery_10kWh_658V.vbatv @@ -0,0 +1,12 @@ +SOC, V +0, 590 +10, 614 +20, 626 +30, 632 +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/GenericVehicle_Group5_P2/GenericDrag_140kW_936Nm.vemd b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/GenericDrag_140kW_936Nm.vemd new file mode 100644 index 0000000000000000000000000000000000000000..67d7db9f1b514dba9fc3fa4ec5650b00b9020faf --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/GenericDrag_140kW_936Nm.vemd @@ -0,0 +1,3 @@ +n [rpm] , T_drag [Nm] +0 , -11.70 +4268.63 , -58.50 \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/GenericEMotor_140kW_900Nm.vemp b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/GenericEMotor_140kW_900Nm.vemp new file mode 100644 index 0000000000000000000000000000000000000000..dc507a3de87525ae3ff0d10ae580fd845bc3763f --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/GenericEMotor_140kW_900Nm.vemp @@ -0,0 +1,74 @@ +n [rpm] , T_drive [Nm] , T_drag [Nm] +0,900,-900 +1485.446136,900,-900 +1480,900,-900 +1488.888889,897.93,-897.93 +1497.777778,892.5975,-892.5975 +1506.666667,887.3325,-887.3325 +1511.111111,884.7225,-884.7225 +1555.555556,859.4325,-859.4325 +1600,835.56,-835.56 +1644.444444,812.97,-812.97 +1688.888889,791.595,-791.595 +1733.333333,771.3,-771.3 +1777.777778,752.0175,-752.0175 +1822.222222,733.6575,-733.6575 +1866.666667,716.1975,-716.1975 +1911.111111,699.5475,-699.5475 +1955.555556,683.64,-683.64 +2000,668.4525,-668.4525 +2044.444444,653.9175,-653.9175 +2088.888889,640.0125,-640.0125 +2133.333333,626.67,-626.67 +2177.777778,613.89,-613.89 +2222.222222,601.605,-601.605 +2266.666667,589.815,-589.815 +2311.111111,578.475,-578.475 +2355.555556,567.5625,-567.5625 +2400,557.0325,-557.0325 +2444.444444,546.9075,-546.9075 +2488.888889,537.1425,-537.1425 +2533.333333,527.715,-527.715 +2577.777778,518.625,-518.625 +2622.222222,509.8275,-509.8275 +2666.666667,501.345,-501.345 +2711.111111,493.11,-493.11 +2755.555556,485.1675,-485.1675 +2800,477.4725,-477.4725 +2844.444444,470.0025,-470.0025 +2888.888889,462.78,-462.78 +2933.333333,455.76,-455.76 +2977.777778,448.965,-448.965 +3022.222222,442.35,-442.35 +3066.666667,435.9375,-435.9375 +3111.111111,429.7275,-429.7275 +3155.555556,423.675,-423.675 +3200,417.78,-417.78 +3244.444444,412.065,-412.065 +3288.888889,406.485,-406.485 +3333.333333,401.0625,-401.0625 +3377.777778,395.7975,-395.7975 +3422.222222,390.645,-390.645 +3466.666667,385.65,-385.65 +3511.111111,380.7675,-380.7675 +3555.555556,375.9975,-375.9975 +3600,371.3625,-371.3625 +3644.444444,366.84,-366.84 +3688.888889,362.4075,-362.4075 +3733.333333,358.0875,-358.0875 +3777.777778,353.88,-353.88 +3822.222222,349.7625,-349.7625 +3866.666667,345.7575,-345.7575 +3911.111111,341.82,-341.82 +3955.555556,337.9725,-337.9725 +4000,334.215,-334.215 +4044.444444,330.5475,-330.5475 +4088.888889,326.97,-326.97 +4133.333333,323.4375,-323.4375 +4177.777778,319.995,-319.995 +4222.222222,316.6425,-316.6425 +4266.666667,313.335,-313.335 +4311.111111,310.095,-310.095 +4355.555556,306.945,-306.945 +4400,303.84,-303.84 +4444.444444,300.8025,-300.8025 diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/GenericEMotor_140kW_936Nm.vem b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/GenericEMotor_140kW_936Nm.vem new file mode 100644 index 0000000000000000000000000000000000000000..1825d547d27687c462ee0e1b78d4ec2fae74d51c --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/GenericEMotor_140kW_936Nm.vem @@ -0,0 +1,20 @@ +{ + "Header": { + "CreatedBy": "", + "Date": "2020-10-09T08:18:42.8238326Z", + "AppVersion": "3", + "FileVersion": 1 + }, + "Body": { + "SavedInDeclMode": false, + "Model": "Generic Electric Motor", + "FullLoadCurve": "GenericEMotor_140kW_900Nm.vemp", + "DragCurve": "GenericDrag_140kW_936Nm.vemd", + "EfficiencyMap": "GenericMap_140kW_936Nm.vemo", + "Inertia": 0.5, + "ContinuousPower": 500000.0, + "ContinuousPowerSpeed": 1500.0, + "OverloadTime": 30.0, + "ThermalOverloadRecoveryFactor": 0.9 + } +} \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/GenericMap_140kW_936Nm.vemo b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/GenericMap_140kW_936Nm.vemo new file mode 100644 index 0000000000000000000000000000000000000000..aaf978890c6fd20d74a852e50541bbc48c2933fb --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/GenericMap_140kW_936Nm.vemo @@ -0,0 +1,2016 @@ +n [rpm] , T [Nm] , P_el [kW] +0,-936,9.8449 +0,-906.75,9.2719 +0,-877.5,8.7161 +0,-848.25,8.1773 +0,-819,7.6558 +0,-789.75,7.1514 +0,-760.5,6.6641 +0,-731.25,6.194 +0,-702,5.741 +0,-672.75,5.3052 +0,-643.5,4.8866 +0,-614.25,4.4851 +0,-585,4.1007 +0,-555.75,3.7335 +0,-526.5,3.3834 +0,-497.25,3.0505 +0,-468,2.7348 +0,-438.75,2.4362 +0,-409.5,2.1547 +0,-380.25,1.8904 +0,-351,1.6433 +0,-321.75,1.4133 +0,-292.5,1.2004 +0,-263.25,1.0047 +0,-234,0.82617 +0,-204.75,0.66478 +0,-175.5,0.52053 +0,-146.25,0.39344 +0,-117,0.28349 +0,-87.75,0.1907 +0,-58.5,0.11506 +0,-29.25,0.056566 +0,0,0.0361 +0,29.25,0.086979 +0,58.5,0.15501 +0,87.75,0.24019 +0,117,0.34252 +0,146.25,0.462 +0,175.5,0.59864 +0,204.75,0.75242 +0,234,0.92335 +0,263.25,1.1114 +0,292.5,1.3167 +0,321.75,1.5391 +0,351,1.7786 +0,380.25,2.0353 +0,409.5,2.3091 +0,438.75,2.6001 +0,468,2.9083 +0,497.25,3.2336 +0,526.5,3.576 +0,555.75,3.9356 +0,585,4.3123 +0,614.25,4.7062 +0,643.5,5.1173 +0,672.75,5.5455 +0,702,5.9908 +0,731.25,6.4533 +0,760.5,6.933 +0,789.75,7.4298 +0,819,7.9437 +0,848.25,8.4748 +0,877.5,9.0231 +0,906.75,9.5885 +0,936,10.171 +40.80854701,-936,5.8367 +40.80854701,-906.75,5.3901 +40.80854701,-877.5,4.9606 +40.80854701,-848.25,4.5482 +40.80854701,-819,4.153 +40.80854701,-789.75,3.775 +40.80854701,-760.5,3.4141 +40.80854701,-731.25,3.0704 +40.80854701,-702,2.7438 +40.80854701,-672.75,2.4344 +40.80854701,-643.5,2.1421 +40.80854701,-614.25,1.8669 +40.80854701,-585,1.609 +40.80854701,-555.75,1.3681 +40.80854701,-526.5,1.1445 +40.80854701,-497.25,0.93793 +40.80854701,-468,0.74855 +40.80854701,-438.75,0.57729 +40.80854701,-409.5,0.4236 +40.80854701,-380.25,0.28766 +40.80854701,-351,0.16853 +40.80854701,-321.75,0.066217 +40.80854701,-292.5,-0.019286 +40.80854701,-263.25,-0.087979 +40.80854701,-234,-0.13986 +40.80854701,-204.75,-0.17493 +40.80854701,-175.5,-0.19319 +40.80854701,-146.25,-0.19464 +40.80854701,-117,-0.17927 +40.80854701,-87.75,-0.1471 +40.80854701,-58.5,-0.09811 +40.80854701,-29.25,-0.032313 +40.80854701,0,0.07245 +40.80854701,29.25,0.24971 +40.80854701,58.5,0.44411 +40.80854701,87.75,0.65567 +40.80854701,117,0.88437 +40.80854701,146.25,1.1302 +40.80854701,175.5,1.3932 +40.80854701,204.75,1.6734 +40.80854701,234,1.9707 +40.80854701,263.25,2.2852 +40.80854701,292.5,2.6168 +40.80854701,321.75,2.9655 +40.80854701,351,3.3315 +40.80854701,380.25,3.7145 +40.80854701,409.5,4.1147 +40.80854701,438.75,4.5321 +40.80854701,468,4.9666 +40.80854701,497.25,5.4183 +40.80854701,526.5,5.8871 +40.80854701,555.75,6.3731 +40.80854701,585,6.8762 +40.80854701,614.25,7.3965 +40.80854701,643.5,7.9339 +40.80854701,672.75,8.4885 +40.80854701,702,9.0602 +40.80854701,731.25,9.6491 +40.80854701,760.5,10.255 +40.80854701,789.75,10.878 +40.80854701,819,11.519 +40.80854701,848.25,12.176 +40.80854701,877.5,12.851 +40.80854701,906.75,13.542 +40.80854701,936,14.251 +81.61794872,-936,1.8303 +81.61794872,-906.75,1.5101 +81.61794872,-877.5,1.2075 +81.61794872,-848.25,0.92457 +81.61794872,-819,0.66034 +81.61794872,-789.75,0.41292 +81.61794872,-760.5,0.18231 +81.61794872,-731.25,-0.031493 +81.61794872,-702,-0.22848 +81.61794872,-672.75,-0.40866 +81.61794872,-643.5,-0.57202 +81.61794872,-614.25,-0.71858 +81.61794872,-585,-0.84832 +81.61794872,-555.75,-0.96125 +81.61794872,-526.5,-1.0574 +81.61794872,-497.25,-1.1367 +81.61794872,-468,-1.1992 +81.61794872,-438.75,-1.2449 +81.61794872,-409.5,-1.2737 +81.61794872,-380.25,-1.2858 +81.61794872,-351,-1.2811 +81.61794872,-321.75,-1.2595 +81.61794872,-292.5,-1.2211 +81.61794872,-263.25,-1.1659 +81.61794872,-234,-1.0939 +81.61794872,-204.75,-1.0051 +81.61794872,-175.5,-0.89953 +81.61794872,-146.25,-0.7771 +81.61794872,-117,-0.63787 +81.61794872,-87.75,-0.48182 +81.61794872,-58.5,-0.30896 +81.61794872,-29.25,-0.11929 +81.61794872,0,0.11065 +81.61794872,29.25,0.41428 +81.61794872,58.5,0.73507 +81.61794872,87.75,1.073 +81.61794872,117,1.4281 +81.61794872,146.25,1.8003 +81.61794872,175.5,2.1897 +81.61794872,204.75,2.5962 +81.61794872,234,3.0199 +81.61794872,263.25,3.4608 +81.61794872,292.5,3.9188 +81.61794872,321.75,4.3939 +81.61794872,351,4.8862 +81.61794872,380.25,5.3956 +81.61794872,409.5,5.9222 +81.61794872,438.75,6.466 +81.61794872,468,7.0269 +81.61794872,497.25,7.6049 +81.61794872,526.5,8.2001 +81.61794872,555.75,8.8124 +81.61794872,585,9.4419 +81.61794872,614.25,10.089 +81.61794872,643.5,10.752 +81.61794872,672.75,11.433 +81.61794872,702,12.131 +81.61794872,731.25,12.847 +81.61794872,760.5,13.579 +81.61794872,789.75,14.329 +81.61794872,819,15.095 +81.61794872,848.25,15.879 +81.61794872,877.5,16.68 +81.61794872,906.75,17.498 +81.61794872,936,18.334 +122.4273504,-936,-2.1071 +122.4273504,-906.75,-2.2979 +122.4273504,-877.5,-2.4719 +122.4273504,-848.25,-2.629 +122.4273504,-819,-2.7694 +122.4273504,-789.75,-2.8929 +122.4273504,-760.5,-2.9997 +122.4273504,-731.25,-3.0896 +122.4273504,-702,-3.1627 +122.4273504,-672.75,-3.219 +122.4273504,-643.5,-3.2585 +122.4273504,-614.25,-3.2812 +122.4273504,-585,-3.2871 +122.4273504,-555.75,-3.2761 +122.4273504,-526.5,-3.2484 +122.4273504,-497.25,-3.2038 +122.4273504,-468,-3.1424 +122.4273504,-438.75,-3.0642 +122.4273504,-409.5,-2.9692 +122.4273504,-380.25,-2.8574 +122.4273504,-351,-2.7288 +122.4273504,-321.75,-2.5834 +122.4273504,-292.5,-2.4211 +122.4273504,-263.25,-2.2421 +122.4273504,-234,-2.0462 +122.4273504,-204.75,-1.8335 +122.4273504,-175.5,-1.604 +122.4273504,-146.25,-1.3577 +122.4273504,-117,-1.0946 +122.4273504,-87.75,-0.81471 +122.4273504,-58.5,-0.51798 +122.4273504,-29.25,-0.20444 +122.4273504,0,0.15072 +122.4273504,29.25,0.58072 +122.4273504,58.5,1.0279 +122.4273504,87.75,1.4922 +122.4273504,117,1.9737 +122.4273504,146.25,2.4723 +122.4273504,175.5,2.988 +122.4273504,204.75,3.5209 +122.4273504,234,4.071 +122.4273504,263.25,4.6382 +122.4273504,292.5,5.2226 +122.4273504,321.75,5.8241 +122.4273504,351,6.4428 +122.4273504,380.25,7.0786 +122.4273504,409.5,7.7315 +122.4273504,438.75,8.4017 +122.4273504,468,9.0889 +122.4273504,497.25,9.7934 +122.4273504,526.5,10.515 +122.4273504,555.75,11.254 +122.4273504,585,12.01 +122.4273504,614.25,12.783 +122.4273504,643.5,13.573 +122.4273504,672.75,14.38 +122.4273504,702,15.205 +122.4273504,731.25,16.046 +122.4273504,760.5,16.905 +122.4273504,789.75,17.781 +122.4273504,819,18.674 +122.4273504,848.25,19.584 +122.4273504,877.5,20.512 +122.4273504,906.75,21.456 +122.4273504,936,22.418 +163.2393162,-936,-6.0305 +163.2393162,-906.75,-6.0974 +163.2393162,-877.5,-6.1475 +163.2393162,-848.25,-6.1808 +163.2393162,-819,-6.1973 +163.2393162,-789.75,-6.197 +163.2393162,-760.5,-6.1799 +163.2393162,-731.25,-6.1459 +163.2393162,-702,-6.0951 +163.2393162,-672.75,-6.0276 +163.2393162,-643.5,-5.9432 +163.2393162,-614.25,-5.842 +163.2393162,-585,-5.724 +163.2393162,-555.75,-5.5892 +163.2393162,-526.5,-5.4376 +163.2393162,-497.25,-5.2691 +163.2393162,-468,-5.0839 +163.2393162,-438.75,-4.8818 +163.2393162,-409.5,-4.6629 +163.2393162,-380.25,-4.4272 +163.2393162,-351,-4.1748 +163.2393162,-321.75,-3.9054 +163.2393162,-292.5,-3.6193 +163.2393162,-263.25,-3.3164 +163.2393162,-234,-2.9967 +163.2393162,-204.75,-2.6601 +163.2393162,-175.5,-2.3067 +163.2393162,-146.25,-1.9366 +163.2393162,-117,-1.5496 +163.2393162,-87.75,-1.1458 +163.2393162,-58.5,-0.72519 +163.2393162,-29.25,-0.28777 +163.2393162,0,0.19264 +163.2393162,29.25,0.74902 +163.2393162,58.5,1.3226 +163.2393162,87.75,1.9132 +163.2393162,117,2.5211 +163.2393162,146.25,3.1461 +163.2393162,175.5,3.7882 +163.2393162,204.75,4.4475 +163.2393162,234,5.1239 +163.2393162,263.25,5.8175 +163.2393162,292.5,6.5283 +163.2393162,321.75,7.2561 +163.2393162,351,8.0012 +163.2393162,380.25,8.7634 +163.2393162,409.5,9.5427 +163.2393162,438.75,10.339 +163.2393162,468,11.153 +163.2393162,497.25,11.984 +163.2393162,526.5,12.832 +163.2393162,555.75,13.697 +163.2393162,585,14.579 +163.2393162,614.25,15.478 +163.2393162,643.5,16.395 +163.2393162,672.75,17.329 +163.2393162,702,18.279 +163.2393162,731.25,19.247 +163.2393162,760.5,20.233 +163.2393162,789.75,21.235 +163.2393162,819,22.254 +163.2393162,848.25,23.291 +163.2393162,877.5,24.345 +163.2393162,906.75,25.416 +163.2393162,936,26.504 +204.042735,-936,-9.9521 +204.042735,-906.75,-9.8951 +204.042735,-877.5,-9.8214 +204.042735,-848.25,-9.7308 +204.042735,-819,-9.6234 +204.042735,-789.75,-9.4992 +204.042735,-760.5,-9.3582 +204.042735,-731.25,-9.2004 +204.042735,-702,-9.0258 +204.042735,-672.75,-8.8343 +204.042735,-643.5,-8.626 +204.042735,-614.25,-8.401 +204.042735,-585,-8.1591 +204.042735,-555.75,-7.9004 +204.042735,-526.5,-7.6249 +204.042735,-497.25,-7.3326 +204.042735,-468,-7.0235 +204.042735,-438.75,-6.6975 +204.042735,-409.5,-6.3548 +204.042735,-380.25,-5.9952 +204.042735,-351,-5.6189 +204.042735,-321.75,-5.2257 +204.042735,-292.5,-4.8157 +204.042735,-263.25,-4.3889 +204.042735,-234,-3.9453 +204.042735,-204.75,-3.4849 +204.042735,-175.5,-3.0076 +204.042735,-146.25,-2.5136 +204.042735,-117,-2.0027 +204.042735,-87.75,-1.475 +204.042735,-58.5,-0.93057 +204.042735,-29.25,-0.36928 +204.042735,0,0.23641 +204.042735,29.25,0.91917 +204.042735,58.5,1.6191 +204.042735,87.75,2.3361 +204.042735,117,3.0704 +204.042735,146.25,3.8217 +204.042735,175.5,4.5902 +204.042735,204.75,5.3759 +204.042735,234,6.1787 +204.042735,263.25,6.9987 +204.042735,292.5,7.8358 +204.042735,321.75,8.6901 +204.042735,351,9.5615 +204.042735,380.25,10.45 +204.042735,409.5,11.356 +204.042735,438.75,12.279 +204.042735,468,13.219 +204.042735,497.25,14.176 +204.042735,526.5,15.15 +204.042735,555.75,16.142 +204.042735,585,17.15 +204.042735,614.25,18.176 +204.042735,643.5,19.219 +204.042735,672.75,20.279 +204.042735,702,21.356 +204.042735,731.25,22.451 +204.042735,760.5,23.562 +204.042735,789.75,24.691 +204.042735,819,25.837 +204.042735,848.25,27 +204.042735,877.5,28.18 +204.042735,906.75,29.377 +204.042735,936,30.592 +244.8547009,-936,-13.872 +244.8547009,-906.75,-13.691 +244.8547009,-877.5,-13.493 +244.8547009,-848.25,-13.279 +244.8547009,-819,-13.048 +244.8547009,-789.75,-12.8 +244.8547009,-760.5,-12.535 +244.8547009,-731.25,-12.253 +244.8547009,-702,-11.955 +244.8547009,-672.75,-11.639 +244.8547009,-643.5,-11.307 +244.8547009,-614.25,-10.958 +244.8547009,-585,-10.592 +244.8547009,-555.75,-10.21 +244.8547009,-526.5,-9.8105 +244.8547009,-497.25,-9.3943 +244.8547009,-468,-8.9613 +244.8547009,-438.75,-8.5115 +244.8547009,-409.5,-8.0448 +244.8547009,-380.25,-7.5614 +244.8547009,-351,-7.0612 +244.8547009,-321.75,-6.5441 +244.8547009,-292.5,-6.0103 +244.8547009,-263.25,-5.4596 +244.8547009,-234,-4.8921 +244.8547009,-204.75,-4.3078 +244.8547009,-175.5,-3.7067 +244.8547009,-146.25,-3.0888 +244.8547009,-117,-2.454 +244.8547009,-87.75,-1.8025 +244.8547009,-58.5,-1.1341 +244.8547009,-29.25,-0.44896 +244.8547009,0,0.28205 +244.8547009,29.25,1.0912 +244.8547009,58.5,1.9175 +244.8547009,87.75,2.7609 +244.8547009,117,3.6215 +244.8547009,146.25,4.4992 +244.8547009,175.5,5.3941 +244.8547009,204.75,6.3062 +244.8547009,234,7.2354 +244.8547009,263.25,8.1817 +244.8547009,292.5,9.1452 +244.8547009,321.75,10.126 +244.8547009,351,11.124 +244.8547009,380.25,12.139 +244.8547009,409.5,13.171 +244.8547009,438.75,14.22 +244.8547009,468,15.286 +244.8547009,497.25,16.37 +244.8547009,526.5,17.471 +244.8547009,555.75,18.588 +244.8547009,585,19.723 +244.8547009,614.25,20.876 +244.8547009,643.5,22.045 +244.8547009,672.75,23.231 +244.8547009,702,24.435 +244.8547009,731.25,25.656 +244.8547009,760.5,26.894 +244.8547009,789.75,28.149 +244.8547009,819,29.421 +244.8547009,848.25,30.71 +244.8547009,877.5,32.017 +244.8547009,906.75,33.34 +244.8547009,936,34.681 +285.6666667,-936,-17.79 +285.6666667,-906.75,-17.485 +285.6666667,-877.5,-17.164 +285.6666667,-848.25,-16.825 +285.6666667,-819,-16.47 +285.6666667,-789.75,-16.098 +285.6666667,-760.5,-15.709 +285.6666667,-731.25,-15.304 +285.6666667,-702,-14.881 +285.6666667,-672.75,-14.442 +285.6666667,-643.5,-13.986 +285.6666667,-614.25,-13.513 +285.6666667,-585,-13.024 +285.6666667,-555.75,-12.517 +285.6666667,-526.5,-11.994 +285.6666667,-497.25,-11.454 +285.6666667,-468,-10.897 +285.6666667,-438.75,-10.324 +285.6666667,-409.5,-9.7331 +285.6666667,-380.25,-9.1258 +285.6666667,-351,-8.5016 +285.6666667,-321.75,-7.8607 +285.6666667,-292.5,-7.203 +285.6666667,-263.25,-6.5284 +285.6666667,-234,-5.8371 +285.6666667,-204.75,-5.1289 +285.6666667,-175.5,-4.4039 +285.6666667,-146.25,-3.6621 +285.6666667,-117,-2.9035 +285.6666667,-87.75,-2.1281 +285.6666667,-58.5,-1.3359 +285.6666667,-29.25,-0.52683 +285.6666667,0,0.32954 +285.6666667,29.25,1.2651 +285.6666667,58.5,2.2177 +285.6666667,87.75,3.1875 +285.6666667,117,4.1745 +285.6666667,146.25,5.1786 +285.6666667,175.5,6.1999 +285.6666667,204.75,7.2383 +285.6666667,234,8.2939 +285.6666667,263.25,9.3666 +285.6666667,292.5,10.456 +285.6666667,321.75,11.563 +285.6666667,351,12.688 +285.6666667,380.25,13.829 +285.6666667,409.5,14.987 +285.6666667,438.75,16.163 +285.6666667,468,17.356 +285.6666667,497.25,18.566 +285.6666667,526.5,19.793 +285.6666667,555.75,21.037 +285.6666667,585,22.298 +285.6666667,614.25,23.577 +285.6666667,643.5,24.873 +285.6666667,672.75,26.185 +285.6666667,702,27.515 +285.6666667,731.25,28.863 +285.6666667,760.5,30.227 +285.6666667,789.75,31.608 +285.6666667,819,33.007 +285.6666667,848.25,34.423 +285.6666667,877.5,35.856 +285.6666667,906.75,37.306 +285.6666667,936,38.773 +326.4700855,-936,-21.706 +326.4700855,-906.75,-21.277 +326.4700855,-877.5,-20.832 +326.4700855,-848.25,-20.37 +326.4700855,-819,-19.891 +326.4700855,-789.75,-19.395 +326.4700855,-760.5,-18.882 +326.4700855,-731.25,-18.353 +326.4700855,-702,-17.807 +326.4700855,-672.75,-17.244 +326.4700855,-643.5,-16.664 +326.4700855,-614.25,-16.067 +326.4700855,-585,-15.454 +326.4700855,-555.75,-14.823 +326.4700855,-526.5,-14.176 +326.4700855,-497.25,-13.512 +326.4700855,-468,-12.831 +326.4700855,-438.75,-12.134 +326.4700855,-409.5,-11.419 +326.4700855,-380.25,-10.688 +326.4700855,-351,-9.9403 +326.4700855,-321.75,-9.1755 +326.4700855,-292.5,-8.3939 +326.4700855,-263.25,-7.5955 +326.4700855,-234,-6.7802 +326.4700855,-204.75,-5.9482 +326.4700855,-175.5,-5.0993 +326.4700855,-146.25,-4.2337 +326.4700855,-117,-3.3512 +326.4700855,-87.75,-2.4519 +326.4700855,-58.5,-1.5358 +326.4700855,-29.25,-0.60288 +326.4700855,0,0.37889 +326.4700855,29.25,1.4408 +326.4700855,58.5,2.5198 +326.4700855,87.75,3.616 +326.4700855,117,4.7293 +326.4700855,146.25,5.8598 +326.4700855,175.5,7.0075 +326.4700855,204.75,8.1723 +326.4700855,234,9.3542 +326.4700855,263.25,10.553 +326.4700855,292.5,11.77 +326.4700855,321.75,13.003 +326.4700855,351,14.254 +326.4700855,380.25,15.521 +326.4700855,409.5,16.806 +326.4700855,438.75,18.108 +326.4700855,468,19.427 +326.4700855,497.25,20.764 +326.4700855,526.5,22.117 +326.4700855,555.75,23.488 +326.4700855,585,24.875 +326.4700855,614.25,26.28 +326.4700855,643.5,27.702 +326.4700855,672.75,29.141 +326.4700855,702,30.598 +326.4700855,731.25,32.071 +326.4700855,760.5,33.562 +326.4700855,789.75,35.07 +326.4700855,819,36.595 +326.4700855,848.25,38.137 +326.4700855,877.5,39.696 +326.4700855,906.75,41.273 +326.4700855,936,42.866 +367.2820513,-936,-25.62 +367.2820513,-906.75,-25.068 +367.2820513,-877.5,-24.499 +367.2820513,-848.25,-23.912 +367.2820513,-819,-23.31 +367.2820513,-789.75,-22.69 +367.2820513,-760.5,-22.053 +367.2820513,-731.25,-21.4 +367.2820513,-702,-20.73 +367.2820513,-672.75,-20.043 +367.2820513,-643.5,-19.339 +367.2820513,-614.25,-18.619 +367.2820513,-585,-17.881 +367.2820513,-555.75,-17.127 +367.2820513,-526.5,-16.356 +367.2820513,-497.25,-15.568 +367.2820513,-468,-14.764 +367.2820513,-438.75,-13.942 +367.2820513,-409.5,-13.104 +367.2820513,-380.25,-12.249 +367.2820513,-351,-11.377 +367.2820513,-321.75,-10.488 +367.2820513,-292.5,-9.583 +367.2820513,-263.25,-8.6607 +367.2820513,-234,-7.7216 +367.2820513,-204.75,-6.7657 +367.2820513,-175.5,-5.7929 +367.2820513,-146.25,-4.8034 +367.2820513,-117,-3.797 +367.2820513,-87.75,-2.7739 +367.2820513,-58.5,-1.7339 +367.2820513,-29.25,-0.67711 +367.2820513,0,0.4301 +367.2820513,29.25,1.6184 +367.2820513,58.5,2.8238 +367.2820513,87.75,4.0463 +367.2820513,117,5.2861 +367.2820513,146.25,6.5429 +367.2820513,175.5,7.8169 +367.2820513,204.75,9.1081 +367.2820513,234,10.416 +367.2820513,263.25,11.742 +367.2820513,292.5,13.085 +367.2820513,321.75,14.444 +367.2820513,351,15.821 +367.2820513,380.25,17.215 +367.2820513,409.5,18.627 +367.2820513,438.75,20.055 +367.2820513,468,21.5 +367.2820513,497.25,22.963 +367.2820513,526.5,24.443 +367.2820513,555.75,25.94 +367.2820513,585,27.454 +367.2820513,614.25,28.985 +367.2820513,643.5,30.534 +367.2820513,672.75,32.099 +367.2820513,702,33.682 +367.2820513,731.25,35.282 +367.2820513,760.5,36.899 +367.2820513,789.75,38.533 +367.2820513,819,40.185 +367.2820513,848.25,41.853 +367.2820513,877.5,43.539 +367.2820513,906.75,45.241 +367.2820513,936,46.961 +408.0854701,-936,-29.533 +408.0854701,-906.75,-28.856 +408.0854701,-877.5,-28.163 +408.0854701,-848.25,-27.453 +408.0854701,-819,-26.727 +408.0854701,-789.75,-25.983 +408.0854701,-760.5,-25.223 +408.0854701,-731.25,-24.445 +408.0854701,-702,-23.651 +408.0854701,-672.75,-22.841 +408.0854701,-643.5,-22.013 +408.0854701,-614.25,-21.169 +408.0854701,-585,-20.307 +408.0854701,-555.75,-19.429 +408.0854701,-526.5,-18.534 +408.0854701,-497.25,-17.623 +408.0854701,-468,-16.694 +408.0854701,-438.75,-15.749 +408.0854701,-409.5,-14.787 +408.0854701,-380.25,-13.808 +408.0854701,-351,-12.812 +408.0854701,-321.75,-11.8 +408.0854701,-292.5,-10.77 +408.0854701,-263.25,-9.7241 +408.0854701,-234,-8.6611 +408.0854701,-204.75,-7.5813 +408.0854701,-175.5,-6.4847 +408.0854701,-146.25,-5.3713 +408.0854701,-117,-4.2411 +408.0854701,-87.75,-3.094 +408.0854701,-58.5,-1.9302 +408.0854701,-29.25,-0.74951 +408.0854701,0,0.48317 +408.0854701,29.25,1.7978 +408.0854701,58.5,3.1296 +408.0854701,87.75,4.4785 +408.0854701,117,5.8446 +408.0854701,146.25,7.2279 +408.0854701,175.5,8.6283 +408.0854701,204.75,10.046 +408.0854701,234,11.481 +408.0854701,263.25,12.932 +408.0854701,292.5,14.401 +408.0854701,321.75,15.888 +408.0854701,351,17.391 +408.0854701,380.25,18.911 +408.0854701,409.5,20.449 +408.0854701,438.75,22.004 +408.0854701,468,23.576 +408.0854701,497.25,25.165 +408.0854701,526.5,26.771 +408.0854701,555.75,28.394 +408.0854701,585,30.035 +408.0854701,614.25,31.692 +408.0854701,643.5,33.367 +408.0854701,672.75,35.059 +408.0854701,702,36.768 +408.0854701,731.25,38.494 +408.0854701,760.5,40.238 +408.0854701,789.75,41.998 +408.0854701,819,43.776 +408.0854701,848.25,45.571 +408.0854701,877.5,47.383 +408.0854701,906.75,49.212 +408.0854701,936,51.058 +448.8974359,-936,-33.443 +448.8974359,-906.75,-32.643 +448.8974359,-877.5,-31.826 +448.8974359,-848.25,-30.992 +448.8974359,-819,-30.142 +448.8974359,-789.75,-29.274 +448.8974359,-760.5,-28.39 +448.8974359,-731.25,-27.489 +448.8974359,-702,-26.571 +448.8974359,-672.75,-25.636 +448.8974359,-643.5,-24.685 +448.8974359,-614.25,-23.717 +448.8974359,-585,-22.732 +448.8974359,-555.75,-21.73 +448.8974359,-526.5,-20.711 +448.8974359,-497.25,-19.675 +448.8974359,-468,-18.623 +448.8974359,-438.75,-17.554 +448.8974359,-409.5,-16.468 +448.8974359,-380.25,-15.365 +448.8974359,-351,-14.245 +448.8974359,-321.75,-13.109 +448.8974359,-292.5,-11.956 +448.8974359,-263.25,-10.786 +448.8974359,-234,-9.5988 +448.8974359,-204.75,-8.3951 +448.8974359,-175.5,-7.1747 +448.8974359,-146.25,-5.9374 +448.8974359,-117,-4.6833 +448.8974359,-87.75,-3.4124 +448.8974359,-58.5,-2.1246 +448.8974359,-29.25,-0.82009 +448.8974359,0,0.53809 +448.8974359,29.25,1.9791 +448.8974359,58.5,3.4373 +448.8974359,87.75,4.9126 +448.8974359,117,6.4051 +448.8974359,146.25,7.9147 +448.8974359,175.5,9.4414 +448.8974359,204.75,10.985 +448.8974359,234,12.546 +448.8974359,263.25,14.125 +448.8974359,292.5,15.72 +448.8974359,321.75,17.333 +448.8974359,351,18.962 +448.8974359,380.25,20.609 +448.8974359,409.5,22.273 +448.8974359,438.75,23.954 +448.8974359,468,25.652 +448.8974359,497.25,27.368 +448.8974359,526.5,29.1 +448.8974359,555.75,30.85 +448.8974359,585,32.617 +448.8974359,614.25,34.401 +448.8974359,643.5,36.202 +448.8974359,672.75,38.021 +448.8974359,702,39.856 +448.8974359,731.25,41.709 +448.8974359,760.5,43.579 +448.8974359,789.75,45.465 +448.8974359,819,47.37 +448.8974359,848.25,49.291 +448.8974359,877.5,51.229 +448.8974359,906.75,53.185 +448.8974359,936,55.157 +489.7094017,-936,-37.352 +489.7094017,-906.75,-36.428 +489.7094017,-877.5,-35.487 +489.7094017,-848.25,-34.53 +489.7094017,-819,-33.555 +489.7094017,-789.75,-32.564 +489.7094017,-760.5,-31.556 +489.7094017,-731.25,-30.531 +489.7094017,-702,-29.489 +489.7094017,-672.75,-28.43 +489.7094017,-643.5,-27.355 +489.7094017,-614.25,-26.263 +489.7094017,-585,-25.154 +489.7094017,-555.75,-24.028 +489.7094017,-526.5,-22.885 +489.7094017,-497.25,-21.726 +489.7094017,-468,-20.55 +489.7094017,-438.75,-19.357 +489.7094017,-409.5,-18.147 +489.7094017,-380.25,-16.92 +489.7094017,-351,-15.677 +489.7094017,-321.75,-14.416 +489.7094017,-292.5,-13.139 +489.7094017,-263.25,-11.845 +489.7094017,-234,-10.535 +489.7094017,-204.75,-9.2071 +489.7094017,-175.5,-7.8628 +489.7094017,-146.25,-6.5016 +489.7094017,-117,-5.1236 +489.7094017,-87.75,-3.7289 +489.7094017,-58.5,-2.3173 +489.7094017,-29.25,-0.88886 +489.7094017,0,0.59487 +489.7094017,29.25,2.1623 +489.7094017,58.5,3.7468 +489.7094017,87.75,5.3485 +489.7094017,117,6.9673 +489.7094017,146.25,8.6033 +489.7094017,175.5,10.256 +489.7094017,204.75,11.927 +489.7094017,234,13.614 +489.7094017,263.25,15.319 +489.7094017,292.5,17.041 +489.7094017,321.75,18.779 +489.7094017,351,20.536 +489.7094017,380.25,22.309 +489.7094017,409.5,24.099 +489.7094017,438.75,25.907 +489.7094017,468,27.731 +489.7094017,497.25,29.573 +489.7094017,526.5,31.432 +489.7094017,555.75,33.308 +489.7094017,585,35.201 +489.7094017,614.25,37.112 +489.7094017,643.5,39.039 +489.7094017,672.75,40.984 +489.7094017,702,42.946 +489.7094017,731.25,44.925 +489.7094017,760.5,46.921 +489.7094017,789.75,48.934 +489.7094017,819,50.965 +489.7094017,848.25,53.012 +489.7094017,877.5,55.077 +489.7094017,906.75,57.159 +489.7094017,936,59.258 +816.1794872,-936,-68.557 +816.1794872,-906.75,-66.642 +816.1794872,-877.5,-64.711 +816.1794872,-848.25,-62.762 +816.1794872,-819,-60.796 +816.1794872,-789.75,-58.814 +816.1794872,-760.5,-56.815 +816.1794872,-731.25,-54.799 +816.1794872,-702,-52.766 +816.1794872,-672.75,-50.717 +816.1794872,-643.5,-48.65 +816.1794872,-614.25,-46.567 +816.1794872,-585,-44.467 +816.1794872,-555.75,-42.35 +816.1794872,-526.5,-40.217 +816.1794872,-497.25,-38.066 +816.1794872,-468,-35.899 +816.1794872,-438.75,-33.715 +816.1794872,-409.5,-31.514 +816.1794872,-380.25,-29.297 +816.1794872,-351,-27.062 +816.1794872,-321.75,-24.811 +816.1794872,-292.5,-22.543 +816.1794872,-263.25,-20.258 +816.1794872,-234,-17.956 +816.1794872,-204.75,-15.638 +816.1794872,-175.5,-13.302 +816.1794872,-146.25,-10.95 +816.1794872,-117,-8.5812 +816.1794872,-87.75,-6.1954 +816.1794872,-58.5,-3.7928 +816.1794872,-29.25,-1.3734 +816.1794872,0,1.116 +816.1794872,29.25,3.6944 +816.1794872,58.5,6.29 +816.1794872,87.75,8.9027 +816.1794872,117,11.533 +816.1794872,146.25,14.18 +816.1794872,175.5,16.844 +816.1794872,204.75,19.525 +816.1794872,234,22.223 +816.1794872,263.25,24.939 +816.1794872,292.5,27.672 +816.1794872,321.75,30.422 +816.1794872,351,33.189 +816.1794872,380.25,35.973 +816.1794872,409.5,38.774 +816.1794872,438.75,41.593 +816.1794872,468,44.429 +816.1794872,497.25,47.281 +816.1794872,526.5,50.151 +816.1794872,555.75,53.038 +816.1794872,585,55.943 +816.1794872,614.25,58.864 +816.1794872,643.5,61.803 +816.1794872,672.75,64.758 +816.1794872,702,67.731 +816.1794872,731.25,70.721 +816.1794872,760.5,73.728 +816.1794872,789.75,76.753 +816.1794872,819,79.794 +816.1794872,848.25,82.853 +816.1794872,877.5,85.929 +816.1794872,906.75,89.022 +816.1794872,936,92.132 +1020.25641,-936,-88.002 +1020.25641,-906.75,-85.467 +1020.25641,-877.5,-82.916 +1020.25641,-848.25,-80.348 +1020.25641,-819,-77.763 +1020.25641,-789.75,-75.161 +1020.25641,-760.5,-72.543 +1020.25641,-731.25,-69.908 +1020.25641,-702,-67.255 +1020.25641,-672.75,-64.586 +1020.25641,-643.5,-61.901 +1020.25641,-614.25,-59.198 +1020.25641,-585,-56.479 +1020.25641,-555.75,-53.743 +1020.25641,-526.5,-50.99 +1020.25641,-497.25,-48.22 +1020.25641,-468,-45.433 +1020.25641,-438.75,-42.63 +1020.25641,-409.5,-39.81 +1020.25641,-380.25,-36.973 +1020.25641,-351,-34.119 +1020.25641,-321.75,-31.248 +1020.25641,-292.5,-28.361 +1020.25641,-263.25,-25.456 +1020.25641,-234,-22.535 +1020.25641,-204.75,-19.597 +1020.25641,-175.5,-16.643 +1020.25641,-146.25,-13.671 +1020.25641,-117,-10.683 +1020.25641,-87.75,-7.6778 +1020.25641,-58.5,-4.6558 +1020.25641,-29.25,-1.6171 +1020.25641,0,1.5021 +1020.25641,29.25,4.7124 +1020.25641,58.5,7.9398 +1020.25641,87.75,11.184 +1020.25641,117,14.446 +1020.25641,146.25,17.725 +1020.25641,175.5,21.021 +1020.25641,204.75,24.334 +1020.25641,234,27.665 +1020.25641,263.25,31.012 +1020.25641,292.5,34.377 +1020.25641,321.75,37.758 +1020.25641,351,41.157 +1020.25641,380.25,44.574 +1020.25641,409.5,48.007 +1020.25641,438.75,51.457 +1020.25641,468,54.925 +1020.25641,497.25,58.409 +1020.25641,526.5,61.911 +1020.25641,555.75,65.43 +1020.25641,585,68.966 +1020.25641,614.25,72.52 +1020.25641,643.5,76.09 +1020.25641,672.75,79.678 +1020.25641,702,83.282 +1020.25641,731.25,86.904 +1020.25641,760.5,90.543 +1020.25641,789.75,94.2 +1020.25641,819,97.873 +1020.25641,848.25,101.56 +1020.25641,877.5,105.27 +1020.25641,906.75,109 +1020.25641,936,112.74 +1224.273504,-936,-107.4 +1224.273504,-906.75,-104.25 +1224.273504,-877.5,-101.08 +1224.273504,-848.25,-97.888 +1224.273504,-819,-94.684 +1224.273504,-789.75,-91.463 +1224.273504,-760.5,-88.225 +1224.273504,-731.25,-84.97 +1224.273504,-702,-81.699 +1224.273504,-672.75,-78.411 +1224.273504,-643.5,-75.106 +1224.273504,-614.25,-71.784 +1224.273504,-585,-68.445 +1224.273504,-555.75,-65.089 +1224.273504,-526.5,-61.717 +1224.273504,-497.25,-58.328 +1224.273504,-468,-54.922 +1224.273504,-438.75,-51.499 +1224.273504,-409.5,-48.06 +1224.273504,-380.25,-44.603 +1224.273504,-351,-41.13 +1224.273504,-321.75,-37.64 +1224.273504,-292.5,-34.133 +1224.273504,-263.25,-30.61 +1224.273504,-234,-27.069 +1224.273504,-204.75,-23.512 +1224.273504,-175.5,-19.938 +1224.273504,-146.25,-16.347 +1224.273504,-117,-12.739 +1224.273504,-87.75,-9.1147 +1224.273504,-58.5,-5.4734 +1224.273504,-29.25,-1.8152 +1224.273504,0,1.9346 +1224.273504,29.25,5.7768 +1224.273504,58.5,9.6361 +1224.273504,87.75,13.513 +1224.273504,117,17.406 +1224.273504,146.25,21.317 +1224.273504,175.5,25.245 +1224.273504,204.75,29.19 +1224.273504,234,33.152 +1224.273504,263.25,37.131 +1224.273504,292.5,41.128 +1224.273504,321.75,45.142 +1224.273504,351,49.173 +1224.273504,380.25,53.22 +1224.273504,409.5,57.286 +1224.273504,438.75,61.368 +1224.273504,468,65.467 +1224.273504,497.25,69.584 +1224.273504,526.5,73.718 +1224.273504,555.75,77.868 +1224.273504,585,82.037 +1224.273504,614.25,86.222 +1224.273504,643.5,90.424 +1224.273504,672.75,94.644 +1224.273504,702,98.88 +1224.273504,731.25,103.13 +1224.273504,760.5,107.4 +1224.273504,789.75,111.69 +1224.273504,819,116 +1224.273504,848.25,120.32 +1224.273504,877.5,124.66 +1224.273504,906.75,129.02 +1224.273504,936,133.39 +1428.290598,-936,-126.75 +1428.290598,-906.75,-122.98 +1428.290598,-877.5,-119.19 +1428.290598,-848.25,-115.38 +1428.290598,-819,-111.56 +1428.290598,-789.75,-107.72 +1428.290598,-760.5,-103.86 +1428.290598,-731.25,-99.988 +1428.290598,-702,-96.097 +1428.290598,-672.75,-92.189 +1428.290598,-643.5,-88.265 +1428.290598,-614.25,-84.324 +1428.290598,-585,-80.366 +1428.290598,-555.75,-76.391 +1428.290598,-526.5,-72.399 +1428.290598,-497.25,-68.391 +1428.290598,-468,-64.365 +1428.290598,-438.75,-60.323 +1428.290598,-409.5,-56.264 +1428.290598,-380.25,-52.188 +1428.290598,-351,-48.096 +1428.290598,-321.75,-43.986 +1428.290598,-292.5,-39.86 +1428.290598,-263.25,-35.717 +1428.290598,-234,-31.557 +1428.290598,-204.75,-27.381 +1428.290598,-175.5,-23.187 +1428.290598,-146.25,-18.977 +1428.290598,-117,-14.75 +1428.290598,-87.75,-10.506 +1428.290598,-58.5,-6.2453 +1428.290598,-29.25,-1.9678 +1428.290598,0,2.4136 +1428.290598,29.25,6.8876 +1428.290598,58.5,11.379 +1428.290598,87.75,15.887 +1428.290598,117,20.413 +1428.290598,146.25,24.955 +1428.290598,175.5,29.515 +1428.290598,204.75,34.092 +1428.290598,234,38.686 +1428.290598,263.25,43.297 +1428.290598,292.5,47.926 +1428.290598,321.75,52.571 +1428.290598,351,57.234 +1428.290598,380.25,61.914 +1428.290598,409.5,66.611 +1428.290598,438.75,71.325 +1428.290598,468,76.056 +1428.290598,497.25,80.805 +1428.290598,526.5,85.57 +1428.290598,555.75,90.353 +1428.290598,585,95.153 +1428.290598,614.25,99.97 +1428.290598,643.5,104.8 +1428.290598,672.75,109.66 +1428.290598,702,114.52 +1428.290598,731.25,119.41 +1428.290598,760.5,124.31 +1428.290598,789.75,129.23 +1428.290598,819,134.17 +1428.290598,848.25,139.12 +1428.290598,877.5,144.1 +1428.290598,906.75,149.08 +1428.290598,936,154.09 +1632.393162,-936,-146.06 +1632.393162,-906.75,-141.67 +1632.393162,-877.5,-137.26 +1632.393162,-848.25,-132.83 +1632.393162,-819,-128.39 +1632.393162,-789.75,-123.93 +1632.393162,-760.5,-119.45 +1632.393162,-731.25,-114.96 +1632.393162,-702,-110.45 +1632.393162,-672.75,-105.92 +1632.393162,-643.5,-101.38 +1632.393162,-614.25,-96.818 +1632.393162,-585,-92.241 +1632.393162,-555.75,-87.646 +1632.393162,-526.5,-83.035 +1632.393162,-497.25,-78.407 +1632.393162,-468,-73.763 +1632.393162,-438.75,-69.101 +1632.393162,-409.5,-64.423 +1632.393162,-380.25,-59.728 +1632.393162,-351,-55.016 +1632.393162,-321.75,-50.287 +1632.393162,-292.5,-45.542 +1632.393162,-263.25,-40.779 +1632.393162,-234,-36 +1632.393162,-204.75,-31.204 +1632.393162,-175.5,-26.391 +1632.393162,-146.25,-21.562 +1632.393162,-117,-16.715 +1632.393162,-87.75,-11.852 +1632.393162,-58.5,-6.9718 +1632.393162,-29.25,-2.0749 +1632.393162,0,2.939 +1632.393162,29.25,8.0449 +1632.393162,58.5,13.168 +1632.393162,87.75,18.308 +1632.393162,117,23.466 +1632.393162,146.25,28.64 +1632.393162,175.5,33.832 +1632.393162,204.75,39.041 +1632.393162,234,44.267 +1632.393162,263.25,49.51 +1632.393162,292.5,54.77 +1632.393162,321.75,60.047 +1632.393162,351,65.342 +1632.393162,380.25,70.654 +1632.393162,409.5,75.983 +1632.393162,438.75,81.329 +1632.393162,468,86.692 +1632.393162,497.25,92.072 +1632.393162,526.5,97.47 +1632.393162,555.75,102.88 +1632.393162,585,108.32 +1632.393162,614.25,113.77 +1632.393162,643.5,119.23 +1632.393162,672.75,124.71 +1632.393162,702,130.21 +1632.393162,731.25,135.73 +1632.393162,760.5,141.27 +1632.393162,789.75,146.82 +1632.393162,819,152.39 +1632.393162,848.25,157.97 +1632.393162,877.5,163.58 +1632.393162,906.75,169.2 +1632.393162,936,174.84 +1836.410256,-936,-165.32 +1836.410256,-906.75,-160.31 +1836.410256,-877.5,-155.28 +1836.410256,-848.25,-150.24 +1836.410256,-819,-145.17 +1836.410256,-789.75,-140.1 +1836.410256,-760.5,-135 +1836.410256,-731.25,-129.89 +1836.410256,-702,-124.76 +1836.410256,-672.75,-119.61 +1836.410256,-643.5,-114.45 +1836.410256,-614.25,-109.27 +1836.410256,-585,-104.07 +1836.410256,-555.75,-98.857 +1836.410256,-526.5,-93.626 +1836.410256,-497.25,-88.379 +1836.410256,-468,-83.115 +1836.410256,-438.75,-77.834 +1836.410256,-409.5,-72.536 +1836.410256,-380.25,-67.222 +1836.410256,-351,-61.891 +1836.410256,-321.75,-56.542 +1836.410256,-292.5,-51.177 +1836.410256,-263.25,-45.796 +1836.410256,-234,-40.397 +1836.410256,-204.75,-34.982 +1836.410256,-175.5,-29.55 +1836.410256,-146.25,-24.101 +1836.410256,-117,-18.635 +1836.410256,-87.75,-13.152 +1836.410256,-58.5,-7.6528 +1836.410256,-29.25,-2.1365 +1836.410256,0,3.5108 +1836.410256,29.25,9.2486 +1836.410256,58.5,15.004 +1836.410256,87.75,20.776 +1836.410256,117,26.565 +1836.410256,146.25,32.371 +1836.410256,175.5,38.195 +1836.410256,204.75,44.036 +1836.410256,234,49.893 +1836.410256,263.25,55.768 +1836.410256,292.5,61.661 +1836.410256,321.75,67.57 +1836.410256,351,73.496 +1836.410256,380.25,79.44 +1836.410256,409.5,85.401 +1836.410256,438.75,91.379 +1836.410256,468,97.374 +1836.410256,497.25,103.39 +1836.410256,526.5,109.42 +1836.410256,555.75,115.46 +1836.410256,585,121.53 +1836.410256,614.25,127.61 +1836.410256,643.5,133.7 +1836.410256,672.75,139.82 +1836.410256,702,145.95 +1836.410256,731.25,152.1 +1836.410256,760.5,158.27 +1836.410256,789.75,164.45 +1836.410256,819,170.65 +1836.410256,848.25,176.87 +1836.410256,877.5,183.11 +1836.410256,906.75,189.36 +1836.410256,936,195.63 +2040.42735,-936,-184.54 +2040.42735,-906.75,-178.91 +2040.42735,-877.5,-173.26 +2040.42735,-848.25,-167.59 +2040.42735,-819,-161.91 +2040.42735,-789.75,-156.21 +2040.42735,-760.5,-150.5 +2040.42735,-731.25,-144.77 +2040.42735,-702,-139.02 +2040.42735,-672.75,-133.25 +2040.42735,-643.5,-127.47 +2040.42735,-614.25,-121.67 +2040.42735,-585,-115.85 +2040.42735,-555.75,-110.02 +2040.42735,-526.5,-104.17 +2040.42735,-497.25,-98.305 +2040.42735,-468,-92.421 +2040.42735,-438.75,-86.521 +2040.42735,-409.5,-80.604 +2040.42735,-380.25,-74.67 +2040.42735,-351,-68.72 +2040.42735,-321.75,-62.752 +2040.42735,-292.5,-56.768 +2040.42735,-263.25,-50.767 +2040.42735,-234,-44.749 +2040.42735,-204.75,-38.714 +2040.42735,-175.5,-32.662 +2040.42735,-146.25,-26.594 +2040.42735,-117,-20.509 +2040.42735,-87.75,-14.407 +2040.42735,-58.5,-8.2882 +2040.42735,-29.25,-2.1526 +2040.42735,0,4.1291 +2040.42735,29.25,10.499 +2040.42735,58.5,16.886 +2040.42735,87.75,23.29 +2040.42735,117,29.711 +2040.42735,146.25,36.149 +2040.42735,175.5,42.604 +2040.42735,204.75,49.077 +2040.42735,234,55.567 +2040.42735,263.25,62.074 +2040.42735,292.5,68.598 +2040.42735,321.75,75.139 +2040.42735,351,81.697 +2040.42735,380.25,88.273 +2040.42735,409.5,94.865 +2040.42735,438.75,101.48 +2040.42735,468,108.1 +2040.42735,497.25,114.75 +2040.42735,526.5,121.41 +2040.42735,555.75,128.09 +2040.42735,585,134.78 +2040.42735,614.25,141.49 +2040.42735,643.5,148.22 +2040.42735,672.75,154.97 +2040.42735,702,161.74 +2040.42735,731.25,168.52 +2040.42735,760.5,175.31 +2040.42735,789.75,182.13 +2040.42735,819,188.96 +2040.42735,848.25,195.81 +2040.42735,877.5,202.68 +2040.42735,906.75,209.56 +2040.42735,936,216.47 +2244.529915,-936,-203.71 +2244.529915,-906.75,-197.46 +2244.529915,-877.5,-191.19 +2244.529915,-848.25,-184.91 +2244.529915,-819,-178.61 +2244.529915,-789.75,-172.29 +2244.529915,-760.5,-165.95 +2244.529915,-731.25,-159.6 +2244.529915,-702,-153.23 +2244.529915,-672.75,-146.85 +2244.529915,-643.5,-140.45 +2244.529915,-614.25,-134.03 +2244.529915,-585,-127.59 +2244.529915,-555.75,-121.14 +2244.529915,-526.5,-114.67 +2244.529915,-497.25,-108.19 +2244.529915,-468,-101.68 +2244.529915,-438.75,-95.163 +2244.529915,-409.5,-88.626 +2244.529915,-380.25,-82.073 +2244.529915,-351,-75.503 +2244.529915,-321.75,-68.916 +2244.529915,-292.5,-62.313 +2244.529915,-263.25,-55.692 +2244.529915,-234,-49.055 +2244.529915,-204.75,-42.401 +2244.529915,-175.5,-35.73 +2244.529915,-146.25,-29.042 +2244.529915,-117,-22.338 +2244.529915,-87.75,-15.616 +2244.529915,-58.5,-8.8781 +2244.529915,-29.25,-2.1231 +2244.529915,0,4.7938 +2244.529915,29.25,11.795 +2244.529915,58.5,18.814 +2244.529915,87.75,25.85 +2244.529915,117,32.903 +2244.529915,146.25,39.973 +2244.529915,175.5,47.06 +2244.529915,204.75,54.165 +2244.529915,234,61.287 +2244.529915,263.25,68.425 +2244.529915,292.5,75.581 +2244.529915,321.75,82.754 +2244.529915,351,89.945 +2244.529915,380.25,97.152 +2244.529915,409.5,104.38 +2244.529915,438.75,111.62 +2244.529915,468,118.88 +2244.529915,497.25,126.15 +2244.529915,526.5,133.45 +2244.529915,555.75,140.76 +2244.529915,585,148.08 +2244.529915,614.25,155.43 +2244.529915,643.5,162.79 +2244.529915,672.75,170.17 +2244.529915,702,177.57 +2244.529915,731.25,184.98 +2244.529915,760.5,192.41 +2244.529915,789.75,199.86 +2244.529915,819,207.32 +2244.529915,848.25,214.8 +2244.529915,877.5,222.3 +2244.529915,906.75,229.82 +2244.529915,936,237.35 +2448.547009,-936,-222.84 +2448.547009,-906.75,-215.97 +2448.547009,-877.5,-209.08 +2448.547009,-848.25,-202.18 +2448.547009,-819,-195.25 +2448.547009,-789.75,-188.32 +2448.547009,-760.5,-181.36 +2448.547009,-731.25,-174.39 +2448.547009,-702,-167.4 +2448.547009,-672.75,-160.4 +2448.547009,-643.5,-153.38 +2448.547009,-614.25,-146.34 +2448.547009,-585,-139.29 +2448.547009,-555.75,-132.21 +2448.547009,-526.5,-125.13 +2448.547009,-497.25,-118.02 +2448.547009,-468,-110.9 +2448.547009,-438.75,-103.76 +2448.547009,-409.5,-96.603 +2448.547009,-380.25,-89.431 +2448.547009,-351,-82.241 +2448.547009,-321.75,-75.035 +2448.547009,-292.5,-67.812 +2448.547009,-263.25,-60.572 +2448.547009,-234,-53.315 +2448.547009,-204.75,-46.042 +2448.547009,-175.5,-38.752 +2448.547009,-146.25,-31.445 +2448.547009,-117,-24.121 +2448.547009,-87.75,-16.78 +2448.547009,-58.5,-9.4225 +2448.547009,-29.25,-2.0481 +2448.547009,0,5.505 +2448.547009,29.25,13.138 +2448.547009,58.5,20.789 +2448.547009,87.75,28.457 +2448.547009,117,36.142 +2448.547009,146.25,43.844 +2448.547009,175.5,51.563 +2448.547009,204.75,59.299 +2448.547009,234,67.053 +2448.547009,263.25,74.823 +2448.547009,292.5,82.611 +2448.547009,321.75,90.416 +2448.547009,351,98.238 +2448.547009,380.25,106.08 +2448.547009,409.5,113.93 +2448.547009,438.75,121.81 +2448.547009,468,129.7 +2448.547009,497.25,137.61 +2448.547009,526.5,145.53 +2448.547009,555.75,153.47 +2448.547009,585,161.43 +2448.547009,614.25,169.41 +2448.547009,643.5,177.4 +2448.547009,672.75,185.41 +2448.547009,702,193.44 +2448.547009,731.25,201.49 +2448.547009,760.5,209.55 +2448.547009,789.75,217.63 +2448.547009,819,225.72 +2448.547009,848.25,233.84 +2448.547009,877.5,241.97 +2448.547009,906.75,250.12 +2448.547009,936,258.28 +2652.564103,-936,-241.92 +2652.564103,-906.75,-234.43 +2652.564103,-877.5,-226.92 +2652.564103,-848.25,-219.4 +2652.564103,-819,-211.86 +2652.564103,-789.75,-204.3 +2652.564103,-760.5,-196.73 +2652.564103,-731.25,-189.14 +2652.564103,-702,-181.53 +2652.564103,-672.75,-173.91 +2652.564103,-643.5,-166.27 +2652.564103,-614.25,-158.61 +2652.564103,-585,-150.93 +2652.564103,-555.75,-143.24 +2652.564103,-526.5,-135.53 +2652.564103,-497.25,-127.81 +2652.564103,-468,-120.07 +2652.564103,-438.75,-112.31 +2652.564103,-409.5,-104.53 +2652.564103,-380.25,-96.743 +2652.564103,-351,-88.934 +2652.564103,-321.75,-81.108 +2652.564103,-292.5,-73.266 +2652.564103,-263.25,-65.407 +2652.564103,-234,-57.531 +2652.564103,-204.75,-49.638 +2652.564103,-175.5,-41.728 +2652.564103,-146.25,-33.802 +2652.564103,-117,-25.858 +2652.564103,-87.75,-17.898 +2652.564103,-58.5,-9.9213 +2652.564103,-29.25,-1.9276 +2652.564103,0,6.2626 +2652.564103,29.25,14.528 +2652.564103,58.5,22.81 +2652.564103,87.75,31.11 +2652.564103,117,39.427 +2652.564103,146.25,47.761 +2652.564103,175.5,56.112 +2652.564103,204.75,64.48 +2652.564103,234,72.865 +2652.564103,263.25,81.268 +2652.564103,292.5,89.688 +2652.564103,321.75,98.125 +2652.564103,351,106.58 +2652.564103,380.25,115.05 +2652.564103,409.5,123.54 +2652.564103,438.75,132.04 +2652.564103,468,140.57 +2652.564103,497.25,149.11 +2652.564103,526.5,157.66 +2652.564103,555.75,166.24 +2652.564103,585,174.83 +2652.564103,614.25,183.44 +2652.564103,643.5,192.06 +2652.564103,672.75,200.7 +2652.564103,702,209.36 +2652.564103,731.25,218.04 +2652.564103,760.5,226.74 +2652.564103,789.75,235.45 +2652.564103,819,244.17 +2652.564103,848.25,252.92 +2652.564103,877.5,261.68 +2652.564103,906.75,270.46 +2652.564103,936,279.26 +2856.666667,-936,-260.95 +2856.666667,-906.75,-252.84 +2856.666667,-877.5,-244.72 +2856.666667,-848.25,-236.57 +2856.666667,-819,-228.41 +2856.666667,-789.75,-220.24 +2856.666667,-760.5,-212.05 +2856.666667,-731.25,-203.84 +2856.666667,-702,-195.61 +2856.666667,-672.75,-187.37 +2856.666667,-643.5,-179.11 +2856.666667,-614.25,-170.83 +2856.666667,-585,-162.54 +2856.666667,-555.75,-154.22 +2856.666667,-526.5,-145.9 +2856.666667,-497.25,-137.55 +2856.666667,-468,-129.19 +2856.666667,-438.75,-120.81 +2856.666667,-409.5,-112.42 +2856.666667,-380.25,-104.01 +2856.666667,-351,-95.581 +2856.666667,-321.75,-87.136 +2856.666667,-292.5,-78.674 +2856.666667,-263.25,-70.195 +2856.666667,-234,-61.7 +2856.666667,-204.75,-53.188 +2856.666667,-175.5,-44.659 +2856.666667,-146.25,-36.113 +2856.666667,-117,-27.55 +2856.666667,-87.75,-18.971 +2856.666667,-58.5,-10.375 +2856.666667,-29.25,-1.7616 +2856.666667,0,7.0667 +2856.666667,29.25,15.964 +2856.666667,58.5,24.878 +2856.666667,87.75,33.81 +2856.666667,117,42.758 +2856.666667,146.25,51.724 +2856.666667,175.5,60.707 +2856.666667,204.75,69.707 +2856.666667,234,78.725 +2856.666667,263.25,87.759 +2856.666667,292.5,96.811 +2856.666667,321.75,105.88 +2856.666667,351,114.97 +2856.666667,380.25,124.07 +2856.666667,409.5,133.19 +2856.666667,438.75,142.33 +2856.666667,468,151.48 +2856.666667,497.25,160.65 +2856.666667,526.5,169.84 +2856.666667,555.75,179.05 +2856.666667,585,188.27 +2856.666667,614.25,197.51 +2856.666667,643.5,206.77 +2856.666667,672.75,216.04 +2856.666667,702,225.33 +2856.666667,731.25,234.64 +2856.666667,760.5,243.97 +2856.666667,789.75,253.31 +2856.666667,819,262.67 +2856.666667,848.25,272.05 +2856.666667,877.5,281.44 +2856.666667,906.75,290.86 +2856.666667,936,300.28 +3060.683761,-936,-279.94 +3060.683761,-906.75,-271.21 +3060.683761,-877.5,-262.47 +3060.683761,-848.25,-253.7 +3060.683761,-819,-244.93 +3060.683761,-789.75,-236.13 +3060.683761,-760.5,-227.32 +3060.683761,-731.25,-218.49 +3060.683761,-702,-209.64 +3060.683761,-672.75,-200.78 +3060.683761,-643.5,-191.9 +3060.683761,-614.25,-183 +3060.683761,-585,-174.09 +3060.683761,-555.75,-165.16 +3060.683761,-526.5,-156.22 +3060.683761,-497.25,-147.25 +3060.683761,-468,-138.27 +3060.683761,-438.75,-129.27 +3060.683761,-409.5,-120.26 +3060.683761,-380.25,-111.23 +3060.683761,-351,-102.18 +3060.683761,-321.75,-93.118 +3060.683761,-292.5,-84.037 +3060.683761,-263.25,-74.939 +3060.683761,-234,-65.824 +3060.683761,-204.75,-56.693 +3060.683761,-175.5,-47.544 +3060.683761,-146.25,-38.379 +3060.683761,-117,-29.197 +3060.683761,-87.75,-19.998 +3060.683761,-58.5,-10.782 +3060.683761,-29.25,-1.55 +3060.683761,0,7.9172 +3060.683761,29.25,17.446 +3060.683761,58.5,26.993 +3060.683761,87.75,36.556 +3060.683761,117,46.136 +3060.683761,146.25,55.734 +3060.683761,175.5,65.349 +3060.683761,204.75,74.981 +3060.683761,234,84.63 +3060.683761,263.25,94.296 +3060.683761,292.5,103.98 +3060.683761,321.75,113.68 +3060.683761,351,123.4 +3060.683761,380.25,133.13 +3060.683761,409.5,142.89 +3060.683761,438.75,152.65 +3060.683761,468,162.44 +3060.683761,497.25,172.24 +3060.683761,526.5,182.06 +3060.683761,555.75,191.9 +3060.683761,585,201.76 +3060.683761,614.25,211.63 +3060.683761,643.5,221.52 +3060.683761,672.75,231.43 +3060.683761,702,241.35 +3060.683761,731.25,251.29 +3060.683761,760.5,261.25 +3060.683761,789.75,271.22 +3060.683761,819,281.21 +3060.683761,848.25,291.22 +3060.683761,877.5,301.25 +3060.683761,906.75,311.29 +3060.683761,936,321.35 +3264.700855,-936,-298.88 +3264.700855,-906.75,-289.53 +3264.700855,-877.5,-280.17 +3264.700855,-848.25,-270.79 +3264.700855,-819,-261.39 +3264.700855,-789.75,-251.98 +3264.700855,-760.5,-242.54 +3264.700855,-731.25,-233.1 +3264.700855,-702,-223.63 +3264.700855,-672.75,-214.15 +3264.700855,-643.5,-204.65 +3264.700855,-614.25,-195.14 +3264.700855,-585,-185.6 +3264.700855,-555.75,-176.05 +3264.700855,-526.5,-166.49 +3264.700855,-497.25,-156.9 +3264.700855,-468,-147.3 +3264.700855,-438.75,-137.69 +3264.700855,-409.5,-128.06 +3264.700855,-380.25,-118.41 +3264.700855,-351,-108.74 +3264.700855,-321.75,-99.055 +3264.700855,-292.5,-89.354 +3264.700855,-263.25,-79.637 +3264.700855,-234,-69.903 +3264.700855,-204.75,-60.152 +3264.700855,-175.5,-50.384 +3264.700855,-146.25,-40.599 +3264.700855,-117,-30.798 +3264.700855,-87.75,-20.98 +3264.700855,-58.5,-11.145 +3264.700855,-29.25,-1.2929 +3264.700855,0,8.8141 +3264.700855,29.25,18.975 +3264.700855,58.5,29.153 +3264.700855,87.75,39.348 +3264.700855,117,49.561 +3264.700855,146.25,59.79 +3264.700855,175.5,70.037 +3264.700855,204.75,80.301 +3264.700855,234,90.582 +3264.700855,263.25,100.88 +3264.700855,292.5,111.2 +3264.700855,321.75,121.53 +3264.700855,351,131.88 +3264.700855,380.25,142.24 +3264.700855,409.5,152.63 +3264.700855,438.75,163.03 +3264.700855,468,173.45 +3264.700855,497.25,183.88 +3264.700855,526.5,194.34 +3264.700855,555.75,204.81 +3264.700855,585,215.29 +3264.700855,614.25,225.8 +3264.700855,643.5,236.32 +3264.700855,672.75,246.86 +3264.700855,702,257.41 +3264.700855,731.25,267.98 +3264.700855,760.5,278.57 +3264.700855,789.75,289.18 +3264.700855,819,299.8 +3264.700855,848.25,310.45 +3264.700855,877.5,321.1 +3264.700855,906.75,331.78 +3264.700855,936,342.47 +3468.803419,-936,-317.78 +3468.803419,-906.75,-307.81 +3468.803419,-877.5,-297.83 +3468.803419,-848.25,-287.83 +3468.803419,-819,-277.81 +3468.803419,-789.75,-267.78 +3468.803419,-760.5,-257.73 +3468.803419,-731.25,-247.66 +3468.803419,-702,-237.57 +3468.803419,-672.75,-227.47 +3468.803419,-643.5,-217.35 +3468.803419,-614.25,-207.22 +3468.803419,-585,-197.07 +3468.803419,-555.75,-186.9 +3468.803419,-526.5,-176.71 +3468.803419,-497.25,-166.51 +3468.803419,-468,-156.29 +3468.803419,-438.75,-146.06 +3468.803419,-409.5,-135.8 +3468.803419,-380.25,-125.53 +3468.803419,-351,-115.25 +3468.803419,-321.75,-104.95 +3468.803419,-292.5,-94.626 +3468.803419,-263.25,-84.289 +3468.803419,-234,-73.936 +3468.803419,-204.75,-63.565 +3468.803419,-175.5,-53.178 +3468.803419,-146.25,-42.774 +3468.803419,-117,-32.353 +3468.803419,-87.75,-21.916 +3468.803419,-58.5,-11.462 +3468.803419,-29.25,-0.99032 +3468.803419,0,9.7575 +3468.803419,29.25,20.55 +3468.803419,58.5,31.36 +3468.803419,87.75,42.188 +3468.803419,117,53.032 +3468.803419,146.25,63.893 +3468.803419,175.5,74.772 +3468.803419,204.75,85.668 +3468.803419,234,96.581 +3468.803419,263.25,107.51 +3468.803419,292.5,118.46 +3468.803419,321.75,129.42 +3468.803419,351,140.4 +3468.803419,380.25,151.4 +3468.803419,409.5,162.42 +3468.803419,438.75,173.45 +3468.803419,468,184.5 +3468.803419,497.25,195.57 +3468.803419,526.5,206.65 +3468.803419,555.75,217.75 +3468.803419,585,228.87 +3468.803419,614.25,240.01 +3468.803419,643.5,251.16 +3468.803419,672.75,262.33 +3468.803419,702,273.52 +3468.803419,731.25,284.72 +3468.803419,760.5,295.95 +3468.803419,789.75,307.18 +3468.803419,819,318.44 +3468.803419,848.25,329.71 +3468.803419,877.5,341 +3468.803419,906.75,352.31 +3468.803419,936,363.64 +3672.820513,-936,-336.63 +3672.820513,-906.75,-326.05 +3672.820513,-877.5,-315.44 +3672.820513,-848.25,-304.82 +3672.820513,-819,-294.19 +3672.820513,-789.75,-283.53 +3672.820513,-760.5,-272.86 +3672.820513,-731.25,-262.18 +3672.820513,-702,-251.47 +3672.820513,-672.75,-240.75 +3672.820513,-643.5,-230.01 +3672.820513,-614.25,-219.26 +3672.820513,-585,-208.49 +3672.820513,-555.75,-197.7 +3672.820513,-526.5,-186.9 +3672.820513,-497.25,-176.07 +3672.820513,-468,-165.24 +3672.820513,-438.75,-154.38 +3672.820513,-409.5,-143.51 +3672.820513,-380.25,-132.62 +3672.820513,-351,-121.71 +3672.820513,-321.75,-110.79 +3672.820513,-292.5,-99.852 +3672.820513,-263.25,-88.896 +3672.820513,-234,-77.923 +3672.820513,-204.75,-66.933 +3672.820513,-175.5,-55.927 +3672.820513,-146.25,-44.904 +3672.820513,-117,-33.863 +3672.820513,-87.75,-22.806 +3672.820513,-58.5,-11.733 +3672.820513,-29.25,-0.64219 +3672.820513,0,10.747 +3672.820513,29.25,22.172 +3672.820513,58.5,33.614 +3672.820513,87.75,45.073 +3672.820513,117,56.549 +3672.820513,146.25,68.043 +3672.820513,175.5,79.553 +3672.820513,204.75,91.081 +3672.820513,234,102.63 +3672.820513,263.25,114.19 +3672.820513,292.5,125.77 +3672.820513,321.75,137.36 +3672.820513,351,148.98 +3672.820513,380.25,160.61 +3672.820513,409.5,172.25 +3672.820513,438.75,183.92 +3672.820513,468,195.6 +3672.820513,497.25,207.3 +3672.820513,526.5,219.02 +3672.820513,555.75,230.75 +3672.820513,585,242.5 +3672.820513,614.25,254.27 +3672.820513,643.5,266.05 +3672.820513,672.75,277.86 +3672.820513,702,289.67 +3672.820513,731.25,301.51 +3672.820513,760.5,313.36 +3672.820513,789.75,325.23 +3672.820513,819,337.12 +3672.820513,848.25,349.03 +3672.820513,877.5,360.95 +3672.820513,906.75,372.89 +3672.820513,936,384.85 +3876.837607,-936,-355.44 +3876.837607,-906.75,-344.23 +3876.837607,-877.5,-333.01 +3876.837607,-848.25,-321.77 +3876.837607,-819,-310.52 +3876.837607,-789.75,-299.24 +3876.837607,-760.5,-287.95 +3876.837607,-731.25,-276.65 +3876.837607,-702,-265.32 +3876.837607,-672.75,-253.98 +3876.837607,-643.5,-242.63 +3876.837607,-614.25,-231.25 +3876.837607,-585,-219.86 +3876.837607,-555.75,-208.45 +3876.837607,-526.5,-197.03 +3876.837607,-497.25,-185.59 +3876.837607,-468,-174.13 +3876.837607,-438.75,-162.66 +3876.837607,-409.5,-151.17 +3876.837607,-380.25,-139.66 +3876.837607,-351,-128.13 +3876.837607,-321.75,-116.59 +3876.837607,-292.5,-105.03 +3876.837607,-263.25,-93.457 +3876.837607,-234,-81.865 +3876.837607,-204.75,-70.256 +3876.837607,-175.5,-58.63 +3876.837607,-146.25,-46.987 +3876.837607,-117,-35.328 +3876.837607,-87.75,-23.652 +3876.837607,-58.5,-11.958 +3876.837607,-29.25,-0.24855 +3876.837607,0,11.784 +3876.837607,29.25,23.84 +3876.837607,58.5,35.914 +3876.837607,87.75,48.005 +3876.837607,117,60.113 +3876.837607,146.25,72.238 +3876.837607,175.5,84.381 +3876.837607,204.75,96.54 +3876.837607,234,108.72 +3876.837607,263.25,120.91 +3876.837607,292.5,133.12 +3876.837607,321.75,145.35 +3876.837607,351,157.59 +3876.837607,380.25,169.86 +3876.837607,409.5,182.14 +3876.837607,438.75,194.43 +3876.837607,468,206.75 +3876.837607,497.25,219.08 +3876.837607,526.5,231.43 +3876.837607,555.75,243.79 +3876.837607,585,256.17 +3876.837607,614.25,268.57 +3876.837607,643.5,280.99 +3876.837607,672.75,293.42 +3876.837607,702,305.88 +3876.837607,731.25,318.34 +3876.837607,760.5,330.83 +3876.837607,789.75,343.33 +3876.837607,819,355.85 +3876.837607,848.25,368.39 +3876.837607,877.5,380.94 +3876.837607,906.75,393.51 +3876.837607,936,406.1 +4080.854701,-936,-374.2 +4080.854701,-906.75,-362.38 +4080.854701,-877.5,-350.53 +4080.854701,-848.25,-338.67 +4080.854701,-819,-326.8 +4080.854701,-789.75,-314.91 +4080.854701,-760.5,-303 +4080.854701,-731.25,-291.07 +4080.854701,-702,-279.13 +4080.854701,-672.75,-267.17 +4080.854701,-643.5,-255.19 +4080.854701,-614.25,-243.2 +4080.854701,-585,-231.19 +4080.854701,-555.75,-219.16 +4080.854701,-526.5,-207.12 +4080.854701,-497.25,-195.06 +4080.854701,-468,-182.98 +4080.854701,-438.75,-170.89 +4080.854701,-409.5,-158.78 +4080.854701,-380.25,-146.65 +4080.854701,-351,-134.51 +4080.854701,-321.75,-122.35 +4080.854701,-292.5,-110.17 +4080.854701,-263.25,-97.973 +4080.854701,-234,-85.761 +4080.854701,-204.75,-73.533 +4080.854701,-175.5,-61.288 +4080.854701,-146.25,-49.026 +4080.854701,-117,-36.747 +4080.854701,-87.75,-24.451 +4080.854701,-58.5,-12.139 +4080.854701,-29.25,0.19499 +4080.854701,0,12.866 +4080.854701,29.25,25.555 +4080.854701,58.5,38.26 +4080.854701,87.75,50.983 +4080.854701,117,63.723 +4080.854701,146.25,76.48 +4080.854701,175.5,89.255 +4080.854701,204.75,102.05 +4080.854701,234,114.85 +4080.854701,263.25,127.68 +4080.854701,292.5,140.52 +4080.854701,321.75,153.38 +4080.854701,351,166.26 +4080.854701,380.25,179.15 +4080.854701,409.5,192.07 +4080.854701,438.75,204.99 +4080.854701,468,217.94 +4080.854701,497.25,230.9 +4080.854701,526.5,243.88 +4080.854701,555.75,256.88 +4080.854701,585,269.89 +4080.854701,614.25,282.93 +4080.854701,643.5,295.97 +4080.854701,672.75,309.04 +4080.854701,702,322.12 +4080.854701,731.25,335.22 +4080.854701,760.5,348.34 +4080.854701,789.75,361.48 +4080.854701,819,374.63 +4080.854701,848.25,387.8 +4080.854701,877.5,400.98 +4080.854701,906.75,414.18 +4080.854701,936,427.4 +4268.632479,-936,-391.42 +4268.632479,-906.75,-379.03 +4268.632479,-877.5,-366.61 +4268.632479,-848.25,-354.19 +4268.632479,-819,-341.74 +4268.632479,-789.75,-329.28 +4268.632479,-760.5,-316.8 +4268.632479,-731.25,-304.3 +4268.632479,-702,-291.79 +4268.632479,-672.75,-279.26 +4268.632479,-643.5,-266.72 +4268.632479,-614.25,-254.15 +4268.632479,-585,-241.57 +4268.632479,-555.75,-228.98 +4268.632479,-526.5,-216.36 +4268.632479,-497.25,-203.73 +4268.632479,-468,-191.09 +4268.632479,-438.75,-178.42 +4268.632479,-409.5,-165.74 +4268.632479,-380.25,-153.04 +4268.632479,-351,-140.33 +4268.632479,-321.75,-127.6 +4268.632479,-292.5,-114.85 +4268.632479,-263.25,-102.09 +4268.632479,-234,-89.306 +4268.632479,-204.75,-76.508 +4268.632479,-175.5,-63.693 +4268.632479,-146.25,-50.861 +4268.632479,-117,-38.012 +4268.632479,-87.75,-25.147 +4268.632479,-58.5,-12.264 +4268.632479,-29.25,0.65077 +4268.632479,0,13.903 +4268.632479,29.25,27.173 +4268.632479,58.5,40.46 +4268.632479,87.75,53.764 +4268.632479,117,67.086 +4268.632479,146.25,80.424 +4268.632479,175.5,93.78 +4268.632479,204.75,107.15 +4268.632479,234,120.54 +4268.632479,263.25,133.95 +4268.632479,292.5,147.37 +4268.632479,321.75,160.81 +4268.632479,351,174.27 +4268.632479,380.25,187.75 +4268.632479,409.5,201.24 +4268.632479,438.75,214.75 +4268.632479,468,228.28 +4268.632479,497.25,241.82 +4268.632479,526.5,255.38 +4268.632479,555.75,268.96 +4268.632479,585,282.56 +4268.632479,614.25,296.17 +4268.632479,643.5,309.8 +4268.632479,672.75,323.45 +4268.632479,702,337.11 +4268.632479,731.25,350.79 +4268.632479,760.5,364.49 +4268.632479,789.75,378.21 +4268.632479,819,391.94 +4268.632479,848.25,405.69 +4268.632479,877.5,419.46 +4268.632479,906.75,433.24 +4268.632479,936,447.04 diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Group5_HEV.vveh b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Group5_HEV.vveh new file mode 100644 index 0000000000000000000000000000000000000000..0583f60a606b4767e4efefec9252b1f147a2db1e --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Group5_HEV.vveh @@ -0,0 +1,109 @@ +{ + "Header": { + "CreatedBy": "", + "Date": "2020-09-07T15:36:11.4469594Z", + "AppVersion": "3", + "FileVersion": 10 + }, + "Body": { + "SavedInDeclMode": false, + "VehCat": "Tractor", + "LegislativeClass": "Unknown", + "CurbWeight": 8229.0, + "CurbWeightExtra": 7500.0, + "MassMax": 18.0, + "Loading": 19300.0, + "rdyn": 492.0, + "CdCorrMode": "CdofVdecl", + "CdCorrFile": "", + "AxleConfig": { + "Type": "4x2", + "Axles": [ + { + "Inertia": 14.9, + "Wheels": "315/70 R22.5", + "AxleWeightShare": 0.2, + "TwinTyres": false, + "RRCISO": 0.0055, + "FzISO": 33350.0, + "Type": "VehicleNonDriven" + }, + { + "Inertia": 14.9, + "Wheels": "315/70 R22.5", + "AxleWeightShare": 0.25, + "TwinTyres": true, + "RRCISO": 0.0065, + "FzISO": 33350.0, + "Type": "VehicleDriven" + }, + { + "Inertia": 19.2, + "Wheels": "385/65 R22.5", + "AxleWeightShare": 0.18333, + "TwinTyres": false, + "RRCISO": 0.0055, + "FzISO": 41690.0, + "Type": "Trailer" + }, + { + "Inertia": 19.2, + "Wheels": "385/65 R22.5", + "AxleWeightShare": 0.18333, + "TwinTyres": false, + "RRCISO": 0.0055, + "FzISO": 41690.0, + "Type": "Trailer" + }, + { + "Inertia": 19.2, + "Wheels": "385/65 R22.5", + "AxleWeightShare": 0.18334, + "TwinTyres": false, + "RRCISO": 0.0055, + "FzISO": 41690.0, + "Type": "Trailer" + } + ] + }, + "EngineStopStart": true, + "EcoRoll": "None", + "PredictiveCruiseControl": "None", + "ATEcoRollReleaseLockupClutch": false, + "CdA": 5.3, + "VehicleHeight": 4.0, + "IdlingSpeed": 600.0, + "Retarder": { + "Type": "None", + "Ratio": 1.0, + "File": "" + }, + "Angledrive": { + "Type": "None", + "Ratio": 0.0, + "LossMap": "" + }, + "PTO": { + "Type": "None", + "LossMap": "", + "Cycle": "" + }, + "TorqueLimits": {}, + "MaxDrivetrainPower": 1000.0, + "InitialSoC": 50.0, + "PowertrainConfiguration": "ParallelHybrid", + "ElectricMotors": [ + { + "Count": 1, + "Ratio": 1.0, + "MechanicalEfficiency": 1.0, + "Position": "P2", + "MotorFile": "GenericEMotor_140kW_936Nm.vem" + } + ], + "Battery": { + "NumPacks": 1, + "BatteryFile": "GenericBattery_10kWh_658V.vbat" + } + } +} \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Hybrid_Parameters.vhctl b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Hybrid_Parameters.vhctl new file mode 100644 index 0000000000000000000000000000000000000000..a46aef1a05bf9df86bedf57572abe03a6de5fb23 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Hybrid_Parameters.vhctl @@ -0,0 +1,17 @@ +{ + "Header": { + "CreatedBy": "", + "Date": "2020-09-07T15:28:08.3781385Z", + "AppVersion": "3", + "FileVersion": 1 + }, + "Body": { + "EquivalenceFactor": 2.0, + "MinSoC": 20.0, + "MaxSoC": 80.0, + "TargetSoC": 50.0, + "AuxBufferTime": 5.0, + "AuxBufferChgTime": 5.0, + "MinICEOnTime": 10.0 + } +} \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/MaxCurrent.vimax b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/MaxCurrent.vimax new file mode 100644 index 0000000000000000000000000000000000000000..5552bda2b03a9e6d5f0b2de49ea79b598013047f --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/MaxCurrent.vimax @@ -0,0 +1,3 @@ +SOC, I_charge, I_discharge +0, 280, 280 +100, 280, 280 \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/P2 Group 5_EMLossMap_1.vecto b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/P2 Group 5_EMLossMap_1.vecto new file mode 100644 index 0000000000000000000000000000000000000000..f35ef2a26a35c0c1089cf96c14dfa780458db812 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/P2 Group 5_EMLossMap_1.vecto @@ -0,0 +1,64 @@ +{ + "Header": { + "CreatedBy": "", + "Date": "2020-08-24T13:41:04.1591616Z", + "AppVersion": "3", + "FileVersion": 8 + }, + "Body": { + "SavedInDeclMode": false, + "EngineOnlyMode": false, + "VehicleFile": "Vehicle\\Group5_HEV_EMLossMap_1.vveh", + "EngineFile": "VKM\\Engine_325kW_12.7l.veng", + "GearboxFile": "Transmission\\AMT_12.vgbx", + "TCU": "Transmission\\AMT_12.vgbx", + "ShiftStrategy": "TUGraz.VectoCore.Models.SimulationComponent.Impl.AMTShiftStrategy", + "HybridStrategyParams": "ElectricMotor\\Inputdaten P2 Group 5\\Electric components\\Hybrid_Parameters.vhctl", + "AuxiliaryAssembly": "Classic", + "AuxiliaryVersion": "CLASSIC", + "AdvancedAuxiliaryFilePath": "", + "Aux": [], + "Padd": 3000.0, + "Padd_electric": 0.0, + "VACC": "Vehicle\\Truck.vacc", + "EngineStopStartAtVehicleStopThreshold": 0.0, + "EngineStopStartMaxOffTimespan": 0.0, + "EngineStopStartUtilityFactor": 0.0, + "EcoRollMinSpeed": 0.0, + "EcoRollActivationDelay": 0.0, + "EcoRollUnderspeedThreshold": 0.0, + "EcoRollMaxAcceleration": 0.0, + "PCCEnableSpeed": 0.0, + "PCCMinSpeed": 0.0, + "PCCUnderspeed": 0.0, + "PCCOverSpeed": 5.0, + "PCCPreviewDistanceUC1": 0.0, + "PCCPreviewDistanceUC2": 0.0, + "LAC": { + "Enabled": true, + "PreviewDistanceFactor": 10.0, + "DF_offset": 2.5, + "DF_scaling": 1.5, + "DF_targetSpeedLookup": "", + "Df_velocityDropLookup": "", + "MinSpeed": 50.0 + }, + "OverSpeedEcoRoll": { + "Mode": "Overspeed", + "MinSpeed": 50.0, + "OverSpeed": 2.5 + }, + "Cycles": [ + "LongHaul", + "Coach", + "Construction", + "HeavyUrban", + "Interurban", + "MunicipalUtility", + "RegionalDelivery", + "Suburban", + "Urban", + "UrbanDelivery" + ] + } +} \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/P2 Group 5_EMLossMap_2.vecto b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/P2 Group 5_EMLossMap_2.vecto new file mode 100644 index 0000000000000000000000000000000000000000..82ec3a0fb3cbf141437acada8701692f46a7e1a8 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/P2 Group 5_EMLossMap_2.vecto @@ -0,0 +1,64 @@ +{ + "Header": { + "CreatedBy": "", + "Date": "2020-08-24T13:41:04.1591616Z", + "AppVersion": "3", + "FileVersion": 8 + }, + "Body": { + "SavedInDeclMode": false, + "EngineOnlyMode": false, + "VehicleFile": "Vehicle\\Group5_HEV_EMLossMap_2.vveh", + "EngineFile": "VKM\\Engine_325kW_12.7l.veng", + "GearboxFile": "Transmission\\AMT_12.vgbx", + "TCU": "Transmission\\AMT_12.vgbx", + "ShiftStrategy": "TUGraz.VectoCore.Models.SimulationComponent.Impl.AMTShiftStrategy", + "HybridStrategyParams": "ElectricMotor\\Inputdaten P2 Group 5\\Electric components\\Hybrid_Parameters.vhctl", + "AuxiliaryAssembly": "Classic", + "AuxiliaryVersion": "CLASSIC", + "AdvancedAuxiliaryFilePath": "", + "Aux": [], + "Padd": 3000.0, + "Padd_electric": 0.0, + "VACC": "Vehicle\\Truck.vacc", + "EngineStopStartAtVehicleStopThreshold": 0.0, + "EngineStopStartMaxOffTimespan": 0.0, + "EngineStopStartUtilityFactor": 0.0, + "EcoRollMinSpeed": 0.0, + "EcoRollActivationDelay": 0.0, + "EcoRollUnderspeedThreshold": 0.0, + "EcoRollMaxAcceleration": 0.0, + "PCCEnableSpeed": 0.0, + "PCCMinSpeed": 0.0, + "PCCUnderspeed": 0.0, + "PCCOverSpeed": 5.0, + "PCCPreviewDistanceUC1": 0.0, + "PCCPreviewDistanceUC2": 0.0, + "LAC": { + "Enabled": true, + "PreviewDistanceFactor": 10.0, + "DF_offset": 2.5, + "DF_scaling": 1.5, + "DF_targetSpeedLookup": "", + "Df_velocityDropLookup": "", + "MinSpeed": 50.0 + }, + "OverSpeedEcoRoll": { + "Mode": "Overspeed", + "MinSpeed": 50.0, + "OverSpeed": 2.5 + }, + "Cycles": [ + "LongHaul", + "Coach", + "Construction", + "HeavyUrban", + "Interurban", + "MunicipalUtility", + "RegionalDelivery", + "Suburban", + "Urban", + "UrbanDelivery" + ] + } +} \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Truck.vacc b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Truck.vacc new file mode 100644 index 0000000000000000000000000000000000000000..54e77864874d21d67e8f8d69a97b35c5c6031749 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Truck.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/GenericVehicle_Group5_P2/Vehicle/GenericADC_1.vtlm b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Vehicle/GenericADC_1.vtlm new file mode 100644 index 0000000000000000000000000000000000000000..a5d0458a39b4545b7663a6e731dfbb814935fd0b --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Vehicle/GenericADC_1.vtlm @@ -0,0 +1,100 @@ +n , T_in , T_loss +0 , -1250 , 71.875 +0 , -1000 , 50 +0 , -750 , 31.875 +0 , -500 , 17.5 +0 , -250 , 6.875 +0 , 250 , 6.875 +0 , 500 , 17.5 +0 , 750 , 31.875 +0 , 1000 , 50 +0 , 1250 , 71.875 +500 , -1250 , 71.875 +500 , -1000 , 50 +500 , -750 , 31.875 +500 , -500 , 17.5 +500 , -250 , 6.875 +500 , 250 , 6.875 +500 , 500 , 17.5 +500 , 750 , 31.875 +500 , 1000 , 50 +500 , 1250 , 71.875 +1000 , -1250 , 73.875 +1000 , -1000 , 52 +1000 , -750 , 33.875 +1000 , -500 , 19.5 +1000 , -250 , 8.875 +1000 , 250 , 8.875 +1000 , 500 , 19.5 +1000 , 750 , 33.875 +1000 , 1000 , 52 +1000 , 1250 , 73.875 +2000 , -1250 , 77.875 +2000 , -1000 , 56 +2000 , -750 , 37.875 +2000 , -500 , 23.5 +2000 , -250 , 12.875 +2000 , 250 , 12.875 +2000 , 500 , 23.5 +2000 , 750 , 37.875 +2000 , 1000 , 56 +2000 , 1250 , 77.875 +3000 , -1250 , 81.875 +3000 , -1000 , 60 +3000 , -750 , 41.875 +3000 , -500 , 27.5 +3000 , -250 , 16.875 +3000 , 250 , 16.875 +3000 , 500 , 27.5 +3000 , 750 , 41.875 +3000 , 1000 , 60 +3000 , 1250 , 81.875 +4000 , -1250 , 85.875 +4000 , -1000 , 64 +4000 , -750 , 45.875 +4000 , -500 , 31.5 +4000 , -250 , 20.875 +4000 , 250 , 20.875 +4000 , 500 , 31.5 +4000 , 750 , 45.875 +4000 , 1000 , 64 +4000 , 1250 , 85.875 +5000 , -1250 , 89.875 +5000 , -1000 , 68 +5000 , -750 , 49.875 +5000 , -500 , 35.5 +5000 , -250 , 24.875 +5000 , 250 , 24.875 +5000 , 500 , 35.5 +5000 , 750 , 49.875 +5000 , 1000 , 68 +5000 , 1250 , 89.875 +0 , 2000 , 158 +500 , 2000 , 160 +1000 , 2000 , 162 +2000 , 2000 , 166 +3000 , 2000 , 170 +4000 , 2000 , 174 +5000 , 2000 , 178 +0 , -2000 , 158 +500 , -2000 , 160 +1000 , -2000 , 162 +2000 , -2000 , 166 +3000 , -2000 , 170 +4000 , -2000 , 174 +5000 , -2000 , 178 +0 , 5000 , 848 +500 , 5000 , 850 +1000 , 5000 , 852 +2000 , 5000 , 856 +3000 , 5000 , 860 +4000 , 5000 , 864 +5000 , 5000 , 868 +0 , -5000 , 848 +500 , -5000 , 850 +1000 , -5000 , 852 +2000 , -5000 , 856 +3000 , -5000 , 860 +4000 , -5000 , 864 +5000 , -5000 , 868 + diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Vehicle/GenericADC_2.vtlm b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Vehicle/GenericADC_2.vtlm new file mode 100644 index 0000000000000000000000000000000000000000..018172ecea1b67ebfd9e5040e35b057fcd3c1434 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Vehicle/GenericADC_2.vtlm @@ -0,0 +1,85 @@ +n , T_in , T_loss +0 , -5000 , 100 +0 , -1250 , 100 +0 , -1000 , 100 +0 , -750 , 25 +0 , -500 , 20 +0 , -250 , 15 +0 , 250 , 10 +0 , 500 , 5 +0 , 750 , 5 +0 , 1000 , 10 +0 , 1250 , 15 +0 , 5000 , 100 +500 , -5000 , 100 +500 , -1250 , 25 +500 , -1000 , 20 +500 , -750 , 15 +500 , -500 , 10 +500 , -250 , 5 +500 , 250 , 5 +500 , 500 , 10 +500 , 750 , 15 +500 , 1000 , 20 +500 , 1250 , 25 +500 , 5000 , 100 +1000 , -5000 , 100 +1000 , -1250 , 25 +1000 , -1000 , 20 +1000 , -750 , 15 +1000 , -500 , 10 +1000 , -250 , 5 +1000 , 250 , 5 +1000 , 500 , 10 +1000 , 750 , 15 +1000 , 1000 , 20 +1000 , 1250 , 25 +1000 , 5000 , 100 +2000 , -5000 , 100 +2000 , -1250 , 25 +2000 , -1000 , 20 +2000 , -750 , 15 +2000 , -500 , 10 +2000 , -250 , 5 +2000 , 250 , 5 +2000 , 500 , 10 +2000 , 750 , 15 +2000 , 1000 , 20 +2000 , 1250 , 25 +2000 , 5000 , 100 +3000 , -5000 , 100 +3000 , -1250 , 25 +3000 , -1000 , 20 +3000 , -750 , 15 +3000 , -500 , 10 +3000 , -250 , 5 +3000 , 250 , 5 +3000 , 500 , 10 +3000 , 750 , 15 +3000 , 1000 , 20 +3000 , 1250 , 25 +3000 , 5000 , 100 +4000 , -5000 , 100 +4000 , -1250 , 25 +4000 , -1000 , 20 +4000 , -750 , 15 +4000 , -500 , 10 +4000 , -250 , 5 +4000 , 250 , 5 +4000 , 500 , 10 +4000 , 750 , 15 +4000 , 1000 , 20 +4000 , 1250 , 25 +4000 , 5000 , 100 +5000 , -5000 , 100 +5000 , -1250 , 25 +5000 , -1000 , 20 +5000 , -750 , 15 +5000 , -500 , 10 +5000 , -250 , 5 +5000 , 250 , 5 +5000 , 500 , 10 +5000 , 750 , 15 +5000 , 1000 , 20 +5000 , 1250 , 25 +5000 , 5000 , 100 diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Vehicle/Group5_HEV_EMLossMap_1.vveh b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Vehicle/Group5_HEV_EMLossMap_1.vveh new file mode 100644 index 0000000000000000000000000000000000000000..57a6896f41dd80db873fd2367e3d722300d9da58 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Vehicle/Group5_HEV_EMLossMap_1.vveh @@ -0,0 +1,109 @@ +{ + "Header": { + "CreatedBy": "", + "Date": "2020-08-24T09:14:33.9240545Z", + "AppVersion": "3", + "FileVersion": 10 + }, + "Body": { + "SavedInDeclMode": false, + "VehCat": "Tractor", + "LegislativeClass": "Unknown", + "CurbWeight": 8229.0, + "CurbWeightExtra": 7500.0, + "MassMax": 18.0, + "Loading": 19300.0, + "rdyn": 492.0, + "CdCorrMode": "CdofVdecl", + "CdCorrFile": "", + "AxleConfig": { + "Type": "4x2", + "Axles": [ + { + "Inertia": 14.9, + "Wheels": "315/70 R22.5", + "AxleWeightShare": 0.2, + "TwinTyres": false, + "RRCISO": 0.0055, + "FzISO": 33350.0, + "Type": "VehicleNonDriven" + }, + { + "Inertia": 14.9, + "Wheels": "315/70 R22.5", + "AxleWeightShare": 0.25, + "TwinTyres": true, + "RRCISO": 0.0065, + "FzISO": 33350.0, + "Type": "VehicleDriven" + }, + { + "Inertia": 19.2, + "Wheels": "385/65 R22.5", + "AxleWeightShare": 0.18333, + "TwinTyres": false, + "RRCISO": 0.0055, + "FzISO": 41690.0, + "Type": "Trailer" + }, + { + "Inertia": 19.2, + "Wheels": "385/65 R22.5", + "AxleWeightShare": 0.18333, + "TwinTyres": false, + "RRCISO": 0.0055, + "FzISO": 41690.0, + "Type": "Trailer" + }, + { + "Inertia": 19.2, + "Wheels": "385/65 R22.5", + "AxleWeightShare": 0.18334, + "TwinTyres": false, + "RRCISO": 0.0055, + "FzISO": 41690.0, + "Type": "Trailer" + } + ] + }, + "EngineStopStart": true, + "EcoRoll": "None", + "PredictiveCruiseControl": "None", + "ATEcoRollReleaseLockupClutch": false, + "CdA": 5.3, + "VehicleHeight": 4.0, + "IdlingSpeed": 600.0, + "Retarder": { + "Type": "secondary", + "Ratio": 1.0, + "File": "..\\Transmission\\Default.vrlm" + }, + "Angledrive": { + "Type": "None", + "Ratio": 0.0, + "LossMap": "" + }, + "PTO": { + "Type": "None", + "LossMap": "", + "Cycle": "" + }, + "TorqueLimits": {}, + "InitialSoC": 80.0, + "PowertrainConfiguration": "ParallelHybrid", + "MaxDrivetrainPower": 500000.0, + "ElectricMotors": [ + { + "Count": 1, + "Ratio": 1.0, + "MechanicalTransmissionLossMap": "GenericADC_1.vtlm", + "Position": "P2", + "MotorFile": "..\\ElectricMotor\\Inputdaten P2 Group 5\\Electric components\\GenericEMotor_140kW_936Nm.vem" + } + ], + "Battery": { + "NumPacks": 1, + "BatteryFile": "..\\ElectricMotor\\Inputdaten P2 Group 5\\Electric components\\GenericBattery_10kWh_658V.vbat" + } + } +} \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Vehicle/Group5_HEV_EMLossMap_2.vveh b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Vehicle/Group5_HEV_EMLossMap_2.vveh new file mode 100644 index 0000000000000000000000000000000000000000..9494e16c98bbec9263894c3d6ef5fa14d702782a --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Vehicle/Group5_HEV_EMLossMap_2.vveh @@ -0,0 +1,109 @@ +{ + "Header": { + "CreatedBy": "", + "Date": "2020-08-24T09:14:33.9240545Z", + "AppVersion": "3", + "FileVersion": 10 + }, + "Body": { + "SavedInDeclMode": false, + "VehCat": "Tractor", + "LegislativeClass": "Unknown", + "CurbWeight": 8229.0, + "CurbWeightExtra": 7500.0, + "MassMax": 18.0, + "Loading": 19300.0, + "rdyn": 492.0, + "CdCorrMode": "CdofVdecl", + "CdCorrFile": "", + "AxleConfig": { + "Type": "4x2", + "Axles": [ + { + "Inertia": 14.9, + "Wheels": "315/70 R22.5", + "AxleWeightShare": 0.2, + "TwinTyres": false, + "RRCISO": 0.0055, + "FzISO": 33350.0, + "Type": "VehicleNonDriven" + }, + { + "Inertia": 14.9, + "Wheels": "315/70 R22.5", + "AxleWeightShare": 0.25, + "TwinTyres": true, + "RRCISO": 0.0065, + "FzISO": 33350.0, + "Type": "VehicleDriven" + }, + { + "Inertia": 19.2, + "Wheels": "385/65 R22.5", + "AxleWeightShare": 0.18333, + "TwinTyres": false, + "RRCISO": 0.0055, + "FzISO": 41690.0, + "Type": "Trailer" + }, + { + "Inertia": 19.2, + "Wheels": "385/65 R22.5", + "AxleWeightShare": 0.18333, + "TwinTyres": false, + "RRCISO": 0.0055, + "FzISO": 41690.0, + "Type": "Trailer" + }, + { + "Inertia": 19.2, + "Wheels": "385/65 R22.5", + "AxleWeightShare": 0.18334, + "TwinTyres": false, + "RRCISO": 0.0055, + "FzISO": 41690.0, + "Type": "Trailer" + } + ] + }, + "EngineStopStart": true, + "EcoRoll": "None", + "PredictiveCruiseControl": "None", + "ATEcoRollReleaseLockupClutch": false, + "CdA": 5.3, + "VehicleHeight": 4.0, + "IdlingSpeed": 600.0, + "Retarder": { + "Type": "secondary", + "Ratio": 1.0, + "File": "..\\Transmission\\Default.vrlm" + }, + "Angledrive": { + "Type": "None", + "Ratio": 0.0, + "LossMap": "" + }, + "PTO": { + "Type": "None", + "LossMap": "", + "Cycle": "" + }, + "TorqueLimits": {}, + "InitialSoC": 80.0, + "PowertrainConfiguration": "ParallelHybrid", + "MaxDrivetrainPower": 500000.0, + "ElectricMotors": [ + { + "Count": 1, + "Ratio": 1.0, + "MechanicalTransmissionLossMap": "GenericADC_2.vtlm", + "Position": "P2", + "MotorFile": "..\\ElectricMotor\\Inputdaten P2 Group 5\\Electric components\\GenericEMotor_140kW_936Nm.vem" + } + ], + "Battery": { + "NumPacks": 1, + "BatteryFile": "..\\ElectricMotor\\Inputdaten P2 Group 5\\Electric components\\GenericBattery_10kWh_658V.vbat" + } + } +} \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/Utils/MockSimulationDataFactory.cs b/VectoCore/VectoCoreTest/Utils/MockSimulationDataFactory.cs index 91c60d11aed79d037538aa20d6dab591a338a8b3..bd5bde849a098bd4aa98223b9fdb811a97181975 100644 --- a/VectoCore/VectoCoreTest/Utils/MockSimulationDataFactory.cs +++ b/VectoCore/VectoCoreTest/Utils/MockSimulationDataFactory.cs @@ -187,7 +187,7 @@ namespace TUGraz.VectoCore.Tests.Utils Entries = new[] { new ElectricMachineEntry<IElectricMotorEngineeringInputData>() { - Count = count, ElectricMachine = inputData, Position = pos, Ratio = ratio, MechanicalEfficiency = efficiency, + Count = count, ElectricMachine = inputData, Position = pos, Ratio = ratio, MechanicalTransmissionEfficiency = efficiency, } } }, null); diff --git a/VectoCore/VectoCoreTest/VectoCoreTest.csproj b/VectoCore/VectoCoreTest/VectoCoreTest.csproj index ebac83b86de672a8cd7509ccb516c579b0d36ceb..ea343f7b54d81d2390adc478c7b53521f5e2a31f 100644 --- a/VectoCore/VectoCoreTest/VectoCoreTest.csproj +++ b/VectoCore/VectoCoreTest/VectoCoreTest.csproj @@ -761,6 +761,9 @@ <None Include="TestData\Hybrids\GenericVehicle_Group2_P2\Gear_9.vtlm"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </None> + <None Include="TestData\Hybrids\GenericVehicle_Group2_P2\GenericADC.vtlm"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> <None Include="TestData\Hybrids\GenericVehicle_Group2_P2\GenericBattery.vbat"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </None> @@ -827,6 +830,12 @@ <None Include="TestData\Hybrids\GenericVehicle_Group5_P2\ElectricMotor\Inputdaten P2 Group 5\Electric components\MaxCurrent.vimax"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </None> + <None Include="TestData\Hybrids\GenericVehicle_Group5_P2\P2 Group 5_EMLossMap_2.vecto"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="TestData\Hybrids\GenericVehicle_Group5_P2\P2 Group 5_EMLossMap_1.vecto"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> <None Include="TestData\Hybrids\GenericVehicle_Group5_P2\P2 Group 5_LimitVehiclePropTq.vecto"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </None> @@ -893,6 +902,18 @@ <None Include="TestData\Hybrids\GenericVehicle_Group5_P2\Vehicle\EM_TorqueLimits.vemp"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </None> + <None Include="TestData\Hybrids\GenericVehicle_Group5_P2\Vehicle\GenericADC_2.vtlm"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="TestData\Hybrids\GenericVehicle_Group5_P2\Vehicle\GenericADC_1.vtlm"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="TestData\Hybrids\GenericVehicle_Group5_P2\Vehicle\Group5_HEV_EMLossMap_2.vveh"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="TestData\Hybrids\GenericVehicle_Group5_P2\Vehicle\Group5_HEV_EMLossMap_1.vveh"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> <None Include="TestData\Hybrids\GenericVehicle_Group5_P2\Vehicle\Group5_HEV_LimitEMTorqueDrive.vveh"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </None>