Elvas Tower: Refining Steam Locomotive Code - Elvas Tower

Jump to content

Posting Rules

All new threads will be started by members of the Open Rails team, Staff, and/or Admins. Existing threads started in other forums may get moved here when it makes sense to do so.

Once a thread is started any member may post replies to it.
  • 2 Pages +
  • 1
  • 2
  • You cannot start a new topic
  • You cannot reply to this topic

Refining Steam Locomotive Code Rate Topic: -----

#11 User is offline   Lindsayts 

  • Superintendant
  • Group: Posts: Elite Member
  • Posts: 1,849
  • Joined: 25-November 11
  • Gender:Male
  • Country:

Posted 25 May 2017 - 01:15 AM

View Poststeamer_ctn, on 23 May 2017 - 12:20 AM, said:

As part of the OR code modifications for the steam model I have now included a default set of cylinder events. The events are the points on the cylinders movement where the various valves open or close as part of the steam cycle.

Typically the events are as follows: Admission, Cutoff, Exhaust and Compression. These events typically change for different cutoff values, and valve gear type, such as Allen , Stephenson, etc.

In OR these are used to more accurately model the steam indicator diagram to calculate Tractive Effort, and steam usage.

I am wondering if there is any interest in "exposing" these parameters so that ENG files could be customised by advanced users with these events, and thus allow for the inclusion of different valve gear. The calculation of these event positions is not a trivial exercise and would require some effort to do so.

So I have two questions:

i) Who is interested in exploring the ability of adding the steam cylinder events for different valve gear?

ii) How would you go about calculating them?

Thanks


How are these events being used currently.

What I have done in the past to model pressure behaviour in a cylinder is to define say 100 points within the stroke (Note 1) and calculate the pressure for each point, taking into account volume change, heat loss etc then calculate an overall BMEP figure using the RMS formula. This works very well but it DOES take a far bit of steam, almost certainly to much for such a real time sim as OR. A problem one runs into when one gets down to this level of detail is to account for the detail effects of gas flow. A better way to handle different valve gears would be by being able to assign a "figure of merit" to allow one to easily get the effect of widely different valve gears.

Note 1: I found one needed a good number of points otherwise the valve events had to little impact on the BMEP.

Lindsay

#12 User is offline   Jean-Paul 

  • Fireman
  • Group: Status: First Class
  • Posts: 178
  • Joined: 28-October 14
  • Gender:Male
  • Simulator:Open Rails
  • Country:

Posted 25 May 2017 - 07:36 AM

View PostLindsayts, on 25 May 2017 - 01:15 AM, said:

How are these events being used currently.

What I have done in the past to model pressure behaviour in a cylinder is to define say 100 points within the stroke (Note 1) and calculate the pressure for each point, taking into account volume change, heat loss etc then calculate an overall BMEP figure using the RMS formula. This works very well but it DOES take a far bit of steam, almost certainly to much for such a real time sim as OR. A problem one runs into when one gets down to this level of detail is to account for the detail effects of gas flow. A better way to handle different valve gears would be by being able to assign a "figure of merit" to allow one to easily get the effect of widely different valve gears.

Note 1: I found one needed a good number of points otherwise the valve events had to little impact on the BMEP.

Lindsay


Hello,
Just a quick remark concerning about overheating temperature. It is very interesting to have ability to fix "ORTSMaxSuperheatTemperature", considering that a very hot overheated steam temperature minimizes condensation in cylinders and pipes, and by this way counterpressure.
But, concerning limits, let's remember that in modern steam engines, this temperature could reach 400°C (around 750°F), and was usually around 320-350°C (resp. 608-662°F). It may seem to be very high, but let's remember that temperature of saturated steam under 300psi is approximately 213°C (416°F). So, an overheating system functioning at this pressure is hotter than 416°F (below this value, it's a... :rolleyes: condenser/refresher, not an overheater.. :freezing: !!! And a "strong" overheating must be widely hotter (600°F seems to be a reasonable value, knowing that the hotter is the steam, the easier are the refreshing exchanges in steam circuit). Of course, there were limitations to overheating : main problem was lubrication of cylinders by oils - difficult to find a lubricant supporting easily a long use at 600°F. That's why, after a period, before WWII where tendancies were to increase the size, and supposed efficiency of superheaters (some had an area almost the half of boiler evaporating area !!), after WWII, tendancy was more reasonable with often a relative reduction of overheating area. Even if, for instance in Germany, most of the improvements of Wagner steam engines used still very large superheaters (explanation is simple : poor study of steam circuit in these engines led to important condensations... It would have been more interesting to modify cylinders, regulator design and pipes, but... not in "German style" of unification... :rolleyes: )
So, if this can help to define new physics, I would be very happy ! :)
Cheers !
Jean-Paul

