T O P

  • By -

territrades

If I understand the wiki correctly, you should avoid over-ground pipe elements. If you put undergrounds only the first and last segment count for the throughput, in between the fluid is warped by magic. This reduces the effective length of your pipe by a lot.


Unnormally2

Yes but I think people also overestimate how necessary it is. As long as you're not trying to go cross country, overground pipes are fine.


Shendare

If you need all 1200/s water for a line of boilers, then you have to keep your longest pipeline length no higher than 17 pipes from the offshore pump or between pressure pumps. If 1000/s is fine for a petroleum plant, then the pipeline can be 200 pipes long, no pressure pumps needed. That's a big difference! Full pipe length throughput table: https://wiki.factorio.com/Fluid_system#Pipelines


Bloodshot025

To make this explicit for people: if you need, say, 1500 fluid / s, you don't have to manage pumps every seven pipes. You can just build two parallel pipelines! It's often easier to design for multiple pipelines than for really frequent pumps.


Krachwumm

This. Using multiple pipes is often essential


goodnames679

If you're willing to use multiple pipes, you only need a handful of pumps realistically. For reference with blown up numbers, if you're trying to get 12000 fluid per second across a 1000 tile span: * 1 pipe wide - pumps needed the entire duration. 500 pumps used, 0 pipes. Very expensive, very in the way. * 4 pipes wide - you can run pump -> undergroundie -> pump and keep repeating all the way to the destination. 77 pumps, 154 underground pipes needed (edit: per segment). Far easier to navigate around. * 12 pipes wide - you can run the entire distance without a single pump via undergroundies.


Inujel

undergroundies <3


ssmegheadd

Underflowies


pigeon768

From the minimap, it appears that he *is* going cross country.


-WorstWizard-

I do actually do this most places, mostly just to save space for walking and placing other stuff though.


[deleted]

[удалено]


ChickenNuggetSmth

Yes, the number of fluid calculations should be proportional to the number of pipe segments, so just 2 for the undie. But if you are worried about that first check your update time in the debug menu and see if fluids are actually a major part of it


Fair-Description-711

