diff --git a/VECTO/GUI/MainForm.vb b/VECTO/GUI/MainForm.vb index 57879211bbf75bc316787681377b3c3fd0406db0..cccfd32417de084c68259ce1f69f80224e7002a4 100644 --- a/VECTO/GUI/MainForm.vb +++ b/VECTO/GUI/MainForm.vb @@ -50,13 +50,14 @@ Imports TUGraz.VectoCore.InputData.FileIO.XML.Declaration Imports TUGraz.VectoCore.InputData.FileIO.XML.Engineering Imports TUGraz.VectoCore.OutputData Imports TUGraz.VectoCore.OutputData.FileIO +Imports TUGraz.VectoCore.Utils ''' <summary> ''' Main application form. Loads at application start. Closing form ends application. ''' </summary> ''' <remarks></remarks> - Public Class MainForm +Public Class MainForm Private _jobListView As FileListView Private _cycleListView As FileListView @@ -74,7 +75,7 @@ Imports TUGraz.VectoCore.OutputData.FileIO #Region "SLEEP Control - Prevent sleep while VECTO is running" - Private Declare Function SetThreadExecutionState Lib "kernel32"(esFlags As Long) As Long + Private Declare Function SetThreadExecutionState Lib "kernel32" (esFlags As Long) As Long Private Shared Sub AllowSleepOff() #If Not PLATFORM = "x86" Then @@ -236,8 +237,8 @@ Imports TUGraz.VectoCore.OutputData.FileIO LoadOptions() 'Resize columns ... after Loading the @file-lists - LvGEN.Columns(1).Width = - 2 - LvMsg.Columns(2).Width = - 2 + LvGEN.Columns(1).Width = -2 + LvMsg.Columns(2).Width = -2 'Initialize BackgroundWorker @@ -494,7 +495,7 @@ Imports TUGraz.VectoCore.OutputData.FileIO lastindx = LvGEN.SelectedIndices(LvGEN.SelectedItems.Count - 1) - For i = UBound(selIx) To 0 Step - 1 + For i = UBound(selIx) To 0 Step -1 LvGEN.Items.RemoveAt(selIx(i)) Next @@ -562,7 +563,7 @@ Imports TUGraz.VectoCore.OutputData.FileIO Dim p As Integer Dim f As Integer Dim fList As String() - Dim fListDim As Integer = - 1 + Dim fListDim As Integer = -1 Dim listViewItem As ListViewItem 'If VECTO runs: Cancel operation (because Mode-change during calculation is not very clever) @@ -617,7 +618,7 @@ Imports TUGraz.VectoCore.OutputData.FileIO listViewItem.Selected = True LvGEN.Items.Add(listViewItem) listViewItem.EnsureVisible() - lbFound: +lbFound: Next LvGEN.EndUpdate() @@ -889,7 +890,7 @@ Imports TUGraz.VectoCore.OutputData.FileIO Status("Launching VECTO ...") JobFileList.Clear() JobFileList.AddRange( - From listViewItem As ListViewItem In LvGEN.CheckedItems.Cast (Of ListViewItem)() + From listViewItem As ListViewItem In LvGEN.CheckedItems.Cast(Of ListViewItem)() Select fFileRepl = FileRepl(listViewItem.SubItems(0).Text)) SetOptions() @@ -930,6 +931,7 @@ Imports TUGraz.VectoCore.OutputData.FileIO mode = ExecutionMode.Declaration Else mode = ExecutionMode.Engineering + Physics.AirDensity = Cfg.AirDensity.SI(Of KilogramPerCubicMeter)() End If 'dictionary of run-identifiers to fileWriters (used for output directory of modfile) @@ -1013,10 +1015,10 @@ Imports TUGraz.VectoCore.OutputData.FileIO Dim sumProgress As Double = progress.Sum(Function(pair) pair.Value.Progress) Dim duration As Double = (DateTime.Now() - start).TotalSeconds - sender.ReportProgress(Convert.ToInt32((sumProgress*100.0)/progress.Count), + sender.ReportProgress(Convert.ToInt32((sumProgress * 100.0) / progress.Count), New VectoProgress With {.Target = "Status", .Message = _ - String.Format("Duration: {0:0}s, Current Progress: {1:P} ({2})", duration, sumProgress/progress.Count, + String.Format("Duration: {0:0}s, Current Progress: {1:P} ({2})", duration, sumProgress / progress.Count, String.Join(", ", progress.Select(Function(pair) String.Format("{0,4:P}", pair.Value.Progress))))}) Dim justFinished As Dictionary(Of Integer, JobContainer.ProgressEntry) = @@ -1040,7 +1042,7 @@ Imports TUGraz.VectoCore.OutputData.FileIO .Message = String.Format("{0,-60} {1,8:P} {2,10:F2}s - {3}", String.Format("{0} {1} {2}", progressEntry.Value.RunName, progressEntry.Value.CycleName, progressEntry.Value.RunSuffix), - progressEntry.Value.Progress, progressEntry.Value.ExecTime/1000.0, + progressEntry.Value.Progress, progressEntry.Value.ExecTime / 1000.0, IIf(progressEntry.Value.Success, "Success", "Aborted"))}) If (Not progressEntry.Value.Success) Then sender.ReportProgress(100, @@ -1328,9 +1330,9 @@ Imports TUGraz.VectoCore.OutputData.FileIO ToolStripProgBarJob.Value = .ProgJobInt - If .ProgOverallStartInt > - 1 Then + If .ProgOverallStartInt > -1 Then ToolStripProgBarOverall.Value = - CInt(.ProgOverallStartInt + (.PgroOverallEndInt - .ProgOverallStartInt)*.ProgJobInt/100) + CInt(.ProgOverallStartInt + (.PgroOverallEndInt - .ProgOverallStartInt) * .ProgJobInt / 100) End If End With @@ -1651,7 +1653,7 @@ Imports TUGraz.VectoCore.OutputData.FileIO _mainForm.LvMsg.Items.Insert(RowLim - 4, Space(ColLim - 30) & " " & Space(10) & "*| |*") End Select Exit Sub - LbRace: +LbRace: _pRbAlt = Not _pRbAlt @@ -1679,17 +1681,17 @@ Imports TUGraz.VectoCore.OutputData.FileIO Abort() Exit Sub End If - _scr += 5*_diffLvl + _scr += 5 * _diffLvl End If _scr += _diffLvl _diffC += 1 'Erhöhe Schwierigkeitsgrad - If _diffC = (_diffLvl + 3)*4 Then + If _diffC = (_diffLvl + 3) * 4 Then _diffC = 0 _diffLvl += 1 - If _diffLvl > 2 And _diffLvl < 7 Then _mainForm.TmProgSec.Interval = 300 - (_diffLvl)*30 + If _diffLvl > 2 And _diffLvl < 7 Then _mainForm.TmProgSec.Interval = 300 - (_diffLvl) * 30 _scr += 100 Select Case _diffLvl Case 3 @@ -1773,10 +1775,10 @@ Imports TUGraz.VectoCore.OutputData.FileIO _ctrls(RowLim + 1) = 0 _ctrlC += 1 If _ctrlC < _ctrlCl Then Exit Sub - Select Case CInt(Int((_ctrlRnd*Rnd()) + 1)) + Select Case CInt(Int((_ctrlRnd * Rnd()) + 1)) Case 1, 2 _ctrlC = 0 - x = CInt(Int((7*Rnd()) + 1)) + x = CInt(Int((7 * Rnd()) + 1)) _ctrls(RowLim + 1) = x End Select End Sub @@ -1819,7 +1821,7 @@ Imports TUGraz.VectoCore.OutputData.FileIO s = s.Insert(_ctrls(RowLim + 1) + 1, "X") End If Select Case _xPanel - _pnls(RowLim) - Case - 1 + Case -1 s = Replace(s, "|", "\") Case 1 s = Replace(s, "|", "/") @@ -1831,15 +1833,15 @@ Imports TUGraz.VectoCore.OutputData.FileIO _pnDirC += 1 If _pnDirC < _pnDirCl Then GoTo Lb1 _pnDirC = 0 - Select Case CInt(Int((_pnDirRnd*Rnd()) + 1)) + Select Case CInt(Int((_pnDirRnd * Rnd()) + 1)) Case 1 _pnDir = 1 Case 2 - _pnDir = - 1 + _pnDir = -1 Case Else _pnDir = 0 End Select - Lb1: +Lb1: _xPanel += _pnDir If _xPanel > ColLim Then _xPanel = ColLim @@ -1890,7 +1892,7 @@ Imports TUGraz.VectoCore.OutputData.FileIO Dim builder As StringBuilder = New StringBuilder() For Each selectedItem As ListViewItem In LvMsg.SelectedItems builder.AppendLine(String.Join(", ", - selectedItem.SubItems.Cast (Of ListViewItem.ListViewSubItem).Select( + selectedItem.SubItems.Cast(Of ListViewItem.ListViewSubItem).Select( Function(item) item.Text))) Next Clipboard.SetText(builder.ToString()) diff --git a/VECTO/GUI/Settings.Designer.vb b/VECTO/GUI/Settings.Designer.vb index 4f608afb081f05291e02ca786b63e355d778567d..c524bbe19000e429d379e179aa79f91d0dbc4dc9 100644 --- a/VECTO/GUI/Settings.Designer.vb +++ b/VECTO/GUI/Settings.Designer.vb @@ -50,6 +50,7 @@ Partial Class Settings Me.Label2 = New System.Windows.Forms.Label() Me.ButReset = New System.Windows.Forms.Button() Me.BtHelp = New System.Windows.Forms.Button() + Me.Label1 = New System.Windows.Forms.Label() Me.GroupBox3.SuspendLayout() Me.GroupBox5.SuspendLayout() Me.TabControl1.SuspendLayout() @@ -177,6 +178,7 @@ Partial Class Settings ' 'GrCalc ' + Me.GrCalc.Controls.Add(Me.Label1) Me.GrCalc.Controls.Add(Me.Label11) Me.GrCalc.Controls.Add(Me.Label9) Me.GrCalc.Controls.Add(Me.Label3) @@ -192,7 +194,6 @@ Partial Class Settings Me.GrCalc.TabIndex = 1 Me.GrCalc.TabStop = False Me.GrCalc.Text = "Calculation" - Me.GrCalc.Visible = False ' 'Label11 ' @@ -202,6 +203,7 @@ Partial Class Settings Me.Label11.Size = New System.Drawing.Size(77, 13) Me.Label11.TabIndex = 16 Me.Label11.Text = "[kgCO2/KgFC]" + Me.Label11.Visible = False ' 'Label9 ' @@ -211,6 +213,7 @@ Partial Class Settings Me.Label9.Size = New System.Drawing.Size(41, 13) Me.Label9.TabIndex = 16 Me.Label9.Text = "[kg/m³]" + Me.Label9.Visible = False ' 'Label3 ' @@ -227,6 +230,7 @@ Partial Class Settings Me.TbCO2toFC.Name = "TbCO2toFC" Me.TbCO2toFC.Size = New System.Drawing.Size(50, 20) Me.TbCO2toFC.TabIndex = 2 + Me.TbCO2toFC.Visible = False ' 'Label10 ' @@ -236,6 +240,7 @@ Partial Class Settings Me.Label10.Size = New System.Drawing.Size(91, 13) Me.Label10.TabIndex = 14 Me.Label10.Text = "CO2-to-Fuel Ratio" + Me.Label10.Visible = False ' 'TbFuelDens ' @@ -243,6 +248,7 @@ Partial Class Settings Me.TbFuelDens.Name = "TbFuelDens" Me.TbFuelDens.Size = New System.Drawing.Size(50, 20) Me.TbFuelDens.TabIndex = 1 + Me.TbFuelDens.Visible = False ' 'Label8 ' @@ -252,6 +258,7 @@ Partial Class Settings Me.Label8.Size = New System.Drawing.Size(63, 13) Me.Label8.TabIndex = 14 Me.Label8.Text = "Fuel density" + Me.Label8.Visible = False ' 'TbAirDensity ' @@ -289,6 +296,15 @@ Partial Class Settings Me.BtHelp.TabIndex = 0 Me.BtHelp.UseVisualStyleBackColor = True ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Location = New System.Drawing.Point(206, 25) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(65, 13) + Me.Label1.TabIndex = 17 + Me.Label1.Text = "(Eng, Mode)" + ' 'Settings ' Me.AcceptButton = Me.ButtonOK @@ -342,4 +358,5 @@ Partial Class Settings Friend WithEvents GroupBox5 As GroupBox Friend WithEvents TbOpenCmdName As TextBox Friend WithEvents Label12 As Label + Friend WithEvents Label1 As System.Windows.Forms.Label End Class diff --git a/VECTO/GUI/Settings.vb b/VECTO/GUI/Settings.vb index 67a4cfbe192ea38eb288fa940694ed82140d2939..d406259c075e3e7d9e9e39c8c9eb25011a6f1906 100644 --- a/VECTO/GUI/Settings.vb +++ b/VECTO/GUI/Settings.vb @@ -32,7 +32,7 @@ Public Class Settings TbFuelDens.Text = Cfg.FuelDens.ToString TbCO2toFC.Text = Cfg.CO2perFC.ToString - GrCalc.Enabled = Not Cfg.DeclMode + 'GrCalc.Enabled = Not Cfg.DeclMode End Sub diff --git a/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs b/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs index 5100e9bd642835cccc5417b893dfc0d57ea8ac2d..10693e69d7a420d4d2e17458a74b1c9dc696f26e 100644 --- a/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs +++ b/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs @@ -1,2046 +1,2394 @@ -/* -* This file is part of VECTO. -* -* Copyright © 2012-2017 European Union -* -* Developed by Graz University of Technology, -* Institute of Internal Combustion Engines and Thermodynamics, -* Institute of Technical Informatics -* -* VECTO is licensed under the EUPL, Version 1.1 or - as soon they will be approved -* by the European Commission - subsequent versions of the EUPL (the "Licence"); -* You may not use VECTO except in compliance with the Licence. -* You may obtain a copy of the Licence at: -* -* https://joinup.ec.europa.eu/community/eupl/og_page/eupl -* -* Unless required by applicable law or agreed to in writing, VECTO -* distributed under the Licence is distributed on an "AS IS" basis, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the Licence for the specific language governing permissions and -* limitations under the Licence. -* -* Authors: -* Stefan Hausberger, hausberger@ivt.tugraz.at, IVT, Graz University of Technology -* Christian Kreiner, christian.kreiner@tugraz.at, ITI, Graz University of Technology -* Michael Krisper, michael.krisper@tugraz.at, ITI, Graz University of Technology -* Raphael Luz, luz@ivt.tugraz.at, IVT, Graz University of Technology -* Markus Quaritsch, markus.quaritsch@tugraz.at, IVT, Graz University of Technology -* Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology -*/ +//------------------------------------------------------------------------------ +// <auto-generated> +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// </auto-generated> +//------------------------------------------------------------------------------ -namespace TUGraz.VectoCommon.Resources { - using System; - - - /// <summary> - /// A strongly-typed resource class, for looking up localized strings, etc. - /// </summary> - // This class was auto-generated by the StronglyTypedResourceBuilder - // class via a tool like ResGen or Visual Studio. - // To add or remove a member, edit your .ResX file then rerun ResGen - // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - public class XMLNames { - - private static global::System.Resources.ResourceManager resourceMan; - - private static global::System.Globalization.CultureInfo resourceCulture; - - [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] - internal XMLNames() { - } - - /// <summary> - /// Returns the cached ResourceManager instance used by this class. - /// </summary> - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - public static global::System.Resources.ResourceManager ResourceManager { - get { - if (object.ReferenceEquals(resourceMan, null)) { - global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("TUGraz.VectoCommon.Resources.XMLNames", typeof(XMLNames).Assembly); - resourceMan = temp; - } - return resourceMan; - } - } - - /// <summary> - /// Overrides the current thread's CurrentUICulture property for all - /// resource lookups using this strongly typed resource class. - /// </summary> - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - public static global::System.Globalization.CultureInfo Culture { - get { - return resourceCulture; - } - set { - resourceCulture = value; - } - } - - /// <summary> - /// Looks up a localized string similar to DeclaredCdxA. - /// </summary> - public static string AirDrag_DeclaredCdxA { - get { - return ResourceManager.GetString("AirDrag_DeclaredCdxA", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Efficiency. - /// </summary> - public static string AngleDrive_Efficiency { - get { - return ResourceManager.GetString("AngleDrive_Efficiency", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Entry. - /// </summary> - public static string Angledrive_LossMap_Entry { - get { - return ResourceManager.GetString("Angledrive_LossMap_Entry", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Ratio. - /// </summary> - public static string AngleDrive_Ratio { - get { - return ResourceManager.GetString("AngleDrive_Ratio", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to TorqueLossMap. - /// </summary> - public static string AngleDrive_TorqueLossMap { - get { - return ResourceManager.GetString("AngleDrive_TorqueLossMap", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to auxiliarySpeed. - /// </summary> - public static string Aux_AuxMap_AuxiliarySpeed_Attr { - get { - return ResourceManager.GetString("Aux_AuxMap_AuxiliarySpeed_Attr", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to mechanicalPower. - /// </summary> - public static string Aux_AuxMap_MechanicalPower_Attr { - get { - return ResourceManager.GetString("Aux_AuxMap_MechanicalPower_Attr", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Auxiliary. - /// </summary> - public static string Auxiliaries_Auxiliary { - get { - return ResourceManager.GetString("Auxiliaries_Auxiliary", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to AuxMap. - /// </summary> - public static string Auxiliaries_Auxiliary_AuxMap { - get { - return ResourceManager.GetString("Auxiliaries_Auxiliary_AuxMap", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Entry. - /// </summary> - public static string Auxiliaries_Auxiliary_AuxMap_Entry { - get { - return ResourceManager.GetString("Auxiliaries_Auxiliary_AuxMap_Entry", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to ConstantAuxLoad. - /// </summary> - public static string Auxiliaries_Auxiliary_ConstantAuxLoad { - get { - return ResourceManager.GetString("Auxiliaries_Auxiliary_ConstantAuxLoad", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to EfficiencyAuxSupply. - /// </summary> - public static string Auxiliaries_Auxiliary_EfficiencyAuxSupply { - get { - return ResourceManager.GetString("Auxiliaries_Auxiliary_EfficiencyAuxSupply", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to EfficiencyToEngine. - /// </summary> - public static string Auxiliaries_Auxiliary_EfficiencyToEngine { - get { - return ResourceManager.GetString("Auxiliaries_Auxiliary_EfficiencyToEngine", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to id. - /// </summary> - public static string Auxiliaries_Auxiliary_ID_Attr { - get { - return ResourceManager.GetString("Auxiliaries_Auxiliary_ID_Attr", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Technology. - /// </summary> - public static string Auxiliaries_Auxiliary_Technology { - get { - return ResourceManager.GetString("Auxiliaries_Auxiliary_Technology", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to TransmissionRatioToEngine. - /// </summary> - public static string Auxiliaries_Auxiliary_TransmissionRatioToEngine { - get { - return ResourceManager.GetString("Auxiliaries_Auxiliary_TransmissionRatioToEngine", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to supplyPower. - /// </summary> - public static string Auxr_AuxMapMapping_SupplyPower_Attr { - get { - return ResourceManager.GetString("Auxr_AuxMapMapping_SupplyPower_Attr", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Efficiency. - /// </summary> - public static string Axlegear_Efficiency { - get { - return ResourceManager.GetString("Axlegear_Efficiency", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to LineType. - /// </summary> - public static string Axlegear_LineType { - get { - return ResourceManager.GetString("Axlegear_LineType", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Ratio. - /// </summary> - public static string Axlegear_Ratio { - get { - return ResourceManager.GetString("Axlegear_Ratio", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to TorqueLossMap. - /// </summary> - public static string Axlegear_TorqueLossMap { - get { - return ResourceManager.GetString("Axlegear_TorqueLossMap", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Entry. - /// </summary> - public static string Axlegear_TorqueLossMap_Entry { - get { - return ResourceManager.GetString("Axlegear_TorqueLossMap_Entry", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Axles. - /// </summary> - public static string AxleWheels_Axles { - get { - return ResourceManager.GetString("AxleWheels_Axles", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Axle. - /// </summary> - public static string AxleWheels_Axles_Axle { - get { - return ResourceManager.GetString("AxleWheels_Axles_Axle", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to axleNumber. - /// </summary> - public static string AxleWheels_Axles_Axle_AxleNumber_Attr { - get { - return ResourceManager.GetString("AxleWheels_Axles_Axle_AxleNumber_Attr", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to AxleType. - /// </summary> - public static string AxleWheels_Axles_Axle_AxleType { - get { - return ResourceManager.GetString("AxleWheels_Axles_Axle_AxleType", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to AxleType. - /// </summary> - public static string AxleWheels_Axles_Axle_AxleType_Attr { - get { - return ResourceManager.GetString("AxleWheels_Axles_Axle_AxleType_Attr", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Dimension. - /// </summary> - public static string AxleWheels_Axles_Axle_Dimension { - get { - return ResourceManager.GetString("AxleWheels_Axles_Axle_Dimension", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to DynamicTyreRadius. - /// </summary> - public static string AxleWheels_Axles_Axle_DynamicTyreRadius { - get { - return ResourceManager.GetString("AxleWheels_Axles_Axle_DynamicTyreRadius", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to FzISO. - /// </summary> - public static string AxleWheels_Axles_Axle_FzISO { - get { - return ResourceManager.GetString("AxleWheels_Axles_Axle_FzISO", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Inertia. - /// </summary> - public static string AxleWheels_Axles_Axle_Inertia { - get { - return ResourceManager.GetString("AxleWheels_Axles_Axle_Inertia", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to RRCDeclared. - /// </summary> - public static string AxleWheels_Axles_Axle_RRCDeclared { - get { - return ResourceManager.GetString("AxleWheels_Axles_Axle_RRCDeclared", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to RRCISO. - /// </summary> - public static string AxleWheels_Axles_Axle_RRCISO { - get { - return ResourceManager.GetString("AxleWheels_Axles_Axle_RRCISO", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Steered. - /// </summary> - public static string AxleWheels_Axles_Axle_Steered { - get { - return ResourceManager.GetString("AxleWheels_Axles_Axle_Steered", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to TwinTyres. - /// </summary> - public static string AxleWheels_Axles_Axle_TwinTyres { - get { - return ResourceManager.GetString("AxleWheels_Axles_Axle_TwinTyres", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to TwinTyres. - /// </summary> - public static string AxleWheels_Axles_Axle_TwinTyres_Attr { - get { - return ResourceManager.GetString("AxleWheels_Axles_Axle_TwinTyres_Attr", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Tyre. - /// </summary> - public static string AxleWheels_Axles_Axle_Tyre { - get { - return ResourceManager.GetString("AxleWheels_Axles_Axle_Tyre", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to WeightShare. - /// </summary> - public static string AxleWheels_Axles_Axle_WeightShare { - get { - return ResourceManager.GetString("AxleWheels_Axles_Axle_WeightShare", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to AirDrag. - /// </summary> - public static string Component_AirDrag { - get { - return ResourceManager.GetString("Component_AirDrag", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Angledrive. - /// </summary> - public static string Component_Angledrive { - get { - return ResourceManager.GetString("Component_Angledrive", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to AppVersion. - /// </summary> - public static string Component_AppVersion { - get { - return ResourceManager.GetString("Component_AppVersion", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Auxiliaries. - /// </summary> - public static string Component_Auxiliaries { - get { - return ResourceManager.GetString("Component_Auxiliaries", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Axlegear. - /// </summary> - public static string Component_Axlegear { - get { - return ResourceManager.GetString("Component_Axlegear", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to AxleWheels. - /// </summary> - public static string Component_AxleWheels { - get { - return ResourceManager.GetString("Component_AxleWheels", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to CertificationMethod. - /// </summary> - public static string Component_CertificationMethod { - get { - return ResourceManager.GetString("Component_CertificationMethod", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to CertificationNumber. - /// </summary> - public static string Component_CertificationNumber { - get { - return ResourceManager.GetString("Component_CertificationNumber", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Creator. - /// </summary> - public static string Component_Creator { - get { - return ResourceManager.GetString("Component_Creator", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Date. - /// </summary> - public static string Component_Date { - get { - return ResourceManager.GetString("Component_Date", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to DriverModel. - /// </summary> - public static string Component_DriverModel { - get { - return ResourceManager.GetString("Component_DriverModel", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Engine. - /// </summary> - public static string Component_Engine { - get { - return ResourceManager.GetString("Component_Engine", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Gearbox. - /// </summary> - public static string Component_Gearbox { - get { - return ResourceManager.GetString("Component_Gearbox", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to MainCertificationMethod. - /// </summary> - public static string Component_Gearbox_CertificationMethod { - get { - return ResourceManager.GetString("Component_Gearbox_CertificationMethod", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to id. - /// </summary> - public static string Component_ID_Attr { - get { - return ResourceManager.GetString("Component_ID_Attr", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Manufacturer. - /// </summary> - public static string Component_Manufacturer { - get { - return ResourceManager.GetString("Component_Manufacturer", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to ManufacturerAddress. - /// </summary> - public static string Component_ManufacturerAddress { - get { - return ResourceManager.GetString("Component_ManufacturerAddress", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Model. - /// </summary> - public static string Component_Model { - get { - return ResourceManager.GetString("Component_Model", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Retarder. - /// </summary> - public static string Component_Retarder { - get { - return ResourceManager.GetString("Component_Retarder", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to TechnicalReportId. - /// </summary> - public static string Component_TechnicalReportId { - get { - return ResourceManager.GetString("Component_TechnicalReportId", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to TorqueConverter. - /// </summary> - public static string Component_TorqueConverter { - get { - return ResourceManager.GetString("Component_TorqueConverter", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Vehicle. - /// </summary> - public static string Component_Vehicle { - get { - return ResourceManager.GetString("Component_Vehicle", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Data. - /// </summary> - public static string ComponentDataWrapper { - get { - return ResourceManager.GetString("ComponentDataWrapper", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Signature. - /// </summary> - public static string DI_Signature { - get { - return ResourceManager.GetString("DI_Signature", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Algorithm. - /// </summary> - public static string DI_Signature_Algorithm_Attr { - get { - return ResourceManager.GetString("DI_Signature_Algorithm_Attr", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Reference. - /// </summary> - public static string DI_Signature_Reference { - get { - return ResourceManager.GetString("DI_Signature_Reference", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to DigestMethod. - /// </summary> - public static string DI_Signature_Reference_DigestMethod { - get { - return ResourceManager.GetString("DI_Signature_Reference_DigestMethod", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to DigestValue. - /// </summary> - public static string DI_Signature_Reference_DigestValue { - get { - return ResourceManager.GetString("DI_Signature_Reference_DigestValue", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Transforms. - /// </summary> - public static string DI_Signature_Reference_Transforms { - get { - return ResourceManager.GetString("DI_Signature_Reference_Transforms", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Transform. - /// </summary> - public static string DI_Signature_Reference_Transforms_Transform { - get { - return ResourceManager.GetString("DI_Signature_Reference_Transforms_Transform", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to URI. - /// </summary> - public static string DI_Signature_Reference_URI_Attr { - get { - return ResourceManager.GetString("DI_Signature_Reference_URI_Attr", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to decisionFactorVel. - /// </summary> - public static string Driver_CoastingDFTargetSpeedLookupMapping_DecisionFactor_Attr { - get { - return ResourceManager.GetString("Driver_CoastingDFTargetSpeedLookupMapping_DecisionFactor_Attr", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to targetVelocity. - /// </summary> - public static string Driver_CoastingDFTargetSpeedLookupMapping_TargetVelocity_Attr { - get { - return ResourceManager.GetString("Driver_CoastingDFTargetSpeedLookupMapping_TargetVelocity_Attr", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to decisionFactorDrop. - /// </summary> - public static string Driver_CoastingDFVelocityDropLookupMapping_DecisionFactorDrop_Attr { - get { - return ResourceManager.GetString("Driver_CoastingDFVelocityDropLookupMapping_DecisionFactorDrop_Attr", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to velocityDrop. - /// </summary> - public static string Driver_CoastingDFVelocityDropLookupMapping_VelocityDrop_Attr { - get { - return ResourceManager.GetString("Driver_CoastingDFVelocityDropLookupMapping_VelocityDrop_Attr", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to DriverAccelerationCurve. - /// </summary> - public static string DriverModel_DriverAccelerationCurve { - get { - return ResourceManager.GetString("DriverModel_DriverAccelerationCurve", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Entry. - /// </summary> - public static string DriverModel_DriverAccelerationCurve_Entry { - get { - return ResourceManager.GetString("DriverModel_DriverAccelerationCurve_Entry", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to LookAheadCoasting. - /// </summary> - public static string DriverModel_LookAheadCoasting { - get { - return ResourceManager.GetString("DriverModel_LookAheadCoasting", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to DecisionFactorOffset. - /// </summary> - public static string DriverModel_LookAheadCoasting_DecisionFactorOffset { - get { - return ResourceManager.GetString("DriverModel_LookAheadCoasting_DecisionFactorOffset", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to DecisionFactorScaling. - /// </summary> - public static string DriverModel_LookAheadCoasting_DecisionFactorScaling { - get { - return ResourceManager.GetString("DriverModel_LookAheadCoasting_DecisionFactorScaling", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Enabled. - /// </summary> - public static string DriverModel_LookAheadCoasting_Enabled { - get { - return ResourceManager.GetString("DriverModel_LookAheadCoasting_Enabled", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to MinSpeed. - /// </summary> - public static string DriverModel_LookAheadCoasting_MinSpeed { - get { - return ResourceManager.GetString("DriverModel_LookAheadCoasting_MinSpeed", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to PreviewDistanceFactor. - /// </summary> - public static string DriverModel_LookAheadCoasting_PreviewDistanceFactor { - get { - return ResourceManager.GetString("DriverModel_LookAheadCoasting_PreviewDistanceFactor", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to SpeedDependentDecisionFactor. - /// </summary> - public static string DriverModel_LookAheadCoasting_SpeedDependentDecisionFactor { - get { - return ResourceManager.GetString("DriverModel_LookAheadCoasting_SpeedDependentDecisionFactor", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to VelocityDropDecisionFactor. - /// </summary> - public static string DriverModel_LookAheadCoasting_VelocityDropDecisionFactor { - get { - return ResourceManager.GetString("DriverModel_LookAheadCoasting_VelocityDropDecisionFactor", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Overspeed. - /// </summary> - public static string DriverModel_Overspeed { - get { - return ResourceManager.GetString("DriverModel_Overspeed", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to AllowedOverspeed. - /// </summary> - public static string DriverModel_Overspeed_AllowedOverspeed { - get { - return ResourceManager.GetString("DriverModel_Overspeed_AllowedOverspeed", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to AllowedUnderspeed. - /// </summary> - public static string DriverModel_Overspeed_AllowedUnderspeed { - get { - return ResourceManager.GetString("DriverModel_Overspeed_AllowedUnderspeed", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to MinSpeed. - /// </summary> - public static string DriverModel_Overspeed_MinSpeed { - get { - return ResourceManager.GetString("DriverModel_Overspeed_MinSpeed", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Mode. - /// </summary> - public static string DriverModel_Overspeed_Mode { - get { - return ResourceManager.GetString("DriverModel_Overspeed_Mode", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to ShiftStrategyParameters. - /// </summary> - public static string DriverModel_ShiftStrategyParameters { - get { - return ResourceManager.GetString("DriverModel_ShiftStrategyParameters", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to DownshiftAfterUpshiftDelay. - /// </summary> - public static string DriverModel_ShiftStrategyParameters_DownshiftAfterUpshiftDelay { - get { - return ResourceManager.GetString("DriverModel_ShiftStrategyParameters_DownshiftAfterUpshiftDelay", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to StartAcceleration. - /// </summary> - public static string DriverModel_ShiftStrategyParameters_StartAcceleration { - get { - return ResourceManager.GetString("DriverModel_ShiftStrategyParameters_StartAcceleration", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to StartSpeed. - /// </summary> - public static string DriverModel_ShiftStrategyParameters_StartSpeed { - get { - return ResourceManager.GetString("DriverModel_ShiftStrategyParameters_StartSpeed", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to StartTorqueReserve. - /// </summary> - public static string DriverModel_ShiftStrategyParameters_StartTorqueReserve { - get { - return ResourceManager.GetString("DriverModel_ShiftStrategyParameters_StartTorqueReserve", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to TimeBetweenGearshift. - /// </summary> - public static string DriverModel_ShiftStrategyParameters_TimeBetweenGearshift { - get { - return ResourceManager.GetString("DriverModel_ShiftStrategyParameters_TimeBetweenGearshift", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to TorqueReserve. - /// </summary> - public static string DriverModel_ShiftStrategyParameters_TorqueReserve { - get { - return ResourceManager.GetString("DriverModel_ShiftStrategyParameters_TorqueReserve", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to UpshiftAfterDownshiftDelay. - /// </summary> - public static string DriverModel_ShiftStrategyParameters_UpshiftAfterDownshiftDelay { - get { - return ResourceManager.GetString("DriverModel_ShiftStrategyParameters_UpshiftAfterDownshiftDelay", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to UpshiftMinAcceleration. - /// </summary> - public static string DriverModel_ShiftStrategyParameters_UpshiftMinAcceleration { - get { - return ResourceManager.GetString("DriverModel_ShiftStrategyParameters_UpshiftMinAcceleration", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to BFColdHot. - /// </summary> - public static string Engine_ColdHotBalancingFactor { - get { - return ResourceManager.GetString("Engine_ColdHotBalancingFactor", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to CFNCV. - /// </summary> - public static string Engine_CorrecionFactor_NCV { - get { - return ResourceManager.GetString("Engine_CorrecionFactor_NCV", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to CFRegPer. - /// </summary> - public static string Engine_CorrectionFactor_RegPer { - get { - return ResourceManager.GetString("Engine_CorrectionFactor_RegPer", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Displacement. - /// </summary> - public static string Engine_Displacement { - get { - return ResourceManager.GetString("Engine_Displacement", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to engineSpeed. - /// </summary> - public static string Engine_EngineFullLoadCurve_EngineSpeed_Attr { - get { - return ResourceManager.GetString("Engine_EngineFullLoadCurve_EngineSpeed_Attr", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to FuelConsumptionMap. - /// </summary> - public static string Engine_FuelConsumptionMap { - get { - return ResourceManager.GetString("Engine_FuelConsumptionMap", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to engineSpeed. - /// </summary> - public static string Engine_FuelConsumptionMap_EngineSpeed_Attr { - get { - return ResourceManager.GetString("Engine_FuelConsumptionMap_EngineSpeed_Attr", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Entry. - /// </summary> - public static string Engine_FuelConsumptionMap_Entry { - get { - return ResourceManager.GetString("Engine_FuelConsumptionMap_Entry", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to fuelConsumption. - /// </summary> - public static string Engine_FuelConsumptionMap_FuelConsumption_Attr { - get { - return ResourceManager.GetString("Engine_FuelConsumptionMap_FuelConsumption_Attr", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to torque. - /// </summary> - public static string Engine_FuelConsumptionMap_Torque_Attr { - get { - return ResourceManager.GetString("Engine_FuelConsumptionMap_Torque_Attr", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to FuelType. - /// </summary> - public static string Engine_FuelType { - get { - return ResourceManager.GetString("Engine_FuelType", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to FullLoadAndDragCurve. - /// </summary> - public static string Engine_FullLoadAndDragCurve { - get { - return ResourceManager.GetString("Engine_FullLoadAndDragCurve", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to dragTorque. - /// </summary> - public static string Engine_FullLoadCurve_DragTorque_Attr { - get { - return ResourceManager.GetString("Engine_FullLoadCurve_DragTorque_Attr", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Entry. - /// </summary> - public static string Engine_FullLoadCurve_Entry { - get { - return ResourceManager.GetString("Engine_FullLoadCurve_Entry", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to maxTorque. - /// </summary> - public static string Engine_FullLoadCurve_MaxTorque_Attr { - get { - return ResourceManager.GetString("Engine_FullLoadCurve_MaxTorque_Attr", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to IdlingSpeed. - /// </summary> - public static string Engine_IdlingSpeed { - get { - return ResourceManager.GetString("Engine_IdlingSpeed", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Inertia. - /// </summary> - public static string Engine_Inertia { - get { - return ResourceManager.GetString("Engine_Inertia", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to MaxEngineTorque. - /// </summary> - public static string Engine_MaxTorque { - get { - return ResourceManager.GetString("Engine_MaxTorque", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to RatedPower. - /// </summary> - public static string Engine_RatedPower { - get { - return ResourceManager.GetString("Engine_RatedPower", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to RatedSpeed. - /// </summary> - public static string Engine_RatedSpeed { - get { - return ResourceManager.GetString("Engine_RatedSpeed", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to WHTCEngineering. - /// </summary> - public static string Engine_WHTCEngineering { - get { - return ResourceManager.GetString("Engine_WHTCEngineering", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to WHTCMotorway. - /// </summary> - public static string Engine_WHTCMotorway { - get { - return ResourceManager.GetString("Engine_WHTCMotorway", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to WHTCRural. - /// </summary> - public static string Engine_WHTCRural { - get { - return ResourceManager.GetString("Engine_WHTCRural", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to WHTCUrban. - /// </summary> - public static string Engine_WHTCUrban { - get { - return ResourceManager.GetString("Engine_WHTCUrban", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Resource. - /// </summary> - public static string ExternalResource { - get { - return ResourceManager.GetString("ExternalResource", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to component. - /// </summary> - public static string ExtResource_Component_Attr { - get { - return ResourceManager.GetString("ExtResource_Component_Attr", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to file. - /// </summary> - public static string ExtResource_File_Attr { - get { - return ResourceManager.GetString("ExtResource_File_Attr", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to type. - /// </summary> - public static string ExtResource_Type_Attr { - get { - return ResourceManager.GetString("ExtResource_Type_Attr", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to csv. - /// </summary> - public static string ExtResource_Type_Value_CSV { - get { - return ResourceManager.GetString("ExtResource_Type_Value_CSV", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to xml. - /// </summary> - public static string ExtResource_Type_Value_XML { - get { - return ResourceManager.GetString("ExtResource_Type_Value_XML", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to engineTorque. - /// </summary> - public static string Gear_ShiftPolygon_EngineTorque_Attr { - get { - return ResourceManager.GetString("Gear_ShiftPolygon_EngineTorque_Attr", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to downshiftSpeed. - /// </summary> - public static string Gear_ShiftPolygonMapping_DownshiftSpeed_Attr { - get { - return ResourceManager.GetString("Gear_ShiftPolygonMapping_DownshiftSpeed_Attr", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to upshiftSpeed. - /// </summary> - public static string Gear_ShiftPolygonMapping_UpshiftSpeed_Attr { - get { - return ResourceManager.GetString("Gear_ShiftPolygonMapping_UpshiftSpeed_Attr", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Efficiency. - /// </summary> - public static string Gearbox_Gear_Efficiency { - get { - return ResourceManager.GetString("Gearbox_Gear_Efficiency", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to number. - /// </summary> - public static string Gearbox_Gear_GearNumber_Attr { - get { - return ResourceManager.GetString("Gearbox_Gear_GearNumber_Attr", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to MaxSpeed. - /// </summary> - public static string Gearbox_Gear_MaxSpeed { - get { - return ResourceManager.GetString("Gearbox_Gear_MaxSpeed", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Ratio. - /// </summary> - public static string Gearbox_Gear_Ratio { - get { - return ResourceManager.GetString("Gearbox_Gear_Ratio", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to TorqueLossMap. - /// </summary> - public static string Gearbox_Gear_TorqueLossMap { - get { - return ResourceManager.GetString("Gearbox_Gear_TorqueLossMap", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Entry. - /// </summary> - public static string Gearbox_Gear_TorqueLossMap_Entry { - get { - return ResourceManager.GetString("Gearbox_Gear_TorqueLossMap_Entry", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Gears. - /// </summary> - public static string Gearbox_Gears { - get { - return ResourceManager.GetString("Gearbox_Gears", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Gear. - /// </summary> - public static string Gearbox_Gears_Gear { - get { - return ResourceManager.GetString("Gearbox_Gears_Gear", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to ShiftPolygon. - /// </summary> - public static string Gearbox_Gears_Gear_ShiftPolygon { - get { - return ResourceManager.GetString("Gearbox_Gears_Gear_ShiftPolygon", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Entry. - /// </summary> - public static string Gearbox_Gears_Gear_ShiftPolygon_Entry { - get { - return ResourceManager.GetString("Gearbox_Gears_Gear_ShiftPolygon_Entry", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to MaxTorque. - /// </summary> - public static string Gearbox_Gears_MaxTorque { - get { - return ResourceManager.GetString("Gearbox_Gears_MaxTorque", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Inertia. - /// </summary> - public static string Gearbox_Inertia { - get { - return ResourceManager.GetString("Gearbox_Inertia", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to TractionInterruption. - /// </summary> - public static string Gearbox_TractionInterruption { - get { - return ResourceManager.GetString("Gearbox_TractionInterruption", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to TransmissionType. - /// </summary> - public static string Gearbox_TransmissionType { - get { - return ResourceManager.GetString("Gearbox_TransmissionType", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Entry. - /// </summary> - public static string LookAheadCoasting_SpeedDependentDecisionFactor_Entry { - get { - return ResourceManager.GetString("LookAheadCoasting_SpeedDependentDecisionFactor_Entry", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Entry. - /// </summary> - public static string LookAheadCoasting_VelocityDropDecisionFactor_Entry { - get { - return ResourceManager.GetString("LookAheadCoasting_VelocityDropDecisionFactor_Entry", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Cycle. - /// </summary> - public static string Missions_Cycle { - get { - return ResourceManager.GetString("Missions_Cycle", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to RetarderLossMap. - /// </summary> - public static string Retarder_RetarderLossMap { - get { - return ResourceManager.GetString("Retarder_RetarderLossMap", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Entry. - /// </summary> - public static string Retarder_RetarderLossMap_Entry { - get { - return ResourceManager.GetString("Retarder_RetarderLossMap_Entry", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to retarderSpeed. - /// </summary> - public static string Retarder_RetarderLossmap_RetarderSpeed_Attr { - get { - return ResourceManager.GetString("Retarder_RetarderLossmap_RetarderSpeed_Attr", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to torqueLoss. - /// </summary> - public static string Retarder_RetarderLossmap_TorqueLoss_Attr { - get { - return ResourceManager.GetString("Retarder_RetarderLossmap_TorqueLoss_Attr", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Characteristics. - /// </summary> - public static string TorqueConverter_Characteristics { - get { - return ResourceManager.GetString("TorqueConverter_Characteristics", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Entry. - /// </summary> - public static string TorqueConverter_Characteristics_Entry { - get { - return ResourceManager.GetString("TorqueConverter_Characteristics_Entry", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Inertia. - /// </summary> - public static string TorqueConverter_Inertia { - get { - return ResourceManager.GetString("TorqueConverter_Inertia", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to ReferenceRPM. - /// </summary> - public static string TorqueConverter_ReferenceRPM { - get { - return ResourceManager.GetString("TorqueConverter_ReferenceRPM", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to ShiftPolygon. - /// </summary> - public static string TorqueConverter_ShiftPolygon { - get { - return ResourceManager.GetString("TorqueConverter_ShiftPolygon", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Entry. - /// </summary> - public static string TorqueConverter_ShiftPolygon_Entry { - get { - return ResourceManager.GetString("TorqueConverter_ShiftPolygon_Entry", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to speedRatio. - /// </summary> - public static string TorqueConverterData_SpeedRatio_Attr { - get { - return ResourceManager.GetString("TorqueConverterData_SpeedRatio_Attr", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to torqueRatio. - /// </summary> - public static string TorqueConverterData_TorqueRatio_Attr { - get { - return ResourceManager.GetString("TorqueConverterData_TorqueRatio_Attr", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to inputTorqueRef. - /// </summary> - public static string TorqueConverterDataMapping_InputTorqueRef_Attr { - get { - return ResourceManager.GetString("TorqueConverterDataMapping_InputTorqueRef_Attr", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to inputSpeed. - /// </summary> - public static string TransmissionLossmap_InputSpeed_Attr { - get { - return ResourceManager.GetString("TransmissionLossmap_InputSpeed_Attr", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to inputTorque. - /// </summary> - public static string TransmissionLossmap_InputTorque_Attr { - get { - return ResourceManager.GetString("TransmissionLossmap_InputTorque_Attr", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to torqueLoss. - /// </summary> - public static string TransmissionLossmap_TorqueLoss_Attr { - get { - return ResourceManager.GetString("TransmissionLossmap_TorqueLoss_Attr", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to VectoComponentEngineering. - /// </summary> - public static string VectoComponentEngineering { - get { - return ResourceManager.GetString("VectoComponentEngineering", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to VectoInputDeclaration. - /// </summary> - public static string VectoInputDeclaration { - get { - return ResourceManager.GetString("VectoInputDeclaration", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to VectoInputEngineering. - /// </summary> - public static string VectoInputEngineering { - get { - return ResourceManager.GetString("VectoInputEngineering", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to EngineOnlyMode. - /// </summary> - public static string VectoJob_EngineOnlyMode { - get { - return ResourceManager.GetString("VectoJob_EngineOnlyMode", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to MissionCycles. - /// </summary> - public static string VectoJob_MissionCycles { - get { - return ResourceManager.GetString("VectoJob_MissionCycles", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to maxAcceleration. - /// </summary> - public static string Vehicle_AccelerationCurve_MaxAcceleration_Attr { - get { - return ResourceManager.GetString("Vehicle_AccelerationCurve_MaxAcceleration_Attr", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to maxDeceleration. - /// </summary> - public static string Vehicle_AccelerationCurve_MaxDeceleration_Attr { - get { - return ResourceManager.GetString("Vehicle_AccelerationCurve_MaxDeceleration_Attr", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to vehicleSpeed. - /// </summary> - public static string Vehicle_AccelerationCurve_VehicleSpeed_Attr { - get { - return ResourceManager.GetString("Vehicle_AccelerationCurve_VehicleSpeed_Attr", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to AdvancedDriverAssist. - /// </summary> - public static string Vehicle_AdvancedDriverAssist { - get { - return ResourceManager.GetString("Vehicle_AdvancedDriverAssist", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to EngineStartStop. - /// </summary> - public static string Vehicle_AdvancedDriverAssist_EngineStartStop { - get { - return ResourceManager.GetString("Vehicle_AdvancedDriverAssist_EngineStartStop", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to ActivationDelay. - /// </summary> - public static string Vehicle_AdvancedDriverAssist_EngineStartStop_ActivationDelay { - get { - return ResourceManager.GetString("Vehicle_AdvancedDriverAssist_EngineStartStop_ActivationDelay", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Enabled. - /// </summary> - public static string Vehicle_AdvancedDriverAssist_EngineStartStop_Enabled { - get { - return ResourceManager.GetString("Vehicle_AdvancedDriverAssist_EngineStartStop_Enabled", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to MaxSpeed. - /// </summary> - public static string Vehicle_AdvancedDriverAssist_EngineStartStop_MaxSpeed { - get { - return ResourceManager.GetString("Vehicle_AdvancedDriverAssist_EngineStartStop_MaxSpeed", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to MinOnTime. - /// </summary> - public static string Vehicle_AdvancedDriverAssist_EngineStartStop_MinOnTime { - get { - return ResourceManager.GetString("Vehicle_AdvancedDriverAssist_EngineStartStop_MinOnTime", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to CdxA. - /// </summary> - public static string Vehicle_AirDragArea { - get { - return ResourceManager.GetString("Vehicle_AirDragArea", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to AngledriveType. - /// </summary> - public static string Vehicle_AngledriveType { - get { - return ResourceManager.GetString("Vehicle_AngledriveType", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to AxleConfiguration. - /// </summary> - public static string Vehicle_AxleConfiguration { - get { - return ResourceManager.GetString("Vehicle_AxleConfiguration", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Components. - /// </summary> - public static string Vehicle_Components { - get { - return ResourceManager.GetString("Vehicle_Components", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to CrossWindCorrectionData. - /// </summary> - public static string Vehicle_CrosswindCorrectionData { - get { - return ResourceManager.GetString("Vehicle_CrosswindCorrectionData", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Entry. - /// </summary> - public static string Vehicle_CrosswindCorrectionData_Entry { - get { - return ResourceManager.GetString("Vehicle_CrosswindCorrectionData_Entry", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to beta. - /// </summary> - public static string Vehicle_CrosswindCorrectionMap_Beta { - get { - return ResourceManager.GetString("Vehicle_CrosswindCorrectionMap_Beta", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to CdScalingFactor. - /// </summary> - public static string Vehicle_CrosswindCorrectionMap_CdScalingFactor { - get { - return ResourceManager.GetString("Vehicle_CrosswindCorrectionMap_CdScalingFactor", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to deltaCdxA. - /// </summary> - public static string Vehicle_CrosswindCorrectionMap_DeltaCdxA { - get { - return ResourceManager.GetString("Vehicle_CrosswindCorrectionMap_DeltaCdxA", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to vehicleSpeed. - /// </summary> - public static string Vehicle_CrosswindCorrectionMap_VehicleSpeed_Attr { - get { - return ResourceManager.GetString("Vehicle_CrosswindCorrectionMap_VehicleSpeed_Attr", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to CrossWindCorrectionMode. - /// </summary> - public static string Vehicle_CrossWindCorrectionMode { - get { - return ResourceManager.GetString("Vehicle_CrossWindCorrectionMode", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to CurbMassChassis. - /// </summary> - public static string Vehicle_CurbMassChassis { - get { - return ResourceManager.GetString("Vehicle_CurbMassChassis", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to CurbMassExtra. - /// </summary> - public static string Vehicle_CurbMassExtra { - get { - return ResourceManager.GetString("Vehicle_CurbMassExtra", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to CurbWeightChassis. - /// </summary> - public static string Vehicle_CurbWeightChassis { - get { - return ResourceManager.GetString("Vehicle_CurbWeightChassis", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to CurbWeightExtra. - /// </summary> - public static string Vehicle_CurbWeightExtra { - get { - return ResourceManager.GetString("Vehicle_CurbWeightExtra", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to GrossVehicleMass. - /// </summary> - public static string Vehicle_GrossVehicleMass { - get { - return ResourceManager.GetString("Vehicle_GrossVehicleMass", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to IdlingSpeed. - /// </summary> - public static string Vehicle_IdlingSpeed { - get { - return ResourceManager.GetString("Vehicle_IdlingSpeed", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to LegislativeClass. - /// </summary> - public static string Vehicle_LegislativeClass { - get { - return ResourceManager.GetString("Vehicle_LegislativeClass", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Loading. - /// </summary> - public static string Vehicle_Loading { - get { - return ResourceManager.GetString("Vehicle_Loading", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to PTO. - /// </summary> - public static string Vehicle_PTO { - get { - return ResourceManager.GetString("Vehicle_PTO", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to PTOOtherElements. - /// </summary> - public static string Vehicle_PTO_OtherElements { - get { - return ResourceManager.GetString("Vehicle_PTO_OtherElements", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to PTOShaftsGearWheels. - /// </summary> - public static string Vehicle_PTO_ShaftsGearWheels { - get { - return ResourceManager.GetString("Vehicle_PTO_ShaftsGearWheels", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to PTOCycle. - /// </summary> - public static string Vehicle_PTOCycle { - get { - return ResourceManager.GetString("Vehicle_PTOCycle", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to engineSpeed. - /// </summary> - public static string Vehicle_PTOCycle_EngineSpeed_Attr { - get { - return ResourceManager.GetString("Vehicle_PTOCycle_EngineSpeed_Attr", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Entry. - /// </summary> - public static string Vehicle_PTOCycle_Entry { - get { - return ResourceManager.GetString("Vehicle_PTOCycle_Entry", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to time. - /// </summary> - public static string Vehicle_PTOCycle_Time_Attr { - get { - return ResourceManager.GetString("Vehicle_PTOCycle_Time_Attr", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to torque. - /// </summary> - public static string Vehicle_PTOCycle_Torque_Attr { - get { - return ResourceManager.GetString("Vehicle_PTOCycle_Torque_Attr", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to PTOIdleLossMap. - /// </summary> - public static string Vehicle_PTOIdleLossMap { - get { - return ResourceManager.GetString("Vehicle_PTOIdleLossMap", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to engineSpeed. - /// </summary> - public static string Vehicle_PTOIdleLossMap_EngineSpeed_Attr { - get { - return ResourceManager.GetString("Vehicle_PTOIdleLossMap_EngineSpeed_Attr", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Entry. - /// </summary> - public static string Vehicle_PTOIdleLossMap_Entry { - get { - return ResourceManager.GetString("Vehicle_PTOIdleLossMap_Entry", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to ptoTorqueLoss. - /// </summary> - public static string Vehicle_PTOIdleLossMap_TorqueLoss_Attr { - get { - return ResourceManager.GetString("Vehicle_PTOIdleLossMap_TorqueLoss_Attr", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to PTOType. - /// </summary> - public static string Vehicle_PTOType { - get { - return ResourceManager.GetString("Vehicle_PTOType", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to RetarderRatio. - /// </summary> - public static string Vehicle_RetarderRatio { - get { - return ResourceManager.GetString("Vehicle_RetarderRatio", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to RetarderType. - /// </summary> - public static string Vehicle_RetarderType { - get { - return ResourceManager.GetString("Vehicle_RetarderType", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to SteeredAxles. - /// </summary> - public static string Vehicle_SteeredAxles { - get { - return ResourceManager.GetString("Vehicle_SteeredAxles", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to TorqueLimits. - /// </summary> - public static string Vehicle_TorqueLimits { - get { - return ResourceManager.GetString("Vehicle_TorqueLimits", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to Entry. - /// </summary> - public static string Vehicle_TorqueLimits_Entry { - get { - return ResourceManager.GetString("Vehicle_TorqueLimits_Entry", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to gear. - /// </summary> - public static string Vehicle_TorqueLimits_Entry_Gear_Attr { - get { - return ResourceManager.GetString("Vehicle_TorqueLimits_Entry_Gear_Attr", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to maxTorque. - /// </summary> - public static string Vehicle_TorqueLimits_Entry_MaxTorque_Attr { - get { - return ResourceManager.GetString("Vehicle_TorqueLimits_Entry_MaxTorque_Attr", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to VehicleCategory. - /// </summary> - public static string Vehicle_VehicleCategory { - get { - return ResourceManager.GetString("Vehicle_VehicleCategory", resourceCulture); - } - } - - /// <summary> - /// Looks up a localized string similar to VIN. - /// </summary> - public static string Vehicle_VIN { - get { - return ResourceManager.GetString("Vehicle_VIN", resourceCulture); - } - } - } -} +namespace TUGraz.VectoCommon.Resources { + using System; + + + /// <summary> + /// A strongly-typed resource class, for looking up localized strings, etc. + /// </summary> + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public class XMLNames { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal XMLNames() { + } + + /// <summary> + /// Returns the cached ResourceManager instance used by this class. + /// </summary> + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("TUGraz.VectoCommon.Resources.XMLNames", typeof(XMLNames).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// <summary> + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// </summary> + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// <summary> + /// Looks up a localized string similar to DeclaredCdxA. + /// </summary> + public static string AirDrag_DeclaredCdxA { + get { + return ResourceManager.GetString("AirDrag_DeclaredCdxA", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Efficiency. + /// </summary> + public static string AngleDrive_Efficiency { + get { + return ResourceManager.GetString("AngleDrive_Efficiency", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Entry. + /// </summary> + public static string Angledrive_LossMap_Entry { + get { + return ResourceManager.GetString("Angledrive_LossMap_Entry", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Ratio. + /// </summary> + public static string AngleDrive_Ratio { + get { + return ResourceManager.GetString("AngleDrive_Ratio", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to TorqueLossMap. + /// </summary> + public static string AngleDrive_TorqueLossMap { + get { + return ResourceManager.GetString("AngleDrive_TorqueLossMap", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to auxiliarySpeed. + /// </summary> + public static string Aux_AuxMap_AuxiliarySpeed_Attr { + get { + return ResourceManager.GetString("Aux_AuxMap_AuxiliarySpeed_Attr", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to mechanicalPower. + /// </summary> + public static string Aux_AuxMap_MechanicalPower_Attr { + get { + return ResourceManager.GetString("Aux_AuxMap_MechanicalPower_Attr", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Auxiliary. + /// </summary> + public static string Auxiliaries_Auxiliary { + get { + return ResourceManager.GetString("Auxiliaries_Auxiliary", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to AuxMap. + /// </summary> + public static string Auxiliaries_Auxiliary_AuxMap { + get { + return ResourceManager.GetString("Auxiliaries_Auxiliary_AuxMap", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Entry. + /// </summary> + public static string Auxiliaries_Auxiliary_AuxMap_Entry { + get { + return ResourceManager.GetString("Auxiliaries_Auxiliary_AuxMap_Entry", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to ConstantAuxLoad. + /// </summary> + public static string Auxiliaries_Auxiliary_ConstantAuxLoad { + get { + return ResourceManager.GetString("Auxiliaries_Auxiliary_ConstantAuxLoad", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to EfficiencyAuxSupply. + /// </summary> + public static string Auxiliaries_Auxiliary_EfficiencyAuxSupply { + get { + return ResourceManager.GetString("Auxiliaries_Auxiliary_EfficiencyAuxSupply", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to EfficiencyToEngine. + /// </summary> + public static string Auxiliaries_Auxiliary_EfficiencyToEngine { + get { + return ResourceManager.GetString("Auxiliaries_Auxiliary_EfficiencyToEngine", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to id. + /// </summary> + public static string Auxiliaries_Auxiliary_ID_Attr { + get { + return ResourceManager.GetString("Auxiliaries_Auxiliary_ID_Attr", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Technology. + /// </summary> + public static string Auxiliaries_Auxiliary_Technology { + get { + return ResourceManager.GetString("Auxiliaries_Auxiliary_Technology", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to TransmissionRatioToEngine. + /// </summary> + public static string Auxiliaries_Auxiliary_TransmissionRatioToEngine { + get { + return ResourceManager.GetString("Auxiliaries_Auxiliary_TransmissionRatioToEngine", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to supplyPower. + /// </summary> + public static string Auxr_AuxMapMapping_SupplyPower_Attr { + get { + return ResourceManager.GetString("Auxr_AuxMapMapping_SupplyPower_Attr", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Efficiency. + /// </summary> + public static string Axlegear_Efficiency { + get { + return ResourceManager.GetString("Axlegear_Efficiency", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to LineType. + /// </summary> + public static string Axlegear_LineType { + get { + return ResourceManager.GetString("Axlegear_LineType", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Ratio. + /// </summary> + public static string Axlegear_Ratio { + get { + return ResourceManager.GetString("Axlegear_Ratio", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to TorqueLossMap. + /// </summary> + public static string Axlegear_TorqueLossMap { + get { + return ResourceManager.GetString("Axlegear_TorqueLossMap", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Entry. + /// </summary> + public static string Axlegear_TorqueLossMap_Entry { + get { + return ResourceManager.GetString("Axlegear_TorqueLossMap_Entry", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Axles. + /// </summary> + public static string AxleWheels_Axles { + get { + return ResourceManager.GetString("AxleWheels_Axles", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Axle. + /// </summary> + public static string AxleWheels_Axles_Axle { + get { + return ResourceManager.GetString("AxleWheels_Axles_Axle", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to axleNumber. + /// </summary> + public static string AxleWheels_Axles_Axle_AxleNumber_Attr { + get { + return ResourceManager.GetString("AxleWheels_Axles_Axle_AxleNumber_Attr", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to AxleType. + /// </summary> + public static string AxleWheels_Axles_Axle_AxleType { + get { + return ResourceManager.GetString("AxleWheels_Axles_Axle_AxleType", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to AxleType. + /// </summary> + public static string AxleWheels_Axles_Axle_AxleType_Attr { + get { + return ResourceManager.GetString("AxleWheels_Axles_Axle_AxleType_Attr", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Dimension. + /// </summary> + public static string AxleWheels_Axles_Axle_Dimension { + get { + return ResourceManager.GetString("AxleWheels_Axles_Axle_Dimension", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to DynamicTyreRadius. + /// </summary> + public static string AxleWheels_Axles_Axle_DynamicTyreRadius { + get { + return ResourceManager.GetString("AxleWheels_Axles_Axle_DynamicTyreRadius", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to FzISO. + /// </summary> + public static string AxleWheels_Axles_Axle_FzISO { + get { + return ResourceManager.GetString("AxleWheels_Axles_Axle_FzISO", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Inertia. + /// </summary> + public static string AxleWheels_Axles_Axle_Inertia { + get { + return ResourceManager.GetString("AxleWheels_Axles_Axle_Inertia", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to RRCDeclared. + /// </summary> + public static string AxleWheels_Axles_Axle_RRCDeclared { + get { + return ResourceManager.GetString("AxleWheels_Axles_Axle_RRCDeclared", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to RRCISO. + /// </summary> + public static string AxleWheels_Axles_Axle_RRCISO { + get { + return ResourceManager.GetString("AxleWheels_Axles_Axle_RRCISO", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Steered. + /// </summary> + public static string AxleWheels_Axles_Axle_Steered { + get { + return ResourceManager.GetString("AxleWheels_Axles_Axle_Steered", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to TwinTyres. + /// </summary> + public static string AxleWheels_Axles_Axle_TwinTyres { + get { + return ResourceManager.GetString("AxleWheels_Axles_Axle_TwinTyres", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to TwinTyres. + /// </summary> + public static string AxleWheels_Axles_Axle_TwinTyres_Attr { + get { + return ResourceManager.GetString("AxleWheels_Axles_Axle_TwinTyres_Attr", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Tyre. + /// </summary> + public static string AxleWheels_Axles_Axle_Tyre { + get { + return ResourceManager.GetString("AxleWheels_Axles_Axle_Tyre", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to WeightShare. + /// </summary> + public static string AxleWheels_Axles_Axle_WeightShare { + get { + return ResourceManager.GetString("AxleWheels_Axles_Axle_WeightShare", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to AirDrag. + /// </summary> + public static string Component_AirDrag { + get { + return ResourceManager.GetString("Component_AirDrag", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Angledrive. + /// </summary> + public static string Component_Angledrive { + get { + return ResourceManager.GetString("Component_Angledrive", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to AppVersion. + /// </summary> + public static string Component_AppVersion { + get { + return ResourceManager.GetString("Component_AppVersion", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Auxiliaries. + /// </summary> + public static string Component_Auxiliaries { + get { + return ResourceManager.GetString("Component_Auxiliaries", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Axlegear. + /// </summary> + public static string Component_Axlegear { + get { + return ResourceManager.GetString("Component_Axlegear", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to AxleWheels. + /// </summary> + public static string Component_AxleWheels { + get { + return ResourceManager.GetString("Component_AxleWheels", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to CertificationMethod. + /// </summary> + public static string Component_CertificationMethod { + get { + return ResourceManager.GetString("Component_CertificationMethod", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to CertificationNumber. + /// </summary> + public static string Component_CertificationNumber { + get { + return ResourceManager.GetString("Component_CertificationNumber", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Creator. + /// </summary> + public static string Component_Creator { + get { + return ResourceManager.GetString("Component_Creator", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Date. + /// </summary> + public static string Component_Date { + get { + return ResourceManager.GetString("Component_Date", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to DriverModel. + /// </summary> + public static string Component_DriverModel { + get { + return ResourceManager.GetString("Component_DriverModel", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Engine. + /// </summary> + public static string Component_Engine { + get { + return ResourceManager.GetString("Component_Engine", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Gearbox. + /// </summary> + public static string Component_Gearbox { + get { + return ResourceManager.GetString("Component_Gearbox", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to MainCertificationMethod. + /// </summary> + public static string Component_Gearbox_CertificationMethod { + get { + return ResourceManager.GetString("Component_Gearbox_CertificationMethod", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to id. + /// </summary> + public static string Component_ID_Attr { + get { + return ResourceManager.GetString("Component_ID_Attr", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Manufacturer. + /// </summary> + public static string Component_Manufacturer { + get { + return ResourceManager.GetString("Component_Manufacturer", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to ManufacturerAddress. + /// </summary> + public static string Component_ManufacturerAddress { + get { + return ResourceManager.GetString("Component_ManufacturerAddress", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Model. + /// </summary> + public static string Component_Model { + get { + return ResourceManager.GetString("Component_Model", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Retarder. + /// </summary> + public static string Component_Retarder { + get { + return ResourceManager.GetString("Component_Retarder", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to TechnicalReportId. + /// </summary> + public static string Component_TechnicalReportId { + get { + return ResourceManager.GetString("Component_TechnicalReportId", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to TorqueConverter. + /// </summary> + public static string Component_TorqueConverter { + get { + return ResourceManager.GetString("Component_TorqueConverter", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Vehicle. + /// </summary> + public static string Component_Vehicle { + get { + return ResourceManager.GetString("Component_Vehicle", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Data. + /// </summary> + public static string ComponentDataWrapper { + get { + return ResourceManager.GetString("ComponentDataWrapper", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Signature. + /// </summary> + public static string DI_Signature { + get { + return ResourceManager.GetString("DI_Signature", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Algorithm. + /// </summary> + public static string DI_Signature_Algorithm_Attr { + get { + return ResourceManager.GetString("DI_Signature_Algorithm_Attr", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Reference. + /// </summary> + public static string DI_Signature_Reference { + get { + return ResourceManager.GetString("DI_Signature_Reference", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to DigestMethod. + /// </summary> + public static string DI_Signature_Reference_DigestMethod { + get { + return ResourceManager.GetString("DI_Signature_Reference_DigestMethod", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to DigestValue. + /// </summary> + public static string DI_Signature_Reference_DigestValue { + get { + return ResourceManager.GetString("DI_Signature_Reference_DigestValue", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Transforms. + /// </summary> + public static string DI_Signature_Reference_Transforms { + get { + return ResourceManager.GetString("DI_Signature_Reference_Transforms", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Transform. + /// </summary> + public static string DI_Signature_Reference_Transforms_Transform { + get { + return ResourceManager.GetString("DI_Signature_Reference_Transforms_Transform", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to URI. + /// </summary> + public static string DI_Signature_Reference_URI_Attr { + get { + return ResourceManager.GetString("DI_Signature_Reference_URI_Attr", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to decisionFactorVel. + /// </summary> + public static string Driver_CoastingDFTargetSpeedLookupMapping_DecisionFactor_Attr { + get { + return ResourceManager.GetString("Driver_CoastingDFTargetSpeedLookupMapping_DecisionFactor_Attr", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to targetVelocity. + /// </summary> + public static string Driver_CoastingDFTargetSpeedLookupMapping_TargetVelocity_Attr { + get { + return ResourceManager.GetString("Driver_CoastingDFTargetSpeedLookupMapping_TargetVelocity_Attr", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to decisionFactorDrop. + /// </summary> + public static string Driver_CoastingDFVelocityDropLookupMapping_DecisionFactorDrop_Attr { + get { + return ResourceManager.GetString("Driver_CoastingDFVelocityDropLookupMapping_DecisionFactorDrop_Attr", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to velocityDrop. + /// </summary> + public static string Driver_CoastingDFVelocityDropLookupMapping_VelocityDrop_Attr { + get { + return ResourceManager.GetString("Driver_CoastingDFVelocityDropLookupMapping_VelocityDrop_Attr", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to DriverAccelerationCurve. + /// </summary> + public static string DriverModel_DriverAccelerationCurve { + get { + return ResourceManager.GetString("DriverModel_DriverAccelerationCurve", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Entry. + /// </summary> + public static string DriverModel_DriverAccelerationCurve_Entry { + get { + return ResourceManager.GetString("DriverModel_DriverAccelerationCurve_Entry", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to LookAheadCoasting. + /// </summary> + public static string DriverModel_LookAheadCoasting { + get { + return ResourceManager.GetString("DriverModel_LookAheadCoasting", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to DecisionFactorOffset. + /// </summary> + public static string DriverModel_LookAheadCoasting_DecisionFactorOffset { + get { + return ResourceManager.GetString("DriverModel_LookAheadCoasting_DecisionFactorOffset", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to DecisionFactorScaling. + /// </summary> + public static string DriverModel_LookAheadCoasting_DecisionFactorScaling { + get { + return ResourceManager.GetString("DriverModel_LookAheadCoasting_DecisionFactorScaling", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Enabled. + /// </summary> + public static string DriverModel_LookAheadCoasting_Enabled { + get { + return ResourceManager.GetString("DriverModel_LookAheadCoasting_Enabled", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to MinSpeed. + /// </summary> + public static string DriverModel_LookAheadCoasting_MinSpeed { + get { + return ResourceManager.GetString("DriverModel_LookAheadCoasting_MinSpeed", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to PreviewDistanceFactor. + /// </summary> + public static string DriverModel_LookAheadCoasting_PreviewDistanceFactor { + get { + return ResourceManager.GetString("DriverModel_LookAheadCoasting_PreviewDistanceFactor", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to SpeedDependentDecisionFactor. + /// </summary> + public static string DriverModel_LookAheadCoasting_SpeedDependentDecisionFactor { + get { + return ResourceManager.GetString("DriverModel_LookAheadCoasting_SpeedDependentDecisionFactor", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to VelocityDropDecisionFactor. + /// </summary> + public static string DriverModel_LookAheadCoasting_VelocityDropDecisionFactor { + get { + return ResourceManager.GetString("DriverModel_LookAheadCoasting_VelocityDropDecisionFactor", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Overspeed. + /// </summary> + public static string DriverModel_Overspeed { + get { + return ResourceManager.GetString("DriverModel_Overspeed", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to AllowedOverspeed. + /// </summary> + public static string DriverModel_Overspeed_AllowedOverspeed { + get { + return ResourceManager.GetString("DriverModel_Overspeed_AllowedOverspeed", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to AllowedUnderspeed. + /// </summary> + public static string DriverModel_Overspeed_AllowedUnderspeed { + get { + return ResourceManager.GetString("DriverModel_Overspeed_AllowedUnderspeed", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to MinSpeed. + /// </summary> + public static string DriverModel_Overspeed_MinSpeed { + get { + return ResourceManager.GetString("DriverModel_Overspeed_MinSpeed", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Mode. + /// </summary> + public static string DriverModel_Overspeed_Mode { + get { + return ResourceManager.GetString("DriverModel_Overspeed_Mode", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to ShiftStrategyParameters. + /// </summary> + public static string DriverModel_ShiftStrategyParameters { + get { + return ResourceManager.GetString("DriverModel_ShiftStrategyParameters", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to DownshiftAfterUpshiftDelay. + /// </summary> + public static string DriverModel_ShiftStrategyParameters_DownshiftAfterUpshiftDelay { + get { + return ResourceManager.GetString("DriverModel_ShiftStrategyParameters_DownshiftAfterUpshiftDelay", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to StartAcceleration. + /// </summary> + public static string DriverModel_ShiftStrategyParameters_StartAcceleration { + get { + return ResourceManager.GetString("DriverModel_ShiftStrategyParameters_StartAcceleration", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to StartSpeed. + /// </summary> + public static string DriverModel_ShiftStrategyParameters_StartSpeed { + get { + return ResourceManager.GetString("DriverModel_ShiftStrategyParameters_StartSpeed", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to StartTorqueReserve. + /// </summary> + public static string DriverModel_ShiftStrategyParameters_StartTorqueReserve { + get { + return ResourceManager.GetString("DriverModel_ShiftStrategyParameters_StartTorqueReserve", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to TimeBetweenGearshift. + /// </summary> + public static string DriverModel_ShiftStrategyParameters_TimeBetweenGearshift { + get { + return ResourceManager.GetString("DriverModel_ShiftStrategyParameters_TimeBetweenGearshift", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to TorqueReserve. + /// </summary> + public static string DriverModel_ShiftStrategyParameters_TorqueReserve { + get { + return ResourceManager.GetString("DriverModel_ShiftStrategyParameters_TorqueReserve", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to UpshiftAfterDownshiftDelay. + /// </summary> + public static string DriverModel_ShiftStrategyParameters_UpshiftAfterDownshiftDelay { + get { + return ResourceManager.GetString("DriverModel_ShiftStrategyParameters_UpshiftAfterDownshiftDelay", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to UpshiftMinAcceleration. + /// </summary> + public static string DriverModel_ShiftStrategyParameters_UpshiftMinAcceleration { + get { + return ResourceManager.GetString("DriverModel_ShiftStrategyParameters_UpshiftMinAcceleration", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to BFColdHot. + /// </summary> + public static string Engine_ColdHotBalancingFactor { + get { + return ResourceManager.GetString("Engine_ColdHotBalancingFactor", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to CFNCV. + /// </summary> + public static string Engine_CorrecionFactor_NCV { + get { + return ResourceManager.GetString("Engine_CorrecionFactor_NCV", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to CFRegPer. + /// </summary> + public static string Engine_CorrectionFactor_RegPer { + get { + return ResourceManager.GetString("Engine_CorrectionFactor_RegPer", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Displacement. + /// </summary> + public static string Engine_Displacement { + get { + return ResourceManager.GetString("Engine_Displacement", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to engineSpeed. + /// </summary> + public static string Engine_EngineFullLoadCurve_EngineSpeed_Attr { + get { + return ResourceManager.GetString("Engine_EngineFullLoadCurve_EngineSpeed_Attr", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to FuelConsumptionMap. + /// </summary> + public static string Engine_FuelConsumptionMap { + get { + return ResourceManager.GetString("Engine_FuelConsumptionMap", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to engineSpeed. + /// </summary> + public static string Engine_FuelConsumptionMap_EngineSpeed_Attr { + get { + return ResourceManager.GetString("Engine_FuelConsumptionMap_EngineSpeed_Attr", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Entry. + /// </summary> + public static string Engine_FuelConsumptionMap_Entry { + get { + return ResourceManager.GetString("Engine_FuelConsumptionMap_Entry", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to fuelConsumption. + /// </summary> + public static string Engine_FuelConsumptionMap_FuelConsumption_Attr { + get { + return ResourceManager.GetString("Engine_FuelConsumptionMap_FuelConsumption_Attr", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to torque. + /// </summary> + public static string Engine_FuelConsumptionMap_Torque_Attr { + get { + return ResourceManager.GetString("Engine_FuelConsumptionMap_Torque_Attr", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to FuelType. + /// </summary> + public static string Engine_FuelType { + get { + return ResourceManager.GetString("Engine_FuelType", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to FullLoadAndDragCurve. + /// </summary> + public static string Engine_FullLoadAndDragCurve { + get { + return ResourceManager.GetString("Engine_FullLoadAndDragCurve", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to dragTorque. + /// </summary> + public static string Engine_FullLoadCurve_DragTorque_Attr { + get { + return ResourceManager.GetString("Engine_FullLoadCurve_DragTorque_Attr", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Entry. + /// </summary> + public static string Engine_FullLoadCurve_Entry { + get { + return ResourceManager.GetString("Engine_FullLoadCurve_Entry", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to maxTorque. + /// </summary> + public static string Engine_FullLoadCurve_MaxTorque_Attr { + get { + return ResourceManager.GetString("Engine_FullLoadCurve_MaxTorque_Attr", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to IdlingSpeed. + /// </summary> + public static string Engine_IdlingSpeed { + get { + return ResourceManager.GetString("Engine_IdlingSpeed", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Inertia. + /// </summary> + public static string Engine_Inertia { + get { + return ResourceManager.GetString("Engine_Inertia", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to MaxEngineTorque. + /// </summary> + public static string Engine_MaxTorque { + get { + return ResourceManager.GetString("Engine_MaxTorque", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to RatedPower. + /// </summary> + public static string Engine_RatedPower { + get { + return ResourceManager.GetString("Engine_RatedPower", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to RatedSpeed. + /// </summary> + public static string Engine_RatedSpeed { + get { + return ResourceManager.GetString("Engine_RatedSpeed", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to WHTCEngineering. + /// </summary> + public static string Engine_WHTCEngineering { + get { + return ResourceManager.GetString("Engine_WHTCEngineering", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to WHTCMotorway. + /// </summary> + public static string Engine_WHTCMotorway { + get { + return ResourceManager.GetString("Engine_WHTCMotorway", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to WHTCRural. + /// </summary> + public static string Engine_WHTCRural { + get { + return ResourceManager.GetString("Engine_WHTCRural", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to WHTCUrban. + /// </summary> + public static string Engine_WHTCUrban { + get { + return ResourceManager.GetString("Engine_WHTCUrban", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Resource. + /// </summary> + public static string ExternalResource { + get { + return ResourceManager.GetString("ExternalResource", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to component. + /// </summary> + public static string ExtResource_Component_Attr { + get { + return ResourceManager.GetString("ExtResource_Component_Attr", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to file. + /// </summary> + public static string ExtResource_File_Attr { + get { + return ResourceManager.GetString("ExtResource_File_Attr", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to type. + /// </summary> + public static string ExtResource_Type_Attr { + get { + return ResourceManager.GetString("ExtResource_Type_Attr", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to csv. + /// </summary> + public static string ExtResource_Type_Value_CSV { + get { + return ResourceManager.GetString("ExtResource_Type_Value_CSV", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to xml. + /// </summary> + public static string ExtResource_Type_Value_XML { + get { + return ResourceManager.GetString("ExtResource_Type_Value_XML", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to engineTorque. + /// </summary> + public static string Gear_ShiftPolygon_EngineTorque_Attr { + get { + return ResourceManager.GetString("Gear_ShiftPolygon_EngineTorque_Attr", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to downshiftSpeed. + /// </summary> + public static string Gear_ShiftPolygonMapping_DownshiftSpeed_Attr { + get { + return ResourceManager.GetString("Gear_ShiftPolygonMapping_DownshiftSpeed_Attr", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to upshiftSpeed. + /// </summary> + public static string Gear_ShiftPolygonMapping_UpshiftSpeed_Attr { + get { + return ResourceManager.GetString("Gear_ShiftPolygonMapping_UpshiftSpeed_Attr", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Efficiency. + /// </summary> + public static string Gearbox_Gear_Efficiency { + get { + return ResourceManager.GetString("Gearbox_Gear_Efficiency", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to number. + /// </summary> + public static string Gearbox_Gear_GearNumber_Attr { + get { + return ResourceManager.GetString("Gearbox_Gear_GearNumber_Attr", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to MaxSpeed. + /// </summary> + public static string Gearbox_Gear_MaxSpeed { + get { + return ResourceManager.GetString("Gearbox_Gear_MaxSpeed", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Ratio. + /// </summary> + public static string Gearbox_Gear_Ratio { + get { + return ResourceManager.GetString("Gearbox_Gear_Ratio", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to TorqueLossMap. + /// </summary> + public static string Gearbox_Gear_TorqueLossMap { + get { + return ResourceManager.GetString("Gearbox_Gear_TorqueLossMap", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Entry. + /// </summary> + public static string Gearbox_Gear_TorqueLossMap_Entry { + get { + return ResourceManager.GetString("Gearbox_Gear_TorqueLossMap_Entry", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Gears. + /// </summary> + public static string Gearbox_Gears { + get { + return ResourceManager.GetString("Gearbox_Gears", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Gear. + /// </summary> + public static string Gearbox_Gears_Gear { + get { + return ResourceManager.GetString("Gearbox_Gears_Gear", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to ShiftPolygon. + /// </summary> + public static string Gearbox_Gears_Gear_ShiftPolygon { + get { + return ResourceManager.GetString("Gearbox_Gears_Gear_ShiftPolygon", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Entry. + /// </summary> + public static string Gearbox_Gears_Gear_ShiftPolygon_Entry { + get { + return ResourceManager.GetString("Gearbox_Gears_Gear_ShiftPolygon_Entry", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to MaxTorque. + /// </summary> + public static string Gearbox_Gears_MaxTorque { + get { + return ResourceManager.GetString("Gearbox_Gears_MaxTorque", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Inertia. + /// </summary> + public static string Gearbox_Inertia { + get { + return ResourceManager.GetString("Gearbox_Inertia", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to TractionInterruption. + /// </summary> + public static string Gearbox_TractionInterruption { + get { + return ResourceManager.GetString("Gearbox_TractionInterruption", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to TransmissionType. + /// </summary> + public static string Gearbox_TransmissionType { + get { + return ResourceManager.GetString("Gearbox_TransmissionType", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Entry. + /// </summary> + public static string LookAheadCoasting_SpeedDependentDecisionFactor_Entry { + get { + return ResourceManager.GetString("LookAheadCoasting_SpeedDependentDecisionFactor_Entry", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Entry. + /// </summary> + public static string LookAheadCoasting_VelocityDropDecisionFactor_Entry { + get { + return ResourceManager.GetString("LookAheadCoasting_VelocityDropDecisionFactor_Entry", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Cycle. + /// </summary> + public static string Missions_Cycle { + get { + return ResourceManager.GetString("Missions_Cycle", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to CdxA. + /// </summary> + public static string Report_AirDrag_CdxA { + get { + return ResourceManager.GetString("Report_AirDrag_CdxA", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to ApplicationInformation. + /// </summary> + public static string Report_ApplicationInfo_ApplicationInformation { + get { + return ResourceManager.GetString("Report_ApplicationInfo_ApplicationInformation", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Date. + /// </summary> + public static string Report_ApplicationInfo_Date { + get { + return ResourceManager.GetString("Report_ApplicationInfo_Date", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to SimulationToolVersion. + /// </summary> + public static string Report_ApplicationInfo_SimulationToolVersion { + get { + return ResourceManager.GetString("Report_ApplicationInfo_SimulationToolVersion", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to CertificationMethod. + /// </summary> + public static string Report_Component_CertificationMethod { + get { + return ResourceManager.GetString("Report_Component_CertificationMethod", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to CertificationNumber. + /// </summary> + public static string Report_Component_CertificationNumber { + get { + return ResourceManager.GetString("Report_Component_CertificationNumber", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to TransmissionRatioFinalGear. + /// </summary> + public static string Report_Gearbox_TransmissionRatioFinalGear { + get { + return ResourceManager.GetString("Report_Gearbox_TransmissionRatioFinalGear", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to GearsCount. + /// </summary> + public static string Report_GetGearbox_GearsCount { + get { + return ResourceManager.GetString("Report_GetGearbox_GearsCount", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to InputDataSignature. + /// </summary> + public static string Report_Input_Signature { + get { + return ResourceManager.GetString("Report_Input_Signature", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Mission. + /// </summary> + public static string Report_Result_Mission { + get { + return ResourceManager.GetString("Report_Result_Mission", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Result. + /// </summary> + public static string Report_Result_Result { + get { + return ResourceManager.GetString("Report_Result_Result", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Status. + /// </summary> + public static string Report_Result_Status { + get { + return ResourceManager.GetString("Report_Result_Status", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to status. + /// </summary> + public static string Report_Result_Status_Attr { + get { + return ResourceManager.GetString("Report_Result_Status_Attr", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to AverageSpeed. + /// </summary> + public static string Report_ResultEntry_AverageSpeed { + get { + return ResourceManager.GetString("Report_ResultEntry_AverageSpeed", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Distance. + /// </summary> + public static string Report_ResultEntry_Distance { + get { + return ResourceManager.GetString("Report_ResultEntry_Distance", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to FuelType. + /// </summary> + public static string Report_ResultEntry_FuelType { + get { + return ResourceManager.GetString("Report_ResultEntry_FuelType", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to FullLoadDrivingtimePercentage. + /// </summary> + public static string Report_ResultEntry_FullLoadDrivingtimePercentage { + get { + return ResourceManager.GetString("Report_ResultEntry_FullLoadDrivingtimePercentage", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to GearshiftCount. + /// </summary> + public static string Report_ResultEntry_GearshiftCount { + get { + return ResourceManager.GetString("Report_ResultEntry_GearshiftCount", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to MaxAcceleration. + /// </summary> + public static string Report_ResultEntry_MaxAcceleration { + get { + return ResourceManager.GetString("Report_ResultEntry_MaxAcceleration", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to MaxDeceleration. + /// </summary> + public static string Report_ResultEntry_MaxDeceleration { + get { + return ResourceManager.GetString("Report_ResultEntry_MaxDeceleration", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to MaxSpeed. + /// </summary> + public static string Report_ResultEntry_MaxSpeed { + get { + return ResourceManager.GetString("Report_ResultEntry_MaxSpeed", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to MinSpeed. + /// </summary> + public static string Report_ResultEntry_MinSpeed { + get { + return ResourceManager.GetString("Report_ResultEntry_MinSpeed", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Payload. + /// </summary> + public static string Report_ResultEntry_Payload { + get { + return ResourceManager.GetString("Report_ResultEntry_Payload", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to SimulationParameters. + /// </summary> + public static string Report_ResultEntry_SimulationParameters { + get { + return ResourceManager.GetString("Report_ResultEntry_SimulationParameters", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to TotalVehicleMass. + /// </summary> + public static string Report_ResultEntry_TotalVehicleMass { + get { + return ResourceManager.GetString("Report_ResultEntry_TotalVehicleMass", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to VehiclePerformance. + /// </summary> + public static string Report_ResultEntry_VehiclePerformance { + get { + return ResourceManager.GetString("Report_ResultEntry_VehiclePerformance", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to CO2. + /// </summary> + public static string Report_Results_CO2 { + get { + return ResourceManager.GetString("Report_Results_CO2", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Error. + /// </summary> + public static string Report_Results_Error { + get { + return ResourceManager.GetString("Report_Results_Error", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to ErrorDetails. + /// </summary> + public static string Report_Results_ErrorDetails { + get { + return ResourceManager.GetString("Report_Results_ErrorDetails", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to FuelConsumption. + /// </summary> + public static string Report_Results_FuelConsumption { + get { + return ResourceManager.GetString("Report_Results_FuelConsumption", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to unit. + /// </summary> + public static string Report_Results_Unit_Attr { + get { + return ResourceManager.GetString("Report_Results_Unit_Attr", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to TyreCertificationNumber. + /// </summary> + public static string Report_Tyre_TyreCertificationNumber { + get { + return ResourceManager.GetString("Report_Tyre_TyreCertificationNumber", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to TyreDimension. + /// </summary> + public static string Report_Tyre_TyreDimension { + get { + return ResourceManager.GetString("Report_Tyre_TyreDimension", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to TyreRRCDeclared. + /// </summary> + public static string Report_Tyre_TyreRRCDeclared { + get { + return ResourceManager.GetString("Report_Tyre_TyreRRCDeclared", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to AverageRRC. + /// </summary> + public static string Report_Vehicle_AverageRRC { + get { + return ResourceManager.GetString("Report_Vehicle_AverageRRC", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to AxleRatio. + /// </summary> + public static string Report_Vehicle_AxleRatio { + get { + return ResourceManager.GetString("Report_Vehicle_AxleRatio", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to EngineDisplacement. + /// </summary> + public static string Report_Vehicle_EngineDisplacement { + get { + return ResourceManager.GetString("Report_Vehicle_EngineDisplacement", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to EngineRatedPower. + /// </summary> + public static string Report_Vehicle_EngineRatedPower { + get { + return ResourceManager.GetString("Report_Vehicle_EngineRatedPower", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Retarder. + /// </summary> + public static string Report_Vehicle_Retarder { + get { + return ResourceManager.GetString("Report_Vehicle_Retarder", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to TransmissionMainCertificationMethod. + /// </summary> + public static string Report_Vehicle_TransmissionCertificationMethod { + get { + return ResourceManager.GetString("Report_Vehicle_TransmissionCertificationMethod", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to VehicleGroup. + /// </summary> + public static string Report_Vehicle_VehicleGroup { + get { + return ResourceManager.GetString("Report_Vehicle_VehicleGroup", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to RetarderLossMap. + /// </summary> + public static string Retarder_RetarderLossMap { + get { + return ResourceManager.GetString("Retarder_RetarderLossMap", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Entry. + /// </summary> + public static string Retarder_RetarderLossMap_Entry { + get { + return ResourceManager.GetString("Retarder_RetarderLossMap_Entry", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to retarderSpeed. + /// </summary> + public static string Retarder_RetarderLossmap_RetarderSpeed_Attr { + get { + return ResourceManager.GetString("Retarder_RetarderLossmap_RetarderSpeed_Attr", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to torqueLoss. + /// </summary> + public static string Retarder_RetarderLossmap_TorqueLoss_Attr { + get { + return ResourceManager.GetString("Retarder_RetarderLossmap_TorqueLoss_Attr", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Characteristics. + /// </summary> + public static string TorqueConverter_Characteristics { + get { + return ResourceManager.GetString("TorqueConverter_Characteristics", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Entry. + /// </summary> + public static string TorqueConverter_Characteristics_Entry { + get { + return ResourceManager.GetString("TorqueConverter_Characteristics_Entry", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Inertia. + /// </summary> + public static string TorqueConverter_Inertia { + get { + return ResourceManager.GetString("TorqueConverter_Inertia", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to ReferenceRPM. + /// </summary> + public static string TorqueConverter_ReferenceRPM { + get { + return ResourceManager.GetString("TorqueConverter_ReferenceRPM", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to ShiftPolygon. + /// </summary> + public static string TorqueConverter_ShiftPolygon { + get { + return ResourceManager.GetString("TorqueConverter_ShiftPolygon", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Entry. + /// </summary> + public static string TorqueConverter_ShiftPolygon_Entry { + get { + return ResourceManager.GetString("TorqueConverter_ShiftPolygon_Entry", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to speedRatio. + /// </summary> + public static string TorqueConverterData_SpeedRatio_Attr { + get { + return ResourceManager.GetString("TorqueConverterData_SpeedRatio_Attr", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to torqueRatio. + /// </summary> + public static string TorqueConverterData_TorqueRatio_Attr { + get { + return ResourceManager.GetString("TorqueConverterData_TorqueRatio_Attr", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to inputTorqueRef. + /// </summary> + public static string TorqueConverterDataMapping_InputTorqueRef_Attr { + get { + return ResourceManager.GetString("TorqueConverterDataMapping_InputTorqueRef_Attr", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to inputSpeed. + /// </summary> + public static string TransmissionLossmap_InputSpeed_Attr { + get { + return ResourceManager.GetString("TransmissionLossmap_InputSpeed_Attr", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to inputTorque. + /// </summary> + public static string TransmissionLossmap_InputTorque_Attr { + get { + return ResourceManager.GetString("TransmissionLossmap_InputTorque_Attr", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to torqueLoss. + /// </summary> + public static string TransmissionLossmap_TorqueLoss_Attr { + get { + return ResourceManager.GetString("TransmissionLossmap_TorqueLoss_Attr", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to VectoComponentEngineering. + /// </summary> + public static string VectoComponentEngineering { + get { + return ResourceManager.GetString("VectoComponentEngineering", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to VectoInputDeclaration. + /// </summary> + public static string VectoInputDeclaration { + get { + return ResourceManager.GetString("VectoInputDeclaration", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to VectoInputEngineering. + /// </summary> + public static string VectoInputEngineering { + get { + return ResourceManager.GetString("VectoInputEngineering", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to EngineOnlyMode. + /// </summary> + public static string VectoJob_EngineOnlyMode { + get { + return ResourceManager.GetString("VectoJob_EngineOnlyMode", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to MissionCycles. + /// </summary> + public static string VectoJob_MissionCycles { + get { + return ResourceManager.GetString("VectoJob_MissionCycles", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to maxAcceleration. + /// </summary> + public static string Vehicle_AccelerationCurve_MaxAcceleration_Attr { + get { + return ResourceManager.GetString("Vehicle_AccelerationCurve_MaxAcceleration_Attr", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to maxDeceleration. + /// </summary> + public static string Vehicle_AccelerationCurve_MaxDeceleration_Attr { + get { + return ResourceManager.GetString("Vehicle_AccelerationCurve_MaxDeceleration_Attr", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to vehicleSpeed. + /// </summary> + public static string Vehicle_AccelerationCurve_VehicleSpeed_Attr { + get { + return ResourceManager.GetString("Vehicle_AccelerationCurve_VehicleSpeed_Attr", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to AdvancedDriverAssist. + /// </summary> + public static string Vehicle_AdvancedDriverAssist { + get { + return ResourceManager.GetString("Vehicle_AdvancedDriverAssist", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to EngineStartStop. + /// </summary> + public static string Vehicle_AdvancedDriverAssist_EngineStartStop { + get { + return ResourceManager.GetString("Vehicle_AdvancedDriverAssist_EngineStartStop", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to ActivationDelay. + /// </summary> + public static string Vehicle_AdvancedDriverAssist_EngineStartStop_ActivationDelay { + get { + return ResourceManager.GetString("Vehicle_AdvancedDriverAssist_EngineStartStop_ActivationDelay", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Enabled. + /// </summary> + public static string Vehicle_AdvancedDriverAssist_EngineStartStop_Enabled { + get { + return ResourceManager.GetString("Vehicle_AdvancedDriverAssist_EngineStartStop_Enabled", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to MaxSpeed. + /// </summary> + public static string Vehicle_AdvancedDriverAssist_EngineStartStop_MaxSpeed { + get { + return ResourceManager.GetString("Vehicle_AdvancedDriverAssist_EngineStartStop_MaxSpeed", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to MinOnTime. + /// </summary> + public static string Vehicle_AdvancedDriverAssist_EngineStartStop_MinOnTime { + get { + return ResourceManager.GetString("Vehicle_AdvancedDriverAssist_EngineStartStop_MinOnTime", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to CdxA. + /// </summary> + public static string Vehicle_AirDragArea { + get { + return ResourceManager.GetString("Vehicle_AirDragArea", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to AngledriveType. + /// </summary> + public static string Vehicle_AngledriveType { + get { + return ResourceManager.GetString("Vehicle_AngledriveType", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to AxleConfiguration. + /// </summary> + public static string Vehicle_AxleConfiguration { + get { + return ResourceManager.GetString("Vehicle_AxleConfiguration", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Components. + /// </summary> + public static string Vehicle_Components { + get { + return ResourceManager.GetString("Vehicle_Components", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to CrossWindCorrectionData. + /// </summary> + public static string Vehicle_CrosswindCorrectionData { + get { + return ResourceManager.GetString("Vehicle_CrosswindCorrectionData", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Entry. + /// </summary> + public static string Vehicle_CrosswindCorrectionData_Entry { + get { + return ResourceManager.GetString("Vehicle_CrosswindCorrectionData_Entry", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to beta. + /// </summary> + public static string Vehicle_CrosswindCorrectionMap_Beta { + get { + return ResourceManager.GetString("Vehicle_CrosswindCorrectionMap_Beta", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to CdScalingFactor. + /// </summary> + public static string Vehicle_CrosswindCorrectionMap_CdScalingFactor { + get { + return ResourceManager.GetString("Vehicle_CrosswindCorrectionMap_CdScalingFactor", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to deltaCdxA. + /// </summary> + public static string Vehicle_CrosswindCorrectionMap_DeltaCdxA { + get { + return ResourceManager.GetString("Vehicle_CrosswindCorrectionMap_DeltaCdxA", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to vehicleSpeed. + /// </summary> + public static string Vehicle_CrosswindCorrectionMap_VehicleSpeed_Attr { + get { + return ResourceManager.GetString("Vehicle_CrosswindCorrectionMap_VehicleSpeed_Attr", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to CrossWindCorrectionMode. + /// </summary> + public static string Vehicle_CrossWindCorrectionMode { + get { + return ResourceManager.GetString("Vehicle_CrossWindCorrectionMode", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to CurbMassChassis. + /// </summary> + public static string Vehicle_CurbMassChassis { + get { + return ResourceManager.GetString("Vehicle_CurbMassChassis", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to CurbMassExtra. + /// </summary> + public static string Vehicle_CurbMassExtra { + get { + return ResourceManager.GetString("Vehicle_CurbMassExtra", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to CurbWeightChassis. + /// </summary> + public static string Vehicle_CurbWeightChassis { + get { + return ResourceManager.GetString("Vehicle_CurbWeightChassis", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to CurbWeightExtra. + /// </summary> + public static string Vehicle_CurbWeightExtra { + get { + return ResourceManager.GetString("Vehicle_CurbWeightExtra", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to GrossVehicleMass. + /// </summary> + public static string Vehicle_GrossVehicleMass { + get { + return ResourceManager.GetString("Vehicle_GrossVehicleMass", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to IdlingSpeed. + /// </summary> + public static string Vehicle_IdlingSpeed { + get { + return ResourceManager.GetString("Vehicle_IdlingSpeed", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to LegislativeClass. + /// </summary> + public static string Vehicle_LegislativeClass { + get { + return ResourceManager.GetString("Vehicle_LegislativeClass", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Loading. + /// </summary> + public static string Vehicle_Loading { + get { + return ResourceManager.GetString("Vehicle_Loading", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to PTO. + /// </summary> + public static string Vehicle_PTO { + get { + return ResourceManager.GetString("Vehicle_PTO", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to PTOOtherElements. + /// </summary> + public static string Vehicle_PTO_OtherElements { + get { + return ResourceManager.GetString("Vehicle_PTO_OtherElements", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to PTOShaftsGearWheels. + /// </summary> + public static string Vehicle_PTO_ShaftsGearWheels { + get { + return ResourceManager.GetString("Vehicle_PTO_ShaftsGearWheels", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to PTOCycle. + /// </summary> + public static string Vehicle_PTOCycle { + get { + return ResourceManager.GetString("Vehicle_PTOCycle", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to engineSpeed. + /// </summary> + public static string Vehicle_PTOCycle_EngineSpeed_Attr { + get { + return ResourceManager.GetString("Vehicle_PTOCycle_EngineSpeed_Attr", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Entry. + /// </summary> + public static string Vehicle_PTOCycle_Entry { + get { + return ResourceManager.GetString("Vehicle_PTOCycle_Entry", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to time. + /// </summary> + public static string Vehicle_PTOCycle_Time_Attr { + get { + return ResourceManager.GetString("Vehicle_PTOCycle_Time_Attr", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to torque. + /// </summary> + public static string Vehicle_PTOCycle_Torque_Attr { + get { + return ResourceManager.GetString("Vehicle_PTOCycle_Torque_Attr", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to PTOIdleLossMap. + /// </summary> + public static string Vehicle_PTOIdleLossMap { + get { + return ResourceManager.GetString("Vehicle_PTOIdleLossMap", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to engineSpeed. + /// </summary> + public static string Vehicle_PTOIdleLossMap_EngineSpeed_Attr { + get { + return ResourceManager.GetString("Vehicle_PTOIdleLossMap_EngineSpeed_Attr", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Entry. + /// </summary> + public static string Vehicle_PTOIdleLossMap_Entry { + get { + return ResourceManager.GetString("Vehicle_PTOIdleLossMap_Entry", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to ptoTorqueLoss. + /// </summary> + public static string Vehicle_PTOIdleLossMap_TorqueLoss_Attr { + get { + return ResourceManager.GetString("Vehicle_PTOIdleLossMap_TorqueLoss_Attr", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to PTOType. + /// </summary> + public static string Vehicle_PTOType { + get { + return ResourceManager.GetString("Vehicle_PTOType", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to RetarderRatio. + /// </summary> + public static string Vehicle_RetarderRatio { + get { + return ResourceManager.GetString("Vehicle_RetarderRatio", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to RetarderType. + /// </summary> + public static string Vehicle_RetarderType { + get { + return ResourceManager.GetString("Vehicle_RetarderType", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to SteeredAxles. + /// </summary> + public static string Vehicle_SteeredAxles { + get { + return ResourceManager.GetString("Vehicle_SteeredAxles", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to TorqueLimits. + /// </summary> + public static string Vehicle_TorqueLimits { + get { + return ResourceManager.GetString("Vehicle_TorqueLimits", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Entry. + /// </summary> + public static string Vehicle_TorqueLimits_Entry { + get { + return ResourceManager.GetString("Vehicle_TorqueLimits_Entry", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to gear. + /// </summary> + public static string Vehicle_TorqueLimits_Entry_Gear_Attr { + get { + return ResourceManager.GetString("Vehicle_TorqueLimits_Entry_Gear_Attr", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to maxTorque. + /// </summary> + public static string Vehicle_TorqueLimits_Entry_MaxTorque_Attr { + get { + return ResourceManager.GetString("Vehicle_TorqueLimits_Entry_MaxTorque_Attr", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to VehicleCategory. + /// </summary> + public static string Vehicle_VehicleCategory { + get { + return ResourceManager.GetString("Vehicle_VehicleCategory", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to VIN. + /// </summary> + public static string Vehicle_VIN { + get { + return ResourceManager.GetString("Vehicle_VIN", resourceCulture); + } + } + } +} diff --git a/VectoCommon/VectoCommon/Resources/XMLNames.resx b/VectoCommon/VectoCommon/Resources/XMLNames.resx index 7be19728421793cdb952af85ad67e10dff6c931a..f2eb75e19683296483b4ef2bb5b985060a73131d 100644 --- a/VectoCommon/VectoCommon/Resources/XMLNames.resx +++ b/VectoCommon/VectoCommon/Resources/XMLNames.resx @@ -770,5 +770,128 @@ </data> <data name="Component_CertificationNumber" xml:space="preserve"> <value>CertificationNumber</value> + </data> + <data name="Report_Results_FuelConsumption" xml:space="preserve"> + <value>FuelConsumption</value> + </data> + <data name="Report_Results_CO2" xml:space="preserve"> + <value>CO2</value> + </data> + <data name="Report_Results_Unit_Attr" xml:space="preserve"> + <value>unit</value> + </data> + <data name="Report_Vehicle_VehicleGroup" xml:space="preserve"> + <value>VehicleGroup</value> + </data> + <data name="Report_Input_Signature" xml:space="preserve"> + <value>InputDataSignature</value> + </data> + <data name="Report_GetGearbox_GearsCount" xml:space="preserve"> + <value>GearsCount</value> + </data> + <data name="Report_Gearbox_TransmissionRatioFinalGear" xml:space="preserve"> + <value>TransmissionRatioFinalGear</value> + </data> + <data name="Report_Component_CertificationMethod" xml:space="preserve"> + <value>CertificationMethod</value> + </data> + <data name="Report_Component_CertificationNumber" xml:space="preserve"> + <value>CertificationNumber</value> + </data> + <data name="Report_AirDrag_CdxA" xml:space="preserve"> + <value>CdxA</value> + </data> + <data name="Report_Tyre_TyreDimension" xml:space="preserve"> + <value>TyreDimension</value> + </data> + <data name="Report_Tyre_TyreCertificationNumber" xml:space="preserve"> + <value>TyreCertificationNumber</value> + </data> + <data name="Report_Tyre_TyreRRCDeclared" xml:space="preserve"> + <value>TyreRRCDeclared</value> + </data> + <data name="Report_Result_Mission" xml:space="preserve"> + <value>Mission</value> + </data> + <data name="Report_Result_Result" xml:space="preserve"> + <value>Result</value> + </data> + <data name="Report_Result_Status_Attr" xml:space="preserve"> + <value>status</value> + </data> + <data name="Report_ApplicationInfo_ApplicationInformation" xml:space="preserve"> + <value>ApplicationInformation</value> + </data> + <data name="Report_ApplicationInfo_SimulationToolVersion" xml:space="preserve"> + <value>SimulationToolVersion</value> + </data> + <data name="Report_ApplicationInfo_Date" xml:space="preserve"> + <value>Date</value> + </data> + <data name="Report_ResultEntry_Distance" xml:space="preserve"> + <value>Distance</value> + </data> + <data name="Report_ResultEntry_SimulationParameters" xml:space="preserve"> + <value>SimulationParameters</value> + </data> + <data name="Report_ResultEntry_TotalVehicleMass" xml:space="preserve"> + <value>TotalVehicleMass</value> + </data> + <data name="Report_ResultEntry_Payload" xml:space="preserve"> + <value>Payload</value> + </data> + <data name="Report_ResultEntry_FuelType" xml:space="preserve"> + <value>FuelType</value> + </data> + <data name="Report_ResultEntry_VehiclePerformance" xml:space="preserve"> + <value>VehiclePerformance</value> + </data> + <data name="Report_ResultEntry_AverageSpeed" xml:space="preserve"> + <value>AverageSpeed</value> + </data> + <data name="Report_ResultEntry_MinSpeed" xml:space="preserve"> + <value>MinSpeed</value> + </data> + <data name="Report_ResultEntry_MaxSpeed" xml:space="preserve"> + <value>MaxSpeed</value> + </data> + <data name="Report_ResultEntry_MaxDeceleration" xml:space="preserve"> + <value>MaxDeceleration</value> + </data> + <data name="Report_ResultEntry_MaxAcceleration" xml:space="preserve"> + <value>MaxAcceleration</value> + </data> + <data name="Report_ResultEntry_FullLoadDrivingtimePercentage" xml:space="preserve"> + <value>FullLoadDrivingtimePercentage</value> + </data> + <data name="Report_ResultEntry_GearshiftCount" xml:space="preserve"> + <value>GearshiftCount</value> + </data> + <data name="Report_Results_Error" xml:space="preserve"> + <value>Error</value> + </data> + <data name="Report_Results_ErrorDetails" xml:space="preserve"> + <value>ErrorDetails</value> + </data> + <data name="Report_Vehicle_EngineRatedPower" xml:space="preserve"> + <value>EngineRatedPower</value> + </data> + <data name="Report_Vehicle_EngineDisplacement" xml:space="preserve"> + <value>EngineDisplacement</value> + </data> + <data name="Report_Vehicle_Retarder" xml:space="preserve"> + <value>Retarder</value> + </data> + <data name="Report_Vehicle_AxleRatio" xml:space="preserve"> + <value>AxleRatio</value> + </data> + <data name="Report_Vehicle_AverageRRC" xml:space="preserve"> + <value>AverageRRC</value> + </data> + <data name="Report_Vehicle_TransmissionCertificationMethod" xml:space="preserve"> + <value>TransmissionMainCertificationMethod</value> + </data> + <data name="Report_Result_Status" xml:space="preserve"> + <value>Status</value> </data> </root> \ No newline at end of file diff --git a/VectoCommon/VectoCommon/Utils/SI.cs b/VectoCommon/VectoCommon/Utils/SI.cs index 425caecc90e411f38edb3b2f84a81c2526b0486b..185f385ba0bff4ac08b6c2c0cd993658cd875fb1 100644 --- a/VectoCommon/VectoCommon/Utils/SI.cs +++ b/VectoCommon/VectoCommon/Utils/SI.cs @@ -2295,7 +2295,7 @@ namespace TUGraz.VectoCommon.Utils public string ToXMLFormat(uint? decimals = null) { decimals = decimals ?? 2; - return Val.ToString("F" + decimals.Value); + return Val.ToString("F" + decimals.Value, CultureInfo.InvariantCulture); } public class EqualityComparer<T> : IEqualityComparer<T> where T : SI @@ -2306,6 +2306,7 @@ namespace TUGraz.VectoCommon.Utils { _precision = precision; } + public bool Equals(T x, T y) { return x.IsEqual(y.Value(), _precision); diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs index edf3a2f26af5344b3bfc634c08d7cea4a75c4201..4fc3667293e9a01405ef9aac857a1f6ef0d566d2 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs @@ -29,310 +29,312 @@ * Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology */ -using System; -using System.Collections.Generic; -using System.Linq; -using TUGraz.VectoCommon.Exceptions; -using TUGraz.VectoCommon.InputData; -using TUGraz.VectoCommon.Models; -using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.InputData.Reader.ComponentData; -using TUGraz.VectoCore.Models.SimulationComponent.Data; -using TUGraz.VectoCore.Models.SimulationComponent.Data.Engine; -using TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox; - -namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter -{ - public abstract class AbstractSimulationDataAdapter : LoggingObject - { - // ========================= - - internal VehicleData SetCommonVehicleData(IVehicleDeclarationInputData data) - { - var retVal = new VehicleData { - SavedInDeclarationMode = data.SavedInDeclarationMode, - Manufacturer = data.Manufacturer, - ModelName = data.Model, - Date = data.Date, +using System; +using System.Collections.Generic; +using System.Linq; +using TUGraz.VectoCommon.Exceptions; +using TUGraz.VectoCommon.InputData; +using TUGraz.VectoCommon.Models; +using TUGraz.VectoCommon.Utils; +using TUGraz.VectoCore.InputData.Reader.ComponentData; +using TUGraz.VectoCore.Models.SimulationComponent.Data; +using TUGraz.VectoCore.Models.SimulationComponent.Data.Engine; +using TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox; +using TUGraz.VectoCore.Utils; + +namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter +{ + public abstract class AbstractSimulationDataAdapter : LoggingObject + { + // ========================= + + internal VehicleData SetCommonVehicleData(IVehicleDeclarationInputData data) + { + var retVal = new VehicleData { + SavedInDeclarationMode = data.SavedInDeclarationMode, + Manufacturer = data.Manufacturer, + ModelName = data.Model, + Date = data.Date, //CertificationNumber = data.CertificationNumber, - DigestValueInput = data.DigestValue, - VehicleCategory = data.VehicleCategory, - AxleConfiguration = data.AxleConfiguration, - CurbWeight = data.CurbMassChassis, - GrossVehicleWeight = data.GrossVehicleMassRating, - }; - - return retVal; - } - - internal AirdragData SetCommonAirdragData(IAirdragDeclarationInputData data) - { - var retVal = new AirdragData() { - SavedInDeclarationMode = data.SavedInDeclarationMode, - Manufacturer = data.Manufacturer, - ModelName = data.Model, - Date = data.Date, - CertificationMethod = data.CertificationMethod, - CertificationNumber = data.CertificationNumber, - DigestValueInput = data.DigestValue, - }; - return retVal; - } - - internal RetarderData SetCommonRetarderData(IRetarderInputData data) - { - try { - var retarder = new RetarderData { Type = data.Type }; - - switch (retarder.Type) { - //case RetarderType.EngineRetarder: - case RetarderType.TransmissionInputRetarder: - case RetarderType.TransmissionOutputRetarder: - retarder.LossMap = RetarderLossMapReader.Create(data.LossMap); - retarder.Ratio = data.Ratio; - break; - case RetarderType.None: - case RetarderType.LossesIncludedInTransmission: - retarder.Ratio = 1; - break; - default: - // ReSharper disable once NotResolvedInText - // ReSharper disable once LocalizableElement - throw new ArgumentOutOfRangeException("retarder.Type", "RetarderType unknown"); - } - - if (!retarder.Type.IsDedicatedComponent()) { - return retarder; - } - retarder.SavedInDeclarationMode = data.SavedInDeclarationMode; - retarder.Manufacturer = data.Manufacturer; - retarder.ModelName = data.Model; - retarder.Date = data.Date; - retarder.CertificationMethod = data.CertificationMethod; - retarder.CertificationNumber = data.CertificationNumber; - retarder.DigestValueInput = data.DigestValue; - - return retarder; - } catch (Exception e) { - throw new VectoException("Error while Reading Retarder Data: {0}", e.Message); - } - } - - internal CombustionEngineData SetCommonCombustionEngineData(IEngineDeclarationInputData data) - { - var retVal = new CombustionEngineData { - SavedInDeclarationMode = data.SavedInDeclarationMode, - Manufacturer = data.Manufacturer, - ModelName = data.Model, - Date = data.Date, - CertificationNumber = data.CertificationNumber, - DigestValueInput = data.DigestValue, - Displacement = data.Displacement, - IdleSpeed = data.IdleSpeed, - ConsumptionMap = FuelConsumptionMapReader.Create(data.FuelConsumptionMap), - RatedPowerDeclared = data.RatedPowerDeclared, - RatedSpeedDeclared = data.RatedSpeedDeclared, - MaxTorqueDeclared = data.MaxTorqueDeclared, - FuelType = data.FuelType - }; - return retVal; - } - - internal GearboxData SetCommonGearboxData(IGearboxDeclarationInputData data) - { - return new GearboxData { - SavedInDeclarationMode = data.SavedInDeclarationMode, - Manufacturer = data.Manufacturer, - ModelName = data.Model, - Date = data.Date, - CertificationMethod = data.CertificationMethod, - CertificationNumber = data.CertificationNumber, - DigestValueInput = data.DigestValue, - Type = data.Type - }; - } - - protected TransmissionLossMap CreateGearLossMap(ITransmissionInputData gear, uint i, bool useEfficiencyFallback, - bool extendLossMap) - { - if (gear.LossMap != null) { - return TransmissionLossMapReader.Create(gear.LossMap, gear.Ratio, string.Format("Gear {0}", i + 1), extendLossMap); - } - if (useEfficiencyFallback) { - return TransmissionLossMapReader.Create(gear.Efficiency, gear.Ratio, string.Format("Gear {0}", i + 1)); - } - throw new InvalidFileFormatException("Gear {0} LossMap missing.", i + 1); - } - - protected static void CreateTCSecondGearATSerial(GearData gearData, - ShiftPolygon shiftPolygon) - { - gearData.TorqueConverterRatio = gearData.Ratio; - gearData.TorqueConverterGearLossMap = gearData.LossMap; - gearData.TorqueConverterShiftPolygon = shiftPolygon; - } - - protected static void CreateTCFirstGearATSerial(GearData gearData, - ShiftPolygon shiftPolygon) - { - gearData.TorqueConverterRatio = gearData.Ratio; - gearData.TorqueConverterGearLossMap = gearData.LossMap; - gearData.TorqueConverterShiftPolygon = shiftPolygon; - } - - protected static void CretateTCFirstGearATPowerSplit(GearData gearData, uint i, ShiftPolygon shiftPolygon) - { - gearData.TorqueConverterRatio = 1; - gearData.TorqueConverterGearLossMap = TransmissionLossMapReader.Create(1, 1, string.Format("TCGear {0}", i + 1)); - gearData.TorqueConverterShiftPolygon = shiftPolygon; - } - - public AxleGearData CreateAxleGearData(IAxleGearInputData data, bool useEfficiencyFallback) - { - var retVal = SetCommonAxleGearData(data); - retVal.AxleGear.LossMap = ReadAxleLossMap(data, useEfficiencyFallback); - return retVal; - } - - internal TransmissionLossMap ReadAxleLossMap(IAxleGearInputData data, bool useEfficiencyFallback) - { - TransmissionLossMap axleLossMap; - if (data.LossMap == null && useEfficiencyFallback) { - axleLossMap = TransmissionLossMapReader.Create(data.Efficiency, data.Ratio, "Axlegear"); - } else { - if (data.LossMap == null) { - throw new InvalidFileFormatException("LossMap for Axlegear is missing."); - } - axleLossMap = TransmissionLossMapReader.Create(data.LossMap, data.Ratio, "Axlegear"); - } - if (axleLossMap == null) { - throw new InvalidFileFormatException("LossMap for Axlegear is missing."); - } - return axleLossMap; - } - - internal AxleGearData SetCommonAxleGearData(IAxleGearInputData data) - { - return new AxleGearData { - SavedInDeclarationMode = data.SavedInDeclarationMode, - Manufacturer = data.Manufacturer, - ModelName = data.Model, - LineType = data.LineType, - Date = data.Date, - CertificationMethod = data.CertificationMethod, - CertificationNumber = data.CertificationNumber, - DigestValueInput = data.DigestValue, - AxleGear = new GearData { Ratio = data.Ratio } - }; - } - - /// <summary> - /// Creates an AngledriveData or returns null if there is no anglegear. - /// </summary> - /// <param name="data"></param> - /// <param name="useEfficiencyFallback">if true, the Efficiency value is used if no LossMap is found.</param> - /// <returns></returns> - internal AngledriveData CreateAngledriveData(IAngledriveInputData data, bool useEfficiencyFallback) - { - try { - var type = data.Type; - - switch (type) { - case AngledriveType.LossesIncludedInGearbox: - case AngledriveType.None: - return null; - case AngledriveType.SeparateAngledrive: - var angledriveData = new AngledriveData { - SavedInDeclarationMode = data.SavedInDeclarationMode, - Manufacturer = data.Manufacturer, - ModelName = data.Model, - Date = data.Date, - CertificationMethod = data.CertificationMethod, - CertificationNumber = data.CertificationNumber, - DigestValueInput = data.DigestValue, - Type = type, - Angledrive = new TransmissionData { Ratio = data.Ratio } - }; - try { - angledriveData.Angledrive.LossMap = TransmissionLossMapReader.Create(data.LossMap, - data.Ratio, "Angledrive"); - } catch (VectoException ex) { - Log.Info("Angledrive Loss Map not found."); - if (useEfficiencyFallback) { - Log.Info("Angledrive Trying with Efficiency instead of Loss Map."); - angledriveData.Angledrive.LossMap = TransmissionLossMapReader.Create(data.Efficiency, - data.Ratio, "Angledrive"); - } else { - throw new VectoException("Angledrive: LossMap not found.", ex); - } - } - return angledriveData; - default: - throw new ArgumentOutOfRangeException("data", "Unknown Angledrive Type."); - } - } catch (Exception e) { - throw new VectoException("Error while reading Angledrive data: {0}", e.Message, e); - } - } - - /// <summary> - /// Intersects full load curves. - /// </summary> - /// <param name="engineCurve"></param> - /// <param name="maxTorque"></param> - /// <returns>A combined EngineFullLoadCurve with the minimum full load torque over all inputs curves.</returns> - internal static EngineFullLoadCurve IntersectFullLoadCurves(EngineFullLoadCurve engineCurve, NewtonMeter maxTorque) - { - if (maxTorque == null) { - return engineCurve; - } - - var entries = new List<EngineFullLoadCurve.FullLoadCurveEntry>(); - var firstEntry = engineCurve.FullLoadEntries.First(); - if (firstEntry.TorqueFullLoad < maxTorque) { - entries.Add(engineCurve.FullLoadEntries.First()); - } else { - entries.Add(new EngineFullLoadCurve.FullLoadCurveEntry { - EngineSpeed = firstEntry.EngineSpeed, - TorqueFullLoad = maxTorque, - TorqueDrag = firstEntry.TorqueDrag - }); - } - foreach (var entry in engineCurve.FullLoadEntries.Pairwise(Tuple.Create)) { - if (entry.Item1.TorqueFullLoad <= maxTorque && entry.Item2.TorqueFullLoad <= maxTorque) { - // segment is below maxTorque line -> use directly - entries.Add(entry.Item2); - } else if (entry.Item1.TorqueFullLoad > maxTorque && entry.Item2.TorqueFullLoad > maxTorque) { - // segment is above maxTorque line -> add limited entry - entries.Add(new EngineFullLoadCurve.FullLoadCurveEntry { - EngineSpeed = entry.Item2.EngineSpeed, - TorqueFullLoad = maxTorque, - TorqueDrag = entry.Item2.TorqueDrag - }); - } else { - // segment intersects maxTorque line -> add new entry at intersection - var edgeFull = Edge.Create(new Point(entry.Item1.EngineSpeed.Value(), entry.Item1.TorqueFullLoad.Value()), - new Point(entry.Item2.EngineSpeed.Value(), entry.Item2.TorqueFullLoad.Value())); - var edgeDrag = Edge.Create(new Point(entry.Item1.EngineSpeed.Value(), entry.Item1.TorqueDrag.Value()), - new Point(entry.Item2.EngineSpeed.Value(), entry.Item2.TorqueDrag.Value())); - var intersectionX = (maxTorque.Value() - edgeFull.OffsetXY) / edgeFull.SlopeXY; - entries.Add(new EngineFullLoadCurve.FullLoadCurveEntry { - EngineSpeed = intersectionX.SI<PerSecond>(), - TorqueFullLoad = maxTorque, - TorqueDrag = VectoMath.Interpolate(edgeDrag.P1, edgeDrag.P2, intersectionX).SI<NewtonMeter>() - }); - entries.Add(new EngineFullLoadCurve.FullLoadCurveEntry { - EngineSpeed = entry.Item2.EngineSpeed, - TorqueFullLoad = entry.Item2.TorqueFullLoad > maxTorque ? maxTorque : entry.Item2.TorqueFullLoad, - TorqueDrag = entry.Item2.TorqueDrag - }); - } - } - - var flc = new EngineFullLoadCurve(entries.ToList(), engineCurve.PT1Data) { - EngineData = engineCurve.EngineData, - }; - return flc; - } - } + DigestValueInput = data.DigestValue, + VehicleCategory = data.VehicleCategory, + AxleConfiguration = data.AxleConfiguration, + CurbWeight = data.CurbMassChassis, + GrossVehicleWeight = data.GrossVehicleMassRating, + AirDensity = Physics.AirDensity, + }; + + return retVal; + } + + internal AirdragData SetCommonAirdragData(IAirdragDeclarationInputData data) + { + var retVal = new AirdragData() { + SavedInDeclarationMode = data.SavedInDeclarationMode, + Manufacturer = data.Manufacturer, + ModelName = data.Model, + Date = data.Date, + CertificationMethod = data.CertificationMethod, + CertificationNumber = data.CertificationNumber, + DigestValueInput = data.DigestValue, + }; + return retVal; + } + + internal RetarderData SetCommonRetarderData(IRetarderInputData data) + { + try { + var retarder = new RetarderData { Type = data.Type }; + + switch (retarder.Type) { + //case RetarderType.EngineRetarder: + case RetarderType.TransmissionInputRetarder: + case RetarderType.TransmissionOutputRetarder: + retarder.LossMap = RetarderLossMapReader.Create(data.LossMap); + retarder.Ratio = data.Ratio; + break; + case RetarderType.None: + case RetarderType.LossesIncludedInTransmission: + retarder.Ratio = 1; + break; + default: + // ReSharper disable once NotResolvedInText + // ReSharper disable once LocalizableElement + throw new ArgumentOutOfRangeException("retarder.Type", "RetarderType unknown"); + } + + if (!retarder.Type.IsDedicatedComponent()) { + return retarder; + } + retarder.SavedInDeclarationMode = data.SavedInDeclarationMode; + retarder.Manufacturer = data.Manufacturer; + retarder.ModelName = data.Model; + retarder.Date = data.Date; + retarder.CertificationMethod = data.CertificationMethod; + retarder.CertificationNumber = data.CertificationNumber; + retarder.DigestValueInput = data.DigestValue; + + return retarder; + } catch (Exception e) { + throw new VectoException("Error while Reading Retarder Data: {0}", e.Message); + } + } + + internal CombustionEngineData SetCommonCombustionEngineData(IEngineDeclarationInputData data) + { + var retVal = new CombustionEngineData { + SavedInDeclarationMode = data.SavedInDeclarationMode, + Manufacturer = data.Manufacturer, + ModelName = data.Model, + Date = data.Date, + CertificationNumber = data.CertificationNumber, + DigestValueInput = data.DigestValue, + Displacement = data.Displacement, + IdleSpeed = data.IdleSpeed, + ConsumptionMap = FuelConsumptionMapReader.Create(data.FuelConsumptionMap), + RatedPowerDeclared = data.RatedPowerDeclared, + RatedSpeedDeclared = data.RatedSpeedDeclared, + MaxTorqueDeclared = data.MaxTorqueDeclared, + FuelType = data.FuelType + }; + return retVal; + } + + internal GearboxData SetCommonGearboxData(IGearboxDeclarationInputData data) + { + return new GearboxData { + SavedInDeclarationMode = data.SavedInDeclarationMode, + Manufacturer = data.Manufacturer, + ModelName = data.Model, + Date = data.Date, + CertificationMethod = data.CertificationMethod, + CertificationNumber = data.CertificationNumber, + DigestValueInput = data.DigestValue, + Type = data.Type + }; + } + + protected TransmissionLossMap CreateGearLossMap(ITransmissionInputData gear, uint i, bool useEfficiencyFallback, + bool extendLossMap) + { + if (gear.LossMap != null) { + return TransmissionLossMapReader.Create(gear.LossMap, gear.Ratio, string.Format("Gear {0}", i + 1), extendLossMap); + } + if (useEfficiencyFallback) { + return TransmissionLossMapReader.Create(gear.Efficiency, gear.Ratio, string.Format("Gear {0}", i + 1)); + } + throw new InvalidFileFormatException("Gear {0} LossMap missing.", i + 1); + } + + protected static void CreateTCSecondGearATSerial(GearData gearData, + ShiftPolygon shiftPolygon) + { + gearData.TorqueConverterRatio = gearData.Ratio; + gearData.TorqueConverterGearLossMap = gearData.LossMap; + gearData.TorqueConverterShiftPolygon = shiftPolygon; + } + + protected static void CreateTCFirstGearATSerial(GearData gearData, + ShiftPolygon shiftPolygon) + { + gearData.TorqueConverterRatio = gearData.Ratio; + gearData.TorqueConverterGearLossMap = gearData.LossMap; + gearData.TorqueConverterShiftPolygon = shiftPolygon; + } + + protected static void CretateTCFirstGearATPowerSplit(GearData gearData, uint i, ShiftPolygon shiftPolygon) + { + gearData.TorqueConverterRatio = 1; + gearData.TorqueConverterGearLossMap = TransmissionLossMapReader.Create(1, 1, string.Format("TCGear {0}", i + 1)); + gearData.TorqueConverterShiftPolygon = shiftPolygon; + } + + public AxleGearData CreateAxleGearData(IAxleGearInputData data, bool useEfficiencyFallback) + { + var retVal = SetCommonAxleGearData(data); + retVal.AxleGear.LossMap = ReadAxleLossMap(data, useEfficiencyFallback); + return retVal; + } + + internal TransmissionLossMap ReadAxleLossMap(IAxleGearInputData data, bool useEfficiencyFallback) + { + TransmissionLossMap axleLossMap; + if (data.LossMap == null && useEfficiencyFallback) { + axleLossMap = TransmissionLossMapReader.Create(data.Efficiency, data.Ratio, "Axlegear"); + } else { + if (data.LossMap == null) { + throw new InvalidFileFormatException("LossMap for Axlegear is missing."); + } + axleLossMap = TransmissionLossMapReader.Create(data.LossMap, data.Ratio, "Axlegear"); + } + if (axleLossMap == null) { + throw new InvalidFileFormatException("LossMap for Axlegear is missing."); + } + return axleLossMap; + } + + internal AxleGearData SetCommonAxleGearData(IAxleGearInputData data) + { + return new AxleGearData { + SavedInDeclarationMode = data.SavedInDeclarationMode, + Manufacturer = data.Manufacturer, + ModelName = data.Model, + LineType = data.LineType, + Date = data.Date, + CertificationMethod = data.CertificationMethod, + CertificationNumber = data.CertificationNumber, + DigestValueInput = data.DigestValue, + AxleGear = new GearData { Ratio = data.Ratio } + }; + } + + /// <summary> + /// Creates an AngledriveData or returns null if there is no anglegear. + /// </summary> + /// <param name="data"></param> + /// <param name="useEfficiencyFallback">if true, the Efficiency value is used if no LossMap is found.</param> + /// <returns></returns> + internal AngledriveData CreateAngledriveData(IAngledriveInputData data, bool useEfficiencyFallback) + { + try { + var type = data.Type; + + switch (type) { + case AngledriveType.LossesIncludedInGearbox: + case AngledriveType.None: + return null; + case AngledriveType.SeparateAngledrive: + var angledriveData = new AngledriveData { + SavedInDeclarationMode = data.SavedInDeclarationMode, + Manufacturer = data.Manufacturer, + ModelName = data.Model, + Date = data.Date, + CertificationMethod = data.CertificationMethod, + CertificationNumber = data.CertificationNumber, + DigestValueInput = data.DigestValue, + Type = type, + Angledrive = new TransmissionData { Ratio = data.Ratio } + }; + try { + angledriveData.Angledrive.LossMap = TransmissionLossMapReader.Create(data.LossMap, + data.Ratio, "Angledrive"); + } catch (VectoException ex) { + Log.Info("Angledrive Loss Map not found."); + if (useEfficiencyFallback) { + Log.Info("Angledrive Trying with Efficiency instead of Loss Map."); + angledriveData.Angledrive.LossMap = TransmissionLossMapReader.Create(data.Efficiency, + data.Ratio, "Angledrive"); + } else { + throw new VectoException("Angledrive: LossMap not found.", ex); + } + } + return angledriveData; + default: + throw new ArgumentOutOfRangeException("data", "Unknown Angledrive Type."); + } + } catch (Exception e) { + throw new VectoException("Error while reading Angledrive data: {0}", e.Message, e); + } + } + + /// <summary> + /// Intersects full load curves. + /// </summary> + /// <param name="engineCurve"></param> + /// <param name="maxTorque"></param> + /// <returns>A combined EngineFullLoadCurve with the minimum full load torque over all inputs curves.</returns> + internal static EngineFullLoadCurve IntersectFullLoadCurves(EngineFullLoadCurve engineCurve, NewtonMeter maxTorque) + { + if (maxTorque == null) { + return engineCurve; + } + + var entries = new List<EngineFullLoadCurve.FullLoadCurveEntry>(); + var firstEntry = engineCurve.FullLoadEntries.First(); + if (firstEntry.TorqueFullLoad < maxTorque) { + entries.Add(engineCurve.FullLoadEntries.First()); + } else { + entries.Add(new EngineFullLoadCurve.FullLoadCurveEntry { + EngineSpeed = firstEntry.EngineSpeed, + TorqueFullLoad = maxTorque, + TorqueDrag = firstEntry.TorqueDrag + }); + } + foreach (var entry in engineCurve.FullLoadEntries.Pairwise(Tuple.Create)) { + if (entry.Item1.TorqueFullLoad <= maxTorque && entry.Item2.TorqueFullLoad <= maxTorque) { + // segment is below maxTorque line -> use directly + entries.Add(entry.Item2); + } else if (entry.Item1.TorqueFullLoad > maxTorque && entry.Item2.TorqueFullLoad > maxTorque) { + // segment is above maxTorque line -> add limited entry + entries.Add(new EngineFullLoadCurve.FullLoadCurveEntry { + EngineSpeed = entry.Item2.EngineSpeed, + TorqueFullLoad = maxTorque, + TorqueDrag = entry.Item2.TorqueDrag + }); + } else { + // segment intersects maxTorque line -> add new entry at intersection + var edgeFull = Edge.Create(new Point(entry.Item1.EngineSpeed.Value(), entry.Item1.TorqueFullLoad.Value()), + new Point(entry.Item2.EngineSpeed.Value(), entry.Item2.TorqueFullLoad.Value())); + var edgeDrag = Edge.Create(new Point(entry.Item1.EngineSpeed.Value(), entry.Item1.TorqueDrag.Value()), + new Point(entry.Item2.EngineSpeed.Value(), entry.Item2.TorqueDrag.Value())); + var intersectionX = (maxTorque.Value() - edgeFull.OffsetXY) / edgeFull.SlopeXY; + entries.Add(new EngineFullLoadCurve.FullLoadCurveEntry { + EngineSpeed = intersectionX.SI<PerSecond>(), + TorqueFullLoad = maxTorque, + TorqueDrag = VectoMath.Interpolate(edgeDrag.P1, edgeDrag.P2, intersectionX).SI<NewtonMeter>() + }); + entries.Add(new EngineFullLoadCurve.FullLoadCurveEntry { + EngineSpeed = entry.Item2.EngineSpeed, + TorqueFullLoad = entry.Item2.TorqueFullLoad > maxTorque ? maxTorque : entry.Item2.TorqueFullLoad, + TorqueDrag = entry.Item2.TorqueDrag + }); + } + } + + var flc = new EngineFullLoadCurve(entries.ToList(), engineCurve.PT1Data) { + EngineData = engineCurve.EngineData, + }; + return flc; + } + } } \ No newline at end of file diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs index d135c2e77348e2cd98e7c537d0a4c11db7e54d1a..35faf312e2f6bc2ac878fd9aeff2b13a417a5782 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs @@ -88,6 +88,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter } var retVal = SetCommonVehicleData(data); + retVal.AirDensity = DeclarationData.AirDensity; retVal.VIN = data.VIN; retVal.ManufacturerAddress = data.ManufacturerAddress; retVal.LegislativeClass = data.LegislativeClass; diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs index 08da7492bd1a75438104956972eb0bf83ddcddcf..2ce233f8e076f43d01e74511b30a3e29f2096744 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs @@ -53,7 +53,6 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter if (data.SavedInDeclarationMode) { WarnEngineeringMode("VehicleData"); } - var retVal = SetCommonVehicleData(data); retVal.BodyAndTrailerWeight = data.CurbMassExtra; //retVal.CurbWeight += data.CurbMassExtra; diff --git a/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs b/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs index 0e96a009d92372a031687c7d240c35012cd41da8..d0bbf7f591b658d5c44151df5546002619939c30 100644 --- a/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs +++ b/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs @@ -47,6 +47,15 @@ namespace TUGraz.VectoCore.Models.Declaration { public static class DeclarationData { + /// <summary> + /// The standard acceleration for gravity on earth. + /// http://physics.nist.gov/Pubs/SP330/sp330.pdf (page 52) + /// </summary> + public static readonly MeterPerSquareSecond GravityAccelleration = 9.80665.SI<MeterPerSquareSecond>(); + + public static readonly KilogramPerCubicMeter AirDensity = 1.188.SI<KilogramPerCubicMeter>(); + + public const string DeclarationDataResourcePrefix = "TUGraz.VectoCore.Resources.Declaration"; public static readonly Watt MinEnginePowerForEMS = 300e3.SI<Watt>(); @@ -69,6 +78,7 @@ namespace TUGraz.VectoCore.Models.Declaration public static readonly Payloads Payloads = new Payloads(); public static readonly PTOTransmission PTOTransmission = new PTOTransmission(); + /// <summary> /// Formula for calculating the payload for a given gross vehicle weight. /// (so called "pc-formula", Whitebook Apr 2016, Part 1, p.187) @@ -89,8 +99,10 @@ namespace TUGraz.VectoCore.Models.Declaration /// </summary> public static Kilogram GetPayloadForTrailerWeight(Kilogram grossVehicleWeight, Kilogram curbWeight, bool lowLoading) { - return (Math.Round((Payloads.LookupTrailer(grossVehicleWeight, curbWeight) / (lowLoading ? 7.5 : 1)).LimitTo(0.SI<Kilogram>(), - grossVehicleWeight - curbWeight).Value() / 100, 0) * 100).SI<Kilogram>(); + return + (Math.Round( + (Payloads.LookupTrailer(grossVehicleWeight, curbWeight) / (lowLoading ? 7.5 : 1)).LimitTo(0.SI<Kilogram>(), + grossVehicleWeight - curbWeight).Value() / 100, 0) * 100).SI<Kilogram>(); } public static int PoweredAxle() diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Data/CrosswindCorrectionCdxALookup.cs b/VectoCore/VectoCore/Models/SimulationComponent/Data/CrosswindCorrectionCdxALookup.cs index 9b3e1938c30159f9a66201ef19324913aaeddee6..c7a076b853446965dd167d2c9991f225a125d4a8 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Data/CrosswindCorrectionCdxALookup.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Data/CrosswindCorrectionCdxALookup.cs @@ -29,58 +29,58 @@ * Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology */ -using System.Collections.Generic; -using TUGraz.VectoCommon.Exceptions; -using TUGraz.VectoCommon.Models; -using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.InputData.Reader.ComponentData; -using TUGraz.VectoCore.Models.Simulation.DataBus; -using TUGraz.VectoCore.Utils; - -namespace TUGraz.VectoCore.Models.SimulationComponent.Data -{ - public class CrosswindCorrectionCdxALookup : LoggingObject, ICrossWindCorrection - { - protected readonly List<CrossWindCorrectionCurveReader.CrossWindCorrectionEntry> Entries; - - public CrosswindCorrectionCdxALookup(SquareMeter airDragArea, - List<CrossWindCorrectionCurveReader.CrossWindCorrectionEntry> entries, - CrossWindCorrectionMode correctionMode) - { - AirDragArea = airDragArea; - CorrectionMode = correctionMode; - Entries = entries; - } - - public CrossWindCorrectionMode CorrectionMode { get; internal set; } - - public SquareMeter AirDragArea { get; internal set; } - - public void SetDataBus(IDataBus dataBus) {} - - public Watt AverageAirDragPowerLoss(MeterPerSecond v1, MeterPerSecond v2) - { - var vAverage = (v1 + v2) / 2; - var cdA = EffectiveAirDragArea(vAverage); - - // compute the average force within the current simulation interval - // P(t) = k * CdA * v(t)^3 , v(t) = v0 + a * t // P_avg = 1/T * Integral P(t) dt - // => P_avg = (CdA * rho/2)/(4*a * dt) * (v2^4 - v1^4) // a = (v2-v1)/dt - // -> P_avg = (CdA * rho/2) * (v2^4 - v1^4) / (v2 - v1) = (CdA * rho/2) * (v1 + v2) * (v1^2 + v2^2) - return (Physics.AirDensity / (2.0 * 4) * cdA * (v1 + v2) * (v1 * v1 + v2 * v2)).Cast<Watt>(); - } - - protected internal SquareMeter EffectiveAirDragArea(MeterPerSecond x) - { - var p = Entries.GetSection(c => c.Velocity < x); - - if (!x.IsBetween(p.Item1.Velocity, p.Item2.Velocity)) { - throw new VectoException("CrossWindCorrection Extrapolation: v = {0} (max = {1})", x.ConvertTo().Kilo.Meter.Per.Hour, - p.Item2.Velocity.ConvertTo().Kilo.Meter.Per.Hour); - } - - return VectoMath.Interpolate(p.Item1.Velocity, p.Item2.Velocity, - p.Item1.EffectiveCrossSectionArea, p.Item2.EffectiveCrossSectionArea, x); - } - } +using System.Collections.Generic; +using TUGraz.VectoCommon.Exceptions; +using TUGraz.VectoCommon.Models; +using TUGraz.VectoCommon.Utils; +using TUGraz.VectoCore.InputData.Reader.ComponentData; +using TUGraz.VectoCore.Models.Simulation.DataBus; +using TUGraz.VectoCore.Utils; + +namespace TUGraz.VectoCore.Models.SimulationComponent.Data +{ + public class CrosswindCorrectionCdxALookup : LoggingObject, ICrossWindCorrection + { + protected readonly List<CrossWindCorrectionCurveReader.CrossWindCorrectionEntry> Entries; + + public CrosswindCorrectionCdxALookup(SquareMeter airDragArea, + List<CrossWindCorrectionCurveReader.CrossWindCorrectionEntry> entries, + CrossWindCorrectionMode correctionMode) + { + AirDragArea = airDragArea; + CorrectionMode = correctionMode; + Entries = entries; + } + + public CrossWindCorrectionMode CorrectionMode { get; internal set; } + + public SquareMeter AirDragArea { get; internal set; } + + public void SetDataBus(IDataBus dataBus) {} + + public Watt AverageAirDragPowerLoss(MeterPerSecond v1, MeterPerSecond v2, KilogramPerCubicMeter airDensity) + { + var vAverage = (v1 + v2) / 2; + var cdA = EffectiveAirDragArea(vAverage); + + // compute the average force within the current simulation interval + // P(t) = k * CdA * v(t)^3 , v(t) = v0 + a * t // P_avg = 1/T * Integral P(t) dt + // => P_avg = (CdA * rho/2)/(4*a * dt) * (v2^4 - v1^4) // a = (v2-v1)/dt + // -> P_avg = (CdA * rho/2) * (v2^4 - v1^4) / (v2 - v1) = (CdA * rho/2) * (v1 + v2) * (v1^2 + v2^2) + return (airDensity / (2.0 * 4) * cdA * (v1 + v2) * (v1 * v1 + v2 * v2)).Cast<Watt>(); + } + + protected internal SquareMeter EffectiveAirDragArea(MeterPerSecond x) + { + var p = Entries.GetSection(c => c.Velocity < x); + + if (!x.IsBetween(p.Item1.Velocity, p.Item2.Velocity)) { + throw new VectoException("CrossWindCorrection Extrapolation: v = {0} (max = {1})", x.ConvertTo().Kilo.Meter.Per.Hour, + p.Item2.Velocity.ConvertTo().Kilo.Meter.Per.Hour); + } + + return VectoMath.Interpolate(p.Item1.Velocity, p.Item2.Velocity, + p.Item1.EffectiveCrossSectionArea, p.Item2.EffectiveCrossSectionArea, x); + } + } } \ No newline at end of file diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Data/CrosswindCorrectionVAirBeta.cs b/VectoCore/VectoCore/Models/SimulationComponent/Data/CrosswindCorrectionVAirBeta.cs index c29a191a8d90bf0437f28a2362f6a8521c483440..8e497fe9403ffc6bd8b4947676003484f1bceb5e 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Data/CrosswindCorrectionVAirBeta.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Data/CrosswindCorrectionVAirBeta.cs @@ -65,7 +65,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data get { return CrossWindCorrectionMode.VAirBetaLookupTable; } } - public Watt AverageAirDragPowerLoss(MeterPerSecond v1, MeterPerSecond v2) + public Watt AverageAirDragPowerLoss(MeterPerSecond v1, MeterPerSecond v2, KilogramPerCubicMeter airDensity) { if (DataBus == null) { throw new VectoException("Databus is not set - can't access vAir, beta!"); diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Data/ICrossWindCorrection.cs b/VectoCore/VectoCore/Models/SimulationComponent/Data/ICrossWindCorrection.cs index c610dc2e541bd0d73ed280b8fc22bd371b59e8fe..61fd0265df14969958a25549d0418ad5a3471ea6 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Data/ICrossWindCorrection.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Data/ICrossWindCorrection.cs @@ -29,22 +29,22 @@ * Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology */ -using TUGraz.VectoCommon.Models; -using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.Models.Simulation.DataBus; - -namespace TUGraz.VectoCore.Models.SimulationComponent.Data -{ - public interface ICrossWindCorrection - { - //SquareMeter EffectiveAirDragArea(MeterPerSecond x, IDataBus dataBus); - - void SetDataBus(IDataBus dataBus); - - CrossWindCorrectionMode CorrectionMode { get; } - - SquareMeter AirDragArea { get; } - - Watt AverageAirDragPowerLoss(MeterPerSecond v1, MeterPerSecond v2); - } +using TUGraz.VectoCommon.Models; +using TUGraz.VectoCommon.Utils; +using TUGraz.VectoCore.Models.Simulation.DataBus; + +namespace TUGraz.VectoCore.Models.SimulationComponent.Data +{ + public interface ICrossWindCorrection + { + //SquareMeter EffectiveAirDragArea(MeterPerSecond x, IDataBus dataBus); + + void SetDataBus(IDataBus dataBus); + + CrossWindCorrectionMode CorrectionMode { get; } + + SquareMeter AirDragArea { get; } + + Watt AverageAirDragPowerLoss(MeterPerSecond v1, MeterPerSecond v2, KilogramPerCubicMeter airDensity); + } } \ No newline at end of file diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Data/VehicleData.cs b/VectoCore/VectoCore/Models/SimulationComponent/Data/VehicleData.cs index 2422a84ff6faa1154fef0106916db14c0267ee7c..d8b1a49c947533e83e0d56f50d26eb058e89a9aa 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Data/VehicleData.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Data/VehicleData.cs @@ -89,6 +89,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data private KilogramSquareMeter _wheelsInertia; private double? _totalRollResistanceCoefficient; private double? _rollResistanceCoefficientWithoutTrailer; + private double? _averageRollingResistanceTruck; public List<Axle> AxleData { @@ -138,9 +139,12 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data SIRange(0, 60000, emsMission: true)] public Kilogram TrailerGrossVehicleWeight { get; internal set; } - [Required, SIRange(0.1, 0.7)] + [Required, SIRange(0.1, 2)] public Meter DynamicTyreRadius { get; internal set; } + [Required, SIRange(0.1, 100)] + public KilogramPerCubicMeter AirDensity { get; internal set; } + public KilogramSquareMeter WheelsInertia { get { @@ -191,6 +195,16 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data get { return (CurbWeight ?? 0.SI<Kilogram>()) + (BodyAndTrailerWeight ?? 0.SI<Kilogram>()); } } + public double AverageRollingResistanceTruck + { + get { + if (_averageRollingResistanceTruck == null) { + ComputeRollResistanceAndReducedMassWheels(); + } + return _averageRollingResistanceTruck.GetValueOrDefault(); + } + } + protected void ComputeRollResistanceAndReducedMassWheels() { if (TotalVehicleWeight == 0.SI<Kilogram>()) { @@ -204,7 +218,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data var rrc = 0.0.SI<Scalar>(); var rrcVehicle = 0.0.SI<Scalar>(); - + var averageRRC = 0.0; + var vehicleWheels = 0; var wheelsInertia = 0.0.SI<KilogramSquareMeter>(); var vehicleWeightShare = 0.0; foreach (var axle in _axleData) { @@ -216,16 +231,18 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data var rrcShare = axle.AxleWeightShare * axle.RollResistanceCoefficient * Math.Pow(baseValue, Physics.RollResistanceExponent - 1); - if (axle.AxleType != AxleType.Trailer) { rrcVehicle += rrcShare; vehicleWeightShare += axle.AxleWeightShare; + averageRRC += axle.RollResistanceCoefficient * nrWheels; + vehicleWheels += nrWheels; } rrc += rrcShare; wheelsInertia += nrWheels * axle.Inertia; } RollResistanceCoefficientWithoutTrailer = rrcVehicle / vehicleWeightShare; TotalRollResistanceCoefficient = rrc; + _averageRollingResistanceTruck = averageRRC / vehicleWheels; WheelsInertia = wheelsInertia; } diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/Vehicle.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/Vehicle.cs index 57cdd58380c2ac56974b0496f08e483539a41728..8bacad4cfdb0347ab9afce2c4371d8bfda373ac8 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/Vehicle.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/Vehicle.cs @@ -192,7 +192,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl private Watt ComputeAirDragPowerLoss(MeterPerSecond v1, MeterPerSecond v2) { - return AirdragData.CrossWindCorrectionCurve.AverageAirDragPowerLoss(v1, v2); + return AirdragData.CrossWindCorrectionCurve.AverageAirDragPowerLoss(v1, v2, ModelData.AirDensity); } public Meter Distance diff --git a/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs b/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs index c2b7b238c8cd99e430dc8b1f91c84751bf3391cc..7365e03f29c7cbe47125df545aceae85a32a6709 100644 --- a/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs +++ b/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs @@ -521,11 +521,11 @@ namespace TUGraz.VectoCore.OutputData row[ENGINE_MANUFACTURER] = runData.EngineData.Manufacturer; row[ENGINE_MODEL] = runData.EngineData.ModelName; row[ENGINE_FUEL_TYPE] = runData.EngineData.FuelType.GetLabel(); - row[ENGINE_RATED_POWER] = runData.EngineData.RatedPowerDeclared != null + row[ENGINE_RATED_POWER] = runData.EngineData.RatedPowerDeclared != null && runData.EngineData.RatedPowerDeclared > 0 ? runData.EngineData.RatedPowerDeclared.ConvertTo().Kilo.Watt : runData.EngineData.FullLoadCurves[0].MaxPower.ConvertTo().Kilo.Watt; row[ENGINE_IDLING_SPEED] = runData.EngineData.IdleSpeed.AsRPM.SI<Scalar>(); - row[ENGINE_RATED_SPEED] = runData.EngineData.RatedSpeedDeclared != null + row[ENGINE_RATED_SPEED] = runData.EngineData.RatedSpeedDeclared != null && runData.EngineData.RatedSpeedDeclared > 0 ? runData.EngineData.RatedSpeedDeclared.AsRPM.SI<Scalar>() : runData.EngineData.FullLoadCurves[0].RatedSpeed.AsRPM.SI<Scalar>(); row[ENGINE_DISPLACEMENT] = runData.EngineData.Displacement.ConvertTo().Cubic.Centi.Meter; diff --git a/VectoCore/VectoCore/OutputData/XML/XMLCustomerReport.cs b/VectoCore/VectoCore/OutputData/XML/XMLCustomerReport.cs index 889b2a9e704d7a4072cbd56eef1b7821f2378e45..f2285b17f11742fbfd5c9e30a9fa26fda79558dd 100644 --- a/VectoCore/VectoCore/OutputData/XML/XMLCustomerReport.cs +++ b/VectoCore/VectoCore/OutputData/XML/XMLCustomerReport.cs @@ -75,19 +75,22 @@ namespace TUGraz.VectoCore.OutputData.XML new XElement(tns + XMLNames.Component_ManufacturerAddress, modelData.VehicleData.ManufacturerAddress), new XElement(tns + XMLNames.Vehicle_VIN, modelData.VehicleData.VIN), new XElement(tns + XMLNames.Vehicle_LegislativeClass, modelData.VehicleData.LegislativeClass.ToXMLFormat()), - new XElement(tns + "VehicleGroup", modelData.VehicleData.VehicleClass.GetClassNumber()), + new XElement(tns + XMLNames.Report_Vehicle_VehicleGroup, modelData.VehicleData.VehicleClass.GetClassNumber()), new XElement(tns + XMLNames.Vehicle_AxleConfiguration, modelData.VehicleData.AxleConfiguration.GetName()), new XElement(tns + XMLNames.Vehicle_GrossVehicleMass, modelData.VehicleData.GrossVehicleWeight.ToXMLFormat(0)), new XElement(tns + XMLNames.Vehicle_CurbMassChassis, modelData.VehicleData.CurbWeight.ToXMLFormat(0)), - new XElement(tns + "EngineRatedPower", modelData.EngineData.RatedPowerDeclared.ToXMLFormat(0)), - new XElement(tns + "EngineDisplacement", + new XElement(tns + XMLNames.Report_Vehicle_EngineRatedPower, modelData.EngineData.RatedPowerDeclared.ToXMLFormat(0)), + new XElement(tns + XMLNames.Report_Vehicle_EngineDisplacement, modelData.EngineData.Displacement.ConvertTo().Cubic.Centi.Meter.ToXMLFormat(0)), new XElement(tns + XMLNames.Engine_FuelType, modelData.EngineData.FuelType.ToXMLFormat()), - new XElement(tns + "TransmissionMainCertificationMethod", modelData.GearboxData.CertificationMethod.ToXMLFormat()), + new XElement(tns + XMLNames.Report_Vehicle_TransmissionCertificationMethod, + modelData.GearboxData.CertificationMethod.ToXMLFormat()), new XElement(tns + XMLNames.Gearbox_TransmissionType, modelData.GearboxData.Type.ToXMLFormat()), - new XElement(tns + "GearsCount", modelData.GearboxData.Gears.Count), - new XElement(tns + "Retarder", modelData.Retarder.Type.IsDedicatedComponent()), - new XElement(tns + "AxleRatio", modelData.AxleGearData.AxleGear.Ratio.ToXMLFormat(3)) + new XElement(tns + XMLNames.Report_GetGearbox_GearsCount, modelData.GearboxData.Gears.Count), + new XElement(tns + XMLNames.Report_Vehicle_Retarder, modelData.Retarder.Type.IsDedicatedComponent()), + new XElement(tns + XMLNames.Report_Vehicle_AxleRatio, modelData.AxleGearData.AxleGear.Ratio.ToXMLFormat(3)), + new XElement(tns + XMLNames.Report_Vehicle_AverageRRC, + modelData.VehicleData.AverageRollingResistanceTruck.ToXMLFormat(6)) ); InputDataIntegrity = new XElement(tns + "InputDataSignature", modelData.InputDataHash == null ? CreateDummySig() : new XElement(modelData.InputDataHash)); @@ -107,9 +110,10 @@ namespace TUGraz.VectoCore.OutputData.XML { foreach (var resultEntry in entry.ModData) { allSuccess &= resultEntry.Value.Status == VectoRun.Status.Success; - Results.Add(new XElement(tns + "Result", - new XAttribute("status", resultEntry.Value.Status == VectoRun.Status.Success ? "success" : "error"), - new XElement(tns + "Mission", entry.Mission.ToXMLFormat()), + Results.Add(new XElement(tns + XMLNames.Report_Result_Result, + new XAttribute(XMLNames.Report_Result_Status_Attr, + resultEntry.Value.Status == VectoRun.Status.Success ? "success" : "error"), + new XElement(tns + XMLNames.Report_Result_Mission, entry.Mission.ToXMLFormat()), GetResults(resultEntry))); } } @@ -145,9 +149,10 @@ namespace TUGraz.VectoCore.OutputData.XML private XElement GetApplicationInfo() { var vectodll = Assembly.LoadFrom(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "VectoCore.dll")).GetName(); - return new XElement(tns + "ApplicationInformation", - new XElement(tns + "SimulationToolVersion", vectodll.Version), - new XElement(tns + "Date", XmlConvert.ToString(DateTime.Now, XmlDateTimeSerializationMode.Utc))); + return new XElement(tns + XMLNames.Report_ApplicationInfo_ApplicationInformation, + new XElement(tns + XMLNames.Report_ApplicationInfo_SimulationToolVersion, vectodll.Version), + new XElement(tns + XMLNames.Report_ApplicationInfo_Date, + XmlConvert.ToString(DateTime.Now, XmlDateTimeSerializationMode.Utc))); } public void GenerateReport(XElement resultSignature) @@ -155,7 +160,7 @@ namespace TUGraz.VectoCore.OutputData.XML var xsi = XNamespace.Get("http://www.w3.org/2001/XMLSchema-instance"); var retVal = new XDocument(); var results = new XElement(Results); - results.AddFirst(new XElement(tns + "Status", allSuccess ? "success" : "error")); + results.AddFirst(new XElement(tns + XMLNames.Report_Result_Status, allSuccess ? "success" : "error")); var vehicle = new XElement(VehiclePart); vehicle.Add(InputDataIntegrity); retVal.Add(new XElement(tns + "VectoCustomerInformation", diff --git a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport.cs b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport.cs index 79a575703bb299fb6fc8757c71b7ca889b839abe..6308feb2b7227bb32cbbda43a227d8285c7a1593 100644 --- a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport.cs +++ b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport.cs @@ -36,6 +36,7 @@ using System.Xml; using System.Xml.Linq; using System.Xml.XPath; using TUGraz.VectoCommon.Models; +using TUGraz.VectoCommon.Resources; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Models.Simulation.Data; @@ -173,14 +174,17 @@ namespace TUGraz.VectoCore.OutputData.XML { var fuel = FuelData.Instance().Lookup(result.FuelType); var retVal = new List<XElement> { - new XElement(tns + "FuelConsumption", new XAttribute("unit", "g/km"), + new XElement(tns + XMLNames.Report_Results_FuelConsumption, + new XAttribute(XMLNames.Report_Results_Unit_Attr, "g/km"), (result.FuelConsumptionTotal.ConvertTo().Gramm / result.Distance.ConvertTo().Kilo.Meter).Value() .ToMinSignificantDigits(3, 1)), - new XElement(tns + "FuelConsumption", new XAttribute("unit", "g/t-km"), + new XElement(tns + XMLNames.Report_Results_FuelConsumption, + new XAttribute(XMLNames.Report_Results_Unit_Attr, "g/t-km"), (result.FuelConsumptionTotal.ConvertTo().Gramm / result.Distance.ConvertTo().Kilo.Meter / result.Payload.ConvertTo().Ton).Value().ToMinSignificantDigits(3, 1)), result.CargoVolume > 0 - ? new XElement(tns + "FuelConsumption", new XAttribute("unit", "g/m³-km"), + ? new XElement(tns + XMLNames.Report_Results_FuelConsumption, + new XAttribute(XMLNames.Report_Results_Unit_Attr, "g/m³-km"), (result.FuelConsumptionTotal.ConvertTo().Gramm / result.Distance.ConvertTo().Kilo.Meter / result.CargoVolume) .Value ().ToMinSignificantDigits(3, 1)) @@ -188,38 +192,46 @@ namespace TUGraz.VectoCore.OutputData.XML }; //FC if (fullOutput) { - retVal.Add(new XElement(tns + "FuelConsumption", new XAttribute("unit", "MJ/km"), + retVal.Add(new XElement(tns + XMLNames.Report_Results_FuelConsumption, + new XAttribute(XMLNames.Report_Results_Unit_Attr, "MJ/km"), (result.EnergyConsumptionTotal / result.Distance.ConvertTo().Kilo.Meter / 1e6).Value().ToMinSignificantDigits(3, 1))); - retVal.Add(new XElement(tns + "FuelConsumption", new XAttribute("unit", "MJ/t-km"), + retVal.Add(new XElement(tns + XMLNames.Report_Results_FuelConsumption, + new XAttribute(XMLNames.Report_Results_Unit_Attr, "MJ/t-km"), (result.EnergyConsumptionTotal / result.Distance.ConvertTo().Kilo.Meter / result.Payload.ConvertTo().Ton / 1e6) .Value().ToMinSignificantDigits(3, 1))); if (result.CargoVolume > 0) { - retVal.Add(new XElement(tns + "FuelConsumption", new XAttribute("unit", "MJ/m³-km"), + retVal.Add(new XElement(tns + XMLNames.Report_Results_FuelConsumption, + new XAttribute(XMLNames.Report_Results_Unit_Attr, "MJ/m³-km"), (result.EnergyConsumptionTotal / result.Distance.ConvertTo().Kilo.Meter / result.CargoVolume / 1e6).Value() .ToMinSignificantDigits(3, 1))); } } if (fuel.FuelDensity != null) { - retVal.Add(new XElement(tns + "FuelConsumption", new XAttribute("unit", "l/100km"), + retVal.Add(new XElement(tns + XMLNames.Report_Results_FuelConsumption, + new XAttribute(XMLNames.Report_Results_Unit_Attr, "l/100km"), (result.FuelConsumptionTotal.ConvertTo().Gramm / fuel.FuelDensity / result.Distance.ConvertTo().Kilo.Meter * 100) .Value().ToMinSignificantDigits(3, 1))); - retVal.Add(new XElement(tns + "FuelConsumption", new XAttribute("unit", "l/t-km"), + retVal.Add(new XElement(tns + XMLNames.Report_Results_FuelConsumption, + new XAttribute(XMLNames.Report_Results_Unit_Attr, "l/t-km"), (result.FuelConsumptionTotal.ConvertTo().Gramm / fuel.FuelDensity / result.Distance.ConvertTo().Kilo.Meter / result.Payload.ConvertTo().Ton).Value().ToMinSignificantDigits(3, 1))); if (result.CargoVolume > 0) { - retVal.Add(new XElement(tns + "FuelConsumption", new XAttribute("unit", "l/m³-km"), + retVal.Add(new XElement(tns + XMLNames.Report_Results_FuelConsumption, + new XAttribute(XMLNames.Report_Results_Unit_Attr, "l/m³-km"), (result.FuelConsumptionTotal.ConvertTo().Gramm / fuel.FuelDensity / result.Distance.ConvertTo().Kilo.Meter / result.CargoVolume).Value().ToMinSignificantDigits(3, 1))); } } //CO2 - retVal.Add(new XElement(tns + "CO2", new XAttribute("unit", "g/km"), + retVal.Add(new XElement(tns + XMLNames.Report_Results_CO2, new XAttribute(XMLNames.Report_Results_Unit_Attr, "g/km"), (result.CO2Total.ConvertTo().Gramm / result.Distance.ConvertTo().Kilo.Meter).Value().ToMinSignificantDigits(3, 1))); - retVal.Add(new XElement(tns + "CO2", new XAttribute("unit", "g/t-km"), + retVal.Add(new XElement(tns + XMLNames.Report_Results_CO2, + new XAttribute(XMLNames.Report_Results_Unit_Attr, "g/t-km"), (result.CO2Total.ConvertTo().Gramm / result.Distance.ConvertTo().Kilo.Meter / result.Payload.ConvertTo().Ton).Value().ToMinSignificantDigits(3, 1))); if (result.CargoVolume > 0) { - retVal.Add(new XElement(tns + "CO2", new XAttribute("unit", "g/m³-km"), + retVal.Add(new XElement(tns + XMLNames.Report_Results_CO2, + new XAttribute(XMLNames.Report_Results_Unit_Attr, "g/m³-km"), (result.CO2Total.ConvertTo().Gramm / result.Distance.ConvertTo().Kilo.Meter / result.CargoVolume).Value() .ToMinSignificantDigits(3, 1))); } diff --git a/VectoCore/VectoCore/OutputData/XML/XMLManufacturerReport.cs b/VectoCore/VectoCore/OutputData/XML/XMLManufacturerReport.cs index d2c3ea2e8c1823d4904a3ac92ebc8999e3c9cbfa..d09bf22a5686e5456ba9f4380bd9e1652ac77a4c 100644 --- a/VectoCore/VectoCore/OutputData/XML/XMLManufacturerReport.cs +++ b/VectoCore/VectoCore/OutputData/XML/XMLManufacturerReport.cs @@ -74,7 +74,7 @@ namespace TUGraz.VectoCore.OutputData.XML VehiclePart.Add( new XElement(tns + XMLNames.Vehicle_VIN, modelData.VehicleData.VIN), new XElement(tns + XMLNames.Vehicle_LegislativeClass, modelData.VehicleData.LegislativeClass.ToXMLFormat()), - new XElement(tns + "VehicleGroup", modelData.VehicleData.VehicleClass.GetClassNumber()), + new XElement(tns + XMLNames.Report_Vehicle_VehicleGroup, modelData.VehicleData.VehicleClass.GetClassNumber()), new XElement(tns + XMLNames.Vehicle_AxleConfiguration, modelData.VehicleData.AxleConfiguration.GetName()), new XElement(tns + XMLNames.Vehicle_GrossVehicleMass, modelData.VehicleData.GrossVehicleWeight.ToXMLFormat(0)), new XElement(tns + XMLNames.Vehicle_CurbMassChassis, modelData.VehicleData.CurbWeight.ToXMLFormat(0)), @@ -92,7 +92,7 @@ namespace TUGraz.VectoCore.OutputData.XML GetAuxiliariesDescription(modelData.Aux) ) ); - InputDataIntegrity = new XElement(tns + "InputDataSignature", + InputDataIntegrity = new XElement(tns + XMLNames.Report_Input_Signature, modelData.InputDataHash == null ? CreateDummySig() : new XElement(modelData.InputDataHash)); } @@ -141,8 +141,9 @@ namespace TUGraz.VectoCore.OutputData.XML return new XElement(tns + XMLNames.Component_Gearbox, GetCommonDescription(gearboxData), new XElement(tns + XMLNames.Gearbox_TransmissionType, gearboxData.Type.ToXMLFormat()), - new XElement(tns + "GearsCount", gearboxData.Gears.Count), - new XElement(tns + "TransmissionRatioFinalGear", gearboxData.Gears.Last().Value.Ratio.ToXMLFormat(3)) + new XElement(tns + XMLNames.Report_GetGearbox_GearsCount, gearboxData.Gears.Count), + new XElement(tns + XMLNames.Report_Gearbox_TransmissionRatioFinalGear, + gearboxData.Gears.Last().Value.Ratio.ToXMLFormat(3)) ); } @@ -184,16 +185,16 @@ namespace TUGraz.VectoCore.OutputData.XML { if (airdragData.CertificationMethod == CertificationMethod.StandardValues) { return new XElement(tns + XMLNames.Component_AirDrag, - new XElement(tns + "CertificationMethod", airdragData.CertificationMethod.ToXMLFormat()), - new XElement(tns + "CdxA", airdragData.DeclaredAirdragArea.ToXMLFormat(2)) + new XElement(tns + XMLNames.Report_Component_CertificationMethod, airdragData.CertificationMethod.ToXMLFormat()), + new XElement(tns + XMLNames.Report_AirDrag_CdxA, airdragData.DeclaredAirdragArea.ToXMLFormat(2)) ); } return new XElement(tns + XMLNames.Component_AirDrag, new XElement(tns + XMLNames.Component_Model, airdragData.ModelName), - new XElement(tns + "CertificationMethod", airdragData.CertificationMethod.ToXMLFormat()), - new XElement(tns + "CertificationNumber", airdragData.CertificationNumber), + new XElement(tns + XMLNames.Report_Component_CertificationMethod, airdragData.CertificationMethod.ToXMLFormat()), + new XElement(tns + XMLNames.Report_Component_CertificationNumber, airdragData.CertificationNumber), new XElement(tns + XMLNames.DI_Signature_Reference_DigestValue, airdragData.DigestValueInput), - new XElement(tns + "CdxA", airdragData.DeclaredAirdragArea.ToXMLFormat(2)) + new XElement(tns + XMLNames.Report_AirDrag_CdxA, airdragData.DeclaredAirdragArea.ToXMLFormat(2)) ); } @@ -215,9 +216,9 @@ namespace TUGraz.VectoCore.OutputData.XML { return new XElement(tns + XMLNames.AxleWheels_Axles_Axle, new XAttribute(XMLNames.AxleWheels_Axles_Axle_AxleNumber_Attr, i), - new XElement(tns + "TyreDimension", axle.WheelsDimension), - new XElement(tns + "TyreCertificationNumber", axle.CertificationNumber), - new XElement(tns + "TyreRRCDeclared", axle.RollResistanceCoefficient.ToXMLFormat(4)), + new XElement(tns + XMLNames.Report_Tyre_TyreDimension, axle.WheelsDimension), + new XElement(tns + XMLNames.Report_Tyre_TyreCertificationNumber, axle.CertificationNumber), + new XElement(tns + XMLNames.Report_Tyre_TyreRRCDeclared, axle.RollResistanceCoefficient.ToXMLFormat(4)), new XElement(tns + XMLNames.AxleWheels_Axles_Axle_TwinTyres, axle.TwinTyres)); } @@ -246,7 +247,7 @@ namespace TUGraz.VectoCore.OutputData.XML { return new object[] { new XElement(tns + XMLNames.Component_Model, data.ModelName), - new XElement(tns + "CertificationNumber", data.CertificationNumber), + new XElement(tns + XMLNames.Report_Component_CertificationNumber, data.CertificationNumber), new XElement(tns + XMLNames.DI_Signature_Reference_DigestValue, data.DigestValueInput) }; } @@ -255,10 +256,10 @@ namespace TUGraz.VectoCore.OutputData.XML { return new object[] { new XElement(tns + XMLNames.Component_Model, data.ModelName), - new XElement(tns + "CertificationMethod", data.CertificationMethod.ToXMLFormat()), + new XElement(tns + XMLNames.Report_Component_CertificationMethod, data.CertificationMethod.ToXMLFormat()), data.CertificationMethod == CertificationMethod.StandardValues ? null - : new XElement(tns + "CertificationNumber", data.CertificationNumber), + : new XElement(tns + XMLNames.Report_Component_CertificationNumber, data.CertificationNumber), new XElement(tns + XMLNames.DI_Signature_Reference_DigestValue, data.DigestValueInput) }; } @@ -268,9 +269,10 @@ namespace TUGraz.VectoCore.OutputData.XML { foreach (var resultEntry in entry.ModData) { allSuccess &= resultEntry.Value.Status == VectoRun.Status.Success; - Results.Add(new XElement(tns + "Result", - new XAttribute("status", resultEntry.Value.Status == VectoRun.Status.Success?"success" : "error"), - new XElement(tns + "Mission", entry.Mission.ToXMLFormat()), + Results.Add(new XElement(tns + XMLNames.Report_Result_Result, + new XAttribute(XMLNames.Report_Result_Status_Attr, + resultEntry.Value.Status == VectoRun.Status.Success ? "success" : "error"), + new XElement(tns + XMLNames.Report_Result_Mission, entry.Mission.ToXMLFormat()), GetResults(resultEntry))); } } @@ -286,8 +288,8 @@ namespace TUGraz.VectoCore.OutputData.XML case VectoRun.Status.Canceled: case VectoRun.Status.Aborted: return new object[] { - new XElement(tns+"Error", resultEntry.Value.Error), - new XElement(tns+"ErrorDetails", resultEntry.Value.StackTrace), + new XElement(tns + XMLNames.Report_Results_Error, resultEntry.Value.Error), + new XElement(tns + XMLNames.Report_Results_ErrorDetails, resultEntry.Value.StackTrace), }; default: throw new ArgumentOutOfRangeException(); @@ -297,20 +299,29 @@ namespace TUGraz.VectoCore.OutputData.XML private object[] GetSuccessResultEntry(XMLDeclarationReport.ResultEntry result) { return new object[] { - new XElement(tns + "Distance", new XAttribute("unit", "km"), result.Distance.ConvertTo().Kilo.Meter.ToXMLFormat(3)), - new XElement(tns + "SimulationParameters", - new XElement(tns + "TotalVehicleMass", new XAttribute("unit", "kg"), result.TotalVehicleWeight.ToXMLFormat(0)), - new XElement(tns + "Payload", new XAttribute("unit", "kg"), result.Payload.ToXMLFormat(0)), - new XElement(tns + "FuelType", result.FuelType.ToXMLFormat()) + new XElement(tns + XMLNames.Report_ResultEntry_Distance, new XAttribute(XMLNames.Report_Results_Unit_Attr, "km"), + result.Distance.ConvertTo().Kilo.Meter.ToXMLFormat(3)), + new XElement(tns + XMLNames.Report_ResultEntry_SimulationParameters, + new XElement(tns + XMLNames.Report_ResultEntry_TotalVehicleMass, + new XAttribute(XMLNames.Report_Results_Unit_Attr, "kg"), result.TotalVehicleWeight.ToXMLFormat(0)), + new XElement(tns + XMLNames.Report_ResultEntry_Payload, new XAttribute(XMLNames.Report_Results_Unit_Attr, "kg"), + result.Payload.ToXMLFormat(0)), + new XElement(tns + XMLNames.Report_ResultEntry_FuelType, result.FuelType.ToXMLFormat()) ), - new XElement(tns + "VehiclePerformance", - new XElement(tns + "AverageSpeed", new XAttribute("unit", "km/h"), result.AverageSpeed.AsKmph.ToXMLFormat(1)), - new XElement(tns + "MinSpeed", new XAttribute("unit", "km/h"), result.MinSpeed.AsKmph.ToXMLFormat(1)), - new XElement(tns + "MaxSpeed", new XAttribute("unit", "km/h"), result.MaxSpeed.AsKmph.ToXMLFormat(1)), - new XElement(tns + "MaxDeceleration", new XAttribute("unit", "m/s²"), result.MaxDeceleration.ToXMLFormat(2)), - new XElement(tns + "MaxAcceleration", new XAttribute("unit", "m/s²"), result.MaxAcceleration.ToXMLFormat(2)), - new XElement(tns + "FullLoadDrivingtimePercentage", result.FullLoadPercentage.ToXMLFormat(2)), - new XElement(tns + "GearshiftCount", result.GearshiftCount.ToXMLFormat(0)) + new XElement(tns + XMLNames.Report_ResultEntry_VehiclePerformance, + new XElement(tns + XMLNames.Report_ResultEntry_AverageSpeed, + new XAttribute(XMLNames.Report_Results_Unit_Attr, "km/h"), result.AverageSpeed.AsKmph.ToXMLFormat(1)), + new XElement(tns + XMLNames.Report_ResultEntry_MinSpeed, new XAttribute(XMLNames.Report_Results_Unit_Attr, "km/h"), + result.MinSpeed.AsKmph.ToXMLFormat(1)), + new XElement(tns + XMLNames.Report_ResultEntry_MaxSpeed, new XAttribute(XMLNames.Report_Results_Unit_Attr, "km/h"), + result.MaxSpeed.AsKmph.ToXMLFormat(1)), + new XElement(tns + XMLNames.Report_ResultEntry_MaxDeceleration, + new XAttribute(XMLNames.Report_Results_Unit_Attr, "m/s²"), result.MaxDeceleration.ToXMLFormat(2)), + new XElement(tns + XMLNames.Report_ResultEntry_MaxAcceleration, + new XAttribute(XMLNames.Report_Results_Unit_Attr, "m/s²"), result.MaxAcceleration.ToXMLFormat(2)), + new XElement(tns + XMLNames.Report_ResultEntry_FullLoadDrivingtimePercentage, + result.FullLoadPercentage.ToXMLFormat(2)), + new XElement(tns + XMLNames.Report_ResultEntry_GearshiftCount, result.GearshiftCount.ToXMLFormat(0)) ), //FC XMLDeclarationReport.GetResults(result, tns, true).Cast<object>().ToArray() @@ -320,9 +331,10 @@ namespace TUGraz.VectoCore.OutputData.XML private XElement GetApplicationInfo() { var vectodll = Assembly.LoadFrom(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "VectoCore.dll")).GetName(); - return new XElement(tns + "ApplicationInformation", - new XElement(tns + "SimulationToolVersion", vectodll.Version), - new XElement(tns + "Date", XmlConvert.ToString(DateTime.Now, XmlDateTimeSerializationMode.Utc))); + return new XElement(tns + XMLNames.Report_ApplicationInfo_ApplicationInformation, + new XElement(tns + XMLNames.Report_ApplicationInfo_SimulationToolVersion, vectodll.Version), + new XElement(tns + XMLNames.Report_ApplicationInfo_Date, + XmlConvert.ToString(DateTime.Now, XmlDateTimeSerializationMode.Utc))); } public void GenerateReport() @@ -330,7 +342,7 @@ namespace TUGraz.VectoCore.OutputData.XML var xsi = XNamespace.Get("http://www.w3.org/2001/XMLSchema-instance"); var retVal = new XDocument(); var results = new XElement(Results); - results.AddFirst(new XElement(tns + "Status", allSuccess ? "success" : "error")); + results.AddFirst(new XElement(tns + XMLNames.Report_Result_Status, allSuccess ? "success" : "error")); var vehicle = new XElement(VehiclePart); vehicle.Add(InputDataIntegrity); retVal.Add(new XElement(tns + "VectoOutput", diff --git a/VectoCore/VectoCore/Resources/XSD/VectoOutputCustomer.xsd b/VectoCore/VectoCore/Resources/XSD/VectoOutputCustomer.xsd index fcf6e090ddb0582383337908591aa7bb703bffe4..79393a75b6829cf913625c1964d90837b8d62828 100644 --- a/VectoCore/VectoCore/Resources/XSD/VectoOutputCustomer.xsd +++ b/VectoCore/VectoCore/Resources/XSD/VectoOutputCustomer.xsd @@ -187,6 +187,7 @@ <xs:documentation>P150</xs:documentation> </xs:annotation> </xs:element> + <xs:element name="AverageRRC" type="vdecdef:TyreRRCISOType"/> <xs:element name="InputDataSignature" type="vdecdef:SignatureType"/> </xs:sequence> </xs:complexType> diff --git a/VectoCore/VectoCore/Utils/Physics.cs b/VectoCore/VectoCore/Utils/Physics.cs index a7fcce2342d0c1d9468d76b4667cd00008a5db2e..ec43dd6fc0a66e8109b02d6b282cda5aa7f15b61 100644 --- a/VectoCore/VectoCore/Utils/Physics.cs +++ b/VectoCore/VectoCore/Utils/Physics.cs @@ -29,39 +29,40 @@ * Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology */ -using TUGraz.VectoCommon.Utils; - -namespace TUGraz.VectoCore.Utils -{ - public static class Physics - { - /// <summary> - /// The standard acceleration for gravity on earth. - /// http://physics.nist.gov/Pubs/SP330/sp330.pdf (page 52) - /// </summary> - public static readonly MeterPerSquareSecond GravityAccelleration = 9.80665.SI<MeterPerSquareSecond>(); - - /// <summary> - /// Density of air. - /// </summary> - public static readonly KilogramPerCubicMeter AirDensity = 1.188.SI<KilogramPerCubicMeter>(); - - - public const double RollResistanceExponent = 0.9; - - /// <summary> - /// Base Wind Speed. - /// </summary> - public static readonly MeterPerSecond BaseWindSpeed = 3.SI<MeterPerSecond>(); - - /// <summary> - /// Base Height for Wind Speed. - /// </summary> - public static readonly Meter BaseWindHeight = 4.SI<Meter>(); - - /// <summary> - /// Hellmann Exponent for modelling of wind speed in specific heights. - /// </summary> - public const double HellmannExponent = 0.2; - } +using TUGraz.VectoCommon.Utils; +using TUGraz.VectoCore.Models.Declaration; + +namespace TUGraz.VectoCore.Utils +{ + public static class Physics + { + /// <summary> + /// The standard acceleration for gravity on earth. + /// http://physics.nist.gov/Pubs/SP330/sp330.pdf (page 52) + /// </summary> + public static MeterPerSquareSecond GravityAccelleration = DeclarationData.GravityAccelleration; + + /// <summary> + /// Density of air. + /// </summary> + public static KilogramPerCubicMeter AirDensity = DeclarationData.AirDensity; // 1.188.SI<KilogramPerCubicMeter>(); + + + public const double RollResistanceExponent = 0.9; + + /// <summary> + /// Base Wind Speed. + /// </summary> + public static readonly MeterPerSecond BaseWindSpeed = 3.SI<MeterPerSecond>(); + + /// <summary> + /// Base Height for Wind Speed. + /// </summary> + public static readonly Meter BaseWindHeight = 4.SI<Meter>(); + + /// <summary> + /// Hellmann Exponent for modelling of wind speed in specific heights. + /// </summary> + public const double HellmannExponent = 0.2; + } } \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/Integration/ATPowerTrain.cs b/VectoCore/VectoCoreTest/Integration/ATPowerTrain.cs index 2a79558071a616de25cd39f4025e73a51336b791..abfa03730ab76178750e975f0380fa14b93dcc6d 100644 --- a/VectoCore/VectoCoreTest/Integration/ATPowerTrain.cs +++ b/VectoCore/VectoCoreTest/Integration/ATPowerTrain.cs @@ -29,222 +29,223 @@ * Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology */ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using TUGraz.VectoCommon.Models; -using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.Configuration; -using TUGraz.VectoCore.InputData.Reader; -using TUGraz.VectoCore.InputData.Reader.ComponentData; -using TUGraz.VectoCore.Models.Declaration; -using TUGraz.VectoCore.Models.Simulation.Data; -using TUGraz.VectoCore.Models.Simulation.Impl; -using TUGraz.VectoCore.Models.SimulationComponent.Data; -using TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox; -using TUGraz.VectoCore.Models.SimulationComponent.Impl; -using TUGraz.VectoCore.OutputData; -using TUGraz.VectoCore.OutputData.FileIO; -using TUGraz.VectoCore.Tests.Utils; -using TUGraz.VectoCore.Utils; -using Wheels = TUGraz.VectoCore.Models.SimulationComponent.Impl.Wheels; - -namespace TUGraz.VectoCore.Tests.Integration -{ - public class ATPowerTrain - { - protected static readonly PerSecond MaxTcSpeed = 1500.RPMtoRad(); - - public const string AccelerationFile = @"TestData\Components\Truck.vacc"; - public const string EngineFile = @"TestData\Components\AT_GBX\Engine.veng"; - //public const string AxleGearLossMap = @"TestData\Components\AT_GBX\Axle.vtlm"; - //public const string GearboxIndirectLoss = @"TestData\Components\AT_GBX\Indirect Gear.vtlm"; - //public const string GearboxDirectLoss = @"TestData\Components\AT_GBX\Direct Gear.vtlm"; - public const string TorqueConverterGenericFile = @"TestData\Components\AT_GBX\TorqueConverter.vtcc"; - public const string TorqueConverterPowerSplitFile = @"TestData\Components\AT_GBX\TorqueConverterPowerSplit.vtcc"; - public const string GearboxShiftPolygonFile = @"TestData\Components\AT_GBX\AT-Shift.vgbs"; - - public static VectoRun CreateEngineeringRun(DrivingCycleData cycleData, GearboxType gbxType, string modFileName, - bool overspeed = false, KilogramSquareMeter gearBoxInertia = null) - { - var container = CreatePowerTrain(cycleData, gbxType, Path.GetFileNameWithoutExtension(modFileName), overspeed, - gearBoxInertia); - return new DistanceRun(container); - } - - public static VehicleContainer CreatePowerTrain(DrivingCycleData cycleData, GearboxType gbxType, string modFileName, - bool overspeed = false, KilogramSquareMeter gearBoxInertia = null) - { - var fileWriter = new FileOutputWriter(modFileName); - var modData = new ModalDataContainer(modFileName, FuelType.DieselCI, fileWriter) { - WriteModalResults = true, - HasTorqueConverter = true - }; - - var gearboxData = CreateGearboxData(gbxType); - var engineData = MockSimulationDataFactory.CreateEngineDataFromFile(EngineFile, gearboxData.Gears.Count); - var axleGearData = CreateAxleGearData(gbxType); - - if (gearBoxInertia != null) { - gearboxData.Inertia = gearBoxInertia; - } - - var vehicleData = CreateVehicleData(3300.SI<Kilogram>()); - var airdragData = CreateAirdragData(); - var driverData = CreateDriverData(AccelerationFile, overspeed); - - var runData = new VectoRunData() { - JobRunId = 0, - AxleGearData = axleGearData, - VehicleData = vehicleData, - AirdragData = airdragData, - GearboxData = gearboxData, - EngineData = engineData, - JobName = modFileName, - Cycle = cycleData, - Retarder = new RetarderData() { Type = RetarderType.None }, - Aux = new List<VectoRunData.AuxData>() - }; - var container = new VehicleContainer(ExecutionMode.Engineering, modData) { - RunData = runData, - }; - var cycle = new DistanceBasedDrivingCycle(container, cycleData); - var engine = new CombustionEngine(container, engineData); - var tmp = cycle.AddComponent(new Driver(container, driverData, new DefaultDriverStrategy())) - .AddComponent(new Vehicle(container, vehicleData, airdragData)) - .AddComponent(new Wheels(container, vehicleData.DynamicTyreRadius, vehicleData.WheelsInertia)) - .AddComponent(new Brakes(container)) - .AddComponent(new AxleGear(container, axleGearData)) - .AddComponent(new DummyRetarder(container)) - .AddComponent(new ATGearbox(container, new ATShiftStrategy(gearboxData, container), runData)) - .AddComponent(engine); - - var aux = new EngineAuxiliary(container); - aux.AddConstant("ZERO", 0.SI<Watt>()); - container.ModalData.AddAuxiliary("ZERO"); - - engine.Connect(aux.Port()); - - return container; - } - - public static GearboxData CreateGearboxData(GearboxType gbxType) - { - var ratios = gbxType == GearboxType.ATSerial - ? new[] { 3.4, 1.9, 1.42, 1.0, 0.7, 0.62 } - : new[] { 1.35, 1.0, 0.73 }; - var torqueConverterFile = gbxType == GearboxType.ATSerial - ? TorqueConverterGenericFile - : TorqueConverterPowerSplitFile; - return new GearboxData { - Type = gbxType == GearboxType.ATSerial ? GearboxType.ATSerial : GearboxType.ATPowerSplit, - Gears = ratios.Select((ratio, i) => - Tuple.Create((uint)i, - new GearData { +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using TUGraz.VectoCommon.Models; +using TUGraz.VectoCommon.Utils; +using TUGraz.VectoCore.Configuration; +using TUGraz.VectoCore.InputData.Reader; +using TUGraz.VectoCore.InputData.Reader.ComponentData; +using TUGraz.VectoCore.Models.Declaration; +using TUGraz.VectoCore.Models.Simulation.Data; +using TUGraz.VectoCore.Models.Simulation.Impl; +using TUGraz.VectoCore.Models.SimulationComponent.Data; +using TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox; +using TUGraz.VectoCore.Models.SimulationComponent.Impl; +using TUGraz.VectoCore.OutputData; +using TUGraz.VectoCore.OutputData.FileIO; +using TUGraz.VectoCore.Tests.Utils; +using TUGraz.VectoCore.Utils; +using Wheels = TUGraz.VectoCore.Models.SimulationComponent.Impl.Wheels; + +namespace TUGraz.VectoCore.Tests.Integration +{ + public class ATPowerTrain + { + protected static readonly PerSecond MaxTcSpeed = 1500.RPMtoRad(); + + public const string AccelerationFile = @"TestData\Components\Truck.vacc"; + public const string EngineFile = @"TestData\Components\AT_GBX\Engine.veng"; + //public const string AxleGearLossMap = @"TestData\Components\AT_GBX\Axle.vtlm"; + //public const string GearboxIndirectLoss = @"TestData\Components\AT_GBX\Indirect Gear.vtlm"; + //public const string GearboxDirectLoss = @"TestData\Components\AT_GBX\Direct Gear.vtlm"; + public const string TorqueConverterGenericFile = @"TestData\Components\AT_GBX\TorqueConverter.vtcc"; + public const string TorqueConverterPowerSplitFile = @"TestData\Components\AT_GBX\TorqueConverterPowerSplit.vtcc"; + public const string GearboxShiftPolygonFile = @"TestData\Components\AT_GBX\AT-Shift.vgbs"; + + public static VectoRun CreateEngineeringRun(DrivingCycleData cycleData, GearboxType gbxType, string modFileName, + bool overspeed = false, KilogramSquareMeter gearBoxInertia = null) + { + var container = CreatePowerTrain(cycleData, gbxType, Path.GetFileNameWithoutExtension(modFileName), overspeed, + gearBoxInertia); + return new DistanceRun(container); + } + + public static VehicleContainer CreatePowerTrain(DrivingCycleData cycleData, GearboxType gbxType, string modFileName, + bool overspeed = false, KilogramSquareMeter gearBoxInertia = null) + { + var fileWriter = new FileOutputWriter(modFileName); + var modData = new ModalDataContainer(modFileName, FuelType.DieselCI, fileWriter) { + WriteModalResults = true, + HasTorqueConverter = true + }; + + var gearboxData = CreateGearboxData(gbxType); + var engineData = MockSimulationDataFactory.CreateEngineDataFromFile(EngineFile, gearboxData.Gears.Count); + var axleGearData = CreateAxleGearData(gbxType); + + if (gearBoxInertia != null) { + gearboxData.Inertia = gearBoxInertia; + } + + var vehicleData = CreateVehicleData(3300.SI<Kilogram>()); + var airdragData = CreateAirdragData(); + var driverData = CreateDriverData(AccelerationFile, overspeed); + + var runData = new VectoRunData() { + JobRunId = 0, + AxleGearData = axleGearData, + VehicleData = vehicleData, + AirdragData = airdragData, + GearboxData = gearboxData, + EngineData = engineData, + JobName = modFileName, + Cycle = cycleData, + Retarder = new RetarderData() { Type = RetarderType.None }, + Aux = new List<VectoRunData.AuxData>() + }; + var container = new VehicleContainer(ExecutionMode.Engineering, modData) { + RunData = runData, + }; + var cycle = new DistanceBasedDrivingCycle(container, cycleData); + var engine = new CombustionEngine(container, engineData); + var tmp = cycle.AddComponent(new Driver(container, driverData, new DefaultDriverStrategy())) + .AddComponent(new Vehicle(container, vehicleData, airdragData)) + .AddComponent(new Wheels(container, vehicleData.DynamicTyreRadius, vehicleData.WheelsInertia)) + .AddComponent(new Brakes(container)) + .AddComponent(new AxleGear(container, axleGearData)) + .AddComponent(new DummyRetarder(container)) + .AddComponent(new ATGearbox(container, new ATShiftStrategy(gearboxData, container), runData)) + .AddComponent(engine); + + var aux = new EngineAuxiliary(container); + aux.AddConstant("ZERO", 0.SI<Watt>()); + container.ModalData.AddAuxiliary("ZERO"); + + engine.Connect(aux.Port()); + + return container; + } + + public static GearboxData CreateGearboxData(GearboxType gbxType) + { + var ratios = gbxType == GearboxType.ATSerial + ? new[] { 3.4, 1.9, 1.42, 1.0, 0.7, 0.62 } + : new[] { 1.35, 1.0, 0.73 }; + var torqueConverterFile = gbxType == GearboxType.ATSerial + ? TorqueConverterGenericFile + : TorqueConverterPowerSplitFile; + return new GearboxData { + Type = gbxType == GearboxType.ATSerial ? GearboxType.ATSerial : GearboxType.ATPowerSplit, + Gears = ratios.Select((ratio, i) => + Tuple.Create((uint)i, + new GearData { //MaxTorque = 2300.SI<NewtonMeter>(), - LossMap = ratio.IsEqual(1) - ? TransmissionLossMapReader.Create(0.96, ratio, string.Format("Gear {0}", i)) - : TransmissionLossMapReader.Create(0.98, ratio, string.Format("Gear {0}", i)), - Ratio = ratio, - ShiftPolygon = ShiftPolygonReader.ReadFromFile(GearboxShiftPolygonFile), - TorqueConverterRatio = i == 0 ? (gbxType == GearboxType.ATPowerSplit ? 1.0 : ratio) : double.NaN, - TorqueConverterGearLossMap = i == 0 - ? TransmissionLossMapReader.Create(gbxType == GearboxType.ATPowerSplit ? 1.0 : 0.98, ratio, - string.Format("Gear {0}", i)) - : null, - TorqueConverterShiftPolygon = i == 0 ? ShiftPolygonReader.ReadFromFile(GearboxShiftPolygonFile) : null - })) - .ToDictionary(k => k.Item1 + 1, v => v.Item2), - ShiftTime = 1.SI<Second>(), - Inertia = 0.SI<KilogramSquareMeter>(), - TractionInterruption = 0.SI<Second>(), - StartSpeed = 2.SI<MeterPerSecond>(), - StartAcceleration = 0.6.SI<MeterPerSquareSecond>(), - StartTorqueReserve = 0.2, - TorqueReserve = 0.2, - DownshiftAfterUpshiftDelay = DeclarationData.Gearbox.DownshiftAfterUpshiftDelay, - UpshiftAfterDownshiftDelay = DeclarationData.Gearbox.UpshiftAfterDownshiftDelay, - UpshiftMinAcceleration = DeclarationData.Gearbox.UpshiftMinAcceleration, - PowershiftShiftTime = 0.8.SI<Second>(), - TorqueConverterData = - TorqueConverterDataReader.ReadFromFile(torqueConverterFile, 1000.RPMtoRad(), - MaxTcSpeed, ExecutionMode.Engineering, gbxType == GearboxType.ATSerial ? 1 : 1 / ratios[0], - DeclarationData.Gearbox.UpshiftMinAcceleration, DeclarationData.Gearbox.UpshiftMinAcceleration) - }; - } - - private static AxleGearData CreateAxleGearData(GearboxType gbxType) - { - var ratio = gbxType == GearboxType.ATSerial ? 6.2 : 5.8; - return new AxleGearData { - AxleGear = new GearData { - Ratio = ratio, - LossMap = TransmissionLossMapReader.Create(0.95, ratio, "Axlegear"), - } - }; - } - - private static VehicleData CreateVehicleData(Kilogram loading) - { - var axles = new List<Axle> { - new Axle { - AxleWeightShare = 0.38, - Inertia = 20.SI<KilogramSquareMeter>(), - RollResistanceCoefficient = 0.007, - TwinTyres = false, - TyreTestLoad = 30436.0.SI<Newton>() - }, - new Axle { - AxleWeightShare = 0.62, - Inertia = 18.SI<KilogramSquareMeter>(), - RollResistanceCoefficient = 0.007, - TwinTyres = true, - TyreTestLoad = 30436.SI<Newton>() - }, - }; - return new VehicleData { - AxleConfiguration = AxleConfiguration.AxleConfig_4x2, - CurbWeight = 11500.SI<Kilogram>(), - Loading = loading, - DynamicTyreRadius = 0.465.SI<Meter>(), - AxleData = axles, - SavedInDeclarationMode = false - }; - } - - private static AirdragData CreateAirdragData() - { - return new AirdragData() { - CrossWindCorrectionCurve = - new CrosswindCorrectionCdxALookup(3.2634.SI<SquareMeter>(), - CrossWindCorrectionCurveReader.GetNoCorrectionCurve(3.2634.SI<SquareMeter>()), - CrossWindCorrectionMode.NoCorrection), - }; - } - - - private static DriverData CreateDriverData(string accelerationFile, bool overspeed = false) - { - return new DriverData { - AccelerationCurve = AccelerationCurveReader.ReadFromFile(accelerationFile), - LookAheadCoasting = new DriverData.LACData { - Enabled = true, - MinSpeed = 50.KMPHtoMeterPerSecond(), + LossMap = ratio.IsEqual(1) + ? TransmissionLossMapReader.Create(0.96, ratio, string.Format("Gear {0}", i)) + : TransmissionLossMapReader.Create(0.98, ratio, string.Format("Gear {0}", i)), + Ratio = ratio, + ShiftPolygon = ShiftPolygonReader.ReadFromFile(GearboxShiftPolygonFile), + TorqueConverterRatio = i == 0 ? (gbxType == GearboxType.ATPowerSplit ? 1.0 : ratio) : double.NaN, + TorqueConverterGearLossMap = i == 0 + ? TransmissionLossMapReader.Create(gbxType == GearboxType.ATPowerSplit ? 1.0 : 0.98, ratio, + string.Format("Gear {0}", i)) + : null, + TorqueConverterShiftPolygon = i == 0 ? ShiftPolygonReader.ReadFromFile(GearboxShiftPolygonFile) : null + })) + .ToDictionary(k => k.Item1 + 1, v => v.Item2), + ShiftTime = 1.SI<Second>(), + Inertia = 0.SI<KilogramSquareMeter>(), + TractionInterruption = 0.SI<Second>(), + StartSpeed = 2.SI<MeterPerSecond>(), + StartAcceleration = 0.6.SI<MeterPerSquareSecond>(), + StartTorqueReserve = 0.2, + TorqueReserve = 0.2, + DownshiftAfterUpshiftDelay = DeclarationData.Gearbox.DownshiftAfterUpshiftDelay, + UpshiftAfterDownshiftDelay = DeclarationData.Gearbox.UpshiftAfterDownshiftDelay, + UpshiftMinAcceleration = DeclarationData.Gearbox.UpshiftMinAcceleration, + PowershiftShiftTime = 0.8.SI<Second>(), + TorqueConverterData = + TorqueConverterDataReader.ReadFromFile(torqueConverterFile, 1000.RPMtoRad(), + MaxTcSpeed, ExecutionMode.Engineering, gbxType == GearboxType.ATSerial ? 1 : 1 / ratios[0], + DeclarationData.Gearbox.UpshiftMinAcceleration, DeclarationData.Gearbox.UpshiftMinAcceleration) + }; + } + + private static AxleGearData CreateAxleGearData(GearboxType gbxType) + { + var ratio = gbxType == GearboxType.ATSerial ? 6.2 : 5.8; + return new AxleGearData { + AxleGear = new GearData { + Ratio = ratio, + LossMap = TransmissionLossMapReader.Create(0.95, ratio, "Axlegear"), + } + }; + } + + private static VehicleData CreateVehicleData(Kilogram loading) + { + var axles = new List<Axle> { + new Axle { + AxleWeightShare = 0.38, + Inertia = 20.SI<KilogramSquareMeter>(), + RollResistanceCoefficient = 0.007, + TwinTyres = false, + TyreTestLoad = 30436.0.SI<Newton>() + }, + new Axle { + AxleWeightShare = 0.62, + Inertia = 18.SI<KilogramSquareMeter>(), + RollResistanceCoefficient = 0.007, + TwinTyres = true, + TyreTestLoad = 30436.SI<Newton>() + }, + }; + return new VehicleData { + AirDensity = DeclarationData.AirDensity, + AxleConfiguration = AxleConfiguration.AxleConfig_4x2, + CurbWeight = 11500.SI<Kilogram>(), + Loading = loading, + DynamicTyreRadius = 0.465.SI<Meter>(), + AxleData = axles, + SavedInDeclarationMode = false + }; + } + + private static AirdragData CreateAirdragData() + { + return new AirdragData() { + CrossWindCorrectionCurve = + new CrosswindCorrectionCdxALookup(3.2634.SI<SquareMeter>(), + CrossWindCorrectionCurveReader.GetNoCorrectionCurve(3.2634.SI<SquareMeter>()), + CrossWindCorrectionMode.NoCorrection), + }; + } + + + private static DriverData CreateDriverData(string accelerationFile, bool overspeed = false) + { + return new DriverData { + AccelerationCurve = AccelerationCurveReader.ReadFromFile(accelerationFile), + LookAheadCoasting = new DriverData.LACData { + Enabled = true, + MinSpeed = 50.KMPHtoMeterPerSecond(), //Deceleration = -0.5.SI<MeterPerSquareSecond>() - LookAheadDistanceFactor = DeclarationData.Driver.LookAhead.LookAheadDistanceFactor, - LookAheadDecisionFactor = new LACDecisionFactor() - }, - OverSpeedEcoRoll = overspeed - ? new DriverData.OverSpeedEcoRollData { - Mode = DriverMode.Overspeed, - MinSpeed = 50.KMPHtoMeterPerSecond(), - OverSpeed = 5.KMPHtoMeterPerSecond() - } - : new DriverData.OverSpeedEcoRollData { - Mode = DriverMode.Off - }, - }; - } - } + LookAheadDistanceFactor = DeclarationData.Driver.LookAhead.LookAheadDistanceFactor, + LookAheadDecisionFactor = new LACDecisionFactor() + }, + OverSpeedEcoRoll = overspeed + ? new DriverData.OverSpeedEcoRollData { + Mode = DriverMode.Overspeed, + MinSpeed = 50.KMPHtoMeterPerSecond(), + OverSpeed = 5.KMPHtoMeterPerSecond() + } + : new DriverData.OverSpeedEcoRollData { + Mode = DriverMode.Off + }, + }; + } + } } \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/Integration/CoachAdvancedAuxPowertrain.cs b/VectoCore/VectoCoreTest/Integration/CoachAdvancedAuxPowertrain.cs index 5cdd090255da983b82dca553a3ef4ac7f88b7cae..f2f64156c4c3ac2c075b7b762af9d27189707a06 100644 --- a/VectoCore/VectoCoreTest/Integration/CoachAdvancedAuxPowertrain.cs +++ b/VectoCore/VectoCoreTest/Integration/CoachAdvancedAuxPowertrain.cs @@ -187,6 +187,7 @@ namespace TUGraz.VectoCore.Tests.Integration } }; return new VehicleData { + AirDensity = DeclarationData.AirDensity, AxleConfiguration = AxleConfiguration.AxleConfig_6x2, CurbWeight = 15700.SI<Kilogram>(), Loading = loading, diff --git a/VectoCore/VectoCoreTest/Integration/CoachPowerTrain.cs b/VectoCore/VectoCoreTest/Integration/CoachPowerTrain.cs index 1667a0f535f22004fcb8a329ee88f0909b78953a..01d338e7619542e875a9729859e7ace7f0a4da8c 100644 --- a/VectoCore/VectoCoreTest/Integration/CoachPowerTrain.cs +++ b/VectoCore/VectoCoreTest/Integration/CoachPowerTrain.cs @@ -81,7 +81,8 @@ namespace TUGraz.VectoCore.Tests.Integration }; var gearboxData = CreateGearboxData(); - var engineData = MockSimulationDataFactory.CreateEngineDataFromFile(engineHighPower ? EngineFileHigh : EngineFile, gearboxData.Gears.Count); + var engineData = MockSimulationDataFactory.CreateEngineDataFromFile(engineHighPower ? EngineFileHigh : EngineFile, + gearboxData.Gears.Count); var axleGearData = CreateAxleGearData(); if (gearBoxInertia != null) { gearboxData.Inertia = gearBoxInertia; @@ -189,6 +190,7 @@ namespace TUGraz.VectoCore.Tests.Integration } }; return new VehicleData { + AirDensity = DeclarationData.AirDensity, AxleConfiguration = AxleConfiguration.AxleConfig_6x2, //AerodynamicDragAera = 3.2634.SI<SquareMeter>(), //CrossWindCorrectionMode = CrossWindCorrectionMode.NoCorrection, @@ -205,7 +207,8 @@ namespace TUGraz.VectoCore.Tests.Integration { return new AirdragData() { CrossWindCorrectionCurve = - new CrosswindCorrectionCdxALookup(3.2634.SI<SquareMeter>(), CrossWindCorrectionCurveReader.GetNoCorrectionCurve(3.2634.SI<SquareMeter>()), + new CrosswindCorrectionCdxALookup(3.2634.SI<SquareMeter>(), + CrossWindCorrectionCurveReader.GetNoCorrectionCurve(3.2634.SI<SquareMeter>()), CrossWindCorrectionMode.NoCorrection), }; } diff --git a/VectoCore/VectoCoreTest/Integration/SimulationRuns/FullPowertrain.cs b/VectoCore/VectoCoreTest/Integration/SimulationRuns/FullPowertrain.cs index 7e350453665b6c3a3e6c50e7e6133d9119508c0b..a8c325b978b7d54b7252614ebd8cf23662f5ed2a 100644 --- a/VectoCore/VectoCoreTest/Integration/SimulationRuns/FullPowertrain.cs +++ b/VectoCore/VectoCoreTest/Integration/SimulationRuns/FullPowertrain.cs @@ -94,7 +94,7 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns }; cycle.AddComponent(new Driver(container, driverData, new DefaultDriverStrategy())) - .AddComponent(new Vehicle(container, vehicleData,airDragData)) + .AddComponent(new Vehicle(container, vehicleData, airDragData)) .AddComponent(new Wheels(container, vehicleData.DynamicTyreRadius, vehicleData.WheelsInertia)) .AddComponent(new Brakes(container)) .AddComponent(new AxleGear(container, axleGearData)) @@ -159,7 +159,7 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns var cyclePort = cycle.OutPort(); cycle.AddComponent(new Driver(container, driverData, new DefaultDriverStrategy())) - .AddComponent(new Vehicle(container, vehicleData,airDragData)) + .AddComponent(new Vehicle(container, vehicleData, airDragData)) .AddComponent(new Wheels(container, vehicleData.DynamicTyreRadius, vehicleData.WheelsInertia)) .AddComponent(new Brakes(container)) .AddComponent(new AxleGear(container, axleGearData)) @@ -405,7 +405,7 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns }; return new VehicleData { AxleConfiguration = AxleConfiguration.AxleConfig_6x2, - + AirDensity = DeclarationData.AirDensity, CurbWeight = 15700.SI<Kilogram>(), Loading = loading, DynamicTyreRadius = 0.52.SI<Meter>(), @@ -416,11 +416,12 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns private static AirdragData CreateAirdragData() { - return new AirdragData(){ + return new AirdragData() { CrossWindCorrectionCurve = new CrosswindCorrectionCdxALookup(3.2634.SI<SquareMeter>(), CrossWindCorrectionCurveReader.GetNoCorrectionCurve(3.2634.SI<SquareMeter>()), - CrossWindCorrectionMode.NoCorrection),}; + CrossWindCorrectionMode.NoCorrection), + }; } private static DriverData CreateDriverData(string accelerationFile) diff --git a/VectoCore/VectoCoreTest/Integration/SimulationRuns/MinimalPowertrain.cs b/VectoCore/VectoCoreTest/Integration/SimulationRuns/MinimalPowertrain.cs index c2d71d2899c22398f022107134bbf745dd1975c5..f08f921cafc0452b7280b181b7a926b0ae44c215 100644 --- a/VectoCore/VectoCoreTest/Integration/SimulationRuns/MinimalPowertrain.cs +++ b/VectoCore/VectoCoreTest/Integration/SimulationRuns/MinimalPowertrain.cs @@ -275,7 +275,7 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns }; return new VehicleData { AxleConfiguration = AxleConfiguration.AxleConfig_6x2, - + AirDensity = DeclarationData.AirDensity, CurbWeight = 15700.SI<Kilogram>(), Loading = loading, DynamicTyreRadius = 0.52.SI<Meter>(), diff --git a/VectoCore/VectoCoreTest/Integration/Truck40tPowerTrain.cs b/VectoCore/VectoCoreTest/Integration/Truck40tPowerTrain.cs index 2bb855d596e50825e1a2cbe00766433e7328c6d2..900a1a51d80eeb5cdc8a4f29509853b6f85fd342 100644 --- a/VectoCore/VectoCoreTest/Integration/Truck40tPowerTrain.cs +++ b/VectoCore/VectoCoreTest/Integration/Truck40tPowerTrain.cs @@ -222,6 +222,7 @@ namespace TUGraz.VectoCore.Tests.Integration } }; return new VehicleData { + AirDensity = DeclarationData.AirDensity, AxleConfiguration = AxleConfiguration.AxleConfig_4x2, CurbWeight = 7100.SI<Kilogram>() + massExtra, Loading = loading, diff --git a/VectoCore/VectoCoreTest/Models/Simulation/MeasuredSpeedModeTest.cs b/VectoCore/VectoCoreTest/Models/Simulation/MeasuredSpeedModeTest.cs index e3a0d787ceae63f165f705cd5d223d93344bdd1e..841ce58b226a59918162cab3b5d49f14dde246e1 100644 --- a/VectoCore/VectoCoreTest/Models/Simulation/MeasuredSpeedModeTest.cs +++ b/VectoCore/VectoCoreTest/Models/Simulation/MeasuredSpeedModeTest.cs @@ -29,507 +29,507 @@ * Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology */ -using Microsoft.VisualStudio.TestTools.UnitTesting; -using System.Collections.Generic; -using System.Data; -using System.Linq; -using TUGraz.VectoCommon.Exceptions; -using TUGraz.VectoCommon.Models; -using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.InputData.FileIO.JSON; -using TUGraz.VectoCore.InputData.Reader; -using TUGraz.VectoCore.InputData.Reader.ComponentData; -using TUGraz.VectoCore.Models.Declaration; -using TUGraz.VectoCore.Models.Simulation.Data; -using TUGraz.VectoCore.Models.Simulation.Impl; -using TUGraz.VectoCore.Models.SimulationComponent.Data; -using TUGraz.VectoCore.Models.SimulationComponent.Data.Engine; -using TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox; -using TUGraz.VectoCore.Models.SimulationComponent.Impl; -using TUGraz.VectoCore.OutputData; -using TUGraz.VectoCore.OutputData.FileIO; -using TUGraz.VectoCore.Tests.Utils; -using TUGraz.VectoCore.Utils; - -// ReSharper disable UnusedVariable - -// ReSharper disable AccessToModifiedClosure - -namespace TUGraz.VectoCore.Tests.Models.Simulation -{ - [TestClass] - public class MeasuredSpeedModeTest - { - /// <summary> - /// Test if the cycle file can be read. - /// </summary> - /// <remarks>VECTO-181</remarks> - [TestMethod] - public void MeasuredSpeed_ReadCycle_Gear() - { - // all data +using Microsoft.VisualStudio.TestTools.UnitTesting; +using System.Collections.Generic; +using System.Data; +using System.Linq; +using TUGraz.VectoCommon.Exceptions; +using TUGraz.VectoCommon.Models; +using TUGraz.VectoCommon.Utils; +using TUGraz.VectoCore.InputData.FileIO.JSON; +using TUGraz.VectoCore.InputData.Reader; +using TUGraz.VectoCore.InputData.Reader.ComponentData; +using TUGraz.VectoCore.Models.Declaration; +using TUGraz.VectoCore.Models.Simulation.Data; +using TUGraz.VectoCore.Models.Simulation.Impl; +using TUGraz.VectoCore.Models.SimulationComponent.Data; +using TUGraz.VectoCore.Models.SimulationComponent.Data.Engine; +using TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox; +using TUGraz.VectoCore.Models.SimulationComponent.Impl; +using TUGraz.VectoCore.OutputData; +using TUGraz.VectoCore.OutputData.FileIO; +using TUGraz.VectoCore.Tests.Utils; +using TUGraz.VectoCore.Utils; + +// ReSharper disable UnusedVariable + +// ReSharper disable AccessToModifiedClosure + +namespace TUGraz.VectoCore.Tests.Models.Simulation +{ + [TestClass] + public class MeasuredSpeedModeTest + { + /// <summary> + /// Test if the cycle file can be read. + /// </summary> + /// <remarks>VECTO-181</remarks> + [TestMethod] + public void MeasuredSpeed_ReadCycle_Gear() + { + // all data var inputData = @"<t>,<v>,<grad>,<Padd>,<n> ,<gear>,<vair_res>,<vair_beta>,<Aux_Alt> - 0 ,0 ,0 ,3.2018,595.75,0 ,0 ,0 ,0.504"; - TestCycleRead(inputData, CycleType.MeasuredSpeedGear); - - // vair only + 0 ,0 ,0 ,3.2018,595.75,0 ,0 ,0 ,0.504"; + TestCycleRead(inputData, CycleType.MeasuredSpeedGear); + + // vair only inputData = @"<t>,<v>,<grad>,<Padd>,<n> ,<gear>,<vair_res>,<vair_beta> - 0 ,0 ,0 ,3.2018,595.75,0 ,0 ,0 "; - TestCycleRead(inputData, CycleType.MeasuredSpeedGear, crossWindRequired: true); - - // vair required, but not there: error + 0 ,0 ,0 ,3.2018,595.75,0 ,0 ,0 "; + TestCycleRead(inputData, CycleType.MeasuredSpeedGear, crossWindRequired: true); + + // vair required, but not there: error inputData = @"<t>,<v>,<grad>,<Padd>,<n> ,<gear> - 0 ,0 ,0 ,3.2018,595.75,0"; - AssertHelper.Exception<VectoException>( - () => TestCycleRead(inputData, CycleType.MeasuredSpeedGear, crossWindRequired: true), - "ERROR while reading DrivingCycle Stream: Column vair_res was not found in DataRow."); - - // no aux, no vair + 0 ,0 ,0 ,3.2018,595.75,0"; + AssertHelper.Exception<VectoException>( + () => TestCycleRead(inputData, CycleType.MeasuredSpeedGear, crossWindRequired: true), + "ERROR while reading DrivingCycle Stream: Column vair_res was not found in DataRow."); + + // no aux, no vair inputData = @"<t>,<v>,<grad>,<Padd>,<n> ,<gear> - 0 ,0 ,0 ,3.2018,595.75,0 "; - TestCycleRead(inputData, CycleType.MeasuredSpeedGear); - - // aux only + 0 ,0 ,0 ,3.2018,595.75,0 "; + TestCycleRead(inputData, CycleType.MeasuredSpeedGear); + + // aux only inputData = @"<t>,<v>,<grad>,<Padd>,<n> ,<gear>,<Aux_Alt> - 0 ,0 ,0 ,3.2018,595.75,0 ,0.504"; - TestCycleRead(inputData, CycleType.MeasuredSpeedGear); - - // missing columns + 0 ,0 ,0 ,3.2018,595.75,0 ,0.504"; + TestCycleRead(inputData, CycleType.MeasuredSpeedGear); + + // missing columns inputData = @"<t>,<grad>,<Padd>,<n>,<gear> - 0 ,0 ,3.2018,595.75,0"; - AssertHelper.Exception<VectoException>( - () => TestCycleRead(inputData, CycleType.MeasuredSpeedGear, autoCycle: false), - "ERROR while reading DrivingCycle Stream: Column(s) required: v"); - - // auto find cycle type - AssertHelper.Exception<VectoException>( - () => TestCycleRead(inputData, CycleType.MeasuredSpeedGear), - "CycleFile format is unknown."); - - // not allowed columns + 0 ,0 ,3.2018,595.75,0"; + AssertHelper.Exception<VectoException>( + () => TestCycleRead(inputData, CycleType.MeasuredSpeedGear, autoCycle: false), + "ERROR while reading DrivingCycle Stream: Column(s) required: v"); + + // auto find cycle type + AssertHelper.Exception<VectoException>( + () => TestCycleRead(inputData, CycleType.MeasuredSpeedGear), + "CycleFile format is unknown."); + + // not allowed columns inputData = @"<t>,<v>,<grad>,<Padd>,<n> ,<gear>,<wrong> - 0 ,0 ,0 ,3.2018,595.75,0 ,0.504"; - AssertHelper.Exception<VectoException>(() => TestCycleRead(inputData, CycleType.MeasuredSpeedGear, autoCycle: false), - "ERROR while reading DrivingCycle Stream: Column(s) not allowed: wrong"); - - // wrong data + 0 ,0 ,0 ,3.2018,595.75,0 ,0.504"; + AssertHelper.Exception<VectoException>(() => TestCycleRead(inputData, CycleType.MeasuredSpeedGear, autoCycle: false), + "ERROR while reading DrivingCycle Stream: Column(s) not allowed: wrong"); + + // wrong data inputData = @"<t>,<grad>,<Padd>,<n>,<gear> - 0 ,0"; - AssertHelper.Exception<VectoException>(() => TestCycleRead(inputData, CycleType.MeasuredSpeedGear), - "Line 1: The number of values is not correct. Expected 5 Columns, Got 2 Columns"); - } - - /// <summary> - /// Test if the cycle file can be read. - /// </summary> - /// <remarks>VECTO-181</remarks> - [TestMethod] - public void MeasuredSpeed_ReadCycle() - { - // all data + 0 ,0"; + AssertHelper.Exception<VectoException>(() => TestCycleRead(inputData, CycleType.MeasuredSpeedGear), + "Line 1: The number of values is not correct. Expected 5 Columns, Got 2 Columns"); + } + + /// <summary> + /// Test if the cycle file can be read. + /// </summary> + /// <remarks>VECTO-181</remarks> + [TestMethod] + public void MeasuredSpeed_ReadCycle() + { + // all data string inputData = @"<t>,<v>,<grad>,<Padd>,<vair_res>,<vair_beta>,<Aux_Alt> - 0 ,0 ,0 ,3.2018,0 ,0 ,0.504"; - TestCycleRead(inputData, CycleType.MeasuredSpeed); - - // vair only + 0 ,0 ,0 ,3.2018,0 ,0 ,0.504"; + TestCycleRead(inputData, CycleType.MeasuredSpeed); + + // vair only inputData = @"<t>,<v>,<grad>,<Padd>,<vair_res>,<vair_beta> - 0 ,0 ,0 ,3.2018,0 ,0 "; - TestCycleRead(inputData, CycleType.MeasuredSpeed, crossWindRequired: true); - - // vair required, but not there: error + 0 ,0 ,0 ,3.2018,0 ,0 "; + TestCycleRead(inputData, CycleType.MeasuredSpeed, crossWindRequired: true); + + // vair required, but not there: error inputData = @"<t>,<v>,<grad>,<Padd> - 0 ,0 ,0 ,3.2018"; - AssertHelper.Exception<VectoException>( - () => TestCycleRead(inputData, CycleType.MeasuredSpeed, crossWindRequired: true), - "ERROR while reading DrivingCycle Stream: Column vair_res was not found in DataRow."); - - // no aux, no vair + 0 ,0 ,0 ,3.2018"; + AssertHelper.Exception<VectoException>( + () => TestCycleRead(inputData, CycleType.MeasuredSpeed, crossWindRequired: true), + "ERROR while reading DrivingCycle Stream: Column vair_res was not found in DataRow."); + + // no aux, no vair inputData = @"<t>,<v>,<grad>,<Padd> - 0 ,0 ,0 ,3.2018"; - TestCycleRead(inputData, CycleType.MeasuredSpeed); - - // aux only + 0 ,0 ,0 ,3.2018"; + TestCycleRead(inputData, CycleType.MeasuredSpeed); + + // aux only inputData = @"<t>,<v>,<grad>,<Padd>,<Aux_Alt> - 0 ,0 ,0 ,3.2018,0.504"; - TestCycleRead(inputData, CycleType.MeasuredSpeed); - - // missing columns + 0 ,0 ,0 ,3.2018,0.504"; + TestCycleRead(inputData, CycleType.MeasuredSpeed); + + // missing columns inputData = @"<t>,<grad>,<Padd>,<vair_res>,<vair_beta>,<Aux_Alt> - 0 ,0 ,3.2018,0 ,0 ,0.504"; - AssertHelper.Exception<VectoException>(() => TestCycleRead(inputData, CycleType.MeasuredSpeed, autoCycle: false), - "ERROR while reading DrivingCycle Stream: Column(s) required: v"); - - // not allowed columns + 0 ,0 ,3.2018,0 ,0 ,0.504"; + AssertHelper.Exception<VectoException>(() => TestCycleRead(inputData, CycleType.MeasuredSpeed, autoCycle: false), + "ERROR while reading DrivingCycle Stream: Column(s) required: v"); + + // not allowed columns inputData = @"<t>,<v>,<wrong>,<grad>,<Padd>,<vair_res>,<vair_beta>,<Aux_Alt> - 0 ,0 ,0 ,3.2018,0 ,0 ,0.504,0"; - AssertHelper.Exception<VectoException>(() => TestCycleRead(inputData, CycleType.MeasuredSpeed, autoCycle: false), - "ERROR while reading DrivingCycle Stream: Column(s) not allowed: wrong"); - - // auto find cycle - AssertHelper.Exception<VectoException>(() => TestCycleRead(inputData, CycleType.MeasuredSpeed), - "CycleFile format is unknown."); - - // wrong data + 0 ,0 ,0 ,3.2018,0 ,0 ,0.504,0"; + AssertHelper.Exception<VectoException>(() => TestCycleRead(inputData, CycleType.MeasuredSpeed, autoCycle: false), + "ERROR while reading DrivingCycle Stream: Column(s) not allowed: wrong"); + + // auto find cycle + AssertHelper.Exception<VectoException>(() => TestCycleRead(inputData, CycleType.MeasuredSpeed), + "CycleFile format is unknown."); + + // wrong data inputData = @"<t>,<v>,<grad>,<Padd>,<vair_res>,<vair_beta>,<Aux_Alt> - 0 ,0"; - AssertHelper.Exception<VectoException>(() => TestCycleRead(inputData, CycleType.MeasuredSpeed), - "Line 1: The number of values is not correct. Expected 7 Columns, Got 2 Columns"); - } - - private static void TestCycleRead(string inputData, CycleType cycleType, bool autoCycle = true, - bool crossWindRequired = false) - { - var container = new VehicleContainer(ExecutionMode.Engineering); - - if (autoCycle) { - var cycleTypeCalc = DrivingCycleDataReader.DetectCycleType(VectoCSVFile.ReadStream(inputData.ToStream())); - Assert.AreEqual(cycleType, cycleTypeCalc); - } - var drivingCycle = DrivingCycleDataReader.ReadFromStream(inputData.ToStream(), cycleType, "", crossWindRequired); - Assert.AreEqual(cycleType, drivingCycle.CycleType); - - var cycle = new MeasuredSpeedDrivingCycle(container, drivingCycle); - } - - /// <summary> - /// Tests if the powertrain can be created in MeasuredSpeed mode. - /// </summary> - /// <remarks>VECTO-181</remarks> - [TestMethod] - public void MeasuredSpeed_CreatePowertrain_Gear() - { - // prepare input data + 0 ,0"; + AssertHelper.Exception<VectoException>(() => TestCycleRead(inputData, CycleType.MeasuredSpeed), + "Line 1: The number of values is not correct. Expected 7 Columns, Got 2 Columns"); + } + + private static void TestCycleRead(string inputData, CycleType cycleType, bool autoCycle = true, + bool crossWindRequired = false) + { + var container = new VehicleContainer(ExecutionMode.Engineering); + + if (autoCycle) { + var cycleTypeCalc = DrivingCycleDataReader.DetectCycleType(VectoCSVFile.ReadStream(inputData.ToStream())); + Assert.AreEqual(cycleType, cycleTypeCalc); + } + var drivingCycle = DrivingCycleDataReader.ReadFromStream(inputData.ToStream(), cycleType, "", crossWindRequired); + Assert.AreEqual(cycleType, drivingCycle.CycleType); + + var cycle = new MeasuredSpeedDrivingCycle(container, drivingCycle); + } + + /// <summary> + /// Tests if the powertrain can be created in MeasuredSpeed mode. + /// </summary> + /// <remarks>VECTO-181</remarks> + [TestMethod] + public void MeasuredSpeed_CreatePowertrain_Gear() + { + // prepare input data var inputData = @"<t>,<v> ,<grad> ,<Padd> ,<n> ,<gear> 1 ,0 ,0 ,3.201815003,595.75 ,0 2 ,0.3112 ,0 ,4.532197507,983.75 ,1 3 ,5.2782 ,-0.041207832,2.453370264,723.75 ,1 - 4 ,10.5768,-0.049730127,3.520827362,1223.25,1"; - - var drivingCycle = DrivingCycleDataReader.ReadFromStream(inputData.ToStream(), CycleType.MeasuredSpeedGear, "", - false); - - var fuelConsumption = new DataTable(); - fuelConsumption.Columns.Add(""); - fuelConsumption.Columns.Add(""); - fuelConsumption.Columns.Add(""); - fuelConsumption.Rows.Add("1", "1", "1"); - fuelConsumption.Rows.Add("2", "2", "2"); - fuelConsumption.Rows.Add("3", "3", "3"); - - var fullLoad = new DataTable(); - fullLoad.Columns.Add("Engine speed"); - fullLoad.Columns.Add("max torque"); - fullLoad.Columns.Add("drag torque"); - fullLoad.Columns.Add("PT1"); - fullLoad.Rows.Add("0", "5000", "-5000", "0"); - fullLoad.Rows.Add("3000", "5000", "-5000", "0"); - - var fullLoadCurve = FullLoadCurveReader.Create(fullLoad); - var data = new VectoRunData { - Cycle = drivingCycle, - VehicleData = - new VehicleData { - VehicleCategory = VehicleCategory.RigidTruck, - GrossVehicleWeight = 12000.SI<Kilogram>(), - CurbWeight = 3400.SI<Kilogram>(), - DynamicTyreRadius = 0.5.SI<Meter>(), - AxleData = - new List<Axle> { - new Axle { AxleWeightShare = 1.0, TyreTestLoad = 52532.SI<Newton>(), Inertia = 10.SI<KilogramSquareMeter>() } - } - }, - AirdragData = new AirdragData() { - CrossWindCorrectionCurve = - new CrosswindCorrectionCdxALookup(6.16498344.SI<SquareMeter>(), - CrossWindCorrectionCurveReader.GetNoCorrectionCurve(6.16498344.SI<SquareMeter>()), - CrossWindCorrectionMode.NoCorrection), - }, - AxleGearData = new AxleGearData { AxleGear = new GearData { Ratio = 2.3 } }, - EngineData = - new CombustionEngineData { - IdleSpeed = 560.RPMtoRad(), - FullLoadCurves = new Dictionary<uint, EngineFullLoadCurve>() { { 0, fullLoadCurve }, { 1, fullLoadCurve } } - }, - GearboxData = new GearboxData { Gears = new Dictionary<uint, GearData> { { 1, new GearData { Ratio = 6.2 } } } }, - Retarder = new RetarderData() - }; - - // call builder (actual test) - var builder = new PowertrainBuilder(new MockModalDataContainer()); - builder.Build(data); - } - - /// <summary> - /// Tests if the powertrain can be created in MeasuredSpeed mode. - /// </summary> - /// <remarks>VECTO-181</remarks> - [TestMethod] - public void MeasuredSpeed_CreatePowertrain() - { - // prepare input data + 4 ,10.5768,-0.049730127,3.520827362,1223.25,1"; + + var drivingCycle = DrivingCycleDataReader.ReadFromStream(inputData.ToStream(), CycleType.MeasuredSpeedGear, "", + false); + + var fuelConsumption = new DataTable(); + fuelConsumption.Columns.Add(""); + fuelConsumption.Columns.Add(""); + fuelConsumption.Columns.Add(""); + fuelConsumption.Rows.Add("1", "1", "1"); + fuelConsumption.Rows.Add("2", "2", "2"); + fuelConsumption.Rows.Add("3", "3", "3"); + + var fullLoad = new DataTable(); + fullLoad.Columns.Add("Engine speed"); + fullLoad.Columns.Add("max torque"); + fullLoad.Columns.Add("drag torque"); + fullLoad.Columns.Add("PT1"); + fullLoad.Rows.Add("0", "5000", "-5000", "0"); + fullLoad.Rows.Add("3000", "5000", "-5000", "0"); + + var fullLoadCurve = FullLoadCurveReader.Create(fullLoad); + var data = new VectoRunData { + Cycle = drivingCycle, + VehicleData = + new VehicleData { + VehicleCategory = VehicleCategory.RigidTruck, + GrossVehicleWeight = 12000.SI<Kilogram>(), + CurbWeight = 3400.SI<Kilogram>(), + DynamicTyreRadius = 0.5.SI<Meter>(), + AxleData = + new List<Axle> { + new Axle { AxleWeightShare = 1.0, TyreTestLoad = 52532.SI<Newton>(), Inertia = 10.SI<KilogramSquareMeter>() } + } + }, + AirdragData = new AirdragData() { + CrossWindCorrectionCurve = + new CrosswindCorrectionCdxALookup(6.16498344.SI<SquareMeter>(), + CrossWindCorrectionCurveReader.GetNoCorrectionCurve(6.16498344.SI<SquareMeter>()), + CrossWindCorrectionMode.NoCorrection), + }, + AxleGearData = new AxleGearData { AxleGear = new GearData { Ratio = 2.3 } }, + EngineData = + new CombustionEngineData { + IdleSpeed = 560.RPMtoRad(), + FullLoadCurves = new Dictionary<uint, EngineFullLoadCurve>() { { 0, fullLoadCurve }, { 1, fullLoadCurve } } + }, + GearboxData = new GearboxData { Gears = new Dictionary<uint, GearData> { { 1, new GearData { Ratio = 6.2 } } } }, + Retarder = new RetarderData() + }; + + // call builder (actual test) + var builder = new PowertrainBuilder(new MockModalDataContainer()); + builder.Build(data); + } + + /// <summary> + /// Tests if the powertrain can be created in MeasuredSpeed mode. + /// </summary> + /// <remarks>VECTO-181</remarks> + [TestMethod] + public void MeasuredSpeed_CreatePowertrain() + { + // prepare input data var inputData = @"<t>,<v> ,<grad> ,<Padd> 1 ,0 ,0 ,3.201815003 2 ,0.3112 ,0 ,4.532197507 3 ,5.2782 ,-0.041207832,2.453370264 - 4 ,10.5768,-0.049730127,3.520827362"; - - var drivingCycle = DrivingCycleDataReader.ReadFromStream(inputData.ToStream(), CycleType.MeasuredSpeed, "", false); - - var fuelConsumption = new DataTable(); - fuelConsumption.Columns.Add(""); - fuelConsumption.Columns.Add(""); - fuelConsumption.Columns.Add(""); - fuelConsumption.Rows.Add("1", "1", "1"); - fuelConsumption.Rows.Add("2", "2", "2"); - fuelConsumption.Rows.Add("3", "3", "3"); - - var fullLoad = new DataTable(); - fullLoad.Columns.Add("Engine speed"); - fullLoad.Columns.Add("max torque"); - fullLoad.Columns.Add("drag torque"); - fullLoad.Columns.Add("PT1"); - fullLoad.Rows.Add("0", "5000", "-5000", "0"); - fullLoad.Rows.Add("3000", "5000", "-5000", "0"); - - var fullLoadCurve = FullLoadCurveReader.Create(fullLoad); - var data = new VectoRunData { - Cycle = drivingCycle, - VehicleData = - new VehicleData { - VehicleCategory = VehicleCategory.RigidTruck, - WheelsInertia = 2.SI<KilogramSquareMeter>(), - DynamicTyreRadius = 0.85.SI<Meter>(), - }, - AirdragData = new AirdragData() { - CrossWindCorrectionCurve = - new CrosswindCorrectionCdxALookup(6.16498344.SI<SquareMeter>(), - CrossWindCorrectionCurveReader.GetNoCorrectionCurve(6.16498344.SI<SquareMeter>()), - CrossWindCorrectionMode.NoCorrection) - }, - AxleGearData = new AxleGearData { AxleGear = new GearData { Ratio = 2.3 } }, - EngineData = new CombustionEngineData { - IdleSpeed = 560.RPMtoRad(), - FullLoadCurves = new Dictionary<uint, EngineFullLoadCurve> { - { 0, fullLoadCurve }, - { 1, fullLoadCurve }, - { 2, fullLoadCurve }, - { 3, fullLoadCurve } - } - }, - GearboxData = new GearboxData { - Gears = new Dictionary<uint, GearData> { - { 1, new GearData { Ratio = 6.696 } }, - { 2, new GearData { Ratio = 3.806 } }, - { 3, new GearData { Ratio = 2.289 } } - }, - StartSpeed = 2.SI<MeterPerSecond>() - }, - Retarder = new RetarderData() - }; - - // call builder (actual test) - var builder = new PowertrainBuilder(new MockModalDataContainer()); - var jobContainer = builder.Build(data); - } - - private static void RunJob(string jobFile, string expectedModFile, string actualModFile, string expectedSumFile, - string actualSumFile, bool actualModData = false) - { - var fileWriter = new FileOutputWriter(jobFile); - var sumWriter = new SummaryDataContainer(fileWriter); - var jobContainer = new JobContainer(sumWriter); - - var inputData = JSONInputDataFactory.ReadJsonJob(jobFile); - var runsFactory = new SimulatorFactory(ExecutionMode.Engineering, inputData, fileWriter); - runsFactory.ActualModalData = actualModData; - runsFactory.WriteModalResults = true; - - jobContainer.AddRuns(runsFactory); - jobContainer.Execute(); - - jobContainer.WaitFinished(); - - Assert.IsTrue(jobContainer.Runs.All(r => r.Success), string.Concat(jobContainer.Runs.Select(r => r.ExecException))); - - ResultFileHelper.TestModFile(expectedModFile, actualModFile); - ResultFileHelper.TestSumFile(expectedSumFile, actualSumFile); - } - - [TestMethod] - public void MeasuredSpeed_Run() - { - RunJob(@"TestData\MeasuredSpeed\MeasuredSpeed.vecto", - @"TestData\MeasuredSpeed\Results\MeasuredSpeed_MeasuredSpeed.vmod", - @"TestData\MeasuredSpeed\MeasuredSpeed_MeasuredSpeed.vmod", - @"TestData\MeasuredSpeed\Results\MeasuredSpeed.vsum", @"TestData\MeasuredSpeed\MeasuredSpeed.vsum"); - } - - [TestMethod] - public void MeasuredSpeedAux_Run() - { - RunJob(@"TestData\MeasuredSpeed\MeasuredSpeedAux.vecto", - @"TestData\MeasuredSpeed\Results\MeasuredSpeedAux_MeasuredSpeedAux.vmod", - @"TestData\MeasuredSpeed\MeasuredSpeedAux_MeasuredSpeedAux.vmod", - @"TestData\MeasuredSpeed\Results\MeasuredSpeedAux.vsum", @"TestData\MeasuredSpeed\MeasuredSpeedAux.vsum"); - } - - [TestMethod] - public void MeasuredSpeedVair_Run() - { - RunJob(@"TestData\MeasuredSpeed\MeasuredSpeedVair.vecto", - @"TestData\MeasuredSpeed\Results\MeasuredSpeedVair_MeasuredSpeedVair.vmod", - @"TestData\MeasuredSpeed\MeasuredSpeedVair_MeasuredSpeedVair.vmod", - @"TestData\MeasuredSpeed\Results\MeasuredSpeedVair.vsum", @"TestData\MeasuredSpeed\MeasuredSpeedVair.vsum"); - } - - [TestMethod] - public void MeasuredSpeedVair_WindFromFront_Run() - { - RunJob(@"TestData\MeasuredSpeed\MeasuredSpeedVairFront.vecto", - @"TestData\MeasuredSpeed\Results\MeasuredSpeedVairFront_MeasuredSpeedVairFront.vmod", - @"TestData\MeasuredSpeed\MeasuredSpeedVairFront_MeasuredSpeedVairFront.vmod", - @"TestData\MeasuredSpeed\Results\MeasuredSpeedVairFront.vsum", @"TestData\MeasuredSpeed\MeasuredSpeedVairFront.vsum"); - } - - [TestMethod] - public void MeasuredSpeedVair_WindFromBack_Run() - { - RunJob(@"TestData\MeasuredSpeed\MeasuredSpeedVairBack.vecto", - @"TestData\MeasuredSpeed\Results\MeasuredSpeedVairBack_MeasuredSpeedVairBack.vmod", - @"TestData\MeasuredSpeed\MeasuredSpeedVairBack_MeasuredSpeedVairBack.vmod", - @"TestData\MeasuredSpeed\Results\MeasuredSpeedVairBack.vsum", @"TestData\MeasuredSpeed\MeasuredSpeedVairBack.vsum"); - } - - [TestMethod] - public void MeasuredSpeedVair_NoWind_Run() - { - RunJob(@"TestData\MeasuredSpeed\MeasuredSpeedVairNoWind.vecto", - @"TestData\MeasuredSpeed\Results\MeasuredSpeedVairNoWind_MeasuredSpeedVairNoWind.vmod", - @"TestData\MeasuredSpeed\MeasuredSpeedVairNoWind_MeasuredSpeedVairNoWind.vmod", - @"TestData\MeasuredSpeed\Results\MeasuredSpeedVairNoWind.vsum", - @"TestData\MeasuredSpeed\MeasuredSpeedVairNoWind.vsum"); - } - - [TestMethod] - public void MeasuredSpeedVairAux_Run() - { - RunJob(@"TestData\MeasuredSpeed\MeasuredSpeedVairAux.vecto", - @"TestData\MeasuredSpeed\Results\MeasuredSpeedVairAux_MeasuredSpeedVairAux.vmod", - @"TestData\MeasuredSpeed\MeasuredSpeedVairAux_MeasuredSpeedVairAux.vmod", - @"TestData\MeasuredSpeed\Results\MeasuredSpeedVairAux.vsum", @"TestData\MeasuredSpeed\MeasuredSpeedVairAux.vsum"); - } - - [TestMethod] - public void MeasuredSpeed_Gear_Run() - { - RunJob(@"TestData\MeasuredSpeed\MeasuredSpeedGear.vecto", - @"TestData\MeasuredSpeed\Results\MeasuredSpeedGear_MeasuredSpeed_Gear_Rural.vmod", - @"TestData\MeasuredSpeed\MeasuredSpeedGear_MeasuredSpeed_Gear_Rural.vmod", - @"TestData\MeasuredSpeed\Results\MeasuredSpeedGear.vsum", @"TestData\MeasuredSpeed\MeasuredSpeedGear.vsum"); - } - - [TestMethod] - public void MeasuredSpeed_Gear_TractionInterruption_Run() - { - RunJob(@"TestData\MeasuredSpeed\MeasuredSpeedGear_TractionInterruption.vecto", - @"TestData\MeasuredSpeed\Results\MeasuredSpeedGear_TractionInterruption_MeasuredSpeed_Gear_Rural_TractionInterruption.vmod", - @"TestData\MeasuredSpeed\MeasuredSpeedGear_TractionInterruption_MeasuredSpeed_Gear_Rural_TractionInterruption.vmod", - @"TestData\MeasuredSpeed\Results\MeasuredSpeedGear_TractionInterruption.vsum", - @"TestData\MeasuredSpeed\MeasuredSpeedGear_TractionInterruption.vsum"); - } - - [TestMethod] - public void MeasuredSpeed_Gear_Aux_Run() - { - RunJob(@"TestData\MeasuredSpeed\MeasuredSpeedGearAux.vecto", - @"TestData\MeasuredSpeed\Results\MeasuredSpeedGearAux_MeasuredSpeed_Gear_Rural_Aux.vmod", - @"TestData\MeasuredSpeed\MeasuredSpeedGearAux_MeasuredSpeed_Gear_Rural_Aux.vmod", - @"TestData\MeasuredSpeed\Results\MeasuredSpeedGearAux.vsum", @"TestData\MeasuredSpeed\MeasuredSpeedGearAux.vsum"); - } - - [TestMethod] - public void MeasuredSpeed_Gear_Vair_Run() - { - RunJob(@"TestData\MeasuredSpeed\MeasuredSpeedGearVair.vecto", - @"TestData\MeasuredSpeed\Results\MeasuredSpeedGearVair_MeasuredSpeed_Gear_Rural_Vair.vmod", - @"TestData\MeasuredSpeed\MeasuredSpeedGearVair_MeasuredSpeed_Gear_Rural_Vair.vmod", - @"TestData\MeasuredSpeed\Results\MeasuredSpeedGearVair.vsum", @"TestData\MeasuredSpeed\MeasuredSpeedGearVair.vsum"); - } - - [TestMethod] - public void MeasuredSpeed_Gear_VairAux_Run() - { - RunJob(@"TestData\MeasuredSpeed\MeasuredSpeedGearVairAux.vecto", - @"TestData\MeasuredSpeed\Results\MeasuredSpeedGearVairAux_MeasuredSpeed_Gear_Rural_VairAux.vmod", - @"TestData\MeasuredSpeed\MeasuredSpeedGearVairAux_MeasuredSpeed_Gear_Rural_VairAux.vmod", - @"TestData\MeasuredSpeed\Results\MeasuredSpeedGearVairAux.vsum", - @"TestData\MeasuredSpeed\MeasuredSpeedGearVairAux.vsum"); - } - - [TestMethod] - public void MeasuredSpeed_Gear_AT_PS_Run() - { - RunJob(@"TestData\MeasuredSpeed\MeasuredSpeedGearAT-PS.vecto", - @"TestData\MeasuredSpeed\Results\MeasuredSpeedGearAT-PS_MeasuredSpeedGear_AT-PS.vmod", - @"TestData\MeasuredSpeed\MeasuredSpeedGearAT-PS_MeasuredSpeedGear_AT-PS.vmod", - @"TestData\MeasuredSpeed\Results\MeasuredSpeedGearAT-PS.vsum", - @"TestData\MeasuredSpeed\MeasuredSpeedGearAT-PS.vsum"); - } - - [TestMethod] - public void MeasuredSpeed_Gear_AT_Ser_Run() - { - RunJob(@"TestData\MeasuredSpeed\MeasuredSpeedGearAT-Ser.vecto", - @"TestData\MeasuredSpeed\Results\MeasuredSpeedGearAT-Ser_MeasuredSpeedGear_AT-Ser.vmod", - @"TestData\MeasuredSpeed\MeasuredSpeedGearAT-Ser_MeasuredSpeedGear_AT-Ser.vmod", - @"TestData\MeasuredSpeed\Results\MeasuredSpeedGearAT-Ser.vsum", - @"TestData\MeasuredSpeed\MeasuredSpeedGearAT-Ser.vsum"); - } - - [TestMethod] - public void VcdbTest() - { - var tbl = VectoCSVFile.Read(@"TestData/MeasuredSpeed/VairBetaFull.vcdb"); - - var dataBus = new MockVehicleContainer(); - - var vairbeta = new CrosswindCorrectionVAirBeta(5.SI<SquareMeter>(), - CrossWindCorrectionCurveReader.ReadCdxABetaTable(tbl)); - vairbeta.SetDataBus(dataBus); - - var cycleEntry = new DrivingCycleData.DrivingCycleEntry() { - AirSpeedRelativeToVehicle = 20.KMPHtoMeterPerSecond(), - WindYawAngle = 0 - }; - dataBus.CycleData = new CycleData() { LeftSample = cycleEntry }; - - var pAvg = - vairbeta.AverageAirDragPowerLoss(20.KMPHtoMeterPerSecond(), 20.KMPHtoMeterPerSecond()).Value(); - Assert.AreEqual(509.259, pAvg, 1e-3); - - pAvg = - vairbeta.AverageAirDragPowerLoss(20.KMPHtoMeterPerSecond(), 21.KMPHtoMeterPerSecond()).Value(); - Assert.AreEqual(521.990, pAvg, 1e-3); - - pAvg = - vairbeta.AverageAirDragPowerLoss(20.KMPHtoMeterPerSecond(), 30.KMPHtoMeterPerSecond()).Value(); - Assert.AreEqual(636.574, pAvg, 1e-3); - - cycleEntry.WindYawAngle = 20; - - pAvg = - vairbeta.AverageAirDragPowerLoss(20.KMPHtoMeterPerSecond(), 20.KMPHtoMeterPerSecond()).Value(); - Assert.AreEqual(829.074, pAvg, 1e-3); - - pAvg = - vairbeta.AverageAirDragPowerLoss(20.KMPHtoMeterPerSecond(), 30.KMPHtoMeterPerSecond()).Value(); - Assert.AreEqual(1036.343, pAvg, 1e-3); - - cycleEntry.WindYawAngle = -120; - - pAvg = - vairbeta.AverageAirDragPowerLoss(20.KMPHtoMeterPerSecond(), 20.KMPHtoMeterPerSecond()).Value(); - Assert.AreEqual(-1019.5370, pAvg, 1e-3); - } - } + 4 ,10.5768,-0.049730127,3.520827362"; + + var drivingCycle = DrivingCycleDataReader.ReadFromStream(inputData.ToStream(), CycleType.MeasuredSpeed, "", false); + + var fuelConsumption = new DataTable(); + fuelConsumption.Columns.Add(""); + fuelConsumption.Columns.Add(""); + fuelConsumption.Columns.Add(""); + fuelConsumption.Rows.Add("1", "1", "1"); + fuelConsumption.Rows.Add("2", "2", "2"); + fuelConsumption.Rows.Add("3", "3", "3"); + + var fullLoad = new DataTable(); + fullLoad.Columns.Add("Engine speed"); + fullLoad.Columns.Add("max torque"); + fullLoad.Columns.Add("drag torque"); + fullLoad.Columns.Add("PT1"); + fullLoad.Rows.Add("0", "5000", "-5000", "0"); + fullLoad.Rows.Add("3000", "5000", "-5000", "0"); + + var fullLoadCurve = FullLoadCurveReader.Create(fullLoad); + var data = new VectoRunData { + Cycle = drivingCycle, + VehicleData = + new VehicleData { + VehicleCategory = VehicleCategory.RigidTruck, + WheelsInertia = 2.SI<KilogramSquareMeter>(), + DynamicTyreRadius = 0.85.SI<Meter>(), + }, + AirdragData = new AirdragData() { + CrossWindCorrectionCurve = + new CrosswindCorrectionCdxALookup(6.16498344.SI<SquareMeter>(), + CrossWindCorrectionCurveReader.GetNoCorrectionCurve(6.16498344.SI<SquareMeter>()), + CrossWindCorrectionMode.NoCorrection) + }, + AxleGearData = new AxleGearData { AxleGear = new GearData { Ratio = 2.3 } }, + EngineData = new CombustionEngineData { + IdleSpeed = 560.RPMtoRad(), + FullLoadCurves = new Dictionary<uint, EngineFullLoadCurve> { + { 0, fullLoadCurve }, + { 1, fullLoadCurve }, + { 2, fullLoadCurve }, + { 3, fullLoadCurve } + } + }, + GearboxData = new GearboxData { + Gears = new Dictionary<uint, GearData> { + { 1, new GearData { Ratio = 6.696 } }, + { 2, new GearData { Ratio = 3.806 } }, + { 3, new GearData { Ratio = 2.289 } } + }, + StartSpeed = 2.SI<MeterPerSecond>() + }, + Retarder = new RetarderData() + }; + + // call builder (actual test) + var builder = new PowertrainBuilder(new MockModalDataContainer()); + var jobContainer = builder.Build(data); + } + + private static void RunJob(string jobFile, string expectedModFile, string actualModFile, string expectedSumFile, + string actualSumFile, bool actualModData = false) + { + var fileWriter = new FileOutputWriter(jobFile); + var sumWriter = new SummaryDataContainer(fileWriter); + var jobContainer = new JobContainer(sumWriter); + + var inputData = JSONInputDataFactory.ReadJsonJob(jobFile); + var runsFactory = new SimulatorFactory(ExecutionMode.Engineering, inputData, fileWriter); + runsFactory.ActualModalData = actualModData; + runsFactory.WriteModalResults = true; + + jobContainer.AddRuns(runsFactory); + jobContainer.Execute(); + + jobContainer.WaitFinished(); + + Assert.IsTrue(jobContainer.Runs.All(r => r.Success), string.Concat(jobContainer.Runs.Select(r => r.ExecException))); + + ResultFileHelper.TestModFile(expectedModFile, actualModFile); + ResultFileHelper.TestSumFile(expectedSumFile, actualSumFile); + } + + [TestMethod] + public void MeasuredSpeed_Run() + { + RunJob(@"TestData\MeasuredSpeed\MeasuredSpeed.vecto", + @"TestData\MeasuredSpeed\Results\MeasuredSpeed_MeasuredSpeed.vmod", + @"TestData\MeasuredSpeed\MeasuredSpeed_MeasuredSpeed.vmod", + @"TestData\MeasuredSpeed\Results\MeasuredSpeed.vsum", @"TestData\MeasuredSpeed\MeasuredSpeed.vsum"); + } + + [TestMethod] + public void MeasuredSpeedAux_Run() + { + RunJob(@"TestData\MeasuredSpeed\MeasuredSpeedAux.vecto", + @"TestData\MeasuredSpeed\Results\MeasuredSpeedAux_MeasuredSpeedAux.vmod", + @"TestData\MeasuredSpeed\MeasuredSpeedAux_MeasuredSpeedAux.vmod", + @"TestData\MeasuredSpeed\Results\MeasuredSpeedAux.vsum", @"TestData\MeasuredSpeed\MeasuredSpeedAux.vsum"); + } + + [TestMethod] + public void MeasuredSpeedVair_Run() + { + RunJob(@"TestData\MeasuredSpeed\MeasuredSpeedVair.vecto", + @"TestData\MeasuredSpeed\Results\MeasuredSpeedVair_MeasuredSpeedVair.vmod", + @"TestData\MeasuredSpeed\MeasuredSpeedVair_MeasuredSpeedVair.vmod", + @"TestData\MeasuredSpeed\Results\MeasuredSpeedVair.vsum", @"TestData\MeasuredSpeed\MeasuredSpeedVair.vsum"); + } + + [TestMethod] + public void MeasuredSpeedVair_WindFromFront_Run() + { + RunJob(@"TestData\MeasuredSpeed\MeasuredSpeedVairFront.vecto", + @"TestData\MeasuredSpeed\Results\MeasuredSpeedVairFront_MeasuredSpeedVairFront.vmod", + @"TestData\MeasuredSpeed\MeasuredSpeedVairFront_MeasuredSpeedVairFront.vmod", + @"TestData\MeasuredSpeed\Results\MeasuredSpeedVairFront.vsum", @"TestData\MeasuredSpeed\MeasuredSpeedVairFront.vsum"); + } + + [TestMethod] + public void MeasuredSpeedVair_WindFromBack_Run() + { + RunJob(@"TestData\MeasuredSpeed\MeasuredSpeedVairBack.vecto", + @"TestData\MeasuredSpeed\Results\MeasuredSpeedVairBack_MeasuredSpeedVairBack.vmod", + @"TestData\MeasuredSpeed\MeasuredSpeedVairBack_MeasuredSpeedVairBack.vmod", + @"TestData\MeasuredSpeed\Results\MeasuredSpeedVairBack.vsum", @"TestData\MeasuredSpeed\MeasuredSpeedVairBack.vsum"); + } + + [TestMethod] + public void MeasuredSpeedVair_NoWind_Run() + { + RunJob(@"TestData\MeasuredSpeed\MeasuredSpeedVairNoWind.vecto", + @"TestData\MeasuredSpeed\Results\MeasuredSpeedVairNoWind_MeasuredSpeedVairNoWind.vmod", + @"TestData\MeasuredSpeed\MeasuredSpeedVairNoWind_MeasuredSpeedVairNoWind.vmod", + @"TestData\MeasuredSpeed\Results\MeasuredSpeedVairNoWind.vsum", + @"TestData\MeasuredSpeed\MeasuredSpeedVairNoWind.vsum"); + } + + [TestMethod] + public void MeasuredSpeedVairAux_Run() + { + RunJob(@"TestData\MeasuredSpeed\MeasuredSpeedVairAux.vecto", + @"TestData\MeasuredSpeed\Results\MeasuredSpeedVairAux_MeasuredSpeedVairAux.vmod", + @"TestData\MeasuredSpeed\MeasuredSpeedVairAux_MeasuredSpeedVairAux.vmod", + @"TestData\MeasuredSpeed\Results\MeasuredSpeedVairAux.vsum", @"TestData\MeasuredSpeed\MeasuredSpeedVairAux.vsum"); + } + + [TestMethod] + public void MeasuredSpeed_Gear_Run() + { + RunJob(@"TestData\MeasuredSpeed\MeasuredSpeedGear.vecto", + @"TestData\MeasuredSpeed\Results\MeasuredSpeedGear_MeasuredSpeed_Gear_Rural.vmod", + @"TestData\MeasuredSpeed\MeasuredSpeedGear_MeasuredSpeed_Gear_Rural.vmod", + @"TestData\MeasuredSpeed\Results\MeasuredSpeedGear.vsum", @"TestData\MeasuredSpeed\MeasuredSpeedGear.vsum"); + } + + [TestMethod] + public void MeasuredSpeed_Gear_TractionInterruption_Run() + { + RunJob(@"TestData\MeasuredSpeed\MeasuredSpeedGear_TractionInterruption.vecto", + @"TestData\MeasuredSpeed\Results\MeasuredSpeedGear_TractionInterruption_MeasuredSpeed_Gear_Rural_TractionInterruption.vmod", + @"TestData\MeasuredSpeed\MeasuredSpeedGear_TractionInterruption_MeasuredSpeed_Gear_Rural_TractionInterruption.vmod", + @"TestData\MeasuredSpeed\Results\MeasuredSpeedGear_TractionInterruption.vsum", + @"TestData\MeasuredSpeed\MeasuredSpeedGear_TractionInterruption.vsum"); + } + + [TestMethod] + public void MeasuredSpeed_Gear_Aux_Run() + { + RunJob(@"TestData\MeasuredSpeed\MeasuredSpeedGearAux.vecto", + @"TestData\MeasuredSpeed\Results\MeasuredSpeedGearAux_MeasuredSpeed_Gear_Rural_Aux.vmod", + @"TestData\MeasuredSpeed\MeasuredSpeedGearAux_MeasuredSpeed_Gear_Rural_Aux.vmod", + @"TestData\MeasuredSpeed\Results\MeasuredSpeedGearAux.vsum", @"TestData\MeasuredSpeed\MeasuredSpeedGearAux.vsum"); + } + + [TestMethod] + public void MeasuredSpeed_Gear_Vair_Run() + { + RunJob(@"TestData\MeasuredSpeed\MeasuredSpeedGearVair.vecto", + @"TestData\MeasuredSpeed\Results\MeasuredSpeedGearVair_MeasuredSpeed_Gear_Rural_Vair.vmod", + @"TestData\MeasuredSpeed\MeasuredSpeedGearVair_MeasuredSpeed_Gear_Rural_Vair.vmod", + @"TestData\MeasuredSpeed\Results\MeasuredSpeedGearVair.vsum", @"TestData\MeasuredSpeed\MeasuredSpeedGearVair.vsum"); + } + + [TestMethod] + public void MeasuredSpeed_Gear_VairAux_Run() + { + RunJob(@"TestData\MeasuredSpeed\MeasuredSpeedGearVairAux.vecto", + @"TestData\MeasuredSpeed\Results\MeasuredSpeedGearVairAux_MeasuredSpeed_Gear_Rural_VairAux.vmod", + @"TestData\MeasuredSpeed\MeasuredSpeedGearVairAux_MeasuredSpeed_Gear_Rural_VairAux.vmod", + @"TestData\MeasuredSpeed\Results\MeasuredSpeedGearVairAux.vsum", + @"TestData\MeasuredSpeed\MeasuredSpeedGearVairAux.vsum"); + } + + [TestMethod] + public void MeasuredSpeed_Gear_AT_PS_Run() + { + RunJob(@"TestData\MeasuredSpeed\MeasuredSpeedGearAT-PS.vecto", + @"TestData\MeasuredSpeed\Results\MeasuredSpeedGearAT-PS_MeasuredSpeedGear_AT-PS.vmod", + @"TestData\MeasuredSpeed\MeasuredSpeedGearAT-PS_MeasuredSpeedGear_AT-PS.vmod", + @"TestData\MeasuredSpeed\Results\MeasuredSpeedGearAT-PS.vsum", + @"TestData\MeasuredSpeed\MeasuredSpeedGearAT-PS.vsum"); + } + + [TestMethod] + public void MeasuredSpeed_Gear_AT_Ser_Run() + { + RunJob(@"TestData\MeasuredSpeed\MeasuredSpeedGearAT-Ser.vecto", + @"TestData\MeasuredSpeed\Results\MeasuredSpeedGearAT-Ser_MeasuredSpeedGear_AT-Ser.vmod", + @"TestData\MeasuredSpeed\MeasuredSpeedGearAT-Ser_MeasuredSpeedGear_AT-Ser.vmod", + @"TestData\MeasuredSpeed\Results\MeasuredSpeedGearAT-Ser.vsum", + @"TestData\MeasuredSpeed\MeasuredSpeedGearAT-Ser.vsum"); + } + + [TestMethod] + public void VcdbTest() + { + var tbl = VectoCSVFile.Read(@"TestData/MeasuredSpeed/VairBetaFull.vcdb"); + + var dataBus = new MockVehicleContainer(); + + var vairbeta = new CrosswindCorrectionVAirBeta(5.SI<SquareMeter>(), + CrossWindCorrectionCurveReader.ReadCdxABetaTable(tbl)); + vairbeta.SetDataBus(dataBus); + + var cycleEntry = new DrivingCycleData.DrivingCycleEntry() { + AirSpeedRelativeToVehicle = 20.KMPHtoMeterPerSecond(), + WindYawAngle = 0 + }; + dataBus.CycleData = new CycleData() { LeftSample = cycleEntry }; + + var pAvg = + vairbeta.AverageAirDragPowerLoss(20.KMPHtoMeterPerSecond(), 20.KMPHtoMeterPerSecond(), Physics.AirDensity).Value(); + Assert.AreEqual(509.259, pAvg, 1e-3); + + pAvg = + vairbeta.AverageAirDragPowerLoss(20.KMPHtoMeterPerSecond(), 21.KMPHtoMeterPerSecond(), Physics.AirDensity).Value(); + Assert.AreEqual(521.990, pAvg, 1e-3); + + pAvg = + vairbeta.AverageAirDragPowerLoss(20.KMPHtoMeterPerSecond(), 30.KMPHtoMeterPerSecond(), Physics.AirDensity).Value(); + Assert.AreEqual(636.574, pAvg, 1e-3); + + cycleEntry.WindYawAngle = 20; + + pAvg = + vairbeta.AverageAirDragPowerLoss(20.KMPHtoMeterPerSecond(), 20.KMPHtoMeterPerSecond(), Physics.AirDensity).Value(); + Assert.AreEqual(829.074, pAvg, 1e-3); + + pAvg = + vairbeta.AverageAirDragPowerLoss(20.KMPHtoMeterPerSecond(), 30.KMPHtoMeterPerSecond(), Physics.AirDensity).Value(); + Assert.AreEqual(1036.343, pAvg, 1e-3); + + cycleEntry.WindYawAngle = -120; + + pAvg = + vairbeta.AverageAirDragPowerLoss(20.KMPHtoMeterPerSecond(), 20.KMPHtoMeterPerSecond(), Physics.AirDensity).Value(); + Assert.AreEqual(-1019.5370, pAvg, 1e-3); + } + } } \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/Models/SimulationComponent/DriverTest.cs b/VectoCore/VectoCoreTest/Models/SimulationComponent/DriverTest.cs index 377c893758a0806862a08f05e77843f56596f6f0..b2d47b097db56f02d9b3fdfbf3f2346612d370c4 100644 --- a/VectoCore/VectoCoreTest/Models/SimulationComponent/DriverTest.cs +++ b/VectoCore/VectoCoreTest/Models/SimulationComponent/DriverTest.cs @@ -65,7 +65,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent public void DriverCoastingTest() { var engineData = MockSimulationDataFactory.CreateEngineDataFromFile(EngineFile, 1); - + var vehicleData = CreateVehicleData(33000.SI<Kilogram>()); var airdragData = CreateAirdragData(); vehicleData.DynamicTyreRadius = 0.026372213.SI<Meter>(); // take into account axle ratio, gear ratio @@ -398,7 +398,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent }; return new VehicleData { AxleConfiguration = AxleConfiguration.AxleConfig_4x2, - + AirDensity = DeclarationData.AirDensity, CurbWeight = 15700.SI<Kilogram>(), Loading = loading, DynamicTyreRadius = 0.52.SI<Meter>(), diff --git a/VectoCore/VectoCoreTest/Models/SimulationComponentData/ValidationTest.cs b/VectoCore/VectoCoreTest/Models/SimulationComponentData/ValidationTest.cs index 486e1f55bcf6e23bdad8bcda377ace5635c6b930..8c2da74da095f1c4078d901243c76649855a429e 100644 --- a/VectoCore/VectoCoreTest/Models/SimulationComponentData/ValidationTest.cs +++ b/VectoCore/VectoCoreTest/Models/SimulationComponentData/ValidationTest.cs @@ -183,6 +183,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponentData { var vehicleData = new VehicleData { AxleConfiguration = AxleConfiguration.AxleConfig_4x2, + AirDensity = DeclarationData.AirDensity, CurbWeight = 7500.SI<Kilogram>(), DynamicTyreRadius = 0.5.SI<Meter>(), //CurbWeigthExtra = 0.SI<Kilogram>(), @@ -244,6 +245,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponentData }; var vehicleData = new VehicleData { AxleConfiguration = AxleConfiguration.AxleConfig_4x2, + AirDensity = DeclarationData.AirDensity, CurbWeight = 7500.SI<Kilogram>(), DynamicTyreRadius = 0.5.SI<Meter>(), //CurbWeigthExtra = 0.SI<Kilogram>(),