Page 2 of 2

Re: pumps seem useless for long distance pipes?

Posted: Wed Sep 04, 2019 12:20 pm
by billbo99
Guess there are a few options to get around pipe pressure issue.
- Rather than use 1000 pipes use 500 pumps, you only use 1x pipe to turn a corner so you should be able to maintain a 6000 u/sec flow.
- As previously suggested use a small train track to shuttle back and forwards oil in a tanker.
- Have you look at putting your fluids into barrels and move them about on a bus. You do need A LOT of barrels and that will consume A LOT of steel. But you are able to use belt balancers which in turn gives you better control of what fluids are going where in your build.
- Once your robot speed is fast enough you can get your bot to replace the belts.

Re: pumps seem useless for long distance pipes?

Posted: Fri Sep 06, 2019 11:33 am
by Pandrosos
llVIU wrote:
Tue Sep 03, 2019 7:05 pm
Let's say I have 1000 sections of pipes, and at the end I put a pump
This is your problem. Put it this way: machines that produce or consume a fluid already have their own pump built in. Putting a pump at the beginning or end of a pipe run thus doesn't do much. To boost flow you need a pump in the middle of the run.

(Exception: I believe it's helpful to put a pump on the outlet from a storage tank.)

The wiki page was linked above, it has the table of how often you need to place pumps to get a certain flow. As mentioned, long pipe runs usually use underground pipes, both to boost flow and so they don't get in the way of the player or biters.

The other use for pumps is as circuit-controllable one-way valves.

Re: pumps seem useless for long distance pipes?

Posted: Fri Sep 06, 2019 11:47 am
by eradicator
Pandrosos wrote:
Fri Sep 06, 2019 11:33 am
(Exception: I believe it's helpful to put a pump on the outlet from a storage tank.)
This is infact the only way to get maximum flow at all - pumping out of something that has more capacity than the pump itself. Same goes for input, but as you usually have 10s of machines that consume from the same pipe it's not really noticible there.

Re: pumps seem useless for long distance pipes?

Posted: Mon Sep 09, 2019 6:58 pm
by llVIU
Thanks for the replies and alright, I get now how it works, although you gotta admit that putting 1000 pumps one after the other is pretty impractical, especially when you have several pipes together (like water next to it) or need to turn around corners, or go underground to avoid train tracks.

I was asking for argument sake. And I can't find a post confirming this... putting (for example) 5 low pressure pipes would give out a pretty good pressure into one single pipe, wouldn't it? I was aiming for 1-2 ***MAX*** pressure oil pipes, to fit it into an optimal blueprint that needs an input of max pressure oil and max pressure water. Low pressure = some rafineries will sit idle.

Re: pumps seem useless for long distance pipes?

Posted: Tue Sep 10, 2019 10:10 am
by Zavian
That sort of refinery design fed by just one pipe just isn't feasible. You need around 4k oil per second to feed all those refineries with that many beacons. (If you could squeeze in enough beacons to fully beacon that setup, it would feed about 2000 science per minute). To get that amount of throughput you need a pump after every pipe segment, or more realistically 3-4 crude input pipes. (Looks like Factorissimo? I have no idea what the max flow rate of Factorissimo's fluid connections is).

Your petroleum production would be about 2800 if all the refineries were running. To maintain a flow rate of 2800 would mean a max of 2 pipe segments between each pump. Again more realistically, you would be better with 2 or more separate petroleum output pipes.

You seem to be confused about pressure and flow rate. When you talk about low pressure and high pressure, what you seem to be meaning is really low flow rate and high flow rate. If you want to combine 2 or more low to moderate flow rate pipes to achieve one high flow rate pipe, then I recommend pumping 2-3 moderate flow rate pipes into a tank, and then using a pump directly connected to the tank for the high flow rate output. Also tank to tank fluid flow rate isn't particularly fast. (Indeed I consider it slow unless there is a large difference in the amount of fluid in the 2 tanks. Your massive tank farm will perform very badly from a fluid transfer point of view. If you really want to keep it, then tank -> pump -> tank). Also get rid of the 2 parallel pipes that are cross connected every segment. That sort of design does not improve flow rates. You would get better flow rates by using undergrounds to minimise the number of pipe segments.

You talk about an optimal blueprint as though filling the space is optimal. At that sort of production scale what you should be aiming for is ups efficiency. You can always build more beacons/modules/refineries etc. What you can't do is magically make Factorio's code process game updates faster. So I would prefer a clean simple design that minimises fluid flow complexity, in the hope that less pipe connections is better for performance than something more complex. Prior to version 0.17 less pipe segments were definitely better for performance. I'm not sure in the current version how much that matters. (Note that I've heard that Factorissimo is bad for performance in general. That was some time ago, and I'm not sure whether that applies to the current version).

Re: pumps seem useless for long distance pipes?

Posted: Tue Sep 10, 2019 4:11 pm
by llVIU
Zavian wrote:
Tue Sep 10, 2019 10:10 am
That sort of refinery design fed by just one pipe just isn't feasible. You need around 4k oil per second to feed all those refineries with that many beacons. (If you could squeeze in enough beacons to fully beacon that setup, it would feed about 2000 science per minute). To get that amount of throughput you need a pump after every pipe segment, or more realistically 3-4 crude input pipes. (Looks like Factorissimo? I have no idea what the max flow rate of Factorissimo's fluid connections is).

