Skip to content

Commit

Permalink
Automatic merge of T1.5.1-664-gd39447273 and 7 pull requests
Browse files Browse the repository at this point in the history
- Pull request #839 at d00beb9: First phase of https://blueprints.launchpad.net/or/+spec/additional-cruise-control-parameters
- Pull request #865 at 776d6df: Dispatcher window improvements
- Pull request #874 at f8dbeab: Dynamic brake controller refactoring
- Pull request #875 at 43bf33e: Bug fix for https://bugs.launchpad.net/or/+bug/2036346 Player train switching doesn't work with 3D cabs
- Pull request #876 at f92de76: docs: add source for documents previously on website to source Documentation folder
- Pull request #878 at 90b5712: Implement Polach Adhesion
- Pull request #879 at 5a0ff7b: chore: remove Website folder
  • Loading branch information
openrails-bot committed Oct 8, 2023
9 parents 86b5f0a + d394472 + d00beb9 + 776d6df + f8dbeab + 43bf33e + f92de76 + 90b5712 + 5a0ff7b commit 21f7fe6
Showing 1 changed file with 5 additions and 8 deletions.
Expand Up @@ -1021,8 +1021,6 @@ public void Update()
var wheelLoadkN = Axle.AxleWeightN / (Axle.NumAxles * 2 * 1000); // Assume two wheels per axle, and thus wheel weight will be have the value - multiple axles????
var Young_ModulusMPa = 207000;

// Trace.TraceInformation("Wheel Load - WheelLoad {0} AxleWeight {1} AxleNumbers {2}", wheelLoadN, Axle.AxleWeightN, Axle.NumAxles);

// Calculate Hertzian values - assume 2b = 12mm.
var b_HertzianMM = 6.0;
a_HertzianMM = (3.04f / 2) * Math.Sqrt(((wheelLoadkN * wheelRadiusMM * 1000) / (2 * b_HertzianMM * Young_ModulusMPa)));
Expand All @@ -1035,12 +1033,9 @@ public void Update()

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



// Trace.TraceInformation("Prefactor 2 - Stiffness2 {0} WheelLoadN {1} AxleWeight {2} NumAxles {3}", StiffnessPreFactors2, wheelLoadN, Axle.AxleWeightN, Axle.NumAxles);

// Calculate slip and creep values
var wheelProfileConicityRad = 0.5f;
var wheelContactAngleRad = MathHelper.ToRadians(60);
var wheelCentreDeviationMM = 3.0f;
double YawAngleRad = 0;
if (Axle.CurrentCurveRadiusM > 0)
Expand All @@ -1051,13 +1046,15 @@ public void Update()
var supplenessFactor = (wheelDistanceGaugeMM * wheelRadiusMM) / (wheelProfileConicityRad * wheelCentreDeviationMM);
var lateralSlipVelocityMpS = Math.Abs(((-1 * Axle.CurrentCurveRadiusM * YawAngleRad) / supplenessFactor) * trainSpeedMpS);
Sy = lateralSlipVelocityMpS / trainSpeedMpS;
if (float.IsNaN((float)Sy)) Sy = 0;//avoid NaN on HuD display when first starting OR
if (float.IsNaN((float)Sy)) Sy = 0;//avoid NaN when first starting OR
Sy2 = Sy * Sy;

spinM1 = Math.Sin(wheelProfileConicityRad) / wheelRadiusMM;
spinM1 = Math.Sin(wheelContactAngleRad) / wheelRadiusMM;
Syc = Sy + (spinM1 * a_HertzianMM);
Syc2 = Syc * Syc;

// Trace.TraceInformation("Sy - {0} Syc {1} Spin {2} a_hertz {3}", Sy, Syc, spinM1, a_HertzianMM);

// 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
// Taking them lower may reduce the stability of the calculations
polach_A = 0.4;
Expand Down

0 comments on commit 21f7fe6

Please sign in to comment.