Skip to content

Commit 0e9a259

Browse files
committed
Further tuning of derailment capability.
1 parent 918960c commit 0e9a259

File tree

2 files changed

+10
-8
lines changed

2 files changed

+10
-8
lines changed

Source/Documentation/Manual/physics.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4499,7 +4499,7 @@ Open Rails calculates when it is likely that a train derailment has occurred. Th
44994499
when the train is in a curve. Light (empty wagons) can sometimes derail due to 'string lining' where the train forces attempt to pull the train
45004500
in a straight line, rather then following the curve.
45014501

4502-
OR calculates the Nadal Critera for each wagon, and then calculates the actual L/V ratio based upon the wagon weight and the relevant
4502+
OR calculates the Nadal Criteria for each wagon, and then calculates the actual L/V ratio based upon the wagon weight and the relevant
45034503
"in train" forces. Open Rails uses some calculated default parameters for the various parameters required to determine the actual L/V
45044504
ratio, however more accurate results will be obtained if actual parameters are entered into the ENG or WAG file. The derailment calculations
45054505
use information relating to the wagon dimensions, weight and wheel profile information.

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

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1197,7 +1197,7 @@ public virtual void UpdateTunnelForce()
11971197
/// these factors is not practical so only some of the key factors are considered. For eaxmple, wheel wear may determine whether a particular car will derial or not. So the same
11981198
/// type of car can either derail or not under similar circumstances.
11991199
///
1200-
/// Hence these calculations provide a "generic" approach to determining whether a car will derial or not.
1200+
/// Hence these calculations provide a "generic" approach to determining whether a car will derail or not.
12011201
///
12021202
/// Buff Coupler angle calculated from this publication: In-Train Force Limit Study by National Research Council Canada
12031203
///
@@ -1578,16 +1578,18 @@ public void UpdateTrainDerailmentRisk(float elapsedClockSeconds)
15781578
DerailmentCoefficient = TotalWagonLateralDerailForceN / TotalWagonVerticalDerailForceN;
15791579

15801580
// use the dynamic multiplication coefficient to calculate final derailment coefficient, the above method calculated using quasi-static factors.
1581-
// The quasi-static do not include allowance for wheel unloading due to static carbody pitch. Hence the following factors have been used to adjust to dynamic effects.
1582-
// They have been adjusted slightly based upon derailment accident reports. Original figures quoted were 2 x for standard curves, and 3.1 x for turnouts.
1583-
if (IsOverJunction())
1581+
// The differences between quasi-static and dynamic limits are due to effects of creepage, curve, conicity, wheel unloading ratio, track geometry,
1582+
// car configurations and the share of wheel load changes which are not taken into account in the static analysis etc.
1583+
// Hence the following factors have been used to adjust to dynamic effects.
1584+
// Original figures quoted - Static Draft = 0.389, Static Buff = 0.389, Dynamic Draft = 0.29, Dynamic Buff = 0.22.
1585+
// Hence use the following multiplication factors, Buff = 1.77, Draft = 1.34.
1586+
if (CouplerForceU > 0 && CouplerSlackM < 0)
15841587
{
1585-
DerailmentCoefficient *= 2.17f;
1588+
DerailmentCoefficient *= 1.77f; // coupler in buff condition
15861589
}
15871590
else
15881591
{
1589-
// DerailmentCoefficient *= 1.4f;
1590-
DerailmentCoefficient *= 2.0f;
1592+
DerailmentCoefficient *= 1.34f;
15911593
}
15921594

15931595
var wagonAdhesion = Train.WagonCoefficientFriction;

0 commit comments

Comments
 (0)