Your petroleum production would be about 2800 if all the refineries were running. To maintain a flow rate of 2800 would mean a max of 2 pipe segments between each pump. Again more realistically, you would be better with 2 or more separate petroleum output pipes.

You seem to be confused about pressure and flow rate. When you talk about low pressure and high pressure, what you seem to be meaning is really low flow rate and high flow rate. If you want to combine 2 or more low to moderate flow rate pipes to achieve one high flow rate pipe, then I recommend pumping 2-3 moderate flow rate pipes into a tank, and then using a pump directly connected to the tank for the high flow rate output. Also tank to tank fluid flow rate isn't particularly fast. (Indeed I consider it slow unless there is a large difference in the amount of fluid in the 2 tanks. Your massive tank farm will perform very badly from a fluid transfer point of view. If you really want to keep it, then tank -> pump -> tank). Also get rid of the 2 parallel pipes that are cross connected every segment. That sort of design does not improve flow rates. You would get better flow rates by using undergrounds to minimise the number of pipe segments.

You talk about an optimal blueprint as though filling the space is optimal. At that sort of production scale what you should be aiming for is ups efficiency. You can always build more beacons/modules/refineries etc. What you can't do is magically make Factorio's code process game updates faster. So I would prefer a clean simple design that minimises fluid flow complexity, in the hope that less pipe connections is better for performance than something more complex. Prior to version 0.17 less pipe segments were definitely better for performance. I'm not sure in the current version how much that matters. (Note that I've heard that Factorissimo is bad for performance in general. That was some time ago, and I'm not sure whether that applies to the current version).
yes, it's not feasible to be fed by one pipe... which is why it's not fed by one pipe. Factorisimo X and O pipes work just like tanks and teleport the liquid, so it's efficient. I added screenshots and blueprints. Seems like all I need is 2 oil pipes and 1 water BUT 3 oil pipe input and 2 water inputs, and for some reason 2 petrolium gas output, 2 light oil, 1 heavy oil. 225k oil used per minute (3750 per second) , all rafineries are working non-stop (no bottlenecks) and yes it's factorissimo

I used more than 2 pipe segments in a row but somehow, testing it, it doesn't look like I need to add pumps (maybe you can see the inefficient spaghetti that I put).

When I said pressure, I meant flow rate. In that case, I don't understand how pressure works in factorio then. Are they 2 different things that exist in factorio? I assumed that flow=pressure in factorio.