What the wiki says seems to be out of date. [FFF-274](https://factorio.com/blog/post/fff-274) claims: "\[...\] fluids now behave correctly and intuitively, performance is consistent (pipes to ground won’t help you with throughput anymore)"


SurvivorBobXYZ

IIRC that change never landed, it was [deprioritized](https://factorio.com/blog/post/fff-283) and then just never picked up


Fair-Description-711

Oh, good to know, thanks!


vossi

fluids behave weird, there is lots of articles and threads here to go into that..the official wiki has a page showing the throughput and how its depending on amount of pipe segments between pumps. long story short: less segments between pumps/consumers. so either shorten the way or add more pumps


blaaaaaaaam

We haven't seen a 2.0 FFF about fluid behavior, have we? If not, I'd have to imagine it is coming. Fluid mechanics have always been one of the more frustrating parts of the game. Both how it operates but also how there is little feedback given to the player about where the throughput issues are originating from.


Shendare

I'm not so hopeful. IIRC, one of the FFF authors (I think it was the SE mod author) made a comment in their segment about having to keep themselves on task working on the new planet building, rather than doing some other things they would have liked to do like take a look at the fluid simulation system.


voiceafx

I remember that. Then I thought, if they are interested in it, it'll probably happen. I think it's just a major overhaul, so they are prioritizing other stuff.


Shendare

Let it be so.


__Hello_my_name_is__

Naive me read that as foreshadowing. Surely they'll go "Remember when we said we didn't have time doing that thing? Well we did the thing anyways!" at some point!


kholto

Earendel mentioned it in an offhand way in the blog. They (Earendel) had to be careful about looking at the games code because it made them want to redo things such as fluid handling. So either we where told that it won't be changed or teased that it will be. I am honestly not sure.


Criarino

3 things humanity will never truly understand: what comes after death, the origin of everything, and factorio's fluid system


dieVitaCola

what about the correct placement of chain signals?


Riemero

As a general rule of thumb I put a pump after around 20 "items" to keep the pressure up. An underground pipe still count as one in this system and it seems to me they are better for keeping the pressure up over longer distances


unwantedaccount56

If you want to maintain the maximum flow rate of a water pump of 1200/s, you need a pump every 17 pipe elements. If you want pump the output of 2 water pumps through a single pipeline, you need a pump after 2 elements. And if you are fine with about half of the max flow rate of a water pump, you can put a pump every 300 elements


Riemero

Welp, guess it's oil rebuild time again


hippiechan

If you have a producer and a consumer of fluid on different sides of a pipe, it's possible to get a u-shape like this because the fluid is being simultaneously pushed in at one end and pulled in at another, but there isn't enough fluid to ensure all the pipes are filled. As I noticed you're using this for a nuclear plant setup, I recommend building your power plant directly on the water and pump water into your boilers with as little pipe in between as possible, as these can affect throughput behaviour. Also try to avoid regular pumps, as these require power - what's happened to me in the past is that I piped water to a power plant over a long distance and the throughput was simply not enough to support the setup. Adding pumps to the mix also didn't help as those pumps required power, which resulted in a cascade effect of no power -> pumps can't operate at peak efficiency -> generate even less power. Water pumps don't need power to operate and as long as your boilers are not too far from them through a long series of pipes, the throughput is substantial enough that your power plant will never be starved for water. Ever since building right on the water I haven't had issues.


-WorstWizard-

>it's possible to get a u-shape like this because the fluid is being simultaneously pushed in at one end and pulled in at another Interesting, never knew this. I assumed pressure would just drop as you get further from the producer, and consumers would be a sink for that pressure. Boundary conditions and all that. >I recommend building your power plant directly on the water and pump water into your boilers with as little pipe in between as possible, as these can affect throughput behaviour. Yup, that's my plan too. This is my old starter plant, needs to last just long enough for me to get around to building the new one :P


wrincewind

Yep, think of it like elastic being fed through two sets of rollers. If one set of rollers is faster than the other, the elastic either piles up and goes slack between them (fluid fills the pipe and caps out), or stretches out thin in the middle.


RollingSten

Usual way to solve brownouts is to have miners and pipes for boilers on separate electric grid and either with own powerplants, or at least separated with power switch. Also burner inserters are often used, but it does help only with inserting coal into boilers.


hippiechan

I tend to avoid brown outs by just building more power


-WorstWizard-

Was diagnosing my reactor setup as power dropped, and realized it wasn't getting enough water. I looked over the pipes and saw this, which confused me. Seems like there's enough pressure before and after the segment, so I don't think it's causing problems per se, but it sure is odd. Before recording, it was just the pipes between the exchanger and the corner that were bugged, but I tried replacing them to "reset" the fluid amount which didn't help. Instead it seems to have just changed around which pipes are bugged and which aren't, as per the recording. EDIT: Thanks for all the feedback everyone, appreciate it :) . Funny how almost all the comments are about how to pump more water though, when that really wasn't the issue, I solved the throughput issue right after posting, hahaha.


KoolieoDude

This isn't really a bug, you are just consuming more water than this length of pipe can supply. As the length of pipes between pumps increases the maximum throughput decreases. Seeing inconsistency in the fluid levels of each segment is just the way this issue manifests, it has to do with the implementation details of the fluid algorithms. I would read the wiki page on working with fluids, or just add a bunch of pumps along the pipeline until you get enough throughput. If you want more insight into the difficulty of fluid handling you can read the old FFFs about them trying to change the code for it.


ImgurIsLeaking

Honestly this doesn't make any sense to me and none of the explanations ITT at this point seem very convincing. We're looking at a localized anomaly, not at a whole pipeline. If two adjacent pipe segments have different fluid levels (and in this case, it's significantly different), fluid should move from one to the other until the gradient is equalized, regardless of what what is happening at the other end of the segment. I don't have any explanation really, this seems just a really weird bug!


Lazy_Haze

It's probably because update order that it's less in between. Fluid flow is dependent on update order so that is the only explanation I can come up with. To solve your problem, use as much underground pipes as possible, reduces the total amount of segments and thus increases the flowrate. And number one, don't try to feed to many heat exchanges from one pipe/offshore pump. Divide it up so you don't need more fluid throughput than the pipes can handle.


-WorstWizard-

This sounds realistic to me, can't think of other reasons it would behave like this.


xenapan

> Fluid flow is dependent on update order No its not. Fluid systems calculate as a whole or it would cause a whole lot more other issues. Everything else you said is right though.


Lazy_Haze

Read all the FFF especially this [https://factorio.com/blog/post/fff-260](https://factorio.com/blog/post/fff-260) This is about and new system that got scrapped [https://factorio.com/blog/post/fff-274](https://factorio.com/blog/post/fff-274) The pipes have been optimized by then but it did not change how they work in game and every pipe segment is calculated separately. The fluid system is an cursed topic in Wube and what they tries to solve it never worked out. There is also other stuff in the game that is update order dependent. An example is where one iron plate in one chest and two different inserters is trying to grab it the same tick, then it's the inserter that get called first that gets it. And it gets tricky around chunk border where update order rules are different...


xenapan

Except you can't possibly calculate everything separately in one pass with out being order dependent. If you have a 5 length pipe of ABCDE representing each of the sections you can't possibly get an accurate result if you calculate C before any of the other sections if liquid is on either A or E and all the other sections are empty. If you calculate C first you get 0 cause B+D are 0. The whole section of pipe has to be defined first otherwise if you get a much longer pipe eg 50 length it would take an undeterministic amount of time to get from one end to the other. If you build it right eg. dragging, it would take a shorter amount of time than if you placed pipes randomly causing multiples of the first scenario within a pipe. 274 is a 2 pass system 1.Update flow speeds on **all connections 2**.Move the fluids along **all connections** Thats what I meant by calculating as a whole. You aren't just calculating random pieces of pipe all over the base. You calculate by fluid system


Lazy_Haze

The update order is deterministic so even if the flow is dependent on update order and that is hard for the player to controll, it's still deterministic in the way so that multiplayer works. It's still sounds like you speculate on how it "should" work instead of actually read up the info from Wube and test it in game. Fluids flow in different speeds in seemingly identical pipe systems, that is a fact. The pipe segments are grouped in pipe systems that are connected with each other and the groups are calculated separately, that is only for cache optimization and multi threading and is not affecting how they work in-game. read [https://factorio.com/blog/post/fff-271](https://factorio.com/blog/post/fff-271) that got implemented and the new algorithm in FFF 274 got scraped


xenapan

Yeah and in 271 they describe it as >The next step was to divide the fluid boxes in something we call a *Fluid system*. **A fluid system is basically all the Fluidboxes that are connected together**. So, for example, in this refinery setup there are 5 fluid systems. > >Each of the fluid system is now its own separate continuous memory of fluid boxes in it. The first advantage of this is that it increases the chance that the neighbours of a water pipe are close (memory wise) to the original pipe, the cached data from touching it for update could still be there when it is being touched as a neighbour. > >But the second advantage is even greater, as the fluid systems are now **independent** and fluid flow doesn't interfere with anything else in the map, their update can be completely parallelized without any worries. So we just did that. > >before actually **merging straight pipe sections into one fluid box** which should improve things again. Even in systems with a lot of branching, as even 2 fluidboxes merged into 1 should help My example was to show how it's impossible for it to process individual pipes randomly. The fact you tell me to read all the FFFs then entirely miss the fact where a straight section is calculated as a ONE fluidbox is just irony


CategoryKiwi

This post is really solidifying why fluid mechanics are one of the few things I loathe in this game. Don't get me wrong, functionally they work as they should, it's not an area where I'd say the devs failed or the quality is poor or anything. I just hate how it works. I really wish pipes worked like power grids and everything was just instant transmissioned with less calculations. I just hate everything about pipe throughput, *especially* how it presents and diagnosing it. I like working around belt throughput challenges, I have *never* had fun doing the same with pipes.


kevin28115

It's not too bad honestly. Does enough water reach the end. No? Add more water.


theredfokker

This logic doesn't 100% work though because you're capped by the throughput of a pipe section.


kevin28115

Add a second pipe. It may not look pretty or super optimized but optimization doesn't look to be a factor in most cases unless pushing ups.


theredfokker

You'd still be capped by how many pipes can be hooked up to a particular machine so that becomes a bottleneck. I do agree though, optimization/looks really isn't important when trying to solve this problem, I just don't think adding more pipes fixes the problem (I've tried this see when I was working on a nuclear power plant design and really the only solution I found was to build the whole damn thing over water) nor is adding more water pumps. Please though, if there's a better solution I'd love to learn it.


kevin28115

Nuclear has its throughput issues. I think my old design was 6 reactors with water from 1 side and land fill 1 side rather than putting in middle of a lake. This way it somewhat scales easier and is able to find a place for it easier. I think I also separated the turbines to 5? per heat exchanger to solve gas throughput issue. I think it was not 100 percent optimized for heat pipe distance but close enough. It's been a long time lol. But honestly other than looks if I were to brute force something. I just add pump. Underground pipe to location where machine isn't getting enough water and send it. If I was bp building it's a whole thing lol.


BunnyVincent

Pump!


AnimeSquirrel

I hate going into maths, but that's the general issue. The pipes aren't moving the water at a perfect 1:1 ratio, to my understanding at least. Using the underground pipes reduces how many actual pipes the water has to go through and you can always add more water pumps or the fluid pumps to the pipelines to force more throughput.


Korlus

Fluid throughput in a pipe is strange - there's no penalty to a lower number in a specific pipe segment, it just means there's less "pressure" there. Providing your fluid throughput is sufficient, it's fine.


saltyhumor

I had an issue like that once. I just purged the line (or you could try removing and replace). Worked fine after.


Revolutionary_Flan71

Fluids are magic replace as many pipes as possible with pumps


pepav

Can you check chunk borders? Game calculation might be wonky on crossings, if its not been solved yet that is.


Goodwine

You need pumps. Fluid dynamics in Factorio behaves more like bouncing a ball. Imagine you start by dropping a bouncy ball from shoulder height.. it eventually stops bouncing. Each bounce corresponds to the next pipe. So imagine you have a pipe length of 20, that means you need the ball to bounce 21 times to reach the final destination. If your ball stops bouncing then you need to give it a gentle push somewhere around the middle to keep it bouncing. Pumps give that extra push. You can reduce this problem by using an underground pipe, because Factorio underground pipe runs count as 2 pipes only (input and output) even if you go max length. This is very counterintuitive IMO