The Final Word on Steam Boiler Efficiency

  • The FTB Forum is now read-only, and is here as an archive. To participate in our community discussions, please join our Discord! https://ftb.team/discord

SkyBoy96

New Member
Jul 29, 2019
100
0
0
Depending on how the numbers pan out, this might be a concession to the predominantly multi-mod environment nowadays.
Boilers themselves are almost a concession to the multi-mod environment, actually. Within Railcraft, there are about 2-3 things that consume BC power: The rock crusher and rolling machine. There is nothing in the mod to transfer the energy, so the engines must be placed adjacent to the block in question, and a complex rail line built to deliver 32 buckets of steam at a time to said engines, or a small boiler built at every stop. Counting all this, the mod still lacks a reliable means for providing water to the boiler. Taking these factors into consideration, I must conclude the boiler is not meant to be used in standalone railcraft.
 

Omicron

New Member
Jul 29, 2019
2,974
0
0
I suppose that makes sense, @SkyBoy96 ...

In the meantime, look what I made over my lunch break: https://dl.dropboxusercontent.com/u/44754370/RCnew1.png
It's the new heatup curve, using a 1 LP boiler as an example.
You can clearly see the distinct "phase shifts" in the old curve, while the new one is perfectly smooth.
Another thing to note is that boilers hit maximum temperature a little faster now.

Still trying to wrap my head around the rest... oddly enough, from what it looks like, the fuel use between low and high pressure isn't a straight x2 multiplier anymore, but rather a flat +2 value that gets added? Very confusing. It could result in high pressure boilers being more fuel efficient now than low pressure ones, instead of the other way around... but I'm running out of time here, so maybe I just got it wrong. Oh well, another day.

EDIT: Ooooh i see, the calculation doesn't run per tick anymore, and HPs cycle twice as often as LPs... this changes everything.
 
Last edited:

Omicron

New Member
Jul 29, 2019
2,974
0
0
Technically it was never per tick in the code. I just simplified the math for the wiki. ;)

It wasn't? Well, all the simulations we made assumed it did. Though I suppose in hindsight it makes sense, as you don't see the steam in the GUI update 20 times per second... Derp! :confused: Oh well, so long as the end result of simulation and actual use is the same, the simulation isn't wrong, even if the method differs.

As for the math, I have two questions:
- The function getHeatLevel() returns the ratio of (current / maximum) heat, and not just the current heat value, correct?
- Is the very large difference in steam per HU compared to 8.2 that I'm seeing in the formulas an intentional change, or am I just doing the math wrong again? (I haven't had a chance to actually set up a test world with 8.3 yet to observe boiler behavior ingame, that'll be something for the weekend.)

...Nevermind I just realized that any value I calculate is meaningless without knowing RailcraftConfig.fuelPerSteamMultiplier().
 
Last edited:

CovertJaguar

New Member
Jul 29, 2019
159
0
0
It wasn't? Well, all the simulations we made assumed it did. Though I suppose in hindsight it makes sense, as you don't see the steam in the GUI update 20 times per second... Derp! :confused: Oh well, so long as the end result of simulation and actual use is the same, the simulation isn't wrong, even if the method differs.

As for the math, I have two questions:
- The function getHeatLevel() returns the ratio of (current / maximum) heat, and not just the current heat value, correct?
- Is the very large difference in steam per HU compared to 8.2 that I'm seeing in the formulas an intentional change, or am I just doing the math wrong again? (I haven't had a chance to actually set up a test world with 8.3 yet to observe boiler behavior ingame, that'll be something for the weekend.)

...Nevermind I just realized that any value I calculate is meaningless without knowing RailcraftConfig.fuelPerSteamMultiplier().

Code:
    public double getHeatLevel() {
        return heat / getMaxHeat();
    }

RailcraftConfig.fuelPerSteamMultiplier() is by default 1.0, but can be changed in the config.
 
Last edited:

Omicron

New Member
Jul 29, 2019
2,974
0
0
Alright, done. Having access to the code really speeds things up ;)

New base fuel usage table: https://dl.dropboxusercontent.com/u/44754370/RCnew2.png
New calculation of the value of 1 HU (result in MJ): https://dl.dropboxusercontent.com/u/44754370/RCnew3.png
All numbers given for fully heated up boilers.

Summary:
- Massive nerf to efficiency of solid fuel boilers. However, they are still better than other solid fuel burning options, at least as far as MJ (or RF) is concerned.
- Massive nerf to efficiency of liquid fuel boilers. This is unfortunate because other liquid fuel engines are now better than boilers across the board. Recommendation to buff.
- LP and HP boilers no longer offer you the same efficiency at full heat. Makes sense, since the previous balancing factor - heatup costs - is largely irrelevant now.