I wasn't aware of bad fluid transfer between tanks, it actually looked very fast to me, and it sounds counter-intuitive to put a whole bunch of pumps around the tank farm. Do you think I should do that?

Where do you mean that cross connected pipes are bad? You mean where I put 2 lines of oil pipes together? They're not connected every segment though. It's just underground pipes with pumps.

yeah you're right about that last part, personally I just wanted to see how much stuff I can cram inside a depo. You're probably talking more about something like megabases where having 10000000000000000000000000 things moving around is the issue and game gets laggy?

Thanks for the reply.

Re: pumps seem useless for long distance pipes?

Posted: Thu Sep 12, 2019 4:57 am
by jcranmer
llVIU wrote:
Tue Sep 10, 2019 4:11 pm
When I said pressure, I meant flow rate. In that case, I don't understand how pressure works in factorio then. Are they 2 different things that exist in factorio? I assumed that flow=pressure in factorio.
In Factorio terms, pressure is how full a pipe or tank is: a 1000 unit pipe with 900 units of fluid is at the same pressure as 25000 unit tank with 22500 units of fluid. The flow rate in Factorio is proportional to the pressure differential between two pipe segments, with a boost for fluid transferred this tick that caps out at 10% of capacity.
I wasn't aware of bad fluid transfer between tanks, it actually looked very fast to me, and it sounds counter-intuitive to put a whole bunch of pumps around the tank farm. Do you think I should do that?
Internally, the only difference between tanks and pumps as game objects is that you can read the contents of a tank via the circuit network, and you cannot for a pipe. So a tank is a pipe that is 250× larger, and it takes 250× as much fluid to bring a tank to steady state as it does a pipe.
Where do you mean that cross connected pipes are bad? You mean where I put 2 lines of oil pipes together? They're not connected every segment though. It's just underground pipes with pumps.
In the final image of your prior post, the crude pipes were next to each other so that every pipe segmented connected with at least three others. That is going to be unnecessarily UPS-unfriendly, and it's also probably less capacity than if the pipes were parallel without interconnection. (Fluid box update order is fun!)

Re: pumps seem useless for long distance pipes?

Posted: Thu Sep 12, 2019 5:15 pm
by llVIU
jcranmer wrote:
Thu Sep 12, 2019 4:57 am
llVIU wrote:
Tue Sep 10, 2019 4:11 pm
When I said pressure, I meant flow rate. In that case, I don't understand how pressure works in factorio then. Are they 2 different things that exist in factorio? I assumed that flow=pressure in factorio.
In Factorio terms, pressure is how full a pipe or tank is: a 1000 unit pipe with 900 units of fluid is at the same pressure as 25000 unit tank with 22500 units of fluid. The flow rate in Factorio is proportional to the pressure differential between two pipe segments, with a boost for fluid transferred this tick that caps out at 10% of capacity.
I wasn't aware of bad fluid transfer between tanks, it actually looked very fast to me, and it sounds counter-intuitive to put a whole bunch of pumps around the tank farm. Do you think I should do that?
Internally, the only difference between tanks and pumps as game objects is that you can read the contents of a tank via the circuit network, and you cannot for a pipe. So a tank is a pipe that is 250× larger, and it takes 250× as much fluid to bring a tank to steady state as it does a pipe.
Where do you mean that cross connected pipes are bad? You mean where I put 2 lines of oil pipes together? They're not connected every segment though. It's just underground pipes with pumps.
In the final image of your prior post, the crude pipes were next to each other so that every pipe segmented connected with at least three others. That is going to be unnecessarily UPS-unfriendly, and it's also probably less capacity than if the pipes were parallel without interconnection. (Fluid box update order is fun!)
-then they got their words mixed up because that's not what ''pressure'' means in real life. They're talking about quantity. And the way fluids work here is just so odd, for example if you connect 3 tanks in series, first tank has 80% quantity of water, the next one has like 40% and the next one has 20%, roughly. Makes a bit of sense with that other link that I got here in the thread, which was trying to explain how it works. The factorio devs made the fluid system complicated and illogical.

