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 2858a044 authored by Markus Quaritsch's avatar Markus Quaritsch
Browse files

adapt shift polygon drawer to draw intersected full-load curve (gear's max torque)

parent d8de8844
No related branches found
No related tags found
No related merge requests found
......@@ -389,25 +389,30 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration
};
engineData.FullLoadCurve.EngineData = engineData;
var gearboxData = new JSONGearboxDataV5(JSONInputDataFactory.ReadFile(gearboxFile), gearboxFile);
var gearboxData = new JSONGearboxDataV6(JSONInputDataFactory.ReadFile(gearboxFile), gearboxFile);
var shiftPolygons = new List<ShiftPolygon>();
var downshiftTransformed = new List<List<Point>>();
var downshiftOrig = new List<List<Point>>();
var upshiftOrig = new List<List<Point>>();
var fullLoadCurves = new List<EngineFullLoadCurve>();
for (var i = 0; i < gearboxData.Gears.Count; i++) {
shiftPolygons.Add(DeclarationData.Gearbox.ComputeShiftPolygon(i, engineData.FullLoadCurve, gearboxData.Gears,
var fullLoadCurve = AbstractSimulationDataAdapter.IntersectFullLoadCurves(engineData.FullLoadCurve,
gearboxData.Gears[i].MaxTorque);
shiftPolygons.Add(DeclarationData.Gearbox.ComputeShiftPolygon(i, fullLoadCurve, gearboxData.Gears,
engineData, axlegearRatio, rdyn));
List<Point> tmp1, tmp2, tmp3;
ShiftPolygonComparison.ComputShiftPolygonPoints(i, engineData.FullLoadCurve, gearboxData.Gears,
ShiftPolygonComparison.ComputShiftPolygonPoints(i, fullLoadCurve, gearboxData.Gears,
engineData, axlegearRatio, rdyn, out tmp1, out tmp2, out tmp3);
upshiftOrig.Add(tmp1);
downshiftTransformed.Add(tmp2);
downshiftOrig.Add(tmp3);
fullLoadCurves.Add(fullLoadCurve);
}
ShiftPolygonDrawer.DrawShiftPolygons(Path.GetDirectoryName(gearboxFile), engineData.FullLoadCurve, shiftPolygons,
"scania_fullload_shiftpolygon-test.png",
ShiftPolygonDrawer.DrawShiftPolygons(Path.GetDirectoryName(gearboxFile), fullLoadCurves, shiftPolygons,
"daimler_fullload_shiftpolygon-test_3.png",
DeclarationData.Gearbox.TruckMaxAllowedSpeed / rdyn * axlegearRatio * gearboxData.Gears.Last().Ratio, upshiftOrig,
downshiftTransformed, downshiftOrig);
}
......@@ -458,22 +463,26 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration
var shiftPolygons = new List<ShiftPolygon>();
var downshiftTransformed = new List<List<Point>>();
var upshiftOrig = new List<List<Point>>();
var fullLoadCurves = new List<EngineFullLoadCurve>();
for (var i = 0; i < gearboxData.Gears.Count; i++) {
var fullLoadCurve = AbstractSimulationDataAdapter.IntersectFullLoadCurves(engineData.FullLoadCurve,
gearboxData.Gears[i].MaxTorque);
shiftPolygons.Add(
DeclarationData.Gearbox.ComputeShiftPolygon(i, engineData.FullLoadCurve, gearboxData.Gears,
DeclarationData.Gearbox.ComputeShiftPolygon(i, fullLoadCurve, gearboxData.Gears,
engineData, axlegearRatio, rdyn.SI<Meter>())
);
List<Point> tmp1, tmp2, tmp3;
ComputShiftPolygonPoints(i, engineData.FullLoadCurve, gearboxData.Gears,
ComputShiftPolygonPoints(i, fullLoadCurve, gearboxData.Gears,
engineData, axlegearRatio, rdyn.SI<Meter>(), out tmp1, out tmp2, out tmp3);
upshiftOrig.Add(tmp1);
downshiftTransformed.Add(tmp2);
fullLoadCurves.Add(fullLoadCurve);
}
var imageFile = Path.GetDirectoryName(gearboxFile) + "_" + Path.GetFileNameWithoutExtension(gearboxFile) + "_" +
Path.GetFileNameWithoutExtension(engineFldFile) +
".png";
ShiftPolygonDrawer.DrawShiftPolygons(Path.GetDirectoryName(gearboxFile), engineData.FullLoadCurve, shiftPolygons,
ShiftPolygonDrawer.DrawShiftPolygons(Path.GetDirectoryName(gearboxFile), fullLoadCurves, shiftPolygons,
imageFile,
DeclarationData.Gearbox.TruckMaxAllowedSpeed / rdyn.SI<Meter>() * axlegearRatio * gearboxData.Gears.Last().Ratio,
upshiftOrig, downshiftTransformed);
......
......@@ -52,7 +52,7 @@ namespace TUGraz.VectoCore.Tests.Utils
private static Size _diagramSize = new Size(1000, 800);
public static void DrawShiftPolygons(string title, EngineFullLoadCurve engineFld, List<ShiftPolygon> polygons,
public static void DrawShiftPolygons(string title, List<EngineFullLoadCurve> engineFld, List<ShiftPolygon> polygons,
string imageFileName, PerSecond speed85kmh, List<List<Point>> upshiftOrig = null,
List<List<Point>> downshiftTransformed = null, List<List<Point>> downshiftOrig = null)
{
......@@ -62,7 +62,7 @@ namespace TUGraz.VectoCore.Tests.Utils
var chart = new Chart() {
Size = new Size((int)(_diagramSize.Width * numCols), (int)(_diagramSize.Height * numRows))
};
var maxX = engineFld.FullLoadEntries.Last().EngineSpeed.Value() / Constants.RPMToRad * 1.1;
var maxX = engineFld.First().FullLoadEntries.Last().EngineSpeed.Value() / Constants.RPMToRad * 1.1;
AddLegend(chart);
......@@ -70,8 +70,8 @@ namespace TUGraz.VectoCore.Tests.Utils
foreach (var shiftPolygon in polygons) {
var chartArea = AddChartArea(chart, "Gear " + (i + 1), "Engine Speed", "Torque", 0, maxX);
PlotPower(engineFld, chartArea, chart, "engine power " + i);
PlotFLD(engineFld, speed85kmh, chartArea, chart, "Engine Full Load " + i);
PlotPower(engineFld[i], chartArea, chart, "engine power " + i);
PlotFLD(engineFld[i], speed85kmh, chartArea, chart, "Engine Full Load " + i);
if (upshiftOrig != null && i < upshiftOrig.Count) {
PlotShiftLine("UpshiftOrig " + i, chartArea, chart, Color.Gray,
......
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