Skip to content

Commit e5db0a2

Browse files
committed
Adjustments to fixed gear locomotive
1 parent c17fdb3 commit e5db0a2

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

Source/Orts.Simulation/Simulation/RollingStocks/MSTSSteamLocomotive.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5430,8 +5430,9 @@ private void UpdateSteamTractiveForce(float elapsedClockSeconds, float locomotiv
54305430
else // typically this will be a booster or geared engine
54315431
{
54325432
// If the steam piston is exceeding the maximum design piston rate then decrease efficiency of mep
5433-
if (SteamEngineType == SteamEngineTypes.Geared && SteamEngines[numberofengine].PistonSpeedFtpMin > MaxSteamGearPistonRateFtpM && SteamEngines[numberofengine].AuxiliarySteamEngineType == SteamEngine.AuxiliarySteamEngineTypes.Booster)
5433+
if (SteamEngineType == SteamEngineTypes.Geared && SteamEngines[numberofengine].PistonSpeedFtpMin > MaxSteamGearPistonRateFtpM)
54345434
{
5435+
54355436
// use straight line curve to decay mep to zero by 2 x piston speed
54365437
float pistonforcedecay = 1.0f - (1.0f / MaxSteamGearPistonRateFtpM) * (SteamEngines[numberofengine].PistonSpeedFtpMin - MaxSteamGearPistonRateFtpM);
54375438
pistonforcedecay = MathHelper.Clamp(pistonforcedecay, 0.0f, 1.0f); // Clamp decay within bounds
@@ -5450,7 +5451,7 @@ private void UpdateSteamTractiveForce(float elapsedClockSeconds, float locomotiv
54505451
GearRatioAdjusted = MotiveForceGearRatio;
54515452
}
54525453

5453-
SteamEngines[numberofengine].TractiveForceN = N.FromLbf((SteamEngines[numberofengine].NumberCylinders / 2.0f) * (Me.ToIn(SteamEngines[numberofengine].CylindersDiameterM) * Me.ToIn(SteamEngines[numberofengine].CylindersDiameterM) * Me.ToIn(SteamEngines[numberofengine].CylindersStrokeM) / (2.0f * Me.ToIn(DriverWheelRadiusM))) * (SteamEngines[numberofengine].MeanEffectivePressurePSI * CylinderEfficiencyRate) * MotiveForceGearRatio);
5454+
SteamEngines[numberofengine].TractiveForceN = N.FromLbf((SteamEngines[numberofengine].NumberCylinders / 2.0f) * (Me.ToIn(SteamEngines[numberofengine].CylindersDiameterM) * Me.ToIn(SteamEngines[numberofengine].CylindersDiameterM) * Me.ToIn(SteamEngines[numberofengine].CylindersStrokeM) / (2.0f * Me.ToIn(DriverWheelRadiusM))) * (SteamEngines[numberofengine].MeanEffectivePressurePSI * CylinderEfficiencyRate) * GearRatioAdjusted);
54545455

54555456
// Force tractive effort to zero if throttle is closed, or if a geared steam locomotive in neutral gear. MEP calculation is not allowing it to go to zero
54565457
if (locomotivethrottle < 0.001 || (SteamEngineType == SteamEngineTypes.Geared && SteamGearPosition == 0))

0 commit comments

Comments
 (0)