HowTo/Tune a Steam Locomotive Enginespec
This HowTo guide shows an approach to tuning a steam loco enginespec for prototypical performance. It explains where some of the config tags come from, what real world data to use, and what values to tune. It isn't an exhaustive reference manual for every tag (you will find that at KIND_Steam-engine and Steam_container), and it doesn't cover every possible loco type.
A steam loco is a complicated beast, and it's also an enormously long feedback loop. Most things in a steam loco enginespec have at least two effects - they affect the way something transfers from A to B, so they will affect both A and B. That, coupled with the feedback loop effects, can make a small change have big ramifications, and make tuning a challenge.
Not all the relevant data for steam locos is available.
Easy to find:
- The number of cylinders
- The cylinder diameter and stroke in inches
- The operating pressure
- The firebox grate area
- The boiler diameter
- The superheater type (if fitted)
- The coal type in use in the area the loco operated
- A basic diagram for the loco, showing where the tube-plates are
- Weight on axles by either individual axle or groups of axles
A little challenging to find, but often available if you look hard enough:
- The firebox heating surface area
- The full heating surface area including the tubes
- The superheater surface area
For notable locos, or if you happen to get lucky:
- An account detailing the performance of the loco. Best is a dynamometer run, but a footplate account (or even a collection of anecdotes from drivers) also works.
What you are highly unlikely to have, but turns out to be vital information:
- Boiler volume
- Steam chest volume
- Clearance volume
- Max flow rates between boiler and steam chest
Plumb in the numbers you know. Some maths is required, as what we ask for in the config file is generally never in the units you've found, and we ask for areas and volumes where you will find diameters and lengths.
Number and arrangement of Cylinders
Normally 2, sometimes 3 or 4. Very occasionally something else.
Unless you are doing something very very strange, this will be 2.
The angles of each piston on the wheel. This allows you to tweak the quartering, which is important for 3 and 4 cylinder locos. Specified in radians around the wheel. For two cylinders, 0.0174, 1.5254 is the standard value.
Cylinder diameter and stroke
Convert diameter to metric (meters). Convert to Radius: Divide by two. Calculate area: Square, and then multiply by Pi.
- piston-volume-min and piston-volume-max:
Convert the piston stroke to metric (meters). Multiply that by the piston-area tag value. This value you have calculated is the *difference* between the two tags. Unless you happen to know the clearance volume (and if you do, you are very lucky) then it's rule of thumb time. Divide that value you just calculated by 10, put that in 'piston-volume-min'. Add the original value to the min value, and put that in 'piston-volume-max'. This gives you a clearance volume of 10%, which is a good starting point for later tweaking. Most front end tuning is done with the clearance volume.
Steam path to Cylinders
Estimate of piston-volume-max times number-pistons unless you have actual data
Rate of steam from boiler to steam chest when working hard. Start with 200 for a decent size pacific, go up for bigger locos, down for smaller locos.
The temperature difference (technically in kelvin, but as it's a difference, celsius is identical) between saturated and superheated steam. A typical guess so far has been 100 for most superheated locos. If the loco is noted as having a weak superheater, reduce this. If it's noted for having a particularly good superheater, increase this. If it's a saturated loco (no superheat), then use zero.
Important for the simulation, but apparently never specified anywhere, so we pretty much always have to estimate this. Take the diameter of boiler, convert it to metres. Calculate the area (divide by two, square, multiply by pi). Multiply this by the length of the boiler between the smokebox tube plate and a point about halfway down the firebox. It's not dead accurate (there are tubes which should be subtracted, the firebox water jacket which should be added, and so on, and we're estimating that the space above the firebox is equal to the part the firebox occupies in the lower part of that section), but it's close enough.
operating pressure of loco plus 15psi, converted to kPa. (15psi is the difference between relative and absolute pressure)
operating pressure of loco plus 20psi, converted to kPa
In square metres. If you have it, great. If not, estimate it: Get the firebox height from the cross section, multiply by the grate length. Add the height times the grate width. Multiply by two. Add the grate area -- this is an estimate for the top of the firebox. Subtract the area used by the firebox door and stoker (if fitted). If you don't know how much they use, guess. It's probably about half a square metre for the door, maybe the same for the stoker. Compared to the rest of the firebox, you won't go all that much wrong.
Look it up on the internet for the coal type you are firing. Bituminous coal varies, and anthracite is different again.
The firebox grate area (you'll have found this in sq feet), divided by two (for an average six inch firebed depth, now in cubic feet), multiplied by the "lump coal" density for the coal type you are running on (google it). Convert to metric (kilograms) and plug the answer in.
Completely unimportant. Double the above value as a rule of thumb. In the logical sense, it's the amount of coal you could put in the firebox before either you can't put any more in, or it starts falling out of it's own accord.
Other important stuff
- speed, cutoff and burn-rate
From the dynamometer run or footplate experience. "Working the loco as hard as we could, we climbed the hill at 20mph with the cutoff on 35%. It took us 30 minutes to climb the hill, and we burned through 3 tons of coal doing it". (note: those may not be sensible numbers). Convert speed to metres per second, the cutoff percentage to a range between 1 and 0, and the burn rate to kg/sec.
Weight on drivers divided by weight of loco (not including tender). Should be a value between 0 and 1. 1 would be used for a loco with every axle driven.
If you don't have source information, scale the number from another loco in a logical way. The Blue Comet is a fairly middle of the road pacific, so would be a good starting point.
Tuning the front end
Now we test the loco. Place it, with a typical weight consist, in front of some typical terrain. Ideally we'd like some flattish ground, a gentle hill, and a steep hill. "gentle" and "steep" are relative to what the loco operated on in real life, so if the ruling grade on the route the loco ran on in service was 1.5%, then 1.5% is "steep", and maybe half that is "gentle".
We are testing the front end first, so we're looking to do short duration tests with full boiler pressure. Maintain this by any means necessary right now - abuse the blower if you have to, we'll fix that later. Try to drive with the regulator wide open, and control the cutoff as you'd expect for the speed of the train.
If the loco pulls the load too easily, i.e. at too low a regulator / cutoff setting, then:
- For small amounts of "overpowered", you could have too much superheat.
- For large amounts of "overpowered", you don't have enough clearance volume in the cylinders. Re-calculate the piston-volume tags using a bigger percentage for piston-volume-min. (You may also want to reduce the superheater constant too).
- For stupid amounts of "overpowered", then re-check your calculations for the piston area and volumes, and if that all looks good, go back to the clearance volume step.
If the loco struggles to pull the load, then:
- If the boiler pressure is fine, but the steam chest pressure is low (and you are reducing cutoff appropriately!), you don't have enough steam-chest-max-flow. Increase it.
- If the steam chest pressure is fine, and you are lacking a small amount of power (i.e. it's close, but not quite there), then try increasing the superheater constant.
- If the steam chest pressure is fine, but the loco feels significantly lacking in power, then you have too much clearance volume. Re-calculate the piston-volume tags using a slightly smaller percentage for the piston-volume-min.
Small changes to the clearance volume make a HUGE difference to the performance of a loco.
Also, check your maths again on the cylinder volumes. It's very easy to get wrong.
- Also test the loco response to the regulator. If it seems very "on-off" and isn't progressive enough, then reduce the steam-chest-max-flow.
Repeat these tests (note, you must DELETE AND RE-PLACE the loco in surveyor to test properly each time) until the train moves as you would expect.
Tuning the boiler and firebox
Now we have the front end behaving as expected, let's set up the firebox and boiler to raise the correct amount of steam.
Note: Most locomotives are front end limited - i.e. we expect to have the boiler maintain pressure at a stable level while working the loco as hard as we can. The alternative is to be grate limited. I'm going to assume the former, as it is a lot more common, a lot easier to drive, and also easier to set up for. If you have a loco known for the latter, then you should aim for a little less steam raising potential than the front end can use.
Maintaining a stable boiler pressure has two aspects to it -- the steam removed by the front end (which is believed good from the last step) and the steam-raising potential of the fire, which we will now work on.
The starting point here is the test parameters - max-burn-rate, speed, and cutoff.
max-burn-rate sets the coal consumption when working hard. It also controls the amount of energy released, but set it for the former, not the latter. Speed and cutoff define what "working hard" means. Set this to a combination that (along with a steam chest at full pressure) would be considered "working hard". If you've got data for these, great. If not, use an estimate, and we'll come back to tune them later.
Once the test parameters are set, we tune the efficiency values so we raise steam appropriately at those settings.
The firebox efficiency tells us how much of the heat of the firebox goes into the boiler (whether directly against the firebox walls, or into the tubes), versus how much is lost (i.e. to the track underneath, into the cab, etc). Probably best to leave this one alone for now.
Boiler efficiency tells us how much of the heat that gets to the boiler is actually taken in - versus how much runs straight through the tubes and out the chimney. There are three values. boiler-efficiency-idle for a stationary loco with no drafting - blower off, regulator closed. This should be the highest efficiency value. boiler-efficiency provides a midpoint, when the loco is being driven around at low speed, or has the blower in use. boiler-efficiency-min is when working the loco hard, with lots of draft to the fire. In this case, more heat is getting to the end of the boiler tubes without being absorbed, so it is the least efficient setting. All should be within the range 0..1, where 0 is totally inefficient (all heat is wasted) and 1 is totally efficient (no heat is wasted).
If the pressure is running up out of control beyond the safety valves, reduce the efficiency of the corresponding tag. If it's dropping too fast, increase the efficiency of the corresponding tag. For example, if you can't maintain pressure when driving hard, increase the boiler-efficiency-min setting a bit. If it's blowing off too much when idle, decrease the boiler-efficiency-idle tag.
Now test the blower. There are two settings for this - the draft it creates (blower-effect) and the amount of steam the blower uses (blower-max-flow). The blower-effect is a range of 0..1, and is the proportion of max draft (i.e. for running hard) that the blower will create. If you can't build pressure from a low boiler pressure, your blower-max-flow is probably too high. If it builds too easily from low levels, blower-max-flow is too low. If it will defeat the safety valves at high pressure, then the blower-effect is too high. If it won't maintain a high pressure, you probably need a higher blower-effect.
You may also wish to tweak the boiler-heat-loss tag. This applies a cooling effect on the boiler from ambient heat loss through the cladding.
We will need to start doing longer runs to see the effects of this. Five minutes as a minimum, expect to be doing at least 20 minute test runs.
Repeat these tests (again, delete and re-place the loco each time) until you get the boiler characteristics you would expect.
At this point it should all be coming together performance wise, and you can now start to test for resource usage. This requires really long runs - you'll probably be running for an hour at least. I hope you like driving :-)
If the water consumption is too low, you are being too efficient with your steam at the front end. Start by increasing the clearance volume. This will make the front end less powerful, and you'll need to drive the loco harder to compensate. You may also need to increase your steam-chest-max-flow and cutoff settings to enable you to do so. You might also need to increase your boiler efficiency (particularly the 'min' setting) so you raise more steam, and stop the coal consumption rising also.
If the coal consumption is too low, you are being too efficient with your heating. Add more burn rate, but reduce firebox efficiency and/or boiler efficiency to compensate so you don't raise more steam, and push the pressure too high.