Steam Locomotive Additional Features
#81
Posted 09 July 2023 - 06:49 PM
I will attempt a rebuild of the PR and reintroduce it when I have some time.
#82
Posted 10 July 2023 - 09:34 PM
Traindude, on 08 July 2023 - 06:15 PM, said:
An excellent paper. The ideas for including lights, special effects and freight anims with the different sections are essential. (Some might also apply to some old time articulated diesel and electric locos!)
I hope the coders find a way to make these work.
Interestingly up until now we have only been allowed one ORTSFreightAnims ( ) block in one eng file - the possibility of more than one block might allow separation of things that belong to a loco (change in mass etc) from things that can change (removable lamps).
#83
Posted 12 July 2023 - 08:29 PM
darwins, on 10 July 2023 - 09:34 PM, said:
I hope the coders find a way to make these work.
Interestingly up until now we have only been allowed one ORTSFreightAnims ( ) block in one eng file - the possibility of more than one block might allow separation of things that belong to a loco (change in mass etc) from things that can change (removable lamps).
Thank you darwins! You're right, there are articulated diesel and electric locomotives that have a combination of driving and idler wheels (before "power trucks" became a thing--the Milwaukee Road's old Boxcab locomotives on the electrified sections of the Pacific Extension come to mind).
I think once we get it working for steam locomotives, then the articulation parameters can be easily adapted to diesel and electric locomotives as well. Cesarbl's recent discussion on grouping wheels for independent wheelslip (see page 7 of the thread) seems to be a step in the right direction. I'm still unsure as to whether the lights, FX, and freight animation information should stay where they currently are within an *.eng file or be included in the ORTSSteamEngines groupings. I'm hoping the coders can use my proposal as a jumping-off point, though...
#84
Posted 13 July 2023 - 12:41 PM
It sounds nice, but every new feature or redesign of systems has to be implemented in such a way it won't require rewriting the thousands of existing .engs and .wags we have in our collections.
#85
Posted 13 July 2023 - 11:59 PM
Jonatan, on 13 July 2023 - 12:41 PM, said:
It sounds nice, but every new feature or redesign of systems has to be implemented in such a way it won't require rewriting the thousands of existing .engs and .wags we have in our collections.
FYI, darwins and I were talking about my proposal for adding new parameters to add articulation to the whole "multiple engines on one locomotive" concept--so no more two-plus-piece models for one locomotive! (See page 8 of this thread for a *.pdf download of my proposal.)
Believe me, I agree that the addition of new features does have the inconvenience of having to edit and re-edit all of our *.eng and *.wag files, but if we're moving toward more realism and doing away with the constraints of MSTS, it's well worth the effort in the long run!
#86
Posted 02 December 2023 - 04:28 PM
steamer_ctn, on 09 July 2023 - 06:49 PM, said:
I will attempt a rebuild of the PR and reintroduce it when I have some time.
I have now attempted to re-introduce this feature into the latest Unstable version. It should appear shortly.
There has been significant changes to the code, so if you identify any steam locomotive features that used to work, and now don't please let me know. If you can reference any issues against a CTN locomotive, this will enable me to experience the same issue that you are reporting.
Thanks
#87
Posted 22 April 2024 - 09:38 AM
I'm trying to apply the characteristics of Peter's PRR_T1_6111 steam locomotive with the correct proportioning to a simple small locomotive.
I got stuck at the Weight ( ) line. My question is what mass is this.
1. The mass of a railway bicycle (ie an axle with two wheels pressed on it)?
2 The mass of a railway bicycle (i.e. an axle with two wheels pressed onto it), plus the corresponding part of the mass of the connecting rod (RODxA, RODxD)? To me, this seems the most logical because the NumberWheelsetAxles ( ) line is below it, and only a simple multiplication is required.
3. The total mass of the elements listed in the AnimatedParts ( ) line?
Current code:
ORTSAdhesion ( Wheelset ( ORTSCurtius_Kniffler ( 7.5 44 0.17 0.7 ) Axle ( ORTSInertia ( 2342 ) ORTSRadius ( 0.375m ) AnimatedParts ( "WHEELS1, WHEELS2, WHEELS3, Rod01, Rod02, Rod11, Rod12, Rod21, Rod22, WHEELS4" ) NumberWheelsetAxles ( 4 ) Weight ( Xkg ) ) ) )
Does OR recognize metric units (kilograms or tons) in this line?
Sincerely, Laci1959
#88
Posted 22 April 2024 - 10:29 AM
#89
Posted 22 April 2024 - 11:05 AM
darwins, on 22 April 2024 - 10:29 AM, said:
https://kephost.net/p/MTE5NTc5Ng.png
Just to make sure. Are the parts marked in the picture?
IF the wheel is solid, then its total mass?
#90
Posted 22 April 2024 - 11:24 AM
ORTSAdhesion ( Wheelset ( Axle ( Weight ( Xkg ) )
Just use ORTSDriveWheelWeight ( x ) in the eng section.
#91
Posted 22 April 2024 - 11:45 AM
darwins, on 22 April 2024 - 11:24 AM, said:
That's for sure?
Then the devil took it away. It's a waste.
It would have been good because the rotation of the two front wheels is unrealistic when slipping. I thought this was a solution to a ten-year-old problem.
#92
Posted 22 April 2024 - 11:46 AM
For this loco with only one engine 22.0 + 22.0 + 22.0 = 66.0 so we use
ORTSDriveWheelWeight ( 66.0t-uk )
https://i.imgur.com/Tj06T98.jpeg
For this loco for the front engine 20.0 + 20.0 + 19.95 = 59.95 and for the rear engine 20.65 + 21.0 + 21.0 = 62.65 so we use
ORTSAdhesion ( Wheelset ( Axle ( Weight ( 59.95t-uk ) ) Axle ( Weight ( 62.65t-uk ) ) ) )
#93
Posted 29 April 2024 - 01:36 AM
Here's what the exhaust pattern for a two- or four-cylinder (non-articulated/non-duplex) locomotive looks like...:

NOTE: The numbers on the driving wheel are to help people locate the crankpin positions by imagining the face of the wheel as a clock face. Sometimes it's more helpful than "Forward Dead Center", "Top Quarter", etc.
It could be possible to map the exhaust emissions and sound to the crankpins if the shape file's animation keyframes on which each crankpin hits a "dead center" is known. (For pre-existing models, you may have to uncompress the shape file to find this information.) Here's how it can potentially be coded into an *.eng file (two-cylinder with 16 driving wheel keyframes assumed):
ORTSWheelCrankAngleDifference ( 0deg 90deg ) ORTSWheelCrankDeadCenterKeyFrames( Comment ( *** Left Cylinder *** ) Cylinder1 ( Forward ( 0 ) Back ( 8 ) ) Comment ( *** Right Cylinder *** ) Cylinder2 ( Forward ( 4 ) Back ( 12 ) ) )
Here's what a four-cylinder locomotive (GWR Castle, Balanced Compound, etc.) would be coded (again, assuming there are 16 driving wheel keyframes total):
ORTSWheelCrankAngleDifference ( 0deg 180deg 270deg 90deg ) ORTSWheelCrankDeadCenterKeyFrames( Comment ( *** Left Outer Cylinder *** ) Cylinder1 ( Forward ( 0 ) Back ( 8 ) ) Comment ( *** Left Inner Cylinder *** ) Cylinder2 ( Forward ( 8 ) Back ( 0 ) ) Comment ( *** Right Inner Cylinder *** ) Cylinder3 ( Forward ( 12 ) Back ( 4 ) ) Comment ( *** Right Outer Cylinder *** ) Cylinder4 ( Forward ( 4 ) Back ( 12 ) ) )
For 3-cylinder locomotives (Flying Scotsman, Union Pacific 9000), the exhaust pattern would look like this:

Even though there are 6 puffs/chuffs per driving wheel rotation, the driving wheel animation is still divided into 8 or 16 keyframes. Since 4 is not divisible by 3, it becomes necessary to specify non-integer values for the dead center keyframes (again, 16 keyframes assumed):
ORTSWheelCrankAngleDifference ( 0deg 120deg 240deg ) ORTSWheelCrankDeadCenterKeyFrames( Comment ( *** Left Cylinder *** ) Cylinder1 ( Forward ( 0 ) Back ( 8 ) ) Comment ( *** Center Cylinder *** ) Cylinder2 ( Forward ( 2.667 ) Back ( 10.667 ) ) Comment ( *** Right Cylinder *** ) Cylinder3 ( Forward ( 5.33 ) Back ( 13.33 ) ) )
In the case of articulated (Big Boy, Challenger, etc.) or divided-drive (PRR T1, Q2, etc.) locomotives, these parameters would fall within each ORTSSteamEngines grouping (one-piece model with 16 keyframes assumed):
ORTSSteamEngines ( 2 Steam ( Comment ( Front Steam Engine ) NumCylinders ( 2 ) CylinderStroke ( 32.0in ) CylinderDiameter ( 23.0in ) AttachedAxle( 0 ) ExcessRodBalance ( 100lb ) ORTSWheelCrankAngleDifference ( 0deg 90deg ) ORTSWheelCrankDeadCenterKeyFrames( Comment ( *** Left Cylinder *** ) Cylinder1 ( Forward ( 0 ) Back ( 8 ) ) Comment ( *** Right Cylinder *** ) Cylinder2 ( Forward ( 4 ) Back ( 12 ) ) ) ) Steam ( Comment ( Rear Steam Engine ) NumCylinders ( 2 ) CylinderStroke ( 32.0in ) CylinderDiameter ( 23.0in ) AttachedAxle( 1 ) ExcessRodBalance ( 100lb ) ORTSWheelCrankAngleDifference ( 0deg 90deg ) ORTSWheelCrankDeadCenterKeyFrames( Comment ( *** Left Cylinder *** ) Cylinder1 ( Forward ( 0 ) Back ( 8 ) ) Comment ( *** Right Cylinder *** ) Cylinder2 ( Forward ( 4 ) Back ( 12 ) ) ) ) )
For geared locomotives (Heisler, Shay, Climax), the gear reduction complicates the calculation of the dead centers, as these dead centers would be located relative to the crankshaft instead of the wheels, even though the wheels are animated "conventionally."
#94
Posted 24 May 2024 - 06:58 PM
However, this can be compared to Open Rails, which is still using the old MSTS-level understanding (one of many many things MSTS got wrong that leeched into the 'common sense' of simmers despite being utterly wrong) of the throttle that the throttle directly sets the chest pressure instantly. It would be interesting for OR to simulate the more accurate, but more challenging, behavior. This would require some estimation though (how much steam flow does the throttle allow? what's the effective volume of the steam chest? if the locomotive is superheated, is the throttle before or after the superheater?) as I doubt every detail of the throttle response is well documented. Still, I'd like to see it done.
#95
Posted 24 May 2024 - 07:36 PM
pschlik, on 24 May 2024 - 06:58 PM, said:
However, this can be compared to Open Rails, which is still using the old MSTS-level understanding (one of many many things MSTS got wrong that leeched into the 'common sense' of simmers despite being utterly wrong) of the throttle that the throttle directly sets the chest pressure instantly. It would be interesting for OR to simulate the more accurate, but more challenging, behavior. This would require some estimation though (how much steam flow does the throttle allow? what's the effective volume of the steam chest? if the locomotive is superheated, is the throttle before or after the superheater?) as I doubt every detail of the throttle response is well documented. Still, I'd like to see it done.
I totally agree, and I've previously discussed this possibility of adding throttle response lag a few years ago.
Also, keep in mind that in the case of compound locomotives, any changes made to the throttle settings won't be reflected at the low-pressure cylinders until the driving wheels turn far enough to let the high-pressure cylinders exhaust some.