GregTechCE / GregTech

GregTech rewrite for modern versions of Minecraft
GNU Lesser General Public License v3.0
271 stars 150 forks source link

[BUG] Water buildup in closed-loop large boiler/large steam turbine #1203

Open ghost opened 4 years ago

ghost commented 4 years ago

Describe the bug I built a closed loop large steam boiler and large steam turbine, having only filled up the fluid input hatch on the boiler with water. When the boiler heats up and starts producing water, the steam turbine uses it and outputs MORE water than initially turned into steam in the boiler. No external water is being pumped in.

Versions Forge: 14.23.5.2854 GTCE: 1.10.0.546 Modpack: Custom, default configs. Addons: None. Barebones GTCE.

Setup Playing Solo

Steps To Reproduce 1) Build large (tungstensteel) boiler (used HV fluid hatches). 2) Build Large Steam Turbine (used large HV fluid hatches and EV energy output hatch, MAX rotor holder, Darmstadtium rotor). 3) Connect output hatch of the boiler to input hatch of the large steam turbine and vice versa. 4) Fill up large boiler fluid input hatch with water (other fluid hatch can be filled with liquid fuels, or input bus if solid fuel is used). 5) Heat up the boiler 6) Look at the large steam turbine fluid output hatch filling up. 7) Optional: add a fluid tank (black hole tank) inbetween the steam turbine output hatch and the boiler input hatch as a buffer. Add a fluid pump on the fluid tank toward the steam boiler.

Expected behavior No buildup of water in a closed loop system. Otherwise I can use this as an alternative to a fluid pump. No more 3x3 puddles for me.

Screenshots 2020-08-19_22 41 27

LAGIdiot commented 4 years ago

Version: Forge: 14.23.5.2847 GTCE: 1.10.0 (dev build on a3e6fdca2893c19e97d23f5d2f682830e5fb57b2)

Enviroment: GTCE dev

Outcome: Bug confirmed

LAGIdiot commented 4 years ago

I did some investigation on this one and it is going to be little bit tricky... Currently there are 4 problems: 1) Boiler consumes 1 mB Water every 1 second after it is heat up to boiling point. And produces Steam base on temperature and throttle. So Water to Steam ration is completely all over the place. 2) Turbine converts Steam to Water via 15:1 ration (plus/minus rounding error) 3) It is possible to consume/produce only full 1 mB units of liquid which would mean there will be need to store fraction of units between cycles and chunk loads 4) Possible rounding errors

I am not sure if we can (and want to) make this work flawlessly. I still thing it is worth it fixing it but I would rather not waste much time on it.

ghost commented 4 years ago

Would it be easier to have a fixed water:steam ratio and instead increase the conversion rate with higher boiler temperatures? The temperature-dependent ratio seems to be the cause of this.

For example, 1 mb water to 15 mb Steam (or more, up to you to decide, config options otherwise) per second at 100 C and at higher temperatures, 2 mb gets converted to 30 per second and so on.

LAGIdiot commented 4 years ago

It should have been implemented as fixed Water:Steam ratio. But it is not right now. As for the fix I would like to make it fixed ration not real world one (1:1700) but Railcraft one (1:160). But any fix we came up can't break existing Boiler setups. Which is going to be hard part.

galyfray commented 4 years ago

Tungstensteel boiler produce 7800 mb of steam for 1mb of distilled water so implement a fixed ratio without making existing boiler explode isn't trivial. I have few idea if you can give feedback :

LAGIdiot commented 4 years ago

@galyfray I don't think first idea is possible because there will be ton of creative math because you would have to calculate with remainders based on boiler tiers and heat levels. Also if we would pump steam to other mods there will be surplice of water on their end. Or if someone pump steam to us we would not return enough water back.

Second one is problematic too as someone may have automation with filter setup which we would break, also we would need to deal with residual steam in consumers, and no other mod will probably work with our "new steam" which will break few setups.

But as I mentioned in comment above we can't break current Boiler setups as base blowing is no go and in this case we can't just think about us.