#13 User is offline   Jean-Paul 

  • Fireman
  • Group: Status: First Class
  • Posts: 178
  • Joined: 28-October 14
  • Gender:Male
  • Simulator:Open Rails
  • Country:

Posted 26 May 2017 - 12:58 AM

Just made a little trial, with a steam engine, concerning about MaxBoilerOutput and its effects on indicated power...
It's interesting !!!
With the same engine (a Southern Pacific 4-8-4 GS-2), fitted with realistic parameters (areas evaporation/overheating, graten and so one), I tried first with the "famous" ORTSBoilerEvaporationRate @ 15 lb/sqft. It gave me a max indicated power of 2879kW (3859hp), which was effectively hold easily up to the "infamous" CriticalSpeed (and CriticalSpeedTE), that OR fixed (by what calculation ????) at 125.2 kN @ 70.4 km/h, corresponding at 2454kW (3290hp). Exactly at this speed, power decreased instantaneously down to 2454kW, and never increased up this value. OK... I'm used to see this !
I must say that I never used maximal capacity of steam production of the boiler : limitation of power, I think, comes directly from heaven ! (I had 3859hp with only 47620 lb/h, i.e. around 2/3 of maximal capacity...)
In a second time, I modified ORTSBoilerEvaporationRate @ only 10 lb/sqft. What happened ??? I had strictly the same max IHP - 3859hp - and the same stupid limitation of 3290hp for higher speeds than 70.4 km/h. In both cases, I reached without any difficulties those two limitations.
I'm a player, so I decided to re-do those trials, but by adding a ORTSMaxIndicatedHorsepower @ 4500hp (which is approximately the real value..). So guess what happened, for both ORTSBoilerEvaporationRate (15, then 10lb/sqft) ? You're right, I'm sure !!! I could reach 4500hp before 70.4 km/h (with only 10 lb/sqft, I had to overpass the theoretical MaxCapacity - but it's possible with OR !!). Then, at 70.4 km/h, God's hand came directly from heaven and gave a vigourous push to my Niagara, because power decreased promptly at 3290hp...
I conclude that :
- Power is not related with boiler capacities : performances are the same if we reduce those capacities of 1/3. I think that railroad companies chairmen would have been very satisfied with these results !!!!
- By fixing ORTSMaxIndicatedHorsepower, it could be possible to develop 10.000hp (for a short instant...) with a Stephenson's boiler !!! At the opposite, with an industrial boiler of 500t/h, critical speed is able to limit power at values of the same Stephenson..!
Common sense seems to indicate that the simplest way to increase the power of a steam engine is to increase the size of its boiler.. Certainly, correlation is not linear, but in every case, positive !!!
Working around MEP, cylinders and exhaust characteristics is a very interesting challenge in which I would be happy to contribute. But, why not first, to begin by the beginning, and admit that with more steam, we have a reasonable hope to get more power...??? Today, it's not the case !
Must say that I have modified many steam engines'physics with MSTS. MSTS was very simple, sometimes (often..) crazy, and full with mistakes... But, at the end, this old game remained logical : the biggest was the boiler, the stronger was the engine. With pragmatism, and some competences in mathematics, it was always possible to get, at the end, power curves reasonably similar to the reality. I've never succeeded with OpenRails, and it's a pity !!
I modelized with MSTS french, german, british and american steam engines. All were "reasonable". With OR, it's impossible. American engines are a disaster, more than other, and precisely because of their huge boilers...
I hope we could improve this by working together ! :victory:
Cheers !
Jean-Paul

#14 User is offline   copperpen 

  • Executive Vice President
  • Group: Posts: Elite Member
  • Posts: 3,192
  • Joined: 08-August 05
  • Gender:Male
  • Simulator:MSTS & OR
  • Country:

Posted 26 May 2017 - 11:06 AM

The ORTSBoilerEvaporationRate can be used to adjust the steam rate of the boiler. This in itself has no direct bearing on IHP which is derived from the pressure and amount of steam used, and rises with speed. This is tied in to the critical speed with DBTE following the same curve. The problem is that currently OR does not take into consideration the improvements made in steam passages and valve events which both improve the engine efficiency and move the power curve drop further out along the speed range.

Given a high enough pressure, large enough cylinders and a heating surface/grate area combination of correct dimensions 10K IHP is always possible.

