Fluid system: only 1st Storage Tank is filled to 25k and only with a pump

Don't know how to use a machine? Looking for efficient setups? Stuck in a mission?
vangrunz
Long Handed Inserter
Long Handed Inserter
Posts: 84
Joined: Tue Dec 26, 2017 1:26 pm
Contact:

Fluid system: only 1st Storage Tank is filled to 25k and only with a pump

Post by vangrunz »

Simple setup:
An Offshore Pump with three Storage Tanks in a row, no pipes or anything else in between. No consumers on any end.

Result:
First Storage Tank is filled to its full 25k with water. Second & Third Storage Tanks get only 24k, slightly beneath 25k. They never get 25k.

The Offshore Pump stops working if the first Storage Tank is @ 25k, so the other two Storage Tanks can never reach the maximum capacity.
Edith: Not correct, the pump stops working if the other two storage tanks are nearly @ 25k.

Substitute Water with Crude Oil, Light Oil, Heavy Oil, Petroleum Gas or even Steam.
Substitute the Offshore Pump with a Pump.
The result will always be the same.

There's a totally different behaviour if you connect a Storage Tank only via Pumps:

2023-03-20_180733.jpg
2023-03-20_180733.jpg (737.11 KiB) Viewed 3335 times

Three tanks without pumps take ~2.5 minutes, resulting in the message that the Pump has a speed of 0/s if the tanks reach the "below 25k" level but the first is also @ 24k.

Three tanks with pumps take only ~65 seconds (!) while all tanks are completely filled.

Additionally, you'll never reach 25k if you connect it with a pipe (or another tank) first. There must be a pump directly on the input.

This behaviour affects also Steam Turbines, so currently it's the best advice to use them with a pump only, adding other pumps to the supply chain:

2023-03-20_183113.jpg
2023-03-20_183113.jpg (821.25 KiB) Viewed 3335 times

Monitoring the Storage Tank liquid level via circuit network, eg. you have 16 tanks x 25k = 400k of a type of liquid, a trigger set at that value will never happen. Only the very first Storage Tank is filled to the maximum, and only if it is filled with a pump.

Is this a known issue, on the road map or a "won't fix" thing? I've searched around but found nothing matching.

PS: Please don't mind the Offshore Pump on the Refined Concrete, that's a mod. 8-)

FuryoftheStars
Smart Inserter
Smart Inserter
Posts: 2587
Joined: Tue Apr 25, 2017 2:01 pm
Contact:

Re: [v1.1.74] Fluid system: only 1st Storage Tanks is filled to 25k and only with a pump

Post by FuryoftheStars »

This is an known effect of the fluid system's attempts at mimicking real fluid flow (and pressure). There's some info in the wiki, and there might be other pieces of info laying about elsewhere.
My Mods: Classic Factorio Basic Oil Processing | Sulfur Production from Oils | Wood to Oil Processing | Infinite Resources - Normal Yield | Tree Saplings (Redux) | Alien Biomes Tweaked | Restrictions on Artificial Tiles | New Gear Girl & HR Graphics

vangrunz
Long Handed Inserter
Long Handed Inserter
Posts: 84
Joined: Tue Dec 26, 2017 1:26 pm
Contact:

Re: Fluid system: only 1st Storage Tank is filled to 25k and only with a pump

Post by vangrunz »

In my understanding, the (Offshore) Pump has a fixed value that pushes liquid into the attached system. Using pumps or not, three tanks should always be filled in the same amount of time completely, depending on speed they can deliver (provided that there's enough amount they can push). Using pipes, they should only forward the pressure from the pumps but not the liquid only if they're full but not the tanks. So, we have a lack of pressure in the liquid system IMHO. Or, to forget about pressure, adjacent tanks (pipes, etc.) should be taken into consideration. That might affect UPS.

vangrunz
Long Handed Inserter
Long Handed Inserter
Posts: 84
Joined: Tue Dec 26, 2017 1:26 pm
Contact:

Re: Fluid system: only 1st Storage Tank is filled to 25k and only with a pump

Post by vangrunz »

Interesting that this thread has been moved from "General Discussions" to "Gameplay Help".

Tertius
Filter Inserter
Filter Inserter
Posts: 685
Joined: Fri Mar 19, 2021 5:58 pm
Contact:

Re: Fluid system: only 1st Storage Tank is filled to 25k and only with a pump

Post by Tertius »

You don't need to feed every turbine with a pump. Usually, the steam distributes itself enough. You need pumps, if you need to increase throughput for a longer pipe.

The fluid mechanics are difficult to understand. Not because they are implemented wrongly or strangely, it's because they are really strange even in the real world, and because there is a fundamental problem with simulating real world fluids in the sequential and tick-based system used by Factorio.

The fundamental problem is this: if you split a pipe, Factorio isn't able to distribute half to one outlet and the other half to the other outlet. In the real world, fluid is entering and exiting some pipe piece at the same time. In Factorio, fluid boxes are processed sequentially. The content of a box is evaluated and it is determined if the containing fluid is floating out of it to connected fluid boxes. Then the next box is processed. So it can happen a fluid box is drained, because its fluid is floating out of it, but at the same tick it is filled again, if fluid is flowing into it, because some connected box is processed afterwards. Or it is not filled again, because every connected boxes were already processed before that box.

Rules of thumb in general:
1. don't let fluids flow in a circle. At least not too small circles.
2. if you split a pipe, don't expect (and don't try to force) both receiving pipes receive 50% each. It's more 80% one and 20% the other.
3. Pipes don't have a flowing direction, although you think they have. Fluids flow from higher fluid level to lower fluid level. It can happen fluids will begin to flow backwards, if some source ceases supplying, fluid is consumed nearby, and at some far end of a pipe the fluid isn't consumed. In this case the fluid will start flowing backwards to even out the level.

