diff --git a/VECTO/OutputData/JSONFileWriter.vb b/VECTO/OutputData/JSONFileWriter.vb index cb48367bb73132f69636d10511c61498e0646cd7..e21a275c8891e393cbb0245995e5700a0fbd9177 100644 --- a/VECTO/OutputData/JSONFileWriter.vb +++ b/VECTO/OutputData/JSONFileWriter.vb @@ -128,11 +128,11 @@ Public Class JSONFileWriter If gbx.Type.AutomaticTransmission() AndAlso Not torqueConverter Is Nothing Then torqueConverterDict.Add("File", GetRelativePath(torqueConverter.TCData.Source, Path.GetDirectoryName(filename))) torqueConverterDict.Add("RefRPM", torqueConverter.ReferenceRPM.AsRPM) - torqueConverterDict.Add("Inertia", torqueConverter.Inertia.Value()) - torqueConverterDict.Add("ShiftPolygon", - If _ - (Not gbx.SavedInDeclarationMode AndAlso Not torqueConverter.ShiftPolygon Is Nothing, - GetRelativePath(torqueConverter.ShiftPolygon.Source, Path.GetDirectoryName(filename)), "")) + torqueConverterDict.Add("Inertia", torqueConverter.Inertia.Value()) + torqueConverterDict.Add("MaxTCSpeed", torqueConverter.MaxInputSpeed.AsRPM) + torqueConverterDict.Add("ShiftPolygon", If _ + (Not gbx.SavedInDeclarationMode AndAlso Not torqueConverter.ShiftPolygon Is Nothing, + GetRelativePath(torqueConverter.ShiftPolygon.Source, Path.GetDirectoryName(filename)), "")) End If body.Add("TorqueConverter", torqueConverterDict) diff --git a/VECTOAux/VectoAuxiliaries/My Project/Resources.Designer.vb b/VECTOAux/VectoAuxiliaries/My Project/Resources.Designer.vb index c28407d64cccc194cc3c5b060f12406c6b3e56f4..f52e5149639d63ec50d76cedd292bca8a54576f7 100644 --- a/VECTOAux/VectoAuxiliaries/My Project/Resources.Designer.vb +++ b/VECTOAux/VectoAuxiliaries/My Project/Resources.Designer.vb @@ -1,10 +1,10 @@ '------------------------------------------------------------------------------ ' <auto-generated> -' Dieser Code wurde von einem Tool generiert. -' Laufzeitversion:4.0.30319.42000 +' This code was generated by a tool. +' Runtime Version:4.0.30319.42000 ' -' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn -' der Code erneut generiert wird. +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. ' </auto-generated> '------------------------------------------------------------------------------ @@ -15,12 +15,12 @@ Imports System Namespace My.Resources - 'Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert - '-Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert. - 'Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen - 'mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu. + '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. '''<summary> - ''' Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + ''' A strongly-typed resource class, for looking up localized strings, etc. '''</summary> <Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0"), _ Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _ @@ -33,7 +33,7 @@ Namespace My.Resources Private resourceCulture As Global.System.Globalization.CultureInfo '''<summary> - ''' Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + ''' Returns the cached ResourceManager instance used by this class. '''</summary> <Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _ Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager @@ -47,8 +47,8 @@ Namespace My.Resources End Property '''<summary> - ''' Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle - ''' Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. + ''' 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)> _ Friend Property Culture() As Global.System.Globalization.CultureInfo @@ -61,7 +61,7 @@ Namespace My.Resources End Property '''<summary> - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' Looks up a localized resource of type System.Drawing.Bitmap. '''</summary> Friend ReadOnly Property Blank() As System.Drawing.Bitmap Get @@ -71,7 +71,7 @@ Namespace My.Resources End Property '''<summary> - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' Looks up a localized resource of type System.Drawing.Bitmap. '''</summary> Friend ReadOnly Property Delete() As System.Drawing.Bitmap Get @@ -81,7 +81,7 @@ Namespace My.Resources End Property '''<summary> - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' Looks up a localized resource of type System.Drawing.Bitmap. '''</summary> Friend ReadOnly Property desktop() As System.Drawing.Bitmap Get @@ -91,7 +91,7 @@ Namespace My.Resources End Property '''<summary> - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' Looks up a localized resource of type System.Drawing.Bitmap. '''</summary> Friend ReadOnly Property favorites() As System.Drawing.Bitmap Get @@ -101,7 +101,7 @@ Namespace My.Resources End Property '''<summary> - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' Looks up a localized resource of type System.Drawing.Bitmap. '''</summary> Friend ReadOnly Property file_history() As System.Drawing.Bitmap Get @@ -111,7 +111,16 @@ Namespace My.Resources End Property '''<summary> - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' Looks up a localized string similar to MaxTCSpeed. + '''</summary> + Friend ReadOnly Property Gearbox_MaxTCSpeed() As String + Get + Return ResourceManager.GetString("Gearbox_MaxTCSpeed", resourceCulture) + End Get + End Property + + '''<summary> + ''' Looks up a localized resource of type System.Drawing.Bitmap. '''</summary> Friend ReadOnly Property Info() As System.Drawing.Bitmap Get @@ -121,7 +130,7 @@ Namespace My.Resources End Property '''<summary> - ''' Sucht eine lokalisierte Zeichenfolge, die MaxTCSpeed ähnelt. + ''' Looks up a localized string similar to MaxTCSpeed. '''</summary> Friend ReadOnly Property MaxTCSpeed() As String Get @@ -130,7 +139,7 @@ Namespace My.Resources End Property '''<summary> - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' Looks up a localized resource of type System.Drawing.Bitmap. '''</summary> Friend ReadOnly Property new_dir() As System.Drawing.Bitmap Get @@ -140,7 +149,7 @@ Namespace My.Resources End Property '''<summary> - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' Looks up a localized resource of type System.Drawing.Bitmap. '''</summary> Friend ReadOnly Property Open_icon() As System.Drawing.Bitmap Get diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONGearboxData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONGearboxData.cs index 7f94d6a2f9bfbd88d21200531a27ff22dde64081..52c22d6c182a8a3b17dbff90db82377bd1db987b 100644 --- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONGearboxData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONGearboxData.cs @@ -195,11 +195,6 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON } } - public PerSecond MaxInputSpeed - { - get { return Body["MaxTCSpeed"] == null ? 5000.RPMtoRad() : Body.GetEx<double>("MaxTCSpeed").RPMtoRad(); } - } - public Second TractionInterruption { get { return Body.GetEx<double>(JsonKeys.Gearbox_TractionInterruption).SI<Second>(); } @@ -368,6 +363,10 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON } } + public PerSecond MaxInputSpeed + { + get { return Body[JsonKeys.Gearbox_TorqueConverter] != null && Body["MaxTCSpeed"] != null ? Body.GetEx(JsonKeys.Gearbox_TorqueConverter).GetEx<double>("MaxTCSpeed").RPMtoRad() : 5000.RPMtoRad(); } + } public virtual TableData TCData { get diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/TorqueConverter.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/TorqueConverter.cs index 89c0ff871423a32e977941bfb2ad2ef9f7f6bd5b..7b5fb2f9bb66c9e9c62a95d4687d66e20e2875d2 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/TorqueConverter.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/TorqueConverter.cs @@ -137,8 +137,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl var operatingPoint = ModelData.FindOperatingPointForPowerDemand(engineResponse.DragPower - engineResponse.AuxiliariesPowerDemand, DataBus.EngineSpeed, outAngularVelocity, _engineInertia, dt); - if (operatingPoint.InAngularVelocity.IsGreater(DataBus.EngineRatedSpeed)) { - operatingPoint = ModelData.FindOperatingPoint(DataBus.EngineRatedSpeed, outAngularVelocity); + if (operatingPoint.InAngularVelocity.IsGreater(ModelData.TorqueConverterSpeedLimit)) { + operatingPoint = ModelData.FindOperatingPoint(ModelData.TorqueConverterSpeedLimit, outAngularVelocity); } if (operatingPoint.InAngularVelocity.IsSmaller(DataBus.EngineIdleSpeed)) { operatingPoint = ModelData.FindOperatingPoint(DataBus.EngineIdleSpeed, outAngularVelocity); @@ -159,8 +159,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl ModelData.FindOperatingPointForPowerDemand( engineResponse.DynamicFullLoadPower - engineResponse.AuxiliariesPowerDemand, DataBus.EngineSpeed, outAngularVelocity, _engineInertia, dt); - if (operatingPoint.InAngularVelocity.IsGreater(DataBus.EngineRatedSpeed)) { - operatingPoint = ModelData.FindOperatingPoint(DataBus.EngineRatedSpeed, outAngularVelocity); + if (operatingPoint.InAngularVelocity.IsGreater(ModelData.TorqueConverterSpeedLimit)) { + operatingPoint = ModelData.FindOperatingPoint(ModelData.TorqueConverterSpeedLimit, outAngularVelocity); } return operatingPoint; } catch (VectoException ve) { @@ -185,8 +185,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl throw new VectoException("Invalid operating point, inAngularVelocity below engine's idle speed: {0}", operatingPoint.InAngularVelocity); } - if (operatingPoint.InAngularVelocity.IsGreater(DataBus.EngineRatedSpeed)) { - operatingPoint = ModelData.FindOperatingPoint(DataBus.EngineRatedSpeed, outAngularVelocity); + if (operatingPoint.InAngularVelocity.IsGreater(ModelData.TorqueConverterSpeedLimit)) { + operatingPoint = ModelData.FindOperatingPoint(ModelData.TorqueConverterSpeedLimit, outAngularVelocity); } return operatingPoint; } diff --git a/VectoCore/VectoCoreTest/Integration/ATPowerTrain.cs b/VectoCore/VectoCoreTest/Integration/ATPowerTrain.cs index 4d47a74a7a0bbf79e611499590008a515e87f7a8..5255253cfcd7444e239837edc515582157607f58 100644 --- a/VectoCore/VectoCoreTest/Integration/ATPowerTrain.cs +++ b/VectoCore/VectoCoreTest/Integration/ATPowerTrain.cs @@ -54,7 +54,9 @@ namespace TUGraz.VectoCore.Tests.Integration { public class ATPowerTrain { - public const string AccelerationFile = @"TestData\Components\Truck.vacc"; + 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"; @@ -152,7 +154,7 @@ namespace TUGraz.VectoCore.Tests.Integration UpshiftMinAcceleration = DeclarationData.Gearbox.UpshiftMinAcceleration, TorqueConverterData = TorqueConverterDataReader.ReadFromFile(torqueConverterFile, 1000.RPMtoRad(), - 1800.RPMtoRad(), ExecutionMode.Engineering, gbxType == GearboxType.ATSerial ? 1 : 1/ratios[0]) + MaxTcSpeed, ExecutionMode.Engineering, gbxType == GearboxType.ATSerial ? 1 : 1/ratios[0]) }; }