#15 User is offline   Jean-Paul 

  • Fireman
  • Group: Status: First Class
  • Posts: 178
  • Joined: 28-October 14
  • Gender:Male
  • Simulator:Open Rails
  • Country:

Posted 26 May 2017 - 02:37 PM

View Postcopperpen, on 26 May 2017 - 11:06 AM, said:

The ORTSBoilerEvaporationRate can be used to adjust the steam rate of the boiler. This in itself has no direct bearing on IHP which is derived from the pressure and amount of steam used, and rises with speed. This is tied in to the critical speed with DBTE following the same curve. The problem is that currently OR does not take into consideration the improvements made in steam passages and valve events which both improve the engine efficiency and move the power curve drop further out along the speed range.

Given a high enough pressure, large enough cylinders and a heating surface/grate area combination of correct dimensions 10K IHP is always possible.

OK... but, let's suppose I get a steam engine fitted with 5000sqft of evaporative area. If ORTSBoilerEvaporationRate is only 10 lbs/sqft, I could only produce 50,000 lbs/h of steam, vs. 75,000 lbs/h if ORTSBoilerEvap... is 15 lbs/sqft, no ?? And, if I admit that size of cylinders, wheel diameter, steam passages, etc... will do that max IHP will not be exactly 1.5 x increased, it seems highly probable it would be sensibly higher with a steam production of 75,000 lbs/h than with 50,000 lbs/h only... And I would add that if a boiler with the same characteristics (grate area, evaporative area and so one) is able to give 1.5 more steam than the reference, it's also probable that, for instance, exhaust and draft are more efficient, and that this higher efficiency could also be a favourable element for increasing global efficiency of the engine...
But I agree on the fact that calculation methods currently used in OR don't allow to take in account the elevation of the "critical speed", systematically too low with modern engines (for instance, in modern 4-8-4, max power was reached generally around 55-65 mph, to compare with OR values around 45 mph). It's the reason why exists this strange discontinuity when critical speed is overpassed : in fact, critical speed is only the speed at which IHP is maximized, and should not be a "breaking point" in power curves : only an extremum..
Interesting perspectives ! :I-Agree:
Cheers
Jean-Paul

#16 User is offline   copperpen 

  • Executive Vice President
  • Group: Posts: Elite Member
  • Posts: 3,192
  • Joined: 08-August 05
  • Gender:Male
  • Simulator:MSTS & OR
  • Country:

Posted 28 May 2017 - 02:56 AM

View PostLindsayts, on 25 May 2017 - 01:15 AM, said:

How are these events being used currently.

What I have done in the past to model pressure behaviour in a cylinder is to define say 100 points within the stroke (Note 1) and calculate the pressure for each point, taking into account volume change, heat loss etc then calculate an overall BMEP figure using the RMS formula. This works very well but it DOES take a far bit of steam, almost certainly to much for such a real time sim as OR. A problem one runs into when one gets down to this level of detail is to account for the detail effects of gas flow. A better way to handle different valve gears would be by being able to assign a "figure of merit" to allow one to easily get the effect of widely different valve gears.

Note 1: I found one needed a good number of points otherwise the valve events had to little impact on the BMEP.

Lindsay


I don't think we need to get into the types of valve drive gear, but there is definitely merit in exploring how to apply a factor for different valve types, slide, double beat slide, piston, double beat piston, and then we have poppet driven by conventional gear and driven by rotary cam with the pinnacle being the British Caprotti used on the preserved Duke of Gloucester which has longer exhaust opening at low speed/high cutoff and longer inlet opening at high speed/low cutoff. Each one of these improvements has the effect of driving the critical speed higher. It is this critical speed as currently applied in OR that is the "Achilles heel", not allowing a modern steam locomotive to develop its full potential at high speeds.

#17 User is offline   steamer_ctn 

  • Open Rails Developer
  • Group: Posts: Elite Member
  • Posts: 1,980
  • Joined: 24-June 11
  • Gender:Male
  • Country:

Posted 28 May 2017 - 02:02 PM

View PostJean-Paul, on 26 May 2017 - 12:58 AM, said:

I hope we could improve this by working together ! :victory:

If you are interested in providing some input to the current code refinement, research, and providing testing support, please let me know.

Thanks

#18 User is offline   Jean-Paul 

  • Fireman
  • Group: Status: First Class
  • Posts: 178
  • Joined: 28-October 14
  • Gender:Male
  • Simulator:Open Rails
  • Country:

Posted 28 May 2017 - 10:53 PM

View Poststeamer_ctn, on 28 May 2017 - 02:02 PM, said:

If you are interested in providing some input to the current code refinement, research, and providing testing support, please let me know.

Thanks

Hi Peter,
I sent you a PM
Jean-Paul

#19 User is offline   Genma Saotome 

  • Owner Emeritus and Admin
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • Group: ET Admin Group
  • Posts: 15,655
  • Joined: 11-January 04
  • Gender:Male
  • Location:United States
  • Simulator:Open Rails
  • Country:

Posted 04 June 2017 - 09:15 PM

There are numerous reports from the PRR locomotive testing plant available. Here is one. Same site has others. Very detailed.

#20 User is offline   steamer_ctn 

  • Open Rails Developer
  • Group: Posts: Elite Member
  • Posts: 1,980
  • Joined: 24-June 11
  • Gender:Male
  • Country:

Posted 05 June 2017 - 01:11 AM

View PostGenma Saotome, on 04 June 2017 - 09:15 PM, said:

There are numerous reports from the PRR locomotive testing plant available. Here is one. Same site has others. Very detailed.

Thanks for that.

I have seen all the PRR bulletins between 1 -31, which cover the period up to about 1930s. I also have seen the BR test report circa 1950s.

I was looking to see if there were any others.

Cheers

Peter

#21 User is offline   steamer_ctn 

  • Open Rails Developer
  • Group: Posts: Elite Member
  • Posts: 1,980
  • Joined: 24-June 11
  • Gender:Male
  • Country:

Posted 20 July 2017 - 10:17 PM

Progress Report

based upon feedback and testing from a team of testers, the steam code has been slowly refined over the last couple of months. Some additional parameters have been added to facilitate the definition of a wider range of locomotives.

Eventually some of this information will make it into the manual, but for the time being below is a heads up on some of the changes that have been done todate. This work is not completed yet so more changes are expected.

Performance Logging

To facilitate the testing it was necessary to record some of the key performance criteria of a steam locomotive at 5mph intervals, and then plot them onto a spreadsheet. This includes parameters like tractive effort, indicated horsepower, steam pressure, etc. This feature is now available to modelers who wish to compare their locomotives.

In brief to do this the following options need to be set in the OR menu:

i) Check the Logging box on the Open Rails Menu
ii) Open the Data Logger TAB of the Options menu, and select the following options only, Start logging with the simulation start and Log Steam performance data

The resulting values will be logged into a csv file called Dump.csv which can be found on your desktop. The dump file can then be opened in Excel (or Open Office) as a spreadsheet, with the contents being then pasted into a spreadsheet template that has been set up to graph the different parameters.

The test spreadsheet templates are available here - Open Rails Logging

New or Modified Advanced Parameters

Whilst a BASIC ENG file configuration will give a close resemblance to a real life model, it depends upon the locomotive conforming to "standard" ratios. However as locomotive testing over the years has demonstrated that this is not always the case. Thus it may be necessary to adjust some parameters to match the locomotives performance in OR against a published test report.

Some of the new or adjusted ADVANCED parameters added are as follows:

ORTSBoilerEvaporationRate ( x ) - can accept a value up to 30. This is to accommodate some more modern locomotives, such as the NYC Niagara, which could generate well over the standard ratio.

ORTSMaxIndicatedHorsepower ( x ) - this sets the max IHP. Max IHP typically is the lesser of the Cylinder HP or the potential Boiler power.

ORTSMaxSuperheatTemperature ( x ) - this is the maximum superheat temperature that the locomotive could achieve. This value impacts upon IHP and steam consumption.

ORTSSuperheatCutoffPressureFactor ( x ) - this adjusts the fall off in MEP as the locomotive increases speed.

For a full listing of the potential ADVANCED parameters refer to Advanced Parameters.

Test Models

In the interests of transparency, and to assist modellers in defining a locomotive, the test models used by the test team will progressively be published for comparison. These models have been tested against know test reports, and have been found to operate within an acceptable level of tolerance (nothing will ever be 100% perfect).

The first model to be tested and completed is the NYC Niagara, which in its time was the most powerful single expansion locomotive ever built.

To Do


One thing noted during testing was the difficulty sometimes for the AI fireman to maintain a reasonable boiler pressure. A drop in boiler pressure naturally reduces the power of the locomotive. The drop in boiler pressure is predominantly due to the fact that it doesn't know when the locomotive is approaching a stop, nor when it is starting again. Consequently the fireman keeps firing until the locomotive stops, which results in excessive boiler pressure, and doesn't start firing until the locomotive commences moving, thus the boiler pressure often drops significantly until the firing "catches" up.