Notes:
- I was not able to correctly calculate the hobbyist engine with the formula given. According to the burn time of coal ingame, it seems the hobbyist engine is using a base fuel cost of 6.4 instead of 8, as normal boilers do (in addition to the changed efficiency multiplier). So that's the value I went with here. But it may be something entirely different that just happened to generate a similar enough value in my test case.
- Lowering the fuelPerSteamMultiplier in the config to its minimum will, due to how the math works, mostly buff small sized boilers. Efficiency differences between sizes will become a lot less pronounced. HP boilers also do not gain as much in general, falling further behind the LPs. Simulating the old boiler behavior with this config setting is not possible.
- The config does allow for buffing of refined fuel and ethanol HU values though, making it possible to bring liquid boilers back up to par with other mod solutions.


*puts on hazmat suit and stocks up on compressed air cells to weather the upcoming complaint tsunami*
 
Last edited:

3nd3r w1gg1n

New Member
Jul 29, 2019
22
0
0
So what that says is that it is now better to run 2 36 LP boilers than the 36 HP. In fact you would be better off even running 4 18 LP boilers by a little bit..

And there is really no reason at all to burn any solid fuel in something else.. though coal coke with TE and peat with Forestry is not awful if you want on demand production...

And there is no reason to ever use a liquid fueled boiler it seems
 

CovertJaguar

New Member
Jul 29, 2019
159
0
0
Are you using the correct Fluid Fuel values? The Fluid Boilers should have received only the same (old/4 = new) nerf that Buildcraft and Forestry Engines did. Leaving them still 20% more efficient.

Biofuel/Ethanol = 16000 HU
Fuel = 48000 HU

I admit, I don't really understand your graphics. =P

The only difference between the Hobbyist and Boilers is the efficiencyModifier and ticksPerCycle (20). Otherwise they are using the same code.

And the per tank bonus for larger boilers should also scale with the config setting.
 
Last edited:
  • Like
Reactions: jokermatt999

Omicron

New Member
Jul 29, 2019
2,974
0
0
Are you using the correct Fluid Fuel values? The Fluid Boilers should have received only the same (old/4 = new) nerf that Buildcraft and Forestry Engines did. Leaving them still 20% more efficient.

Biofuel/Ethanol = 16000 HU
Fuel = 48000 HU

...Umm, that's not old/4, CJ... that's old/2. Ethanol originally did 32k and refined fuel 96k. You can see this in this very outdated fuel value table from 1.4.7. After the adjustment - for example in 8.2.0.0 - the fuel value of ethanol and refined fuel are 8k and 24k respectively. NEI plugins shows this, and if a dividison by 4 happened, this is what it must be. I can try and do a timing test if you like.

Also, since for example the combustion engine had its total MJ output divided by 4 and refined fuel had its HU value divided by 4, then its efficiency in my calculation stays the same as it was, at 6.25. I am simply dividing its MJ output from one bucket of fuel by the Railcraft HU value of that fuel, to get an efficiency number "as if the combustion engine was a boiler". That's where all the cross-mod comparison numbers come from. With both numbers divided by 4, the result doesn't change.

If Railcraft HU values for liquid fuels are only supposed to be divided by 2, however, that would change everything. Then the combustion engine and the compression dynamo both only post a score of 3.125, since their MJ output doesn't change but the HU number is twice as big. (This is a very funny effect - buff a boiler fuel and you don't see boiler numbers rise, but rather comparison numbers drop. That's because the boiler numbers are computed off the value of 1 HU, not the value of 1 bucket of fuel. Math! :p)

In that scenario, boilers would indeed be better than engines, as they get up to 4.444. But is that actually the reality? Is that what the HU values are set as ingame in 8.3.x? Or are they still at 8k/24k as in 8.2.0.0?

The only difference between the Hobbyist and Boilers is the efficiencyModifier and ticksPerCycle (20). Otherwise they are using the same code.

Aaahh, I see. That works out to roughly the same in the end... well, 0.615 per tick versus 0.650. But it still matches my ingame observation, it's just off by the same error margin in the other direction :p (using a wristwatch to time things is imprecise indeed).

And the per tank bonus for larger boilers should also scale with the config setting.

Well, with the config setting at 1.0, a 1 LP boiler has efficiency 2.991 and a 36 LP has 4.444, for a difference of 1.453, or 48.5% more for the large boiler.

Set the config setting to 0.2, then the 1 LP clocks in at 7.306 (+4.315) and the 36 LP at 8.696 (+4.252). You can see the smaller boiler gaining more. The difference is now only 1.309, less than before - and percentually even moreso, with the larger boiler being only 22.75% more efficient.

