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

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

Merge pull request #113 in VECTO/vecto-sim from ~EMQUARIMA/vecto-sim:bugfix/VECTO-188-remove-intersection-of-full-load to develop

* commit 'c3ebec48':
  bugfix in coach testcases: move dummy retarder  before gearbox
  gearbox only contains gear full load curve, intersection of gearbox full-load and engine full-load is used for shift polygon computation only
parents a5327aa1 c3ebec48
No related branches found
No related tags found
No related merge requests found
......@@ -177,7 +177,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdaper
new GearData {
LossMap = gearLossMap,
ShiftPolygon = shiftPolygon,
FullLoadCurve = gearFullLoad ?? engine.FullLoadCurve,
FullLoadCurve = gearFullLoad,
Ratio = gear.Ratio,
TorqueConverterActive = false
});
......
......@@ -136,7 +136,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdaper
return new KeyValuePair<uint, GearData>((uint)(i + 1), new GearData {
LossMap = lossMap,
ShiftPolygon = shiftPolygon,
FullLoadCurve = gearFullLoad ?? engineData.FullLoadCurve,
FullLoadCurve = gearFullLoad,
Ratio = gear.Ratio,
TorqueConverterActive = gear.TorqueConverterActive
});
......
......@@ -170,22 +170,14 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
ValidatePowerDemand(totalTorqueDemand); // requires CurrentState.FullDragTorque and DynamicfullLoad to be set!
// get max. torque as limited by gearbox. gearbox only limits torqueOut!
//NewtonMeter deltaGbxFld = null;
NewtonMeter gearboxFullLoad = null;
var curve = DataBus.GearFullLoadCurve;
if (curve != null) {
// if the current gear has a full-load curve, limit the max. torque to the
// gbx. full-load and continue (remmber the delta for further below)
gearboxFullLoad = curve.FullLoadStationaryTorque(avgEngineSpeed);
//var maxGbxTorque = VectoMath.Limit(torqueOut, -gearboxFullLoad, gearboxFullLoad);
//if (!torqueOut.IsEqual(maxGbxTorque)) {
// deltaGbxFld = torqueOut - maxGbxTorque;
//}
//CurrentState.EngineTorqueOut = maxGbxTorque;
}
//CurrentState.EngineTorque = totalTorqueDemand;
var deltaFull = ComputeDelta(torqueOut, totalTorqueDemand, CurrentState.DynamicFullLoadTorque, gearboxFullLoad, true);
var deltaDrag = ComputeDelta(torqueOut, totalTorqueDemand, CurrentState.FullDragTorque,
gearboxFullLoad != null ? -gearboxFullLoad : null, false);
......@@ -217,13 +209,6 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
CurrentState.EngineTorque = VectoMath.Limit(totalTorqueDemand, minTorque, maxTorque);
CurrentState.EnginePower = CurrentState.EngineTorque * avgEngineSpeed;
//NewtonMeter deltaEngineFld = null;
//Watt delta = null;
//if (!CurrentState.EngineTorque.IsEqual(totalTorqueDemand)) {
// delta = (torqueOut - CurrentState.EngineTorque) * avgEngineSpeed;
//}
if (torqueOut.IsGreater(0.SI<NewtonMeter>()) &&
(deltaFull * avgEngineSpeed).IsGreater(0.SI<Watt>(), Constants.SimulationSettings.EnginePowerSearchTolerance)) {
Log.Debug("requested engine power exceeds fullload power: delta: {0}", deltaFull);
......
......@@ -196,7 +196,10 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
for (var gear = (uint)Data.Gears.Count; gear > 1; gear--) {
var inAngularSpeed = outEngineSpeed * Data.Gears[gear].Ratio;
if (inAngularSpeed > Data.Gears[gear].FullLoadCurve.RatedSpeed || inAngularSpeed.IsEqual(0)) {
var ratedSpeed = Data.Gears[gear].FullLoadCurve != null
? Data.Gears[gear].FullLoadCurve.RatedSpeed
: DataBus.EngineRatedSpeed;
if (inAngularSpeed > ratedSpeed || inAngularSpeed.IsEqual(0)) {
continue;
}
......
......@@ -74,9 +74,9 @@ namespace TUGraz.VectoCore.Tests.Integration
tmp = Port.AddComponent(tmp, new Wheels(container, vehicleData.DynamicTyreRadius, vehicleData.WheelsInertia));
tmp = Port.AddComponent(tmp, new Brakes(container));
tmp = Port.AddComponent(tmp, new AxleGear(container, axleGearData));
tmp = Port.AddComponent(tmp, new DummyRetarder(container));
tmp = Port.AddComponent(tmp,
new Gearbox(container, gearboxData, new AMTShiftStrategy(gearboxData, container)));
tmp = Port.AddComponent(tmp, new DummyRetarder(container));
tmp = Port.AddComponent(tmp, clutch);
var aux = new EngineAuxiliary(container);
......
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