Elvas Tower: Steam Loco Safety Valve Sometimes Doesn't Open - Elvas Tower

Jump to content

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

Steam Loco Safety Valve Sometimes Doesn't Open (Running New Year MG 140.5) Rate Topic: -----

#1 User is offline   pschlik 

  • Conductor
  • Group: Status: Active Member
  • Posts: 352
  • Joined: 04-March 15
  • Gender:Male
  • Simulator:OpenRails - Unstable
  • Country:

Posted 16 April 2023 - 05:33 PM

While messing about, I noticed that the safety valve wasn't popping on any of the steam trains I was driving, even when the debug info indicated that the boiler was well above the safety threshold. This allows the player to store up way more energy in the boiler than is reasonable (though the max steam chest pressure and the pressure indicated on the HUD remain locked at the actual max pressure of the locomotive). But what's weird is that hitting Alt + H to tell the fireman to heat things up even more, or Ctrl + F to go to manual firing, would suddenly make Open Rails realize the pressure was actually too high, updating the HUD readout

To make sure this wasn't an issue related to some old rolling stock, I tried recreating this on the relatively new NYC Atlantic Peter put on the CTN site. My strategy was to spawn on one of the outer loop paths with the loaded consist, then without changing any firing options, run the train as hard and as fast as it could go without overwhelming the fireman (the Atlantic seems to be capable of using far more coal than the poor man can shovel). After a few minutes of driving, I had the pressure still increasing as the fireman was working as hard as possible with the boiler pressure near the max, so I killed the throttle. With the fireman still working hard, the pressure continued to increase for a while. According to the locomotive information HUD, it well exceeded the safety limit (~8.4 mil BTU vs the limit of ~8.0 mil BTU), but the rest of the HUD showed only 200 psi.
https://imgur.com/EP5S9cn.jpg


Then, using Ctrl + H to tell the fireman to back off, the indicated pressure suddenly jumped to 207 psi, and the safety valve started letting off steam.
https://imgur.com/IYMpyDP.jpg


If I repeat the experiment but begin by using Alt + H to tell the fireman to heat up the locomotive, then immediately use Ctrl + Alt + H to reset his behavior to the default, then the bug will still happen...as if the code only checks for overpressure while one of those modes has been activated.

This bug makes little sense to me, I have no idea why the simulation would magically ignore the loco max pressure until telling the AI fireman to do something, but hopefully someone knows more about why this could happen. I wanted to see if this happens on the official release, but unfortunately, the Open Rails website is down (someone needs to bug Matt P. about that, as everything on the UKTS server is dead).

#2 User is offline   darwins 

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

Posted 16 April 2023 - 08:44 PM

Are you using the AI fireman? Hasn't this been standard since about version 1.2 with the AI firing? No matter how much energy is stored in the boiler the safety valves never ever lift. The result can be unlimited stored energy in the boiler, saved for when you need it! Not very realistic but hey ho.
I believe that for some reason the decision was made that safety valves should only operate when using the manual firing option.


#3 User is offline   pschlik 

  • Conductor
  • Group: Status: Active Member
  • Posts: 352
  • Joined: 04-March 15
  • Gender:Male
  • Simulator:OpenRails - Unstable
  • Country:

Posted 17 April 2023 - 06:12 AM

Well if the safety isn’t supposed to operate at all with AI fireman (which is dumb, but wouldn’t be the first time I’m left to question some of the decisions made here), then why would using the AI fireman override suddenly make the safety work?

#4 User is offline   darwins 

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

Posted 17 April 2023 - 11:32 AM

I am going to take a guess about this. I might be wrong.

In some earlier versions safety valve function was poor. As described here http://www.elvastowe...post__p__267792 There was a large drop in pressure *AFTER* the valves had closed.

Possibly developers thought this would look pretty grim with AI firing.

More recently I believe that safety valve behaviour has changed to be more realistic. So perhaps we should be allowed safety valve function with AI firing as well as with manual firing.

One way to enable safety valve function with AI firing is to do this:

1. Alt+H - to increase AI firing rate

then

2. Ctrl+Alt+H - to reset AI firing rate

After that, I believe, safety valves should operate with AI firing!

#5 User is offline   steamer_ctn 

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

Posted 18 April 2023 - 10:27 PM

pschlik said:

(which is dumb, but wouldn’t be the first time I’m left to question some of the decisions made here),
Hmmmm, I wonder whether suggesting that developers make "dumb" decisions is likely to encourage them to do more or less? Just because someone doesn't agree with a decision doesn't make it dumb.


pschlik said:

then why would using the AI fireman override suddenly make the safety work?

The following is a brief summary of the logic behind the AI operation of the safety valves (more details on these points can be found in other threads).