If you want to know why and how fluids flow in Factorio, consult this thread:
viewtopic.php?f=18&t=19851
To see the essential pictures from the opening post (these are eye openers), use this link: https://web.archive.org/web/20171227174 ... 18&t=19851

vangrunz
Long Handed Inserter
Long Handed Inserter
Posts: 84
Joined: Tue Dec 26, 2017 1:26 pm
Contact:

Re: Fluid system: only 1st Storage Tank is filled to 25k and only with a pump

Post by vangrunz »

Thanks for your answer. I think I understand some more how that system actually works, and I will implement that onto my further gameplay. My initial question was, however, if there's a possibility to change that -- or if that's not wanted. I'll be OK in any of these cases. I just like to know how to deal in future with this circumstance.
Tertius wrote:
Mon Mar 20, 2023 7:13 pm
Rules of thumb in general:
1. don't let fluids flow in a circle. At least not too small circles.
Building a patch of 4x4 Storage Tanks is a circle to me, at least if I combine 8 patches of them, with or without pumps (tried everything, multiple times...). Even a 2x2 Storage Tank patch, directly adjacent, IS a circle. So it would be better to use single tanks -- and feed them with pumps only.

Anyway, you cannot build a large fluid storage with this, just connecting tanks, unless you're fine that they never will be full. It would be interesting how much impact this would have on UPS the larger the Storage Tank patch is.
2. if you split a pipe, don't expect (and don't try to force) both receiving pipes receive 50% each. It's more 80% one and 20% the other.
Of what I've watched, the very next pump pulls nearly everything it can get out of the system, leaving other pipes & pumps empty. This is a sequential one. Adding this with the un-ability of pipes using pressure, there can never be more than two pumps with a fully supplied pipe. First come, first serve.
3. Pipes don't have a flowing direction, although you think they have. Fluids flow from higher fluid level to lower fluid level.
Yes, I'm aware of this.
It can happen fluids will begin to flow backwards, if some source ceases supplying, fluid is consumed nearby, and at some far end of a pipe the fluid isn't consumed. In this case the fluid will start flowing backwards to even out the level.
Correct. The more pipes or tanks one has, the more likely it is that fluid flows back, coming nearly never to an end. But, I think, that should not happen with only three tanks, not in such a high amount of time, and none of them reach ever maximum. The first tank with the pump has 25k and the directly adjacent not...that makes no sense at least Factorio caps @ 24.99k for further consideration, leaving a 25k next to a 24k tank. This, however, is a thing I cannot assess. I can only interpret the numbers I see in the game, and they do not make sense to me.
If you want to know why and how fluids flow in Factorio, consult this thread:
viewtopic.php?f=18&t=19851
To see the essential pictures from the opening post (these are eye openers), use this link: https://web.archive.org/web/20171227174 ... 18&t=19851
Thanks, I'll have a look @ it. But of what can I say now for sure, that I will use tanks solitary only. This will simplify everything and avoid confusions.

Using pipes, tanks & pumps cries for a pressure system that IMHO isn't implemented yet. Someone may take this as a suggestion.

vangrunz
Long Handed Inserter
Long Handed Inserter
Posts: 84
Joined: Tue Dec 26, 2017 1:26 pm
Contact:

Re: Fluid system: only 1st Storage Tank is filled to 25k and only with a pump

Post by vangrunz »

Tertius wrote:
Mon Mar 20, 2023 7:13 pm
You don't need to feed every turbine with a pump.
This guarantess even distribution while the system is not fully uitilized (see screenshot where the last turbine has exactly the same utilization with all others). With one pump and pipes only it behaves weird. I like to take a look at any turbine and know in approximately how much energy is actually consumed. The last turbine will get the least steam, but not with pumps.

