Quote
And here in North America, we have the opposite behavior: On the F40PH, the minimum reduction position engages the air brakes exclusively, while subsequent positions engage the dynamics in addition to that.
Considering the wide range of blended braking behaviors, and the frustration that content creators like pschlik have with one-size-fits-all algorithms like "ORTSDynamicBlendingForceMatch", I propose that we introduce a lookup table that maps brake cylinder pressure to dynamic brake application. Content creators would thus have complete control over the blend.
Considering the wide range of blended braking behaviors, and the frustration that content creators like pschlik have with one-size-fits-all algorithms like "ORTSDynamicBlendingForceMatch", I propose that we introduce a lookup table that maps brake cylinder pressure to dynamic brake application. Content creators would thus have complete control over the blend.
That answer covers the North American situation, but does not seem to provide the brake controller that is needed for Europe (and possibly not for multiple unit trains as opposed to locomotive hauled trains).
Rather than mapping to the loco brake cylinder pressure could I suggest the addition of suitable brake controller tokens instead.
Looking at a British example (the Italian one is similar):
The braking system would be:
BrakesTrainBrakeType ( "EP" )
BrakesEngineControllers ( "Train, Blended" )
The controller for this has the following notches:
1 Release or Running
2 Holding
3 Regeneration 1
4 Regeneration 2 and EP
5 Lap Air
6 Service Air
7 Emergency
This is similar to the controller I would use for the Westinghouse Type A electro-pneumatic brake that is
Brake_Train ( 0 1 0.05 0.1
NumNotches ( 6
Notch ( 0 0 TrainBrakesControllerReleaseStart )
Notch ( 0.1 0 TrainBrakesControllerEPHoldStart )
Notch ( 0.2 0 TrainBrakesControllerEPFullServiceStart )
Notch ( 0.7 0 TrainBrakesControllerHoldStart )
Notch ( 0.8 0 TrainBrakesControllerFullServiceStart )
Notch ( 0.9 0 TrainBrakesControllerEmergencyStart )))
You can see compared to the real thing it has one missing step. What is needed would be something like
Brake_Train ( 0 1 0.05 0.1NumNotches ( 7
Notch ( 0 0 TrainBrakesControllerReleaseStart )
Notch ( 0.1 0 TrainBrakesControllerEPHoldStart )
Notch ( 0.2 0 TrainBrakesControllerDynamicFirstServiceStart )
Notch ( 0.3 0 TrainBrakesControllerEPFullServiceStart )
Notch ( 0.7 0 TrainBrakesControllerHoldStart )
Notch ( 0.8 0 TrainBrakesControllerFullServiceStart )
Notch ( 0.9 0 TrainBrakesControllerEmergencyStart )))
Now in this case as the dynamic brake is applied when brake cylinder pressure is zero then I do not see how you would control this using brake cylinder pressure.
On the other hand you probably could simulate the North American version by adding an appropriate brake token something like
Brake_Train ( 0 1 0.05 0.2 NumNotches ( 5
Notch ( 0 0 TrainBrakesControllerFullQuickReleaseStart )
Notch ( 0.1 0 TrainBrakesControllerReleaseStart )
Notch ( 0.2 0 TrainBrakesControllerAirFirstServiceStart )
Notch ( 0.3 1 TrainBrakesControllerContinousServiceStart )
Notch ( 0.9 0 TrainBrakesControllerEmergencyStart )))