-thanks for the pump/tank explanation

-what is ''fluid box update order''? The way the ''ups'' of the game works?

Re: pumps seem useless for long distance pipes?

Posted: Thu Sep 12, 2019 6:01 pm
by mrvn
The problem is that yo are thinking of the fluid system the wrong way. In your mind you have a closed pipe filled completely with fluid and the pump increases the speed.

Well, first thing even in reality that doesn't work. In a long pipe with a fast pump at the end the pump will create a vacuum. The fluid will try to fill the vacuum but friction and turbulence work against that limiting the flow rate. No mater how much you increase the pump power the fluid won't flow faster as you can't create more suction than a vacuum. You need a pump at the start pushing to get more speed.

But besides that in factorio the fluid system is more like a roman aquaduct. An open pipe with fluid at the bottom and air at the top. When you take out fluids on one side the fluid flows to equalize the hight of the fluid. So besides the inability of the pump to create more suction than reducing the fluid hight to 0 this also means a pump can't push fluids beyond getting the fluid height to the maximum height.

The flow rate depends on the gradient you can create. And that is given by the number of pipes between where one pump gets the fluid to maximum height and the next pump reducing it to 0. Think of pumps pumping upwards, not in the direction they face.

Re: pumps seem useless for long distance pipes?

Posted: Thu Sep 12, 2019 6:41 pm
by EpicSlayer7666
i cannot speak for mega Bases, but for smaller size, i usually set up the source (the oil pump) with a fluid tank right on it and wait until it is full before pulling from it.

for pipes, i would put a pump each 100 or so meters (optionally add a Fluid Tank with a pump mid way to raise pressure again), or i would double or quad the pipes running along and only use underground pipes since blocking kilometers risk having a unhappy Biter surprise (they want to pass and break it to go on the other side.) and when you want to go through, unbuilding makes no sense.

but for Mega Bases... i have no idea considering i usually play with very low resources so the oil rig or pumps never pouts out more than 5 to 20 per oil patch. so to fight the low output, i put a tank at first wait till it is full, put that through pipes with pumps each 100 meters and a fluid Tank each 500. (building pressure means you only replace what you remove from the source where the space free up.)

also if you want to increase the output of oil patches, putting beacons with speed modules full around and in the oil pumps can make dried up wells output a few times it's worth! since you cannot pull more than the oil pumps puts out in the first thing it puts it's oil into, be it, Tank, Under Ground pipes or pipes or even Pumps. (you cannot extract more that it puts out even with a pump sucking right on it. but can help it get ALL at destination with no remains in between.)

Re: pumps seem useless for long distance pipes?

Posted: Thu Sep 12, 2019 10:11 pm
by jcranmer
llVIU wrote:
Thu Sep 12, 2019 5:15 pm
-then they got their words mixed up because that's not what ''pressure'' means in real life. They're talking about quantity. And the way fluids work here is just so odd, for example if you connect 3 tanks in series, first tank has 80% quantity of water, the next one has like 40% and the next one has 20%, roughly. Makes a bit of sense with that other link that I got here in the thread, which was trying to explain how it works. The factorio devs made the fluid system complicated and illogical.
In the real world, pressure is determined by the water level in a tank, if the system is gravity-fed. I've seen pressure measured literally in feet above sea level in the real world, although it's usually referred to as "head" in this scenario. The fluid system makes a bit more sense if you don't treat the system as measuring volume but as measuring pressure: in a pipe, you exhibit pressure loss proportional to the length of the pipe, leading to the linear quantity of water; in tanks, the depth of the fluid in the tank determines how much pressure is exerted on the fluid at the pipe connections at the base of the tank.