Tertius
Filter Inserter
Filter Inserter
Posts: 685
Joined: Fri Mar 19, 2021 5:58 pm
Contact:

Re: Fluid system: only 1st Storage Tank is filled to 25k and only with a pump

Post by Tertius »

You don't need an "even distribution". It is sufficient if steam doesn't stall at the providing/generating item. Check the boilers or heat exchangers and compute how much they can produce at maximum. Then check if all of it is leaving that part of your plant and every boiler or heat exchanger is operating at full throughput at maximum load.

If you see this happen all the time and no boiler/heat exchanger goes into the "output full" condition, it doesn't matter which turbine will consume the steam and how even it is. Usually, you have slightly more turbine power than steam supply, so there is always some turbine not operating at full power. Which one it is, or if there are multiple, doesn't matter. Over a short amount of time, steam level will increase in the turbine field and previously underpowered turbines will get enough steam, if there is steam to consume.

If you observe "output full" for a boiler even if your plant is at maximum load, you need to check which turbines are not operating at full power. It may be the pipe length from the steam generators to the last turbines is too long. Maximum throughput is dependent from pipe length, check the wiki fluid system page for a table of length/throughput values. If the pipe is too long, you need to insert a pump after the last steam generator and before the first turbine to get the desired throughput. Pumps start a new pipe segment and restart the throughput per length computation. But you don't need more pumps further down the pipe, only if you have extremely long steam pipes (about 100+). And definitely not right in front of a consumer only for that consumer. Keep in mind: if there is no steam reaching that pump, your can try to pump as much as you like, but you will not get any steam. Pumps are generating pressure (or better fluid height: see the threads I linked!), but not suction.

mmmPI
Smart Inserter
Smart Inserter
Posts: 2778
Joined: Mon Jun 20, 2016 6:10 pm
Contact:

Re: Fluid system: only 1st Storage Tank is filled to 25k and only with a pump

Post by mmmPI »

vangrunz wrote:
Mon Mar 20, 2023 7:43 pm
Building a patch of 4x4 Storage Tanks is a circle to me, at least if I combine 8 patches of them, with or without pumps (tried everything, multiple times...). Even a 2x2 Storage Tank patch, directly adjacent, IS a circle. So it would be better to use single tanks -- and feed them with pumps only.

Anyway, you cannot build a large fluid storage with this, just connecting tanks, unless you're fine that they never will be full. It would be interesting how much impact this would have on UPS the larger the Storage Tank patch is.
From what i understand , if you place the storage tank in line, and use a pump to force the fluid into the first storage tank of the line, the fluid will back up to 25000 in all tanks eventually, i was under the impression that it was not necessary to place a pump between each tanks. offshore pump, real pump, tank tank tank behave better than offshore pump tank tank tank without the real pump, even if you don't do offshore pump, real pump, tank, real pump, tank, real pump tank.

Even if i'm wrong you can still make 2x2 storage to make it compact but you have to rotate them so it creates 2 similar pair instead of a symetry the storage density is roughly the same but you need to deal with the splitting fluid into 2 lanes instead of 1 big blob. Adding pump in between each tank would ruin it though for compact nuclear build :(

vangrunz wrote:
Mon Mar 20, 2023 7:43 pm
Correct. The more pipes or tanks one has, the more likely it is that fluid flows back, coming nearly never to an end. But, I think, that should not happen with only three tanks, not in such a high amount of time, and none of them reach ever maximum. The first tank with the pump has 25k and the directly adjacent not...that makes no sense at least Factorio caps @ 24.99k for further consideration, leaving a 25k next to a 24k tank. This, however, is a thing I cannot assess. I can only interpret the numbers I see in the game, and they do not make sense to me.
One rule of thumb to avoid fluid flowing back could be to shape your pipes pumps and tanks like a tree, and use pump at the start of every branch, unlike a tree the lower branch would receive more of everything but you get rid of the problem of who is the first on a circle and the potentially infinite loop.

To help frame the problem you can think of fluid to stay "flat" need to be divisible by the number of tanks. If you put 3 fluid into a 2x2 square it is difficult to predict what will be the stable phase. In game it's more complicated because fluid are not integers and network are more complicated , it's not shown for 24 999 that it may be 24 999.994 and the other tank has 24 999.995 and they keep exchanging that little piece that wont fit properly.

The tree thing if you can make sure the source doesn't run dry makes those trouble invisible.

vangrunz
Long Handed Inserter
Long Handed Inserter
Posts: 84
Joined: Tue Dec 26, 2017 1:26 pm
Contact:

Re: Fluid system: only 1st Storage Tank is filled to 25k and only with a pump

Post by vangrunz »

