Skip to content

Commit 90b5712

Browse files
committed
Further tweaks to slip characteristics
1 parent 4981d5b commit 90b5712

File tree

1 file changed

+5
-8
lines changed
  • Source/Orts.Simulation/Simulation/RollingStocks/SubSystems/PowerTransmissions

1 file changed

+5
-8
lines changed

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

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1021,8 +1021,6 @@ public void Update()
10211021
var wheelLoadkN = Axle.AxleWeightN / (Axle.NumAxles * 2 * 1000); // Assume two wheels per axle, and thus wheel weight will be have the value - multiple axles????
10221022
var Young_ModulusMPa = 207000;
10231023

1024-
// Trace.TraceInformation("Wheel Load - WheelLoad {0} AxleWeight {1} AxleNumbers {2}", wheelLoadN, Axle.AxleWeightN, Axle.NumAxles);
1025-
10261024
// Calculate Hertzian values - assume 2b = 12mm.
10271025
var b_HertzianMM = 6.0;
10281026
a_HertzianMM = (3.04f / 2) * Math.Sqrt(((wheelLoadkN * wheelRadiusMM * 1000) / (2 * b_HertzianMM * Young_ModulusMPa)));
@@ -1035,12 +1033,9 @@ public void Update()
10351033

10361034
StiffnessPreFactors1 = (GNm2 * Math.PI * a_HertzianMM * b_HertzianMM) / (4.0 * wheelLoadN);
10371035

1038-
1039-
1040-
// Trace.TraceInformation("Prefactor 2 - Stiffness2 {0} WheelLoadN {1} AxleWeight {2} NumAxles {3}", StiffnessPreFactors2, wheelLoadN, Axle.AxleWeightN, Axle.NumAxles);
1041-
10421036
// Calculate slip and creep values
10431037
var wheelProfileConicityRad = 0.5f;
1038+
var wheelContactAngleRad = MathHelper.ToRadians(60);
10441039
var wheelCentreDeviationMM = 3.0f;
10451040
double YawAngleRad = 0;
10461041
if (Axle.CurrentCurveRadiusM > 0)
@@ -1051,13 +1046,15 @@ public void Update()
10511046
var supplenessFactor = (wheelDistanceGaugeMM * wheelRadiusMM) / (wheelProfileConicityRad * wheelCentreDeviationMM);
10521047
var lateralSlipVelocityMpS = Math.Abs(((-1 * Axle.CurrentCurveRadiusM * YawAngleRad) / supplenessFactor) * trainSpeedMpS);
10531048
Sy = lateralSlipVelocityMpS / trainSpeedMpS;
1054-
if (float.IsNaN((float)Sy)) Sy = 0;//avoid NaN on HuD display when first starting OR
1049+
if (float.IsNaN((float)Sy)) Sy = 0;//avoid NaN when first starting OR
10551050
Sy2 = Sy * Sy;
10561051

1057-
spinM1 = Math.Sin(wheelProfileConicityRad) / wheelRadiusMM;
1052+
spinM1 = Math.Sin(wheelContactAngleRad) / wheelRadiusMM;
10581053
Syc = Sy + (spinM1 * a_HertzianMM);
10591054
Syc2 = Syc * Syc;
10601055

1056+
// Trace.TraceInformation("Sy - {0} Syc {1} Spin {2} a_hertz {3}", Sy, Syc, spinM1, a_HertzianMM);
1057+
10611058
// calculate "standard" Polach adhesion parameters as straight line approximations as u varies - these values are capped at the moment at the u=0.3 level
10621059
// Taking them lower may reduce the stability of the calculations
10631060
polach_A = 0.4;

0 commit comments

Comments
 (0)