Skip to content

Commit a432acf

Browse files
committed
Correct calculation of MaxTE.
1 parent 2290a17 commit a432acf

File tree

1 file changed

+4
-2
lines changed
  • Source/Orts.Simulation/Simulation/RollingStocks/SubSystems/PowerTransmissions

1 file changed

+4
-2
lines changed

Source/Orts.Simulation/Simulation/RollingStocks/SubSystems/PowerTransmissions/GearBox.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -656,6 +656,8 @@ public float TractiveForceN
656656

657657
// During normal operation fuel admission is fixed, and therefore TE follows curve as RpM varies
658658
tractiveForceN = torqueCurveMultiplier * DieselEngine.DieselTorqueTab[DieselEngine.RealRPM] / DieselEngine.DieselTorqueTab.MaxY() * CurrentGear.MaxTractiveForceN;
659+
660+
// Trace.TraceInformation("Tractive Force - TF {0} tcm {1} RpM {2} Torque@RpM {3} TorqueMax {4} MaxTE {5}", tractiveForceN, torqueCurveMultiplier, DieselEngine.RealRPM, DieselEngine.DieselTorqueTab[DieselEngine.RealRPM], DieselEngine.DieselTorqueTab.MaxY(), CurrentGear.MaxTractiveForceN);
659661

660662
Locomotive.HuDGearMaximumTractiveForce = CurrentGear.MaxTractiveForceN;
661663

@@ -807,7 +809,7 @@ public void Initialize()
807809
else
808810
{
809811
// if they entered the TE at maximum gear speed, then increase the value accordingly
810-
Gears[i].MaxTractiveForceN = GearBoxParams.GearBoxTractiveForceAtSpeedN[i] * 1.234f;
812+
Gears[i].MaxTractiveForceN = GearBoxParams.GearBoxTractiveForceAtSpeedN[i] * DieselEngine.DieselTorqueTab.MaxY() / DieselEngine.DieselTorqueTab[DieselEngine.RealRPM];
811813
}
812814
// For purposes of calculating engine efficiency the tractive force at maximum gear speed needs to be used.
813815
if (GearBoxParams.GearBoxTractiveForceAtSpeedN[i] != 0)
@@ -818,7 +820,7 @@ public void Initialize()
818820
else
819821
{
820822
// Assume that user entered max TE at maximum torque point
821-
Gears[i].TractiveForceatMaxSpeedN = GearBoxParams.GearBoxMaxTractiveForceForGearsN[i] / 1.234f;
823+
Gears[i].TractiveForceatMaxSpeedN = GearBoxParams.GearBoxMaxTractiveForceForGearsN[i] / (DieselEngine.DieselTorqueTab.MaxY() / DieselEngine.DieselTorqueTab[DieselEngine.RealRPM]);
822824
}
823825

824826
Gears[i].OverspeedPercentage = GearBoxParams.GearBoxOverspeedPercentageForFailure;

0 commit comments

Comments
 (0)