Tertius wrote:
Mon Mar 20, 2023 9:25 pm
You don't need an "even distribution".
I think the setup with the three tanks and the offshore pump have the same root with said steam distribution. The reason could be probably the mechanics mmmPI has stated:
mmmPI wrote:
Tue Mar 21, 2023 2:04 am
To help frame the problem you can think of fluid to stay "flat" need to be divisible by the number of tanks. If you put 3 fluid into a 2x2 square it is difficult to predict what will be the stable phase. In game it's more complicated because fluid are not integers and network are more complicated , it's not shown for 24 999 that it may be 24 999.994 and the other tank has 24 999.995 and they keep exchanging that little piece that wont fit properly.

The tree thing if you can make sure the source doesn't run dry makes those trouble invisible.
In case of nuclear steam distribution every heat exchanger has its own pipeline with a storage tank and pumps from & to anything, whereever possible. In earlier setups, I desperated that there were bottlenecks while trying to bundle up steam production and distribute it (nearly even) to turbines, especially with a large storage (if the nuclear fuel runs out, there would be enough time to organize supply), so I dediced to sail around such incalculability. Buffering a large amount of nuclear fuel instead of steam gives me quite less headache, so fluids should be kept as minimal in setups as possible.

While we can merge large patches of storages tanks, this is not a good idea if you try to have a clean oversight what's the current liquid level, especially when using circuit networks. The most clean variant, but you cannot walk around then, is a tank with a pump that merges directly into the next (single) tank and so on. Looks ugly, but sometimes function goes over design. ;)

vangrunz
Long Handed Inserter
Long Handed Inserter
Posts: 84
Joined: Tue Dec 26, 2017 1:26 pm
Contact:

Re: Fluid system: only 1st Storage Tank is filled to 25k and only with a pump

Post by vangrunz »

Something like this:

2023-03-21_093301.jpg
2023-03-21_093301.jpg (703.63 KiB) Viewed 3209 times

On the right side, you'll see the Crude Oil storage tanks. None of them has a liquid level of 25k. Most of the pumps work with a one-digit pumping speed, 24/7, with minimal consumption (my base is going to be developed completely new with the highest technical standard I can imagine).

On the left side, that's the "new system" I think of. It fills as fast as possible to the maximum that's possible. The pipes in between the sections have the only function that the character is able to walk through the tank plantation. The only drop of bitterness is the reduced amount of tanks: 9 instead of 16.

FuryoftheStars
Smart Inserter
Smart Inserter
Posts: 2587
Joined: Tue Apr 25, 2017 2:01 pm
Contact:

Re: Fluid system: only 1st Storage Tank is filled to 25k and only with a pump

Post by FuryoftheStars »

vangrunz wrote:
Tue Mar 21, 2023 8:47 am
Something like this:


2023-03-21_093301.jpg


On the right side, you'll see the Crude Oil storage tanks. None of them has a liquid level of 25k. Most of the pumps work with a one-digit pumping speed, 24/7, with minimal consumption (my base is going to be developed completely new with the highest technical standard I can imagine).

On the left side, that's the "new system" I think of. It fills as fast as possible to the maximum that's possible. The pipes in between the sections have the only function that the character is able to walk through the tank plantation. The only drop of bitterness is the reduced amount of tanks: 9 instead of 16.
Why worry about every tank squeezing in those last few drops? Sure, in the new design you're maximizing the per tank storage, but that doesn't even come close to equating to one lost tank, let alone 7 (16 -> 9).
My Mods: Classic Factorio Basic Oil Processing | Sulfur Production from Oils | Wood to Oil Processing | Infinite Resources - Normal Yield | Tree Saplings (Redux) | Alien Biomes Tweaked | Restrictions on Artificial Tiles | New Gear Girl & HR Graphics

vangrunz
Long Handed Inserter
Long Handed Inserter
Posts: 84
Joined: Tue Dec 26, 2017 1:26 pm
Contact:

Re: Fluid system: only 1st Storage Tank is filled to 25k and only with a pump

Post by vangrunz »

FuryoftheStars wrote:
Tue Mar 21, 2023 12:49 pm
Why worry about every tank squeezing in those last few drops?
Because I can. 8-)

Just kidding! :mrgreen:

A few things to notice:
  • UPS-friendly: A really full tank won't be taken into consideration with its neighbours. There're no fluids that need constantly to be calculated, squeezing literally without real success, not to forget that this scales with the amount of the attached tanks.
  • Speed: Like I've said before, a "pumped" tank storage fills in the shortest amount of time possible due to keeping up the highest flow rate of the feeding pump at all the time. The pumping speed is decreased the higher the fluid level is in the whole patch in a "normal" setup. Having pipes between the pump and the tank(s) worsens this scenario. Unloading a train's fluid wagons would take much longer if your storage tanks are filled with at least 4/5 of overall capacity.
  • Measure purposes: A storage that's completely full can be a trigger to the circuit network. The simple calculation "I have 4 tanks à 25k so I can set a trigger @ 100k" will never work unless you place pumps directly at every input without merging storage tanks adjacent or with pipes. As long as we cannot wire pipes to read their flow speed or content and wired (Offshore) Pumps can only be dis- or enabled leaves a Storage Tank as the only effective instrumentarium that can be used for flow control. The more important is an accurate function.
  • Indication: My developed system with all the pumps can indicate that you've done well setting up liquid/steam production, ensuring more input than is consumed (so it is now with a single tank). So I can set up a lamp or programmable speaker that alerts me if my storage starts to deplete -- or notices me about level or being completely filled.
Sure, in the new design you're maximizing the per tank storage, but that doesn't even come close to equating to one lost tank, let alone 7 (16 -> 9).
That's correct, indeed. Since terrain is (theoretical) generated endlessly, I don't think that some "wasted" space is really a problem.

PS: I have no idea why the "list" items do not show up for me. The formatting seems to be correct. :arrow: fixed, thanks to FuryoftheStars
Last edited by vangrunz on Wed Mar 22, 2023 11:44 am, edited 1 time in total.

FuryoftheStars
Smart Inserter
Smart Inserter
Posts: 2587
Joined: Tue Apr 25, 2017 2:01 pm
Contact:

Re: Fluid system: only 1st Storage Tank is filled to 25k and only with a pump

Post by FuryoftheStars »

PS: I have no idea why the "list" items do not show up for me. The formatting seems to be correct.
You need to wrap it with the list tags, too. You can quote this post and see what I did below.


  • UPS-friendly: Are we sure about that? Has anyone actually looked at the C++ code or gotten something from the devs to verify? My guess is that there will always be checks, even with max full tanks, and even then the most you're going to save yourself is a couple of insignificant math operations. And that's only if you're never consuming the liquid, either.
  • Speed: This is true, but this only really matters where you are consuming faster than what it can populate through the tanks. You most likely don't need to go so extreme as a pump between every tank.
  • Measure purposes: You can also trigger at 24k or 24.5k per tank. :D
  • Indication: Kind of goes with/the same as above.
I'd have to look back at some designs of my own at some point, but I recall having one with a pump every 2 tanks and having them fill to max 25k each.
vangrunz wrote:
Wed Mar 22, 2023 9:34 am
Sure, in the new design you're maximizing the per tank storage, but that doesn't even come close to equating to one lost tank, let alone 7 (16 -> 9).
That's correct, indeed. Since terrain is (theoretical) generated endlessly, I don't think that some "wasted" space is really a problem.
True. I guess I've become too used to my map gen settings where water is a bit more common.... :mrgreen:
My Mods: Classic Factorio Basic Oil Processing | Sulfur Production from Oils | Wood to Oil Processing | Infinite Resources - Normal Yield | Tree Saplings (Redux) | Alien Biomes Tweaked | Restrictions on Artificial Tiles | New Gear Girl & HR Graphics

vangrunz
Long Handed Inserter
Long Handed Inserter
Posts: 84
Joined: Tue Dec 26, 2017 1:26 pm
Contact:

Re: Fluid system: only 1st Storage Tank is filled to 25k and only with a pump

Post by vangrunz »

FuryoftheStars wrote:
Wed Mar 22, 2023 11:20 am
PS: I have no idea why the "list" items do not show up for me. The formatting seems to be correct.
You need to wrap it with the list tags, too. You can quote this post and see what I did below.
Thank you, I've fixed my posting.
I'd have to look back at some designs of my own at some point, but I recall having one with a pump every 2 tanks and having them fill to max 25k each.
As in v1.1.74, only the tanks with a pump directly adjacent fill to 25k. I did not manage to fill others without a pump. You can post a screenshot, if you like, so I can duplicate your setting.
True. I guess I've become too used to my map gen settings where water is a bit more common.... :mrgreen:
Therefore, I've got a mod, so water isn't a problem any more. ;)

Tertius
Filter Inserter
Filter Inserter
Posts: 685
Joined: Fri Mar 19, 2021 5:58 pm
Contact:

Re: Fluid system: only 1st Storage Tank is filled to 25k and only with a pump

Post by Tertius »

Here is an example that you don't need a pump for each steam turbine. You may need one at the beginning of a line to keep up throughput. These are 40 steam turbines with 40*60 = 2400 steam/s demand on full load. You see the one pump is able to supply this throughput (from an infinite source, open picture in new tab to see pump throughput at the right), so each steam turbine gets full power:
Screenshot 2023-03-22 175845.png
Screenshot 2023-03-22 175845.png (1.37 MiB) Viewed 3086 times


