Factorio

Factorio

View Stats:
TheOptimator Aug 26, 2020 @ 6:30pm
Do pumps suck, or do they push?
I know this might be sort of a dumb question (with some silly innuendos) but bear with me:

If I set up a bunch of oil derricks and then have pipe leading from them, to a pump, then to storage tanks....will they extract oil faster?

Or are pumps only good for pushing liquids from storage tanks to long distances?

Thanks!
Originally posted by Boothy:
Regarding the fluid mechanics, and pump action. Sure I saw this mentioned somewhere, but can't find it now! Perhaps an FFF or on Reddit?

From what I remember, pipes just move liquid from a higher pressure (i.e. higher % level) area to a low pressure area. i.e. if pipe 1 is 100% full, and the next pipe is 50% full, 25% of the full pipe flows into the next pipe to give 75% in both pipes. But this happens for everything connected to the pipe, so all pipes, tanks etc. So you basically get a 'flow' from any higher pressure area (i.e. a source, or a pump), to any low pressure area (i.e. a drain, such as a refinery, or another pump).

Without a source or a drain for the fluid, the fluid would basically spread down the pipes in all directions (but not through pumps if they are off, or facing the wrong way) till all connected pipes and tanks are level, and the fluid is spread evenly throughout the network.

All the pumps basically do is move fluid from whatever single object they are directly connected to at the source end (a single pipe, a single tank, a single machine), to whatever single object they are connected to at the target end (again a single pipe, a single tank, a single machine).

You can visually see this by filling two adjacent tanks with a liquid, then disconnect the source liquid so nothing new can enter, then use a pump to connect to another tank a couple of squares away (which would be empty initially). The pump connected 'source' tank will drain almost immediately, as the contents are pushed into the target tank (tank --> pump --> tank are the fastest fluid transfers you can get in game as far as I know), whilst the other source tank that wasn't connected to the pump, but only the other source tank, stays almost full for a split second, but then gradually drains into the now newly emptied tank, till you have a 50/50 even split between the first two tanks.

So a pump basically creates two fluid networks, draining one pipe or tank etc, (and only one) causing a low pressure area on one side, and filling (or trying to) the target side, creating a high pressure area on the other side (again only to one pipe/tank, the one directly connected to the pump).

The fluid mechanics then simply try to even out both sides, i.e. flow liquids into the low pressure 'source' area from adjacent pipes and tanks, or flow liquid out of the high pressure 'target' area, into the adjacent lower pressure pipes there (assuming they're not full of course). Essentially causing a 'flow' of liquid in one direction.


A quick work on the fluid distribution, this is done as a %, so connect a tank and pipe together and fill the tank to 50% and then look at the pipe, the pipe will also have 50%. So this isn't true fluid mechanics (if it was, the pipes would be at 100% if the tank was at 50% as the pipes connect to the bottom half of the tanks, but that % would then decrease as the tank level decreased, but that's computationally heavy, hence the same % is used for everything connected, rather than trying to calculate true levels).

So if you have tanks of something that never goes high (for example you might only store 5000 light oil), and you then feed a pipe into the factory, make sure the tank has a pump pushing into the outgoing pipe, otherwise the pipe will never get above 20% and you'll be restricting flow into the base.

This is one of the reasons you can sometimes get odd behaviour with fluids and tanks that aren't full, if your not aware of the % mechanics. So basic rule of thumb, if you have a tank of liquid, always use a pump on the outgoing pipes to pressurise the pipes!
< >
Showing 1-8 of 8 comments
Boothy Aug 26, 2020 @ 6:52pm 
Originally posted by TheOptimator:

....will they extract oil faster?

Not if they are already running at max speed.

Pumpjack's (i.e. oil derricks) pump at a set rate based on a formula, using the oil field yield.

If you have a restriction in the upstream pipe route, then a pump can help get the oil moving, but if the pipes next to the pumpjacks are not already 100% full, then the pumpjack will be running at full speed already unless you add speed beacons.

The only way to increase output is to....
1. Insert speed modules into the pumpjacks
2. Add beacons with speed modules within range of the pumpjacks.
3. Research Mining Productivity for a 10% increase in output for each level

Mining Productivity can be researched forever, but lvl 4 upwards needs space science, and gets very expensive very fast, for example lvl 5 costs 5000 of each science, by lvl 11 it costs 20,000 of each science pack.

But's it's worth it, as lvl 10 gives a 100% bonus, so basically pumpjacks, and miners, produce twice as much stuff.

Also note, the oil field yield reduces over time, although never drop below a set level, so eventually you have to add speed modules and beacons anyway, and/or find new oil fields.

Check out the official wiki for the details and formula: https://wiki.factorio.com/Pumpjack
jhughes Aug 26, 2020 @ 7:07pm 
Well.. Pumps physically have to both suck (first) and push (second). That is how they work. A pump develops a low pressure at the inlet and adds pressure to the fluid (with an impeller or piston/plunger) to push it out the discharge side.

Now, whether or not it is modeled correctly by software is another thing entirely.