The possibility of allowing the firing to started or stopped by the engineer, and overrriding the AI response by "start" and "stop" key commands is currently being investigated.

#22 User is offline   steamer_ctn 

  • Open Rails Developer
  • Group: Posts: Elite Member
  • Posts: 1,980
  • Joined: 24-June 11
  • Gender:Male
  • Country:

Posted 06 August 2017 - 06:52 PM

As has been indicated the AI Fireman is not very good at "looking ahead", and dropping the fire when approaching a station, or conversely building the fire up prior to departing a station.

To give the player a little bit more control over this, and to facilitate maintaining of pressure the following key controls have been added to the AI Fireman function:

Alt+H - AIFireOn - Forces the AI fireman to start building the fire up (increases boiler heat & pressure, etc) - typically used just before leaving a station to maintain pressure as steam consumption increases. This function will be turned off if AIFireOff, AIFireReset are triggered or if boiler pressure or BoilerHeat exceeds the boiler limit.

Ctrl+H - AIFireOff - Forces the AI fireman to stop adding to the fire (allows boiler heat to decrease as fire drops) - typically used approaching a station to allow the fire heat to decrease, and thus stopping boiler pressure from exceeding the maximum. This function will be turned off if AIFireOn, AIFireReset are triggered or if boiler pressure or BoilerHeat drops too low.

Ctrl+Alt+H - AIFireReset - turns off both of the above functions when desired.

If theses controls are not used, then the AI fireman operates in the same fashion as previously.

#23 User is offline   copperpen 

  • Executive Vice President
  • Group: Posts: Elite Member
  • Posts: 3,192
  • Joined: 08-August 05
  • Gender:Male
  • Simulator:MSTS & OR
  • Country:

Posted 26 January 2021 - 07:16 AM

These controls to turn the AI fireman on or off as required are a bonus for those of us who do not like the continuous shovelling of the standard autofireman, but do not want to add full control of the fireman to the drivers duties. There does seem to be a major flaw in how turning him off is operating. Once turned off coal continues to be taken from the tender and the feedrate is very slow to fall. Both of these should drop to zero when the fireman is deactivated. What are the boiler pressure or BoilerHeat levels that automatically trigger reactivation of the fireman?.

#24 User is offline   steamer_ctn 

  • Open Rails Developer
  • Group: Posts: Elite Member
  • Posts: 1,980
  • Joined: 24-June 11
  • Gender:Male
  • Country:

Posted 26 January 2021 - 09:26 PM

View Postcopperpen, on 26 January 2021 - 07:16 AM, said:

These controls to turn the AI fireman on or off as required are a bonus for those of us who do not like the continuous shovelling of the standard autofireman, but do not want to add full control of the fireman to the drivers duties. There does seem to be a major flaw in how turning him off is operating. Once turned off coal continues to be taken from the tender and the feedrate is very slow to fall. Both of these should drop to zero when the fireman is deactivated. What are the boiler pressure or BoilerHeat levels that automatically trigger reactivation of the fireman?.
Heat changes are never instantaneous, they will always take some time to come into effect. The main parameter to watch when the AI fireman is off, is the BurnRate, as long as this is decreasing it indicates that the fire is cooling, and that the Heat In value will also decrease.

Like a real fireman it is necessary to "look ahead" and try and work out the best times to turn the fireman on and off.

#25 User is offline   copperpen 

  • Executive Vice President
  • Group: Posts: Elite Member
  • Posts: 3,192
  • Joined: 08-August 05
  • Gender:Male
  • Simulator:MSTS & OR
  • Country:

Posted 27 January 2021 - 01:04 AM

View Poststeamer_ctn, on 26 January 2021 - 09:26 PM, said:

Heat changes are never instantaneous, they will always take some time to come into effect. The main parameter to watch when the AI fireman is off, is the BurnRate, as long as this is decreasing it indicates that the fire is cooling, and that the Heat In value will also decrease.

Like a real fireman it is necessary to "look ahead" and try and work out the best times to turn the fireman on and off.


If you actually read what I first stated it was that COAL continues to be used from the tender with the fireman turned off. Tender usage should stop and feed rate drop to ZERO immediately he is turned off but they do not. I see the boiler heat level fall slowly, I see heat in reduce, I do not see firemass reduce and I see coal being used when it should not be used because the fireman is sitting on his shovel.

PS:- What are the boiler pressure or BoilerHeat levels that automatically trigger reactivation of the fireman?.

  • 2 Pages +
  • 1
  • 2
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users