Cylinder steam usage.
#1
Posted 05 September 2013 - 03:57 AM
In the SteamLocomotive.cs there is a line dealing with steam usage
SteamUsageFactor = 2 * NumCylinders * 3.281f * CylinderDiameterM / 2 * 3.281f * CylinderDiameterM / 2 * 3.281f * CylinderStrokeM / (2 * DriverWheelRadiusM)
This to me looks like a cylinder volume calculation modified by the addition of the DriverWheelRadius which should therefore give the correct amount of steam used per cylinder stroke or wheel revolution but it does not in any way shape or form.
Out if this arise two questions. First, what is the 3.281f that is used three times. Second, I have probably missed it, but where in the file is the usage factor modified by the cut-off setting.
#2
Posted 05 September 2013 - 10:25 AM
#3
Posted 05 September 2013 - 10:36 AM
copperpen, on 05 September 2013 - 03:57 AM, said:
Before we poke around under the bonnet, how about having a scenario where we can test performance? For example:
That would give us something to aim for.
Please choose one of the default routes and an easy-to-obtain loco. How about the GWR Hall, since we have real-life data for that already?
#4
Posted 05 September 2013 - 12:47 PM
cjakeman, on 05 September 2013 - 10:36 AM, said:
That would give us something to aim for.
Please choose one of the default routes and an easy-to-obtain loco. How about the GWR Hall, since we have real-life data for that already?
The problem with the default routes is that none of them are accurately modelled with regard to grades. No need to worry about an activity. Explore route will do as the requirement is to match real life performance.
There is a route with known grades that do match the real world, but it is a US route, Crawford Hill. There is a train forces calculator made by Al Krug, a BNSF driver which produces accurate data for haulage capacity given the weight and HP of the locomotive and the weight and number of cars in the train. Just add the grade and it will give you the projected speed. It was made for diesels, but does a reasonably good job with steam as well.
Lastly, until the cylinder steam usage is sorted out, it is not possible to do performance testing because the usage figure at any control setting that gives power is too high. It outstrips the generation figure by a healthy margin and then you start to lose boiler pressure.
On another note, I added the correct evaporative surface figure to the Scotsman file and it almost doubled the starting steam generated figure.
#5
Posted 05 September 2013 - 01:25 PM
copperpen, on 05 September 2013 - 12:47 PM, said:
Perhaps I am asking for too much.
OK. Let's concentrate on the loco. For which loco do we already know the real-life steam usage and under what conditions was it measured?
#6
Posted 05 September 2013 - 01:38 PM
copperpen, on 05 September 2013 - 03:57 AM, said:
In the SteamLocomotive.cs there is a line dealing with steam usage
SteamUsageFactor = 2 * NumCylinders * 3.281f * CylinderDiameterM / 2 * 3.281f * CylinderDiameterM / 2 * 3.281f * CylinderStrokeM / (2 * DriverWheelRadiusM)
This to me looks like a cylinder volume calculation modified by the addition of the DriverWheelRadius which should therefore give the correct amount of steam used per cylinder stroke or wheel revolution but it does not in any way shape or form.
Out if this arise two questions. First, what is the 3.281f that is used three times. Second, I have probably missed it, but where in the file is the usage factor modified by the cut-off setting.
You only have half the calculation there the other half is at Line 588.....
SteamUsageLBpS = .6f * SteamUsageLBpS + .4f * speed * SteamUsageFactor * (cutoff + .07f) * (CylinderSteamDensity[CylinderPressurePSI] - CylinderSteamDensity[BackPressurePSI]);
The constants .6f and .4f are part of a smoothing function and are likley to have no real effect other than to delay any change.
As far as I can see the steamconsumption issue currently with OR is caused by the effect of the pressuredrop in the steam piping is included with the ForceFactor2 table this is causing the code to calculate the steam consumption incorrectly as although caculation actually correctly uses CylinderPressurePSI as its input but the steam piping pressure drop is included in the ForceFactor2 calculations. So the steam consumption calculations are effectively using the boiler pressure so the consumption is way to high. The data included in the my ForceFactor2 and CylinderPressureDrop code portion in the other thread should correct this issue.
Someone may wish to give this data a try, it will not blow up the world, burn down your house or make the dog start barking all night :)
Lindsay
#7
Posted 05 September 2013 - 01:44 PM
cjakeman, on 05 September 2013 - 01:25 PM, said:
OK. Let's concentrate on the loco. For which loco do we already know the real-life steam usage and under what conditions was it measured?
Peter (Steamer_ctn) has a test route on his Coals to Newcastle web site specificly for testing OR/MSTS loco performance see
http://www.coalstone...u/physics/test/
Lindsay
#8
Posted 05 September 2013 - 03:30 PM
Lindsayts, on 05 September 2013 - 01:44 PM, said:
http://www.coalstone...u/physics/test/
Lindsay
I have installed this route and will run and document any tests required.
David
#9
Posted 06 September 2013 - 01:55 AM
I have taken your code from post #9 in http://www.elvastowe...got-it-figured/ and tried it. Sorry to say, it does nothing for reducing cylinder steam consumption and the changes to force factor 2 cause a big increase in the settings required to start moving.
With the current OR code using the Flying Scotsman on the default S&C at Carlisle, the train will start rolling with 50% cut-off and 30% throttle. With your adjusted code these are 50% cut-off and 50% throttle. In both cases the control settings have to be reduced quite fast in order to keep cylinder steam usage below steam generated.
#10
Posted 06 September 2013 - 02:09 AM
cjakeman, on 05 September 2013 - 01:25 PM, said:
I do not think that right now it is a question of what real life steam usage is/was. There were times when a steam locomotive boiler was really pushed beyond the steam generating capacity in order to keep the train moving. The simple fact right now is that the current code causes the cylinder usage figure to outstrip generation by a good margin when using higher cut-off settings at any speed, slow to fast. High cut-off settings are definitely needed when starting off in order to get through the initial acceleration phase, with cut-off being reduced as speed increases in order to be more economical with steam and coal.
MSTS does in fact use the cylinder volume in the eng file, and if this is too large MSTS does exactly the same as OR is now doing.
The code as it is now forces the reduction of both throttle and cut-off within seconds of the locomotive starting. Reducing the cut-off at such an early stage, also has an adverse effect on the steam generated figure, because the blast or draught factor is also affected, thus you get a low generation figure. This is definitely not a real world situation.