Skip to content

Commit 6f1b82f

Browse files
committed
Clean up curve resistance calculations
1 parent 4ff58ac commit 6f1b82f

File tree

1 file changed

+4
-7
lines changed
  • Source/Orts.Simulation/Simulation/RollingStocks

1 file changed

+4
-7
lines changed

Source/Orts.Simulation/Simulation/RollingStocks/TrainCar.cs

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,14 +37,12 @@
3737
using Orts.Common;
3838
using Orts.Formats.Msts;
3939
using Orts.Parsers.Msts;
40-
using Orts.Simulation.AIs;
4140
using Orts.Simulation.Physics;
4241
using Orts.Simulation.RollingStocks.Coupling;
4342
using Orts.Simulation.RollingStocks.SubSystems;
4443
using Orts.Simulation.RollingStocks.SubSystems.Brakes;
4544
using Orts.Simulation.RollingStocks.SubSystems.PowerSupplies;
4645
using Orts.Simulation.Signalling;
47-
using Orts.Simulation.Timetables;
4846
using ORTS.Common;
4947
using ORTS.Scripting.Api;
5048
using System;
@@ -2089,14 +2087,13 @@ public virtual void UpdateCurveForce(float elapsedClockSeconds)
20892087
// Base Curve Resistance (from refernce i)) = (Vehicle mass x Coeff Friction) * (Track Gauge + Vehicle Fixed Wheelbase) / (2 * curve radius)
20902088
// Vehicle Fixed Wheel base is the distance between the wheels, ie bogie or fixed wheels
20912089

2092-
var rBaseWagonN = 9.81f * MassKG * Train.WagonCoefficientFriction * (TrackGaugeM + RigidWheelBaseM) / (2.0f * CurrentCurveRadiusM);
2090+
float rBaseWagonN = GravitationalAccelerationMpS2 * MassKG * Train.WagonCoefficientFriction * (TrackGaugeM + RigidWheelBaseM) / (2.0f * CurrentCurveRadiusM);
20932091

20942092
// Speed Curve Resistance (from reference ii) - second term only) = ((Speed^2 / Curve Radius) - (Superelevation / Track Gauge) * Gravitational acceleration) * Constant
20952093

2096-
var speedConstant = 1.5f;
2097-
var MToMM = 1000;
2098-
var rspeedKgpTonne = speedConstant * Math.Abs((SpeedMpS * SpeedMpS / CurrentCurveRadiusM) - ((MToMM * SuperElevationM / MToMM * TrackGaugeM) * GravitationalAccelerationMpS2));
2099-
var rSpeedWagonN = GravitationalAccelerationMpS2 * (Kg.ToTonne(MassKG) * rspeedKgpTonne);
2094+
float speedConstant = 1.5f;
2095+
float rspeedKgpTonne = speedConstant * Math.Abs((SpeedMpS * SpeedMpS / CurrentCurveRadiusM) - (GravitationalAccelerationMpS2 * SuperElevationM / TrackGaugeM));
2096+
float rSpeedWagonN = GravitationalAccelerationMpS2 * (Kg.ToTonne(MassKG) * rspeedKgpTonne);
21002097

21012098
CurveForceN = rBaseWagonN + rSpeedWagonN;
21022099
}

0 commit comments

Comments
 (0)