Where the system breaks down is that connecting multiple tanks together doesn't act as a single tank with a larger cross-section, but instead as a pipe, which means that the water level in each tank tries to adjust to give the pressure differential between the input and the output.
-what is ''fluid box update order''? The way the ''ups'' of the game works?
Mechanistically, the fluid system is a graph connecting fluid boxes together. Every entity that interacts with fluids (pipes, pumps, assemblers, tanks, etc.) has a corresponding fluid box, and the mechanics of transferring fluid between fluid boxes is the same for every entity. The engine's logic for updating the amount in each fluid box depends on the order that the fluid boxes are updated in, which (at least used to be, this might have been fixed) is primarily dependent on construction order. So you see different flow capacity of a pipe if you build it in the direction that the fluid flows in instead of the opposite direction.

Re: pumps seem useless for long distance pipes?

Posted: Fri Sep 13, 2019 9:26 am
by eradicator
jcranmer wrote:
Thu Sep 12, 2019 10:11 pm
(at least used to be, this might have been fixed) is primarily dependent on construction order. .
When i checked that a few versions ago that was still the case. Trivially to test: Build a tank full of $fluid connected to nothing. -> build a pipe above 50 tiles long, starting at the tank. -> Now take another tank and this time start building the pipe from the far end. -> See how the fluid "levels" in the two pipes differ (especially the end of each pipie). Can't make a blueprint because that doesn't preserve order.

Re: pumps seem useless for long distance pipes?

Posted: Fri Sep 13, 2019 10:13 am
by mmmPI
llVIU wrote:
Tue Sep 10, 2019 4:11 pm
pictures
Hi i saw the picture and thought that maybe there is something else that reduce the flow rate of your design with factorissimo.

You can see the blue diamonds where the pipe connect between the inside and the outside.

The blue diamond means that the connexion is both way, the liquid can go in and out, what you want is to press R i think or maybe CTRL+R (can't remember the defaults )when you mouse over this diamond.

One hotkey is used to change the connexion, you can force the liquid to go one way only. This helps for performance and throughput, but is most noticeable when pipes are not full.

The other shortcut increase the refresh rate of the pipe. Factorissmo 2 ( i assume you use this one) has a settings that allow you to configure each connexion individually. You can decide to refresh every tick, which is the fastest, but by default it is less than that , maybe 1/10 tick is the liquid tranfered ). This will improve throughput, but at the cost of performance.

Eventually, the best trick in my book when attempting similar design ( with recursion ) was to barrel the fluids, and put them into chest. The connexion from chest outside the factory and chest inside when you force the blue diamond to be a orange arrow that point inside, makes it that every update, the quantity outside is teleported inside. ( with the blue diamond it tries to split 50% inside 50% outside ).

This means you can transfer a full chest of barrel, every 10 or 30 or why not even 60 ticks ( full chest every second is still very fast ! but those are made up numbers there are preset in the mod), you can lower the frequence of update, because there can be a lot of liquid transferred at once, compared to just the quantity that is in 1 pipe, that needs to be updated very frequently. This is best for performance and throughput.

It has nothing to do with the pumping before but hopefully it helps for the last mile :)

Re: pumps seem useless for long distance pipes?

Posted: Fri Sep 13, 2019 3:47 pm
by EpicSlayer7666
in Factorissimo i usually see that, the Tick rate and one sided is important. you can set it low if you put the input and output pipes from the mod as they "Pull" and "Push" up to 2.5K... i think it may be able to do that per tick but maybe even flow at maximum game flow as well... the thing is they work like pumps and has a bonus of lowering the UPS cost for transfer... you can put more than one entrance feeding like that if not enough.

you use R on the blue icon to rotate it from in/out/both and hold CTRL or Shift and press R to raise and lower tick speed. tho for some reason Factorissime is UPS intensive... i guess it does not REALLY connect the pipes but Teleports the content manually via script each tick. (like if "out" pipe has less than X content, Remove X or less from "in" Pipe and add X or less to "out" pipe. that every tick could be intensive.)