The primary purpose of the AI fireman is to maintain steam pressure as close to the operating boiler pressure as possible. This allows the driver to focus on driving the locomotive at its optimal level of performance.

The AI fireman cannot "look ahead " to determine when steam consumption levels (fire heat) need to be increased or decreased to suit operational requirements.

Hence as suggested the boiler energy (and steam pressure) will often exceed the safety valve threshold in the AI mode. When the safety valves go off they waste a lot of steam (pressure drops) and tender water will be used more quickly. Thus it is not desirable to have the safety valves going off on a regular basis as this is not realistic and would detract from driving the locomotive. However behind the scenes this needs to happen so that pressure can be maintained at the optimal level.

In the AI Override mode the user can signal the fireman to start them building up or banking down the fire depending upon the track and operational conditions ahead. The user has to determine when to start and stop the fireman. Hence like in the real world they need to learn the route and capabilities of the locomotive to determine the optimal firing conditions. In this mode the safety valves are activated as the user has elected to take over a level of control of the firing process and poor firing will result in excessive safety valve operation.

#6 User is offline   Laci1959 

  • Foreman Of Engines
  • Group: Status: Contributing Member
  • Posts: 950
  • Joined: 01-March 15
  • Gender:Male
  • Simulator:Alföld
  • Country:

Posted 19 April 2023 - 11:22 PM

Hello.

There is a Facebook group called Steam Locomotive Lovers. I usually go there for professional advice. I asked about this safety valve.
If the authorized boiler pressure of the locomotive is 14 bar, the first valve opens at 14 bar pressure, the second valve at 14.5 bar pressure.
Closing also takes place at these values.
It is open above the maximum boiler pressure, and as soon as it drops to the maximum boiler pressure, the safety valve closes. So that particular pressure drop is only above the authorized boiler pressure. It's natural to waste water and carbon, but it's also true in real life.
There are ALWAYS two safety valves, even if the boiler is only tested for 7 bar, and even if the boiler is tested for 21 bar. The number of valves does not increase either linearly or exponentially.
In the MSTS days, if there was an AI heater, it happened at the start of the game that the safety valve opened. Never after that. At least I didn't manage to get the AI heater into such a situation. When slowing down and stopping, I shut off the steam in time and ran the locomotive. In such a case, the safety valve may open if the boiler pressure is already high. But usually I see the game saying don't exhaust the AI heater.
I deliberately wrote authorized boiler pressure instead of operating boiler pressure.

Sincerely, Laci1959

#7 User is offline   darwins 

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

Posted 20 April 2023 - 02:20 AM

Good morning Laci,

Modern pop safety valves work exactly as you describe. The OR model is currently correct in that pressure no longer drops after the valves have reseated.

Older designs of safety valve operated differently and there is some discussion here http://www.elvastowe...post__p__267731


As Peter points out, when the safety valves go off, they do waste a lot of water and coal. They should not as Laci adds result in a significant drop in boiler pressure.

Good driving should help to prevent the safety valves lifting too often. Keeping a constant steaming rate by adjusting the regulator and or reverser allows the AI fireman to maintain a fairly steady state in the boiler. We accept that using more steam than the boiler can produce will result in a fall of pressure. (In this case the driver can use the blower to liven up the fire if needed.) We should also accept that sometimes the safety valves will lift. The driver should still get optimal power but will waste fuel and water. It is certainly not unrealistic if we see a loco blowing off during a long station stop or when the regulator is closed and brakes applied to descend a gradient.


I am going to propose an algorithm that may allow safety valves to lift (but hopefully not too often!):


Initial conditions as at present, except blower at 0.1 rather than 0. (We now have a working blower model.)


If regulator < 0.1 (loco stationary or coasting)

[If fireman is mechanical stoker, disable mechanical stoker until regulator > 0.1 and set max firing rate to 3000lb/h until regulator > 0.1]

If fire mass > 0.90 stop adding coal to the fire until fire mass < 0.88 then start adding coal

If pressure > 0.95 close damper if present until pressure < 0.93

If pressure > 0.97 (and water level less than 1.0) add cold water with injectors until pressure < 0.96 (or water level > 1.0)

If pressure < 0.90 increase blower to 1.0 until pressure > 0.92 then return blower to 0.1 [*Driver can also adjust blower at any time]


If regulator > 0.1 (loco under power)

If fireman is mechanical stoker and fire mass > 1.0 reduce firing rate to less than combustion rate until fire mass < 0.95 then increase rate to more than combustion rate (see below)

If fireman is not mechanical stoker and fire mass > 1.0 stop adding coal to the fire until fire mass < 0.95 then start adding coal

If pressure > 0.99 close damper if present until pressure < 0.98

If pressure > 0.97 (and water level less than 1.0) add cold water with injectors until pressure < 0.96 (or water level > 1.0)