Usually, you don't use 40 steam turbines in a row, however it's absolutely possible, given you are able to collect that much steam throughput from heat exchangers. For smaller power plants, for example for a 2x2 reactor setup, no pumps are necessary at all, since the heat exchangers produce enough pressure (fluid height) sufficient until the end of a 8 to 10 steam turbine row.

This is the power graph with 40*5.82 = 232,8 MW, proving every steam turbine is at full load.
Screenshot 2023-03-22 182459.png
Screenshot 2023-03-22 182459.png (94.31 KiB) Viewed 3086 times


If it comes to the fullness of tanks, this is what I analyzed. The display of "24k" is a result of rounding. Actually, the tanks are full with a value of 24999:
2023-03-22 18-37-02 start=1 length=20 fps=15.gif
2023-03-22 18-37-02 start=1 length=20 fps=15.gif (3.06 MiB) Viewed 3086 times

Tertius
Filter Inserter
Filter Inserter
Posts: 685
Joined: Fri Mar 19, 2021 5:58 pm
Contact:

Re: Fluid system: only 1st Storage Tank is filled to 25k and only with a pump

Post by Tertius »

Addon to the steam turbine line.

Imagine this steam generation. 24*10 = 240 MW. This is able to generate 24*103 = 2472 steam/s, so it's able to supply our 40 turbines.
Unbenannt.png
Unbenannt.png (570.57 KiB) Viewed 3078 times
If you look from left to right, the steam level rises as well as the required throughput to carry our generated steam away.
At the leftmost pump, throughput must be about 1649/s, otherwise the leftmost heat exchanger gets full. 4 heat exchangers add their output of 4*103 up to 2061/s, and to keep up this much we need a pump. According to the pipeline table in the wiki, there cannot be more than 3 pipe pieces to some consumer at this throughput, so we put a pump in there (the pump marked with 2061/s). The next 2 heat exchangers add 2*103 up to 2268/s, and we need next pump here, since the next position 4 pump pieces away is too far away to keep up that throughput. The last 2 heat exchangers add the rest up to 2400/s (they can add more up to 2472/s, but I didn't add more steam turbines, so max throughput is 2400/s).
At the exit you see 2 pipe pieces I added to visualize we can have at most 2 pipe pieces to keep up the throughput of 2400/s. According to the wiki, 2 pieces allow up to 3000, but 3 pieces only up to 2250/s, which is not enough. 2 pieces are just right for the 2 underground pieces, so I built a small pipeline with pumps to keep up 2400/s.

Now the mysterious part:
Why can we keep up 2400/s behind the last pump, although we put 2 pipe pieces after the last pump (kills throughput) and after that a whopping 40 steam turbines without any pump?
Read the linked thread, web archive version, again. It tells us there are basically 3 fluid levels. A "high" level used by generators. A "ground" level used by pipe systems. And an "underground" level used by consumers. A pump does nothing else but lift input fluid to high level. Fluid from high level flows down to ground level, and from ground level to underground level.
The heat exchangers produce at high level. Its as if there is a pump at their output, since the steam flows to ground level in the pipes. The intermediate pumps lift the fluid up to high level again to keep up throughput.

After the last pump, fluid gets down to base level in the last 2 pipe pieces. But the steam turbines are underground level, and they have a buffer of 200 steam, so they actually span underground and ground level, if they are full enough. So as long as the turbines are filled with > 100, it's as if there is a pump between each turbine that provides steam at a higher than underground level. This fluidbox size of 200 is what enables that long line.

You must not put an ordinary pipe in between. If you do, only the surplus of > 100 is floating over to that pipe and reaching what is behind that pipe. From this point, the limit table in the wiki is applied again.

tl;dr
Use the height difference between producers, pipes and consumers to save pumps. Don't let fluids flow upwards from consumers to pipes (or tanks). This can only happen if the consumer is unnecessarily filled or if you lift the fluid with a pump. But if you use/exploit the height difference, you don't need pumps.

mmmPI
Smart Inserter
Smart Inserter
Posts: 2778
Joined: Mon Jun 20, 2016 6:10 pm
Contact:

Re: Fluid system: only 1st Storage Tank is filled to 25k and only with a pump

Post by mmmPI »

vangrunz wrote:
Tue Mar 21, 2023 8:05 am
In case of nuclear steam distribution every heat exchanger has its own pipeline with a storage tank and pumps from & to anything, whereever possible. In earlier setups, I desperated that there were bottlenecks while trying to bundle up steam production and distribute it (nearly even) to turbines, especially with a large storage (if the nuclear fuel runs out, there would be enough time to organize supply), so I dediced to sail around such incalculability. Buffering a large amount of nuclear fuel instead of steam gives me quite less headache, so fluids should be kept as minimal in setups as possible.
Hehehe that's the challenge of making a nuclear power plant that is reliable. Bottleneck in steam distribution is one part of it, and storing a buffer steam for electricity consumption spike, or handle a little time with cold reactor in between 2 refueling is another one.

vangrunz wrote:
Tue Mar 21, 2023 8:05 am
While we can merge large patches of storages tanks, this is not a good idea if you try to have a clean oversight what's the current liquid level, especially when using circuit networks. The most clean variant, but you cannot walk around then, is a tank with a pump that merges directly into the next (single) tank and so on. Looks ugly, but sometimes function goes over design. ;)
You could link all storage tanks with the same wire, to read the sum of them all, if you want to buffer say 200 000 steam more or less, you could always trigger an alarm or a refuel or allow water in when the number is under 200 000 as was suggested instead of doing something when the steam quantity is exactly 200 000 that maybe missed due to relying on reading 25000 and not 24999 in some tanks.

When you try to read fluid quantity with circuit network with precision, you may need to keep in mind that circuit numbers are only integers, but fluids are not. If you have a fluid quantity between 0 and 1, it will show up as 1 in the circuit network, but if you have 1.3 or 1.7 fluid, it will also show up as 1.
The decimal part is always hidden by the circuit even though the fluid is present. Except between 0 and 1, i think to allow player to detect those very small quantity that could cause problems of fluid (not) mixing. The decimal part is visible by the player when you hover your mouse around a pipe or a tank that has a very low quantity of fluid. "3.7" fluid can show up in the tooltip because the number is small and has few digits. 1405.3 will never show, instead it would be 1.4K

This has noticeable interaction with the circuit network when you have a pair of thing that contain the same quantity of fluid and reading their combined quantity gives a odd number in the circuit. To make sure you have the same quantity of fluid, you can do parralel identical but isolated lanes of input. Say 2 offshore pump pumping directly into 2 different wagons of the same train from which you "read content".

You can make sense of this because of the game doesn't use second for unit of time but ticks, which is 1/60 of a second, every "frame" of the 60 fps the pump "moves" a quantity of fluid so if you read 60/s for pumping speed really it is 1 per tick. Now when the speed is 30/s it could either be that 1 fluid is pumped every other tick, or that 0.5 fluid is pumped per tick, and it is the later. When pumping speed is 15/s, it means there is 0.25 fluids that is "pumped" every tick. And if you wait 10 ticks, (a fraction of second, 1/6) there will be 2.5 fluid in both wagon of the train. Or according to the circuit network, 5 fluid in the train. But if you unload the first wagon in a tank, there will be 2 fluid in that tank, and only 2 fluid left in the train according to the circuit network. And if you hover with your mouse over the tank, it would show 2.5 fluids.

This look like a lot of operation when you factor in the number of pipes and pumps that is dealt with 60 times per second, i think for the game it's still better to do it as few calculation as possible by reducing the amount of things, including pumps for UPS purpose. As such the 40 turbines long lane from Tertius is probably the most efficient way to handle carrying steam to 40 turbines since it is the one that require the smaller number of piece in the pipe network. (disregarding the increased difficulty of water supply). If the pipe network is a tree, that design would yield a forest of trunks.
Tertius wrote:
Wed Mar 22, 2023 6:58 pm
Read the linked thread, web archive version, again. It tells us there are basically 3 fluid levels. A "high" level used by generators. A "ground" level used by pipe systems. And an "underground" level used by consumers
It does explain the 40 turbine long lane, and pump behavior for large volume, but i couldn't use it to predict the level in the third tank between 24 999 and 25 000.

I couldn't find the level for the offshore pump, I assume it is as tall as the regular pump as it's a generator, and considering the tank is just a larger pipe, the logical expectation for the case 1 in your nixie tube animation would be 25000 in all tanks ? not 24 999 . The same case would materialize to try and in theory predict the level of a setup that would do offshore pump=> pump=> tank tank tank. In a way to test the hypothesis that the offshore pump can push liquid high enough in the pump that it will propagate to the last tank of the lane without requiring pumps in between tanks to get them to show 25K. ( as long as there is 1 pump at the beginning of the branch, it is "pressurized" giving that you don't put bottleneck in a branch, such as a pipe in a lane of turbines. bottleneck being "lower maximum level" than following entity). "How long can the branch be if you want such flow in your consume" is my understanding of the chart that follows in the linked thread. But it is a little different when the end point is not a consumer but a tank. And when trying to predict the "height" at which the liquid will eventually settle instead of the flow.( one may say unecessary complications when the aim is to feed steam turbines where what matters is the flow but still present when dealing with steam buffer measurement in tanks).

( in test setup that would be setup 1 with the addition of a pump just after the offshore pump, or setup 3 with the removal of the pipes)

I was under the impression that the game behave that way ( all tank would be at 25K , lane is "pressurized") but when seeing your nixie tube animation and re-reading the linked thread i'm not sure anymore if there is such difference using that pump and why .


TL DR : It easier to design nuclear power plant around different mechanism than those relying on precisely measuring fluid, such as mechanism designed around loosely measuring fluid at the cost of a small loss of efficiency. Also reducing the overkill in pumps for steam progressively, is still safer for power generation than adding them when there are power shortages to try and fix things on the fly whereas for crude oil the matter is less important. In both case water and oil are infinite which gievs tool to avoid that some 1 fluid become a problem :)

mrvn
Smart Inserter
Smart Inserter
Posts: 5710
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: Fluid system: only 1st Storage Tank is filled to 25k and only with a pump

Post by mrvn »

One thing I believe has been completely ignored in this discussion:

The level of fluid in an entity does not show the flow. The level only shows "pressure". For the flow the difference in level between 2 entities is relevant.

For the purpose of steam engines and turbines what you want to look at more than the level is the consumption. Say the turbine is empty to start with. Now 60 steam flow into it and the turbine will consume 60 steam then it will end up empty again. The level will show as 0 steam but that is perfectly fine (for the last turbine in a row). In fact having any amount of steam left in the turbine means you produced some steam that wasn't consumed. You could call that inefficient.

Usually though turbines aren't running at constantly 100% (or you would have brownouts) so steam builds up. What you end up with is a level of steam in the turbines so that there is enough pressure that each turbine can consume 60 steam/s and a flow of 60 * num-turbines.

My point though is that the level is irrelevant. It could be 100 at the first turbine and 0 at the last or 200 at the first turbine and 100 at the last. Both situations are equivalent. The same amount of steam flows in both cases.

Now taking this back to storage tanks: An empty storage tank is bad because it has no pressure to make fluid flow. Somewhere between 1k and 5k I find acceptable and the tank will produce a good pressure for out flowing fluid. On the other side somewhere between 20k and 24k the tank doesn't have too much pressure to hinder in flowing fluid too much. Both empty and full are extremes that you would want to avoid in a flowing system.

You need pumps to get a tank really full or really empty. And even there you want to avoid it because you won't get max flow for the extremes, even pumps slow down there.

Now there is one situation where this is important, and in vanilla at least not really: Train stations. Again you want the tanks to be never empty and never full. When a train arrives to be fueled and the tanks get low then getting the last dregs out of the tank takes longer. Similar when a train arrives to be empty and the pumps need to fill up the tanks to the top then that takes longer. Luckily a fluid wagon is 25k and a tank is 50k. So it's easy to have the tanks neither completely empty or completely full. Note that using up to 3 pumps on a fluid wagon is faster but not 3 times as fast. The time taken to pump also becomes dwarfed by the time taken for the train to be replaced by the next one. Especially the longer the train becomes.

With modded tanks or fluid wagons it could use some small thought though. Using a single 25k tank for a 25k fluid wagon might not be optimal. On the other hand some fluid will be pumped into/out of the tank while the train is at the station so you're probably not slowing down anything. Say it takes 50% of the time to pump the fluid wagon full and 50% to switch trains. Then if you aren't refilling the fluid tanks at half the pump speed then the loading of the fluid wagon isn't the limiting factor. Which means that while you empty a 25k tank you also fill back 12.5k. Optimally you would have the tank oscilate between 6.25k full and 17.75k full in that case. A 25k tank and a 50k fluid wagon would reach the extremes of going between completely empty and completely full and there you would see the slowdown from hitting the extremes.

Note: All this assumes tick perfect train movement and fluid consumption/production. You should always factor in a margin of error because both of those are more chaotic. Waves in the fluid system can add more complexity.

In conclusion: Why would you ever want your tanks to be full? If it's about maximising storage then 24999.999 fluid is basically equivalent to 25000.000. Add a single extra pipe to one of the storage tank and you can make up the difference for 100000 tanks with that alone.

FuryoftheStars
Smart Inserter
Smart Inserter
Posts: 2587
Joined: Tue Apr 25, 2017 2:01 pm
Contact:

Re: Fluid system: only 1st Storage Tank is filled to 25k and only with a pump

Post by FuryoftheStars »

mrvn wrote:
Thu Mar 23, 2023 2:39 pm
Luckily a fluid wagon is 25k and a tank is 50k.
Typo? Unmodded tanks are 25k storage.
My Mods: Classic Factorio Basic Oil Processing | Sulfur Production from Oils | Wood to Oil Processing | Infinite Resources - Normal Yield | Tree Saplings (Redux) | Alien Biomes Tweaked | Restrictions on Artificial Tiles | New Gear Girl & HR Graphics

Post Reply

Return to “Gameplay Help”