diff --git a/VectoCore/VectoCore/InputData/Reader/ComponentData/TorqueConverterDataReader.cs b/VectoCore/VectoCore/InputData/Reader/ComponentData/TorqueConverterDataReader.cs index cb273d90fc78a79d95fbbb0dc9797682b4068b6c..b86305836c3b55afeb88b2b96a8a165332579288 100644 --- a/VectoCore/VectoCore/InputData/Reader/ComponentData/TorqueConverterDataReader.cs +++ b/VectoCore/VectoCore/InputData/Reader/ComponentData/TorqueConverterDataReader.cs @@ -54,6 +54,9 @@ namespace TUGraz.VectoCore.InputData.Reader.ComponentData public static TorqueConverterData Create(DataTable data, PerSecond referenceRpm, PerSecond maxRpm) { + if (data == null) + throw new VectoException("TorqueConverter Characteristics data is missing."); + if (data.Columns.Count != 3) { throw new VectoException("TorqueConverter Characteristics data must consist of 3 columns"); } @@ -65,19 +68,19 @@ namespace TUGraz.VectoCore.InputData.Reader.ComponentData if (HeaderIsValid(data.Columns)) { characteristicTorque = (from DataRow row in data.Rows select - new TorqueConverterEntry() { - SpeedRatio = row.ParseDouble(Fields.SpeedRatio), - Torque = row.ParseDouble(Fields.CharacteristicTorque).SI<NewtonMeter>(), - TorqueRatio = row.ParseDouble(Fields.TorqueRatio) - }).ToList(); + new TorqueConverterEntry() { + SpeedRatio = row.ParseDouble(Fields.SpeedRatio), + Torque = row.ParseDouble(Fields.CharacteristicTorque).SI<NewtonMeter>(), + TorqueRatio = row.ParseDouble(Fields.TorqueRatio) + }).ToList(); } else { characteristicTorque = (from DataRow row in data.Rows select - new TorqueConverterEntry() { - SpeedRatio = row.ParseDouble(0), - Torque = row.ParseDouble(2).SI<NewtonMeter>(), - TorqueRatio = row.ParseDouble(1) - }).ToList(); + new TorqueConverterEntry() { + SpeedRatio = row.ParseDouble(0), + Torque = row.ParseDouble(2).SI<NewtonMeter>(), + TorqueRatio = row.ParseDouble(1) + }).ToList(); } return new TorqueConverterData(characteristicTorque, referenceRpm, maxRpm); } diff --git a/VectoCore/VectoCore/InputData/Reader/ComponentData/TransmissionLossMapReader.cs b/VectoCore/VectoCore/InputData/Reader/ComponentData/TransmissionLossMapReader.cs index 9cdf098823f09718c726f431d5b89cf8fff1aba2..2198d7812b87181d49d2f4d0cc1b54c56a178082 100644 --- a/VectoCore/VectoCore/InputData/Reader/ComponentData/TransmissionLossMapReader.cs +++ b/VectoCore/VectoCore/InputData/Reader/ComponentData/TransmissionLossMapReader.cs @@ -95,11 +95,15 @@ namespace TUGraz.VectoCore.InputData.Reader.ComponentData /// <returns></returns> public static TransmissionLossMap Create(double efficiency, double gearRatio, string gearName) { + if (double.IsNaN(efficiency)) { + throw new VectoException("TransmissionLossMap: Efficiency is not a number."); + } + if (efficiency <= 0) { - throw new VectoException("Efficiency for gear {0} must be greater than 0", gearName); + throw new VectoException("TransmissionLossMap: Efficiency for gear {0} must be greater than 0", gearName); } if (efficiency > 1) { - throw new VectoException("Efficiency for gear {1} must not be greater than 1", gearName); + throw new VectoException("TransmissionLossMap: Efficiency for gear {1} must not be greater than 1", gearName); } var entries = new List<TransmissionLossMap.GearLossMapEntry> { new TransmissionLossMap.GearLossMapEntry(0.RPMtoRad(), 1e5.SI<NewtonMeter>(), @@ -126,20 +130,20 @@ namespace TUGraz.VectoCore.InputData.Reader.ComponentData private static List<TransmissionLossMap.GearLossMapEntry> CreateFromColumnNames(DataTable data) { return (from DataRow row in data.Rows - select new TransmissionLossMap.GearLossMapEntry( - inputSpeed: row.ParseDouble(Fields.InputSpeed).RPMtoRad(), - inputTorque: row.ParseDouble(Fields.InputTorque).SI<NewtonMeter>(), - torqueLoss: row.ParseDouble(Fields.TorqeLoss).SI<NewtonMeter>())) + select new TransmissionLossMap.GearLossMapEntry( + inputSpeed: row.ParseDouble(Fields.InputSpeed).RPMtoRad(), + inputTorque: row.ParseDouble(Fields.InputTorque).SI<NewtonMeter>(), + torqueLoss: row.ParseDouble(Fields.TorqeLoss).SI<NewtonMeter>())) .ToList(); } private static List<TransmissionLossMap.GearLossMapEntry> CreateFromColumIndizes(DataTable data) { return (from DataRow row in data.Rows - select new TransmissionLossMap.GearLossMapEntry( - inputSpeed: row.ParseDouble(0).RPMtoRad(), - inputTorque: row.ParseDouble(1).SI<NewtonMeter>(), - torqueLoss: row.ParseDouble(2).SI<NewtonMeter>())) + select new TransmissionLossMap.GearLossMapEntry( + inputSpeed: row.ParseDouble(0).RPMtoRad(), + inputTorque: row.ParseDouble(1).SI<NewtonMeter>(), + torqueLoss: row.ParseDouble(2).SI<NewtonMeter>())) .ToList(); }