Page 1 of 1

[0.17.52] Fluid flows up but not down?

Posted: Sun Jun 30, 2019 12:24 pm
by Kingdud
I was making a design to create rocket fuel and wanted to test whether bots or belts were more performant. However, when I made the belt design, half the chemical plants take their input from the top, and the other half take it from the bottom (in the bot factory, everything took it from the bottom). In the bot factory, there was no bottleneck.

In the belt-based factory, in order to minimize the number of substations needed, the some chemical plants feed from the top, and others from the bottom. The chemical plants that feed from the top get starved of light oil around 7 plants before the end, while the row that feeds from the bottom has a surplus of oil in the pipe.

The pipe lengths for the top/bottom feeder have been varied and do not seem to have an impact. The pipe length for the top-feeders is actually shorter than the bottom feeders. Left and right-side feeding don't seem to matter either (the map I gave you includes both variants on different rows).
Blue checkmark: works fine. Red x: doesn't work (fluid starved)
Blue checkmark: works fine. Red x: doesn't work (fluid starved)
fluid_updown.JPG (109.88 KiB) Viewed 4173 times
Blue checkmark: works fine. Red x: doesn't work (fluid starved)
These pipes were disconnected, but are left in case you want to test with additional flow.
These pipes were disconnected, but are left in case you want to test with additional flow.
connect-to-test.JPG (118.46 KiB) Viewed 4173 times
These pipes were disconnected, but are left in case you want to test with additional flow. I used them to see if it was just a timing problem, where I needed to wait longer for the pipes to fill. But once I disconnected the additional supply, the pipes on the 'flows down' row always emptied.

So...why does fluid flow up but not down at the same throughput?

Re: [0.17.52] Fluid flows up but not down?

Posted: Sun Jun 30, 2019 12:45 pm
by Rseding91
Moving to gameplay help.

Re: [0.17.52] Fluid flows up but not down?

Posted: Sun Jun 30, 2019 12:46 pm
by Kingdud
Rseding91 wrote:
Sun Jun 30, 2019 12:45 pm
Moving to gameplay help.
Uh, why? This is almost certainly a bug.

Re: [0.17.52] Fluid flows up but not down?

Posted: Sun Jun 30, 2019 12:48 pm
by Rseding91
Kingdud wrote:
Sun Jun 30, 2019 12:46 pm
Rseding91 wrote:
Sun Jun 30, 2019 12:45 pm
Moving to gameplay help.
Uh, why? This is almost certainly a bug.
It's not. You simply don't understand how fluid flow works. It has worked this way since pipes where put into the game and the logic hasn't changed for the 4+ years they have existed.

Re: [0.17.52] Fluid flows up but not down?

Posted: Sun Jun 30, 2019 12:52 pm
by Rseding91
Additional information: viewtopic.php?p=344068#p344068

Re: [0.17.52] Fluid flows up but not down?

Posted: Sun Jun 30, 2019 12:55 pm
by Kingdud
Something I think you're missing: there are no vertical connections across feed lines. From the fluid origin to the drain the ONLY vertical connection is the drain itself. And the drains on 'up' and 'down' flows are identical in their demand quantity. IE: 1 row of 50 chemical plants with 'up' intakes, and 1 row of 50 chemical plants with 'down' intakes. But each row of 50 is fed by a fully independent fluid source!

Re: [0.17.52] Fluid flows up but not down?

Posted: Sun Jun 30, 2019 12:55 pm
by Rseding91

Re: [0.17.52] Fluid flows up but not down?

Posted: Sun Jun 30, 2019 12:57 pm
by Kingdud
edit: I lost my temper, stand by.

Please open the map and look at the setup before telling me to read basic fluid mechanics posts I read and utilized 2+ years ago, and have kept up on in the time between. I have spent most of my professional career hunting bugs. I know exactly what I'm doing. You will find the example to be just about as crystal clear as it can be. There is no possible scenario in which the bug present in my map example is not a bug.

Re: [0.17.52] Fluid flows up but not down?

Posted: Sun Jun 30, 2019 1:12 pm
by Kingdud
Rseding91 wrote:
Sun Jun 30, 2019 12:55 pm
See also: viewtopic.php?t=19851
input side.JPG
input side.JPG (314.67 KiB) Viewed 4141 times
Here's a screenshot of the input side (well, part of it, the input side for both one 'up' and one 'down' row. As you can see, at not time does fluid flow vertically between the rows, both are fed directly by a fluid source capable of out supplying demand. 80 and 70 are the quantity of fluid in each pipe before any vertical changes have occurred.
at-end-of-line.JPG
at-end-of-line.JPG (166.19 KiB) Viewed 4141 times
And here's the same two rows at the end of their lines. The demand on both lines is identical, but one line magically accepts and transports less fluid than the other.

Saying that this is expected behavior because the update of fluid boxes goes in clockwise order is silly. There is more supply than demand. The pipe should fill. Period.

