diff --git a/VectoCore/InputData/Reader/DataObjectAdaper/AbstractSimulationDataAdapter.cs b/VectoCore/InputData/Reader/DataObjectAdaper/AbstractSimulationDataAdapter.cs index 8d66c338218e2fd510eb5dca61458be5d10f061d..efd4c8a56cc7f9fff9141fec3f2b73f2dc1795ad 100644 --- a/VectoCore/InputData/Reader/DataObjectAdaper/AbstractSimulationDataAdapter.cs +++ b/VectoCore/InputData/Reader/DataObjectAdaper/AbstractSimulationDataAdapter.cs @@ -29,6 +29,7 @@ * Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology */ +using System; using System.Collections.Generic; using System.Linq; using TUGraz.VectoCore.Models; @@ -84,10 +85,20 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdaper IntegrityStatus = data.IntegrityStatus, Type = data.Type, }; - if (retarder.Type == RetarderData.RetarderType.Primary || retarder.Type == RetarderData.RetarderType.Secondary) { - retarder.LossMap = RetarderLossMap.Create(data.LossMap); - retarder.Ratio = vehicle.RetarderRatio; + switch (retarder.Type) { + case RetarderData.RetarderType.Primary: + case RetarderData.RetarderType.Secondary: + retarder.LossMap = RetarderLossMap.Create(data.LossMap); + retarder.Ratio = vehicle.RetarderRatio; + break; + case RetarderData.RetarderType.None: + case RetarderData.RetarderType.LossesIncludedInTransmission: + retarder.Ratio = 1; + break; + default: + throw new ArgumentOutOfRangeException("retarder.Type", "RetarderType unknown"); } + return retarder; } @@ -154,15 +165,16 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdaper if (gearCurve == null) { return engineCurve; } - var entries = gearCurve.FullLoadEntries.Concat(engineCurve.FullLoadEntries) - .OrderBy(x => x.EngineSpeed) - .Distinct(new FullLoadEntryEqualityComparer()) - .Select(x => new FullLoadCurve.FullLoadCurveEntry { - EngineSpeed = x.EngineSpeed, - TorqueFullLoad = - VectoMath.Min(engineCurve.FullLoadStationaryTorque(x.EngineSpeed), - gearCurve.FullLoadStationaryTorque(x.EngineSpeed)) - }); + var entries = + gearCurve.FullLoadEntries.Concat(engineCurve.FullLoadEntries) + .OrderBy(x => x.EngineSpeed) + .Distinct(new FullLoadEntryEqualityComparer()) + .Select(x => new FullLoadCurve.FullLoadCurveEntry { + EngineSpeed = x.EngineSpeed, + TorqueFullLoad = + VectoMath.Min(engineCurve.FullLoadStationaryTorque(x.EngineSpeed), + gearCurve.FullLoadStationaryTorque(x.EngineSpeed)) + }); var flc = new EngineFullLoadCurve { FullLoadEntries = entries.ToList(),