Most of the time.. Lower than normal flow for pumpjacks specifically is caused by too much oil demand and not enough oil supply (for crude oil). That is to say.. You don't have enough pumpjacks.. or you have too many refineries.. That is the same thing.

Last edited by jhughes; Aug 26, 2020 @ 7:08pm
Warlord Aug 26, 2020 @ 8:23pm 
I see the answer has been (mostly) provided, but no, pumps will NOT help oil extractors produce oil faster. They (essentially) suck on the pipe to get the existing oil in the pipes into their other end, but that "suction" does not extend to any device hooked up.

I am using "suction" as a metaphor, not for how they are actually modeled in-game. Since they don't ACTUALLY suck on the pipe, which possibly could (in real life) provide better oil rate production of pumpjacks, but... not here.
DCYW Aug 26, 2020 @ 8:32pm 
They do both. Rotate by pressing R on keyboard.
Last edited by DCYW; Aug 26, 2020 @ 8:34pm
knighttemplar1960 Aug 26, 2020 @ 8:35pm 
If you want to extract oil faster add beacons and speed modules.
The author of this thread has indicated that this post answers the original topic.
Boothy Aug 27, 2020 @ 3:48am 
Regarding the fluid mechanics, and pump action. Sure I saw this mentioned somewhere, but can't find it now! Perhaps an FFF or on Reddit?

From what I remember, pipes just move liquid from a higher pressure (i.e. higher % level) area to a low pressure area. i.e. if pipe 1 is 100% full, and the next pipe is 50% full, 25% of the full pipe flows into the next pipe to give 75% in both pipes. But this happens for everything connected to the pipe, so all pipes, tanks etc. So you basically get a 'flow' from any higher pressure area (i.e. a source, or a pump), to any low pressure area (i.e. a drain, such as a refinery, or another pump).

Without a source or a drain for the fluid, the fluid would basically spread down the pipes in all directions (but not through pumps if they are off, or facing the wrong way) till all connected pipes and tanks are level, and the fluid is spread evenly throughout the network.

All the pumps basically do is move fluid from whatever single object they are directly connected to at the source end (a single pipe, a single tank, a single machine), to whatever single object they are connected to at the target end (again a single pipe, a single tank, a single machine).

You can visually see this by filling two adjacent tanks with a liquid, then disconnect the source liquid so nothing new can enter, then use a pump to connect to another tank a couple of squares away (which would be empty initially). The pump connected 'source' tank will drain almost immediately, as the contents are pushed into the target tank (tank --> pump --> tank are the fastest fluid transfers you can get in game as far as I know), whilst the other source tank that wasn't connected to the pump, but only the other source tank, stays almost full for a split second, but then gradually drains into the now newly emptied tank, till you have a 50/50 even split between the first two tanks.

So a pump basically creates two fluid networks, draining one pipe or tank etc, (and only one) causing a low pressure area on one side, and filling (or trying to) the target side, creating a high pressure area on the other side (again only to one pipe/tank, the one directly connected to the pump).

The fluid mechanics then simply try to even out both sides, i.e. flow liquids into the low pressure 'source' area from adjacent pipes and tanks, or flow liquid out of the high pressure 'target' area, into the adjacent lower pressure pipes there (assuming they're not full of course). Essentially causing a 'flow' of liquid in one direction.


A quick work on the fluid distribution, this is done as a %, so connect a tank and pipe together and fill the tank to 50% and then look at the pipe, the pipe will also have 50%. So this isn't true fluid mechanics (if it was, the pipes would be at 100% if the tank was at 50% as the pipes connect to the bottom half of the tanks, but that % would then decrease as the tank level decreased, but that's computationally heavy, hence the same % is used for everything connected, rather than trying to calculate true levels).

So if you have tanks of something that never goes high (for example you might only store 5000 light oil), and you then feed a pipe into the factory, make sure the tank has a pump pushing into the outgoing pipe, otherwise the pipe will never get above 20% and you'll be restricting flow into the base.

This is one of the reasons you can sometimes get odd behaviour with fluids and tanks that aren't full, if your not aware of the % mechanics. So basic rule of thumb, if you have a tank of liquid, always use a pump on the outgoing pipes to pressurise the pipes!
Gorlos Aug 27, 2020 @ 4:57am 
When connected to pipes on both ends of the pump and powered, the pump will transfer fluid from the source side to the output side if it will fit. This will occur even if the input side has significantly lower fluid levels.

source: https://wiki.factorio.com/Pump

THE kilroy Aug 27, 2020 @ 1:13pm 
A pump will only help pumpjacks extract faster, if the restriction is pipe throughput. for example if you have a very long pipe, that is so long that the pumpjacks are backed up with oil. adding a pump or series of pumps along this line will remove the pipe restriction on the pumpjacks.

So pump CAN help increase the actual extraction speed, but NO they wont increase the MAXIMUM extraction speed.
< >
Showing 1-8 of 8 comments
Per page: 1530 50

Date Posted: Aug 26, 2020 @ 6:30pm
Posts: 8