From 2b953301cce0c0e3cc430e063761d8a90fb45c3a Mon Sep 17 00:00:00 2001 From: Markus Quaritsch <markus.quaritsch@tugraz.at> Date: Mon, 20 Apr 2020 10:43:44 +0200 Subject: [PATCH] round generic loss-maps / fc-map to 2 digits --- ...DeclarationDataAdapterCompletedBusGeneric.cs | 1 + .../GenericModelData/GenericBusEngineData.cs | 6 +++--- .../GenericTransmissionComponentData.cs | 17 +++++++---------- .../Data/Gearbox/TransmissionLossMap.cs | 4 ++-- 4 files changed, 13 insertions(+), 15 deletions(-) diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterCompletedBusGeneric.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterCompletedBusGeneric.cs index 451b761a54..6880c670fd 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterCompletedBusGeneric.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterCompletedBusGeneric.cs @@ -14,6 +14,7 @@ using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC; using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumatics; using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics; using TUGraz.VectoCore.Models.Declaration; +using TUGraz.VectoCore.Models.GenericModelData; using TUGraz.VectoCore.Models.Simulation.Data; using TUGraz.VectoCore.Models.SimulationComponent; using TUGraz.VectoCore.Models.SimulationComponent.Data; diff --git a/VectoCore/VectoCore/Models/GenericModelData/GenericBusEngineData.cs b/VectoCore/VectoCore/Models/GenericModelData/GenericBusEngineData.cs index 9498cb77d2..1f64039e29 100644 --- a/VectoCore/VectoCore/Models/GenericModelData/GenericBusEngineData.cs +++ b/VectoCore/VectoCore/Models/GenericModelData/GenericBusEngineData.cs @@ -193,9 +193,9 @@ namespace TUGraz.VectoCore.Models.Declaration var fc = DenormalizeFC((string)row[FuelConsumptionMapReader.Fields.FuelConsumption], maxTorque); var newRow = result.NewRow(); - newRow[FuelConsumptionMapReader.Fields.EngineSpeed] = engineSpeed; - newRow[FuelConsumptionMapReader.Fields.Torque] = torque; - newRow[FuelConsumptionMapReader.Fields.FuelConsumption] = fc; + newRow[FuelConsumptionMapReader.Fields.EngineSpeed] = Math.Round(engineSpeed,2, MidpointRounding.AwayFromZero); + newRow[FuelConsumptionMapReader.Fields.Torque] = Math.Round(torque, 2, MidpointRounding.AwayFromZero); + newRow[FuelConsumptionMapReader.Fields.FuelConsumption] = Math.Round(fc, 2, MidpointRounding.AwayFromZero); result.Rows.Add(newRow); } diff --git a/VectoCore/VectoCore/Models/GenericModelData/GenericTransmissionComponentData.cs b/VectoCore/VectoCore/Models/GenericModelData/GenericTransmissionComponentData.cs index 2b7b70b406..2630e51ac1 100644 --- a/VectoCore/VectoCore/Models/GenericModelData/GenericTransmissionComponentData.cs +++ b/VectoCore/VectoCore/Models/GenericModelData/GenericTransmissionComponentData.cs @@ -6,13 +6,10 @@ using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Configuration; using TUGraz.VectoCore.InputData.Reader.ComponentData; -using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter; -using TUGraz.VectoCore.Models.Simulation.Data; -using TUGraz.VectoCore.Models.SimulationComponent; using TUGraz.VectoCore.Models.SimulationComponent.Data; using TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox; -namespace TUGraz.VectoCore.Models.Declaration +namespace TUGraz.VectoCore.Models.GenericModelData { public class GenericTransmissionComponentData { @@ -35,7 +32,7 @@ namespace TUGraz.VectoCore.Models.Declaration var ratio = axlegearData.Ratio; var outputLossMap = CreateAxlegearOutputLossMap(ratio); - var axleGearInputLossMap = CalculateAxleInputLossMap(outputLossMap, ratio, 1.0); + var axleGearInputLossMap = CalculateTransmissionLossMapInput(outputLossMap, ratio, 1.0); var transmissionData = new TransmissionData { @@ -59,7 +56,7 @@ namespace TUGraz.VectoCore.Models.Declaration }; var outputLossMap = CreateAxlegearOutputLossMap(angledriveData.Ratio); - var axleGearInputLossMap = CalculateAxleInputLossMap(outputLossMap, angledriveData.Ratio, Constants.GenericLossMapSettings.FactorAngleDrive); + var axleGearInputLossMap = CalculateTransmissionLossMapInput(outputLossMap, angledriveData.Ratio, Constants.GenericLossMapSettings.FactorAngleDrive); var transmissionData = new TransmissionData { Ratio = angledriveData.Ratio, @@ -126,7 +123,7 @@ namespace TUGraz.VectoCore.Models.Declaration return td0_ + td150_ * outputspeed / td_n + ouputTorque / efficiency - ouputTorque; } - private DataTable CalculateAxleInputLossMap(DataTable outputLossMap, double axleRatio, double lossCorrectionFactor) + private DataTable CalculateTransmissionLossMapInput(DataTable outputLossMap, double axleRatio, double lossCorrectionFactor) { var inputLossMap = new DataTable(); @@ -141,9 +138,9 @@ namespace TUGraz.VectoCore.Models.Declaration var outputLoss = row[2].ToString().ToDouble(); var newRow = inputLossMap.NewRow(); - newRow[0] = GetInputSpeed(outputSpeed, axleRatio); - newRow[1] = GetInputTorque(outputTorque, outputLoss, axleRatio); - newRow[2] = GetInputTorqueLoss(outputLoss, axleRatio, lossCorrectionFactor); + newRow[0] = Math.Round(GetInputSpeed(outputSpeed, axleRatio), 2, MidpointRounding.AwayFromZero); + newRow[1] = Math.Round(GetInputTorque(outputTorque, outputLoss, axleRatio), 2, MidpointRounding.AwayFromZero); + newRow[2] = Math.Round(GetInputTorqueLoss(outputLoss, axleRatio, lossCorrectionFactor), 2, MidpointRounding.AwayFromZero); inputLossMap.Rows.Add(newRow); } diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Data/Gearbox/TransmissionLossMap.cs b/VectoCore/VectoCore/Models/SimulationComponent/Data/Gearbox/TransmissionLossMap.cs index 976887505f..af164e6a75 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Data/Gearbox/TransmissionLossMap.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Data/Gearbox/TransmissionLossMap.cs @@ -151,13 +151,13 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox [DebuggerDisplay("GearLossMapEntry({InputSpeed}, {InputTorque}, {TorqueLoss})")] public class GearLossMapEntry { - [Required, SIRange(0, 10000 * Constants.RPMToRad)] + [Required, SIRange(0, 1000000 * Constants.RPMToRad)] public PerSecond InputSpeed { get; private set; } //[Required, SIRange(-100000, 100000)] public NewtonMeter InputTorque { get; private set; } - [Required, SIRange(0, 100000)] + [Required, SIRange(0, 1000000)] public NewtonMeter TorqueLoss { get; private set; } public GearLossMapEntry(PerSecond inputSpeed, NewtonMeter inputTorque, NewtonMeter torqueLoss) -- GitLab