Code development platform for open source projects from the European Union institutions :large_blue_circle: EU Login authentication by SMS will be completely phased out by mid-2025. To see alternatives please check here

Skip to content
Snippets Groups Projects
Commit f4892678 authored by Markus Quaritsch's avatar Markus Quaritsch
Browse files

Merge pull request #126 in VECTO/vecto-sim from...

Merge pull request #126 in VECTO/vecto-sim from ~EMKRISPMI/vecto-sim:bugfix/VECTO-203-wrong-retarder-ratio-when-retarder to develop

* commit '647366e4':
  set retarder ratio to 1 for RetarderType None and LossesIncludedInTransmission
parents 91db418c 647366e4
No related branches found
No related tags found
No related merge requests found
......@@ -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(),
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment