diff --git a/VECTO/GUI/GearboxForm.vb b/VECTO/GUI/GearboxForm.vb index 2594175e17b3011f43071aee38bd9d3b2f8d5aa4..2353480e692b74a97bc4662ee686ee0def09890e 100644 --- a/VECTO/GUI/GearboxForm.vb +++ b/VECTO/GUI/GearboxForm.vb @@ -911,7 +911,8 @@ Public Class GearboxForm If (vehicle.Axles.Count < 2) Then Return Nothing End If - rDyn = DeclarationData.Wheels.Lookup(vehicle.Axles(1).Wheels).DynamicTyreRadius + 'TODO: + rDyn = DeclarationData.Wheels.Lookup(vehicle.Axles(1).Tyre.Dimension).DynamicTyreRadius End If If (rDyn.IsEqual(0)) Then Return Nothing diff --git a/VECTO/GUI/VehicleForm.vb b/VECTO/GUI/VehicleForm.vb index bb1c333c168a6844606e54265e971311ec7ab580..cf2f1dd2e6d0cce2bdd1aa04cd3c3588fbec32e3 100644 --- a/VECTO/GUI/VehicleForm.vb +++ b/VECTO/GUI/VehicleForm.vb @@ -382,12 +382,12 @@ Public Class VehicleForm For Each a0 In vehicle.Axles i += 1 If Cfg.DeclMode Then - Dim inertia As Double = DeclarationData.Wheels.Lookup(a0.Wheels).Inertia.Value() - LvRRC.Items.Add(CreateListViewItem(i, Double.NaN, a0.TwinTyres, a0.RollResistanceCoefficient, - a0.TyreTestLoad.Value(), a0.Wheels, inertia, a0.AxleType)) + Dim inertia As Double = DeclarationData.Wheels.Lookup(a0.Tyre.Dimension).Inertia.Value() + LvRRC.Items.Add(CreateListViewItem(i, Double.NaN, a0.TwinTyres, a0.Tyre.RollResistanceCoefficient, + a0.Tyre.TyreTestLoad.Value(), a0.Tyre.Dimension, inertia, a0.AxleType)) Else - LvRRC.Items.Add(CreateListViewItem(i, a0.AxleWeightShare, a0.TwinTyres, a0.RollResistanceCoefficient, - a0.TyreTestLoad.Value(), a0.Wheels, a0.Inertia.Value(), a0.AxleType)) + LvRRC.Items.Add(CreateListViewItem(i, a0.AxleWeightShare, a0.TwinTyres, a0.Tyre.RollResistanceCoefficient, + a0.Tyre.TyreTestLoad.Value(), a0.Tyre.Dimension, a0.Tyre.Inertia.Value(), a0.AxleType)) End If Next @@ -477,11 +477,13 @@ Public Class VehicleForm Dim a0 As AxleInputData = New AxleInputData() a0.AxleWeightShare = entry.SubItems(AxleTbl.RelativeLoad).Text.ToDouble(0) a0.TwinTyres = (entry.SubItems(AxleTbl.TwinTyres).Text = "yes") - a0.RollResistanceCoefficient = entry.SubItems(AxleTbl.RRC).Text.ToDouble(0) - a0.TyreTestLoad = entry.SubItems(AxleTbl.FzISO).Text.ToDouble(0).SI(Of Newton)() - a0.Wheels = entry.SubItems(AxleTbl.WheelsDimension).Text - a0.Inertia = entry.SubItems(AxleTbl.Inertia).Text.ToDouble(0).SI(Of KilogramSquareMeter)() - a0.AxleType = entry.SubItems(AxleTbl.AxleType).Text.ParseEnum(Of AxleType)() + a0.AxleType = entry.SubItems(AxleTbl.AxleType).Text.ParseEnum(Of AxleType)() + dim tyre as TyreInputData = New TyreInputData() + tyre.RollResistanceCoefficient = entry.SubItems(AxleTbl.RRC).Text.ToDouble(0) + tyre.TyreTestLoad = entry.SubItems(AxleTbl.FzISO).Text.ToDouble(0).SI(Of Newton)() + tyre.Dimension = entry.SubItems(AxleTbl.WheelsDimension).Text + tyre.Inertia = entry.SubItems(AxleTbl.Inertia).Text.ToDouble(0).SI(Of KilogramSquareMeter)() + a0.Tyre = tyre veh.Axles.Add(a0) Next diff --git a/VECTO/OutputData/JSONFileWriter.vb b/VECTO/OutputData/JSONFileWriter.vb index c32017cb102b8936f0a48a545090eaa45d91fe47..35935860691cf18f494bf1713dabef4667dfc8dc 100644 --- a/VECTO/OutputData/JSONFileWriter.vb +++ b/VECTO/OutputData/JSONFileWriter.vb @@ -224,12 +224,12 @@ Public Class JSONFileWriter {"AxleConfig", New Dictionary(Of String, Object) From { {"Type", vehicle.AxleConfiguration.GetName()}, {"Axles", From axle In vehicle.Axles Select New Dictionary(Of String, Object) From { - {"Inertia", axle.Inertia.Value()}, - {"Wheels", axle.Wheels}, + {"Inertia", axle.Tyre.Inertia.Value()}, + {"Wheels", axle.Tyre.Dimension}, {"AxleWeightShare", axle.AxleWeightShare}, {"TwinTyres", axle.TwinTyres}, - {"RRCISO", axle.RollResistanceCoefficient}, - {"FzISO", axle.TyreTestLoad.Value()}, + {"RRCISO", axle.Tyre.RollResistanceCoefficient}, + {"FzISO", axle.Tyre.TyreTestLoad.Value()}, {"Type", axle.AxleType.ToString()} }}}}} diff --git a/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs b/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs index e14e0b86806779bd7a4d75d020efdee436e9b22e..f1e54242a13f92abc131d48fd883b06430aebb49 100644 --- a/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs +++ b/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs @@ -189,12 +189,6 @@ namespace TUGraz.VectoCommon.InputData public interface IAxleDeclarationInputData { - /// <summary> - /// P108 - /// cf. VECTO Input Parameters.xlsx - /// </summary> - string Wheels { get; } - /// <summary> /// P045 /// cf. VECTO Input Parameters.xlsx @@ -203,6 +197,17 @@ namespace TUGraz.VectoCommon.InputData AxleType AxleType { get; } + ITyreDeclarationInputData Tyre { get; } + } + + public interface ITyreDeclarationInputData : IComponentInputData + { + /// <summary> + /// P108 + /// cf. VECTO Input Parameters.xlsx + /// </summary> + string Dimension { get; } + /// <summary> /// P046 /// cf. VECTO Input Parameters.xlsx diff --git a/VectoCommon/VectoCommon/InputData/EngineeringInputData.cs b/VectoCommon/VectoCommon/InputData/EngineeringInputData.cs index c0c5c370a01ef71f6e420a763b1b11573ce5d249..8f9e4460a5aec278ae134addcf1b800a8db88b55 100644 --- a/VectoCommon/VectoCommon/InputData/EngineeringInputData.cs +++ b/VectoCommon/VectoCommon/InputData/EngineeringInputData.cs @@ -142,6 +142,11 @@ namespace TUGraz.VectoCommon.InputData /// </summary> double AxleWeightShare { get; } + new ITyreEngineeringInputData Tyre { get; } + } + + public interface ITyreEngineeringInputData : ITyreDeclarationInputData + { /// <summary> /// P048 /// cf. VECTO Input Parameters.xlsx diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs index 4bcc058941df0889914b0718a786767cd26683ef..0f44e5907db96318c92c2d05b069cd56081ffb41 100644 --- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs @@ -158,18 +158,19 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON return Body.GetEx(JsonKeys.Vehicle_AxleConfiguration).GetEx(JsonKeys.Vehicle_AxleConfiguration_Axles).Select( (axle, idx) => new AxleInputData { - SourceType = DataSourceType.JSONFile, - Source = Source, - Inertia = axle.GetEx<double>(JsonKeys.Vehicle_Axles_Inertia).SI<KilogramSquareMeter>(), - Wheels = axle.GetEx<string>(JsonKeys.Vehicle_Axles_Wheels), TwinTyres = axle.GetEx<bool>(JsonKeys.Vehicle_Axles_TwinTyres), - RollResistanceCoefficient = axle.GetEx<double>(JsonKeys.Vehicle_Axles_RollResistanceCoefficient), - TyreTestLoad = axle.GetEx<double>(JsonKeys.Vehicle_Axles_TyreTestLoad).SI<Newton>(), AxleWeightShare = axle.GetEx<double>("AxleWeightShare"), - AxleType = - axle["Type"] != null + AxleType = axle["Type"] != null ? axle.GetEx<string>("Type").ParseEnum<AxleType>() - : (idx == 1 ? AxleType.VehicleDriven : AxleType.VehicleNonDriven) + : (idx == 1 ? AxleType.VehicleDriven : AxleType.VehicleNonDriven), + Tyre = new TyreInputData() { + SourceType = DataSourceType.JSONFile, + Source = Source, + Inertia = axle.GetEx<double>(JsonKeys.Vehicle_Axles_Inertia).SI<KilogramSquareMeter>(), + Dimension = axle.GetEx<string>(JsonKeys.Vehicle_Axles_Wheels), + RollResistanceCoefficient = axle.GetEx<double>(JsonKeys.Vehicle_Axles_RollResistanceCoefficient), + TyreTestLoad = axle.GetEx<double>(JsonKeys.Vehicle_Axles_TyreTestLoad).SI<Newton>(), + } }); } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/XMLDeclarationVehicleDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/XMLDeclarationVehicleDataProvider.cs index b2c8e7c15e92f90ba1ee8550081b1b2ca38e40f1..1fadee42c387e8536c84b15d1bd79557baeaa94e 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/XMLDeclarationVehicleDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/XMLDeclarationVehicleDataProvider.cs @@ -138,13 +138,18 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration var dimension = tyre.SelectSingleNode(Helper.NSPrefix(XMLNames.AxleWheels_Axles_Axle_Dimension), Manager); var rollResistance = tyre.SelectSingleNode(Helper.NSPrefix(XMLNames.AxleWheels_Axles_Axle_RRCDeclared), Manager); var tyreTestLoad = tyre.SelectSingleNode(Helper.NSPrefix(XMLNames.AxleWheels_Axles_Axle_FzISO), Manager); + var certirficationNumber = tyre.SelectSingleNode(Helper.NSPrefix(XMLNames.Component_CertificationNumber), Manager); retVal[axleNumber - 1] = new AxleInputData { AxleType = axleType == null ? AxleType.VehicleNonDriven : axleType.Value.ParseEnum<AxleType>(), TwinTyres = twinTyres != null && XmlConvert.ToBoolean(twinTyres.Value), Steered = steered != null && XmlConvert.ToBoolean(steered.Value), - TyreTestLoad = tyreTestLoad == null ? null : tyreTestLoad.Value.ToDouble().SI<Newton>(), - RollResistanceCoefficient = rollResistance == null ? double.NaN : rollResistance.Value.ToDouble(), - Wheels = dimension == null ? null : dimension.Value, + Tyre = new TyreInputData() { + TyreTestLoad = tyreTestLoad == null ? null : tyreTestLoad.Value.ToDouble().SI<Newton>(), + RollResistanceCoefficient = rollResistance == null ? double.NaN : rollResistance.Value.ToDouble(), + Dimension = dimension == null ? null : dimension.Value, + CertificationNumber = certirficationNumber == null ? null : certirficationNumber.Value, + CertificationMethod = CertificationMethod.Measured + } }; } return retVal; diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/XMLEngineeringVehicleDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/XMLEngineeringVehicleDataProvider.cs index a0bc6cb48c0b61e2edb3d7768048515148972d08..8a3c606876260db20c7cd74086722becddd43983 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/XMLEngineeringVehicleDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/XMLEngineeringVehicleDataProvider.cs @@ -213,11 +213,13 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering AxleType = axleType == null ? AxleType.VehicleNonDriven : axleType.Value.ParseEnum<AxleType>(), TwinTyres = twinTyres != null && XmlConvert.ToBoolean(twinTyres.Value), Steered = steered != null && XmlConvert.ToBoolean(steered.Value), - TyreTestLoad = tyreTestLoad == null ? null : tyreTestLoad.ValueAsDouble.SI<Newton>(), - RollResistanceCoefficient = rollResistance == null ? double.NaN : rollResistance.ValueAsDouble, - Wheels = dimension == null ? null : dimension.Value, AxleWeightShare = weightShare == null ? 0 : weightShare.ValueAsDouble, - Inertia = inertia == null ? null : inertia.ValueAsDouble.SI<KilogramSquareMeter>() + Tyre = new TyreInputData() { + TyreTestLoad = tyreTestLoad == null ? null : tyreTestLoad.ValueAsDouble.SI<Newton>(), + RollResistanceCoefficient = rollResistance == null ? double.NaN : rollResistance.ValueAsDouble, + Dimension = dimension == null ? null : dimension.Value, + Inertia = inertia == null ? null : inertia.ValueAsDouble.SI<KilogramSquareMeter>(), + } }; } return retVal; diff --git a/VectoCore/VectoCore/InputData/Impl/InputData.cs b/VectoCore/VectoCore/InputData/Impl/InputData.cs index d14a8312dcf3eacad9808e9ec4442c431932db9d..968031b99718288eaa4a62b2fb85811c94beff45 100644 --- a/VectoCore/VectoCore/InputData/Impl/InputData.cs +++ b/VectoCore/VectoCore/InputData/Impl/InputData.cs @@ -87,6 +87,25 @@ namespace TUGraz.VectoCore.InputData.Impl } public class AxleInputData : IAxleEngineeringInputData + { + public bool TwinTyres { get; internal set; } + + public bool Steered { get; internal set; } + + public AxleType AxleType { get; internal set; } + + ITyreDeclarationInputData IAxleDeclarationInputData.Tyre + { + get { return Tyre; } + } + + public ITyreEngineeringInputData Tyre { get; internal set; } + + + public double AxleWeightShare { get; internal set; } + } + + public class TyreInputData : ITyreEngineeringInputData { [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1065:DoNotRaiseExceptionsInUnexpectedLocations")] @@ -94,20 +113,26 @@ namespace TUGraz.VectoCore.InputData.Impl public string Source { get; internal set; } - public string Wheels { get; internal set; } + public bool SavedInDeclarationMode { get; internal set; } - public bool TwinTyres { get; internal set; } + public string Manufacturer { get; internal set; } - public bool Steered { get; internal set; } + public string Model { get; internal set; } - public AxleType AxleType { get; internal set; } + public string Date { get; internal set; } + + public CertificationMethod CertificationMethod { get; internal set; } + + public string CertificationNumber { get; internal set; } + + public string DigestValue { get; internal set; } + + public string Dimension { get; internal set; } public double RollResistanceCoefficient { get; internal set; } public Newton TyreTestLoad { get; internal set; } - public double AxleWeightShare { get; internal set; } - public KilogramSquareMeter Inertia { get; internal set; } } diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs index 08d226acfd4aba8319adbdfa0b5443d112628d0a..9361698430f7d5736bf0ebab76298c6711028083 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs @@ -98,7 +98,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter retVal.Loading = loading; retVal.DynamicTyreRadius = data.Axles.Where(axle => axle.AxleType == AxleType.VehicleDriven) - .Select(da => DeclarationData.Wheels.Lookup(da.Wheels).DynamicTyreRadius) + .Select(da => DeclarationData.Wheels.Lookup(da.Tyre.Dimension).DynamicTyreRadius) .Average(); retVal.CargoVolume = mission.MissionType != MissionType.Construction ? mission.TotalCargoVolume : 0.SI<CubicMeter>(); @@ -112,13 +112,13 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter for (var i = 0; i < mission.AxleWeightDistribution.Length; i++) { var axleInput = axles[i]; var axle = new Axle { - WheelsDimension = axleInput.Wheels, + WheelsDimension = axleInput.Tyre.Dimension, AxleType = axleInput.AxleType, AxleWeightShare = mission.AxleWeightDistribution[i], TwinTyres = axleInput.TwinTyres, - RollResistanceCoefficient = axleInput.RollResistanceCoefficient, - TyreTestLoad = axleInput.TyreTestLoad, - Inertia = DeclarationData.Wheels.Lookup(axleInput.Wheels.RemoveWhitespace()).Inertia, + RollResistanceCoefficient = axleInput.Tyre.RollResistanceCoefficient, + TyreTestLoad = axleInput.Tyre.TyreTestLoad, + Inertia = DeclarationData.Wheels.Lookup(axleInput.Tyre.Dimension.RemoveWhitespace()).Inertia, }; axleData.Add(axle); } diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs index 2ce233f8e076f43d01e74511b30a3e29f2096744..a235697d96900e52d34dbfe390a3588cf385509b 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs @@ -62,12 +62,12 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter var axles = data.Axles; retVal.AxleData = axles.Select(axle => new Axle { - WheelsDimension = axle.Wheels, - Inertia = axle.Inertia, + WheelsDimension = axle.Tyre.Dimension, + Inertia = axle.Tyre.Inertia, TwinTyres = axle.TwinTyres, - RollResistanceCoefficient = axle.RollResistanceCoefficient, + RollResistanceCoefficient = axle.Tyre.RollResistanceCoefficient, AxleWeightShare = axle.AxleWeightShare, - TyreTestLoad = axle.TyreTestLoad, + TyreTestLoad = axle.Tyre.TyreTestLoad, AxleType = axle.AxleType, //Wheels = axle.WheelsStr }).ToList(); diff --git a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationWriter.cs b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationWriter.cs index 2e04f525689a82178783f3351d2053fd4125560c..0c5c8112f8a52c061e6d737e1301b8e8bc0ae0f4 100644 --- a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationWriter.cs +++ b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationWriter.cs @@ -312,7 +312,7 @@ namespace TUGraz.VectoCore.OutputData.XML i == 1 ? AxleType.VehicleDriven.ToString() : AxleType.VehicleNonDriven.ToString()), new XElement(tns + XMLNames.AxleWheels_Axles_Axle_TwinTyres_Attr, axle.TwinTyres), new XElement(tns + XMLNames.AxleWheels_Axles_Axle_Steered, i == 0), - CreateTyre(axle) + CreateTyre(axle.Tyre) )); } @@ -322,17 +322,17 @@ namespace TUGraz.VectoCore.OutputData.XML ); } - private XElement CreateTyre(IAxleDeclarationInputData axle) + private XElement CreateTyre(ITyreDeclarationInputData tyre) { - var id = CreateIdString(string.Format("TYRE-{0}", axle.Wheels).Replace("/", "_")); + var id = CreateIdString(string.Format("TYRE-{0}", tyre.Dimension).Replace("/", "_")); return new XElement(tns + "Tyre", new XElement(tns + XMLNames.ComponentDataWrapper, new XAttribute(XMLNames.Component_ID_Attr, id), - GetDefaultComponentElements(string.Format("TYRE-{0}", axle.Wheels), axle.Wheels), - new XElement(tns + XMLNames.AxleWheels_Axles_Axle_Dimension, axle.Wheels), - new XElement(tns + XMLNames.AxleWheels_Axles_Axle_RRCDeclared, axle.RollResistanceCoefficient.ToXMLFormat(4)), - new XElement(tns + XMLNames.AxleWheels_Axles_Axle_FzISO, axle.TyreTestLoad.Value().ToXMLFormat(0)) + GetDefaultComponentElements(string.Format("TYRE-{0}", tyre.Dimension), tyre.Dimension), + new XElement(tns + XMLNames.AxleWheels_Axles_Axle_Dimension, tyre.Dimension), + new XElement(tns + XMLNames.AxleWheels_Axles_Axle_RRCDeclared, tyre.RollResistanceCoefficient.ToXMLFormat(4)), + new XElement(tns + XMLNames.AxleWheels_Axles_Axle_FzISO, tyre.TyreTestLoad.Value().ToXMLFormat(0)) ), AddSignatureDummy(id)); } diff --git a/VectoCore/VectoCore/OutputData/XML/XMLEngineeringWriter.cs b/VectoCore/VectoCore/OutputData/XML/XMLEngineeringWriter.cs index acc2e46aea864f98a09417555c8ae41ecda5a42b..2bfb4dc48906f201af74774826db9255bd08f932 100644 --- a/VectoCore/VectoCore/OutputData/XML/XMLEngineeringWriter.cs +++ b/VectoCore/VectoCore/OutputData/XML/XMLEngineeringWriter.cs @@ -358,18 +358,18 @@ namespace TUGraz.VectoCore.OutputData.XML var axle = axleData[i]; axles.Add(new XElement(tns + XMLNames.AxleWheels_Axles_Axle, new XAttribute(XMLNames.AxleWheels_Axles_Axle_AxleNumber_Attr, i + 1), - GetDefaultComponentElements(axle.Wheels), + GetDefaultComponentElements(axle.Tyre.Dimension), new XElement(tns + XMLNames.AxleWheels_Axles_Axle_AxleType, i == 1 ? AxleType.VehicleDriven.ToString() : AxleType.VehicleNonDriven.ToString()), new XElement(tns + XMLNames.AxleWheels_Axles_Axle_TwinTyres_Attr, axle.TwinTyres), new XElement(tns + XMLNames.AxleWheels_Axles_Axle_Steered, i == 0), - string.IsNullOrWhiteSpace(axle.Wheels) + string.IsNullOrWhiteSpace(axle.Tyre.Dimension) ? null - : new XElement(tns + XMLNames.AxleWheels_Axles_Axle_Dimension, axle.Wheels), - new XElement(tns + XMLNames.AxleWheels_Axles_Axle_RRCISO, axle.RollResistanceCoefficient), - new XElement(tns + XMLNames.AxleWheels_Axles_Axle_FzISO, axle.TyreTestLoad.Value()), + : new XElement(tns + XMLNames.AxleWheels_Axles_Axle_Dimension, axle.Tyre.Dimension), + new XElement(tns + XMLNames.AxleWheels_Axles_Axle_RRCISO, axle.Tyre.RollResistanceCoefficient), + new XElement(tns + XMLNames.AxleWheels_Axles_Axle_FzISO, axle.Tyre.TyreTestLoad.Value()), new XElement(tns + XMLNames.AxleWheels_Axles_Axle_WeightShare, axle.AxleWeightShare), - new XElement(tns + XMLNames.AxleWheels_Axles_Axle_Inertia, axle.Inertia.Value()), + new XElement(tns + XMLNames.AxleWheels_Axles_Axle_Inertia, axle.Tyre.Inertia.Value()), i == 1 ? new XElement(tns + XMLNames.AxleWheels_Axles_Axle_DynamicTyreRadius, data.DynamicTyreRadius.Value() * 1000) : null)); diff --git a/VectoCore/VectoCoreTest/XML/XMLDeclarationInputTest.cs b/VectoCore/VectoCoreTest/XML/XMLDeclarationInputTest.cs index 3c32223a657be38d46f90adfc5fdefc1b8ad1d31..929de813d7be1196ef47eb89adea42026b840633 100644 --- a/VectoCore/VectoCoreTest/XML/XMLDeclarationInputTest.cs +++ b/VectoCore/VectoCoreTest/XML/XMLDeclarationInputTest.cs @@ -181,13 +181,17 @@ namespace TUGraz.VectoCore.Tests.XML var axles = vehicleDataProvider.Axles; - Assert.AreEqual("315/70 R22.5", axles[0].Wheels); - Assert.AreEqual(0.0055, axles[0].RollResistanceCoefficient); - Assert.AreEqual(31300, axles[0].TyreTestLoad.Value()); - - Assert.AreEqual("315/70 R22.5", axles[1].Wheels); - Assert.AreEqual(0.0063, axles[1].RollResistanceCoefficient); - Assert.AreEqual(31300, axles[1].TyreTestLoad.Value()); + var tyre = axles[0].Tyre; + Assert.AreEqual("315/70 R22.5",tyre.Dimension); + Assert.AreEqual(0.0055, tyre.RollResistanceCoefficient); + Assert.AreEqual(31300, tyre.TyreTestLoad.Value()); + Assert.AreEqual("e12*0815/8051*2017/05E0000*00", tyre.CertificationNumber); + + tyre = axles[1].Tyre; + Assert.AreEqual("315/70 R22.5", tyre.Dimension); + Assert.AreEqual(0.0063, tyre.RollResistanceCoefficient); + Assert.AreEqual(31300, tyre.TyreTestLoad.Value()); + Assert.AreEqual("e12*0815/8051*2017/05E0000*00", tyre.CertificationNumber); } [TestCase] diff --git a/VectoCore/VectoCoreTest/XML/XMLEngineeringInputRefTest.cs b/VectoCore/VectoCoreTest/XML/XMLEngineeringInputRefTest.cs index fa5fac683ec0150b0cf8fa956d902bd25a49e5bf..e99a2e5fdfdd2dd5350e4966db4dc4a4498ef73c 100644 --- a/VectoCore/VectoCoreTest/XML/XMLEngineeringInputRefTest.cs +++ b/VectoCore/VectoCoreTest/XML/XMLEngineeringInputRefTest.cs @@ -211,13 +211,15 @@ namespace TUGraz.VectoCore.Tests.XML var axles = vehicleDataProvider.Axles; - Assert.AreEqual("315/70 R22.5", axles[0].Wheels); - Assert.AreEqual(0.0055, axles[0].RollResistanceCoefficient); - Assert.AreEqual(31300, axles[0].TyreTestLoad.Value()); - - Assert.AreEqual("315/70 R22.5", axles[1].Wheels); - Assert.AreEqual(0.0063, axles[1].RollResistanceCoefficient); - Assert.AreEqual(31300, axles[1].TyreTestLoad.Value()); + var tyre = axles[0].Tyre; + Assert.AreEqual("315/70 R22.5",tyre.Dimension); + Assert.AreEqual(0.0055, tyre.RollResistanceCoefficient); + Assert.AreEqual(31300, tyre.TyreTestLoad.Value()); + + tyre = axles[1].Tyre; + Assert.AreEqual("315/70 R22.5", tyre.Dimension); + Assert.AreEqual(0.0063, tyre.RollResistanceCoefficient); + Assert.AreEqual(31300, tyre.TyreTestLoad.Value()); //AssertHelper.Exception<VectoException>(() => { var tmp = vehicleDataProvider.Rim; }); Assert.AreEqual(0.488822, vehicleDataProvider.DynamicTyreRadius.Value()); diff --git a/VectoCore/VectoCoreTest/XML/XMLEngineeringInputSingleTest.cs b/VectoCore/VectoCoreTest/XML/XMLEngineeringInputSingleTest.cs index 638c9999d512f1ade37a8aa64cef12c84fb2a09a..f4bd5f582bc9145a84692481af6e0da291bf8580 100644 --- a/VectoCore/VectoCoreTest/XML/XMLEngineeringInputSingleTest.cs +++ b/VectoCore/VectoCoreTest/XML/XMLEngineeringInputSingleTest.cs @@ -216,13 +216,15 @@ namespace TUGraz.VectoCore.Tests.XML var axles = vehicleDataProvider.Axles; - Assert.AreEqual("315/70 R22.5", axles[0].Wheels); - Assert.AreEqual(0.0055, axles[0].RollResistanceCoefficient); - Assert.AreEqual(31300, axles[0].TyreTestLoad.Value()); - - Assert.AreEqual("315/70 R22.5", axles[1].Wheels); - Assert.AreEqual(0.0063, axles[1].RollResistanceCoefficient); - Assert.AreEqual(31300, axles[1].TyreTestLoad.Value()); + var tyre = axles[0].Tyre; + Assert.AreEqual("315/70 R22.5", tyre.Dimension); + Assert.AreEqual(0.0055,tyre.RollResistanceCoefficient); + Assert.AreEqual(31300,tyre.TyreTestLoad.Value()); + + tyre = axles[1].Tyre; + Assert.AreEqual("315/70 R22.5", tyre.Dimension); + Assert.AreEqual(0.0063, tyre.RollResistanceCoefficient); + Assert.AreEqual(31300, tyre.TyreTestLoad.Value()); //AssertHelper.Exception<VectoException>(() => { var tmp = vehicleDataProvider.Rim; }); Assert.AreEqual(0.488822, vehicleDataProvider.DynamicTyreRadius.Value());