Re: [0.17.52] Fluid flows up but not down?

Posted: Sun Jun 30, 2019 1:27 pm
by Loewchen
It's textbook fluid update order issue, if you feed the consumer direction south you run dry if you feed direction north you do not.

Re: [0.17.52] Fluid flows up but not down?

Posted: Sun Jun 30, 2019 1:50 pm
by Kingdud
Great, so never allow fluids to flow in from the top because the game logic can't handle it. "Not a bug! Just fucking dumb!"

Re: [0.17.52] Fluid flows up but not down?

Posted: Sun Jun 30, 2019 2:03 pm
by Loewchen
It can "handle" both directions, it just makes a difference. A fluid box that has fluid removed from it already does not move as much fluid in the direction next in sequence. No one likes the behaviour but it's not something you can just "fix", it needs a completely new and different system that is in the works but not finished.

Re: [0.17.52] Fluid flows up but not down?

Posted: Mon Jul 01, 2019 12:40 am
by Frightning
Loewchen wrote:
Sun Jun 30, 2019 2:03 pm
It can "handle" both directions, it just makes a difference. A fluid box that has fluid removed from it already does not move as much fluid in the direction next in sequence. No one likes the behaviour but it's not something you can just "fix", it needs a completely new and different system that is in the works but not finished.
As soon as I read the OP, I was 99% sure it was this issue again. Yes, the devs are aware of direction mattering. They do intend to fix this, but 'fixing' this is very non-trivial (for reasons that aren't immediately obvious). So it is still being worked on (likely that 0.18 will have it, or perhaps it will show up later in 0.17 branch?).

Re: [0.17.52] Fluid flows up but not down?

Posted: Mon Jul 01, 2019 10:53 am
by mrvn
So to summarize:

1) fluid flows faster in some directions than others
2) build order of pipes makes a difference too

Maximum throughput of a pipe (build by bots) is unpredictable. A fluid stream can't be split 50:50 since in a T one direction will get more than the other.

Conclusion: stay well below max throughput of a pipe.

Re: [0.17.52] Fluid flows up but not down?

Posted: Tue Jul 02, 2019 11:06 am
by Zavian
mrvn wrote:
Mon Jul 01, 2019 10:53 am
1) fluid flows faster in some directions than others
2) build order of pipes makes a difference too
Personally the only time I have ever seen 1 was when fluid supply was less than demand. (Note that I consider that to include situations where demand exceeds pipe throughput. Anything downstream of a throughput limited pipe section doesn't know or care why it is short of fluid, it only knows that demand exceeds supply). I also normally aim to be below the published fluid throughput values, and have never noticed 2.

If supply exceeds demand, and there are no loops of pipes, or sections that are throughput limited, then all branches of a pipe network get enough fluid, so that prefered directions at junctions just don't matter. (They do matter when demand exceeds supply, but that is solved by adjusting either supply or demand to that supply exceeds demand again).

I'm not saying that those problems don't happen, only that provided I ensure that supply exceeds demand, which includes staying below pipe throughput limits, and I avoid possible fluid flow loops, I haven't seen any problems.

Re: [0.17.52] Fluid flows up but not down?

Posted: Tue Jul 02, 2019 1:46 pm
by mrvn
Zavian wrote:
Tue Jul 02, 2019 11:06 am
mrvn wrote:
Mon Jul 01, 2019 10:53 am
1) fluid flows faster in some directions than others
2) build order of pipes makes a difference too
Personally the only time I have ever seen 1 was when fluid supply was less than demand. (Note that I consider that to include situations where demand exceeds pipe throughput. Anything downstream of a throughput limited pipe section doesn't know or care why it is short of fluid, it only knows that demand exceeds supply). I also normally aim to be below the published fluid throughput values, and have never noticed 2.

If supply exceeds demand, and there are no loops of pipes, or sections that are throughput limited, then all branches of a pipe network get enough fluid, so that prefered directions at junctions just don't matter. (They do matter when demand exceeds supply, but that is solved by adjusting either supply or demand to that supply exceeds demand again).

I'm not saying that those problems don't happen, only that provided I ensure that supply exceeds demand, which includes staying below pipe throughput limits, and I avoid possible fluid flow loops, I haven't seen any problems.
The fluid box of a pump or assembler type building is much lower than that of a pipe. So the assembler sucks the pipe dry quite efficiently no matter how full it is. I think all the fluid of a pipe can move into a pump or assembler every tick, at least at low fill, because pipes before a pipe often show as 0 filled even with lots of fluid flowing through.

So yeah, if you have any fluid in the pipe, e.g. 10 units, then the assembler will get that every tick as long as you can replenish it. No need for the pipe to be at 100 for a pump or assembler to get a full fluid box. Most assemblers don't need 10 units every tick. That would be 600 units/s. <60 units/s is more likely.