If pressure < 0.94 increase blower to 1.0 until pressure > 0.95 then return blower to 0.1 [*Driver can also adjust blower at any time]


As part of this two suggestions about firing rate, to make it rise and fall more realistically.

1. For mechanical stokers, the rate should rise and fall between 0.0 and 1.0 in increments of say 0.1 depending on stoker engine.

2. For manual stokers, the rate is always 1.0, with the option to increase above 1.0 for short periods as at present. (This should give a more realistic addition with pauses and additions could be further split into fire shovel sized bits.)


The above might well integrate simply with more realistic smoke colours based on the following

Combustion Rate >> Firing Rate - smoke is colourless

Combustion Rate ~ Firing Rate - smoke is light grey

Combustion Rate << Firing Rate - smoke is black

Time taken for full colour transition from black to colourless = 180s (?)

Time taken for full colour transition from colourless to black = 10s (?)



If Peter is willing to try coding this would others be willing to test it out and propose and adjustments or improvements that may be needed?

#8 User is offline   Laci1959 

  • Foreman Of Engines
  • Group: Status: Contributing Member
  • Posts: 950
  • Joined: 01-March 15
  • Gender:Male
  • Simulator:Alföld
  • Country:

Posted 20 April 2023 - 07:16 AM

This is a good description for the programmer.
What I would add.
The AI heater cannot see ahead, but it could know the mass of the train. It doesn't matter if it tows 200 tons or 1,200 tons. In the former case, a smaller fire mass and lower pressure would be enough. This is also one of the ways to save carbon and water.
I also asked about the damper in that group. We have one, but I didn't know about it. They are usually always kept fully open. It is used when waiting for several hours. They wait until the fire burns down (there are only small flames of a few centimeters), then they close the damper. It keeps the embers and heat for a long time. Rather, they fanned the fire with the blower. (When I was a child, we heated this way in the tiled stove. I also had to learn to block the air at the right time.)

Although, depending on the state of the fire, the color of the smoke would be black,
(Combustion Rate << Firing Rate - smoke is black ) but when starting, due to the wide open regulator and or reverser, it is more white due to the large amount of tired steam. That is, the amount of steam is dominant. As the locomotive accelerates, the locomotive driver reduces the value of the regulator and or reverser. I prefer the reverser. In this case, the amount of steam coming out is reduced, which makes the smoke darker.
The challenge may be that the state of combustion also changes, may change. It approaches the Combustion Rate ~ Firing Rate - smoke is light gray condition.

#9 User is offline   darwins 

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

Posted 20 April 2023 - 07:48 AM

View PostLaci1959, on 20 April 2023 - 07:16 AM, said:

This is a good description for the programmer.
What I would add.
The AI heater cannot see ahead, but it could know the mass of the train. It doesn't matter if it tows 200 tons or 1,200 tons. In the former case, a smaller fire mass and lower pressure would be enough. This is also one of the ways to save carbon and water.
I also asked about the damper in that group. We have one, but I didn't know about it. They are usually always kept fully open. It is used when waiting for several hours. They wait until the fire burns down (there are only small flames of a few centimeters), then they close the damper. It keeps the embers and heat for a long time. Rather, they fanned the fire with the blower. (When I was a child, we heated this way in the tiled stove. I also had to learn to block the air at the right time.)

Although, depending on the state of the fire, the color of the smoke would be black,
(Combustion Rate << Firing Rate - smoke is black ) but when starting, due to the wide open regulator and or reverser, it is more white due to the large amount of tired steam. That is, the amount of steam is dominant. As the locomotive accelerates, the locomotive driver reduces the value of the regulator and or reverser. I prefer the reverser. In this case, the amount of steam coming out is reduced, which makes the smoke darker.
The challenge may be that the state of combustion also changes, may change. It approaches the Combustion Rate ~ Firing Rate - smoke is light gray condition.


Agreed. There are a lot more things that could be added, but my thought to begin with is to keep it as simple as possible. Smoke and steam should ideally be rendered separately in the game.

#10 User is offline   pschlik 

  • Conductor
  • Group: Status: Active Member
  • Posts: 352
  • Joined: 04-March 15
  • Gender:Male
  • Simulator:OpenRails - Unstable
  • Country:

Posted 20 April 2023 - 12:26 PM

Well a rework of AI firing is probably the most involved way to approach this, but I can see the potential to make it feel more realistic in more ways than one. As for wasting steam, there are lots of ways to waste steam other than the safety valve (namely, using max reverser and max throttle), and trying to fully idiot proof that would require a lot more than just making the boiler out of unobtainium. Allowing the safety to function, but making the AI fireman a little more clever is a much more satisfying approach to the issue.

  • 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