Organize traction and adhesion code
Refactor the interface between force-generating subsystems and wheel-rail adhesion. This is a pre-requisite before implementing advanced motor systems. Planned tasks include:
- Move simple adhesion to the Axle module. This moves almost all checks for UseAdvancedAdhesion to the Axle class, simplifying the locomotive code. It also helps the integration of advanced AC and DC motors.
- Include axle definition for non-driven axles (e.g. wagons). Advanced adhesion is too expensive to run for non-driven axles. Instead, run a semi-simple adhesion model that still allows for wheel skid.
- Handle all axle-related forces (drive force, brake force, axle friction) inside the axle module. Indicate the fraction of rail output force that is provided by traction, brake and friction.
- Reimplement legacy slip control, removing the link to the physical throttle lever, and acting in individual axles.
- Move traction and adhesion code from MSTSLocomotive to dedicated classes (SteamEngine, ElectricMotor, DieselEngine, Axle, ...)
- Link cab controls to specific axles or engines (e.g. link speedometer to a non-driven axle to avoid oscillations during wheelslip, show the ammeter for each traction motor, ...)
- Ability to define non-driven axles for electric locomotives, by indicating which motor is linked to which axle.
- Non-uniform forces applied to axles depending on the axle load (e.g. one axle provides 75% of tractive force, another provides the remaining 25%).
Blueprint information
- Status:
- Not started
- Approver:
- None
- Priority:
- Undefined
- Drafter:
- César Benito
- Direction:
- Needs approval
- Assignee:
- None
- Definition:
- New
- Series goal:
- None
- Implementation:
-
Unknown
- Milestone target:
- None
- Started by
- Completed by