Skip to content

Commit 11a2563

Browse files
committed
Adjust kinietic friction calculations
1 parent 68f4736 commit 11a2563

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

Source/Orts.Simulation/Simulation/RollingStocks/MSTSLocomotive.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2901,7 +2901,7 @@ public virtual void UpdateWaterTroughRefill(float elapsedClockSeconds, float abs
29012901
public virtual void UpdateFrictionCoefficient(float elapsedClockSeconds)
29022902
{
29032903
float BaseuMax = (Curtius_KnifflerA / (MpS.ToKpH(AbsSpeedMpS) + Curtius_KnifflerB) + Curtius_KnifflerC); // Base Curtius - Kniffler equation - u = 0.33, all other values are scaled off this formula
2904-
float SandingFrictionCoefficientFactor = 0.0f;
2904+
float SandingFrictionCoefficientFactor = 1.0f;
29052905
//Set the friction coeff due to weather
29062906
if (Simulator.WeatherType == WeatherType.Rain || Simulator.WeatherType == WeatherType.Snow)
29072907
{
@@ -3018,11 +3018,11 @@ public virtual void UpdateFrictionCoefficient(float elapsedClockSeconds)
30183018

30193019
if (WheelSlip && ThrottlePercent > 0.2f && !BrakeSkid) // Test to see if loco wheel is slipping, then coeff of friction will be decreased below static value. Sanding will override this somewhat
30203020
{
3021-
BaseFrictionCoefficientFactor = 0.15f * SandingFrictionCoefficientFactor; // Descrease friction to take into account dynamic (kinetic) friction U = 0.0525
3021+
BaseFrictionCoefficientFactor *= 0.5f; // Descrease friction to take into account dynamic (kinetic) friction, typically kinetic friction is approximately 50% of static friction.
30223022
}
30233023
else if (WheelSlip && ThrottlePercent < 0.1f && BrakeSkid) // Test to see if loco wheel is skidding due to brake application
30243024
{
3025-
BaseFrictionCoefficientFactor = 0.15f * SandingFrictionCoefficientFactor; // Descrease friction to take into account dynamic (kinetic) friction U = 0.0525
3025+
BaseFrictionCoefficientFactor *= 0.5f; // Descrease friction to take into account dynamic (kinetic) friction, typically kinetic friction is approximately 50% of static friction.
30263026
}
30273027

30283028
var AdhesionMultiplier = Simulator.Settings.AdhesionFactor / 100.0f; // Convert to a factor where 100% = no change to adhesion

0 commit comments

Comments
 (0)