The reason for this happening (and the reason for the fact that HP boilers don't gain as much) is the flat +2/+4 per tank for pressure inefficiency, I believe. It is always the same, regardless of the value of multipliers like efficiency multiplier, the config multiplier and so on. it is not affected by them, but it is affected by multiplying by number of tanks.
 
  • Like
Reactions: jokermatt999

CovertJaguar

New Member
Jul 29, 2019
159
0
0
...Umm, that's not old/4, CJ... that's old/2. Ethanol originally did 32k and refined fuel 96k. You can see this in this very outdated fuel value table from 1.4.7. After the adjustment - for example in 8.2.0.0 - the fuel value of ethanol and refined fuel are 8k and 24k respectively. NEI plugins shows this, and if a dividison by 4 happened, this is what it must be. I can try and do a timing test if you like.

It was divided by four to match the BC Fuel nerf, then doubled when base boiler HU usage was doubled to maintain the status quo. The doubling being done to nerf solid fuel use; in order to keep fluid fuels viable.
The values below are official in 8.3.0.0:
Biofuel/Ethanol = 16k HU
Fuel = 48k HU

The reason for this happening (and the reason for the fact that HP boilers don't gain as much) is the flat +2/+4 per tank for pressure inefficiency, I believe. It is always the same, regardless of the value of multipliers like efficiency multiplier, the config multiplier and so on. it is not affected by them, but it is affected by multiplying by number of tanks.

Hm...maybe I should just multiply the final result for more consistent numbers.

EDIT: The text file has been updated with tentative adjustments for next version.
 
Last edited:
  • Like
Reactions: jokermatt999

Omicron

New Member
Jul 29, 2019
2,974
0
0
It was divided by four to match the BC Fuel nerf, then doubled when base boiler HU usage was doubled to maintain the status quo. The doubling being done to nerf solid fuel use; in order to keep fluid fuels viable.
The values below are official in 8.3.0.0:
Biofuel/Ethanol = 16k HU
Fuel = 48k HU

I see! That leaves boilers in a more balanced spot than before, actually. Liquid fuels are about the same as before, compared to for example combustion engines, but the massive overvaluing of solids has disappeared.

Old:
Solid engines: 1 - 2
Liquid engines: 6.2
Solid Boilers: 5 - 9 <--- overvalued
Liquid Boilers: 5 - 9 <--- just right

New, before liquid adjustment:
Solid engines: 1 - 3
Liquid engines: 6.2
Solid Boilers: 2.9 - 4.4 <--- just right
Liquid Boilers: 2.9 - 4.4 <--- undervalued

New, after liquid adjustment:
Solid engines: 1 - 3
Liquid engines: 3.1
Solid Boilers: 2.9 - 4.4 <--- just right
Liquid Boilers: 2.9 - 4.4 <--- just right


The new pending fuel usage formula looks good. Now setting the config multiplier to 0.5 causes a straight doubling, or setting it to 2.0 causes a straight halving of efficiency across all boiler sizes and pressure types. The values at 1.0 didn't change at all. Perfect, I'd say :)
 
  • Like
Reactions: jokermatt999

Omicron

New Member
Jul 29, 2019
2,974
0
0
Yep! It's always great when a mod author takes community input. :)

I see you're also keeping up well with updating the calculator, which is convenient because that means I don't need to write a guide update :p </lazy>
 

Darkone84

New Member
Jul 29, 2019
220
0
0
So with the lates changes with the Boilers, it looks like the LP 36 are way more efficient now than the HP 36.
 

PierceSG

New Member
Jul 29, 2019
2,047
0
0
Mind if I ask, what's the point of a 36 HP steam boiler now? /notsarcastic

Sent from my GT-N8020 using Tapatalk
 

Mysteana

New Member
Jul 29, 2019
22
0
0
Increased production density. Not everyone is going to want to spam out large numbers of LP boilers.
 

Omicron

New Member
Jul 29, 2019
2,974
0
0
Well, I can't speak for myself, I never built one nor felt the need to. My biggest boiler ever was a 27 LP ;)

But in general, when I told people in the past that they could be saving 75 million MJ worth of power in the short term by building two 36 LP instead, the general response I got was "yeah but that takes up so much building space and would totally screw up the layout of my base. Also I don't want to spend twice as much iron.". These same points still ring true today.

It seemed to weigh higher than short-term fuel efficiency for almost everyone back then. Whether or not the drop in long-term fuel efficiency will make people reconsider now, I don't know. I suppose that's up to everyone to decide for themselves.

My base in my current world does not involve any boilers; it's powered largely by a ginormous nuclear reactor slowly winding itself up (currently at 810 out of 5400 EU/t and rising) and a quartet of magmatic dynamos shunting power into a tesseract to drive a quarry, while some basic TE and Forestry machines siphon off a little on-demand power for themselves on the side. If I built a boiler today, though, I would probably choose an 8 LP.
 

MigukNamja

New Member
Jul 29, 2019
2,202
0
0
Using Forecaster's excellent Railcraft fuel calculator with default configs and Ethanol as fuel, I compared 2x 36LP against 1x 36HP. The HP "penalty" is a 28% premium in costs beyond what LP needs.

Here are the numbers for a 1-week simulation of each:

=== 36 LP ===
Ran for 7 days and used a total of about 12240.34 units of Ethanol!
Heatup used about 157.88 units of Ethanol (1.3% of the total fuel!)

2 x 12240.34 = 24480.68
This means 2x 36LP used 24,480.68 buckets of ethanol.

=== 36 HP ===
Ran for 7 days and used a total of about 31270.16 units of Ethanol!
Heatup used about 823.26 units of Ethanol (2.6% of the total fuel!)

31,270 / 24,481 = 1.28

I have replaced my 36HPs with 2x 36LP each and have already noticed the fuel savings.
 
  • Like
Reactions: un worry