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.
  • 3 Pages +
  • 1
  • 2
  • 3
  • You cannot start a new topic
  • You cannot reply to this topic

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

#21 User is online   steamer_ctn 

  • Open Rails Developer
  • Group: Status: Elite Member
  • Posts: 1,889
  • 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 online   steamer_ctn 

  • Open Rails Developer
  • Group: Status: Elite Member
  • Posts: 1,889
  • 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: Status: Elite Member
  • Posts: 3,144
  • 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 online   steamer_ctn 

  • Open Rails Developer
  • Group: Status: Elite Member
  • Posts: 1,889
  • 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: Status: Elite Member
  • Posts: 3,144
  • 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?.

#26 User is online   steamer_ctn 

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

Posted 27 January 2021 - 07:55 PM

View Postcopperpen, on 27 January 2021 - 01:04 AM, said:

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.
The primary responsibility of the AI fireman is to maintain the boiler pressure as close as possible to the rated boiler pressure so that the player can drive the train.

When this feature was added over three years ago, the primary requirement was to "kick" the AI fireman into action if a train was stationary at the bottom of a grade, and get the fire going well before it lost too much heat trying to get up the gradient.

It was mainly focussed on increasing/decreasing the heat into the boiler, so you are probably correct that fuel feeds do not go to zero instantaneously.

View Postcopperpen, on 27 January 2021 - 01:04 AM, said:

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

If the pressure is below the rated boiler pressure, and boiler heats are also below the rated heat of the boiler.

As part of this work, there maybe an opportunity to revisit some of this operation, so keep an eye on the thread and at the appropriate time you can add a reminder.

#27 User is offline   copperpen 

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

Posted 28 January 2021 - 02:04 AM

So, maximum pressure and heat are the drivers that keep the turned off fireman shovelling. Sort of makes turning him off pretty much useless in its current form. It should operate in a completely different way where off means OFF, no more fuel on the fire until turned on again, regardless of BP and stored heat levels.

Perhaps this could be an opportunity at some point to make the auto fireman a bit more "real" by using the BP figures as start and stop triggers for firing.

#28 User is offline   darwins 

  • Superintendant
  • Group: Status: Elite Member
  • Posts: 1,237
  • Joined: 25-September 17
  • Gender:Male
  • Simulator:Open Rails
  • Country:

Posted 28 January 2021 - 02:30 AM

Quote

Perhaps this could be an opportunity at some point to make the auto fireman a bit more "real" by using the BP figures as start and stop triggers for firing.


Have a look through the attachments to this post:
#57

You can post any comments on that thread, but I think the that before we can make the AI fireman behave more like a manual fireman, then we need to improve the operation of the manual fireman.

The AI fireman will then be slightly disadvantaged as he will be unable to look ahead. This may not be such a big problem as was earlier thought. Read the following comment from a fireman in the real world:

Quote

Steam locos are like that - full of contradictions - you would think thrashing a loco hard would kill the fire and the pressure - which it does long-term, but in the short-term it pulls lots of air through a fire, making it burn hotter and actually steam better - as long as there’s a good fire in there to start with. I’ll never forget (excuse me digressing) firing on the Welsh Highland from Porthmadog up towards Caernarfon. We were trundling across the Traeth and I was trying to warm her up for the hill - I must have been looking a bit concerned because the driver turned round to me and said “Is the fire in there?” (i.e. have you got a good thick fire of the right shape)
“Yes” I replied.
“Don’t worry - I’ll get it burning” he said, promptly opened the regulator and sure enough she came round quickly!


  • 3 Pages +
  • 1
  • 2
  • 3
  • 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