[0.18.2] Pump maximum flow is 6000/s (rated 12000/s)
-
- Filter Inserter
- Posts: 342
- Joined: Thu Apr 27, 2017 4:31 pm
- Contact:
[0.18.2] Pump maximum flow is 6000/s (rated 12000/s)
I noted some odd pump flow behavior and created the best-case scenario for max flow (full tank to empty tank):
Additional observations:
- Wagon transfers are similar to the above:
-- From wagon>pump>tank, 6000/s steady, similar to what is indicated above.
-- From tank>pump>wagon, exhibits a toggling behavior, alternating between 12000 and some low value every other tick, netting close to 6000/s.
- I've also confirmed this by supplying a power plant with the above pump setup and getting 582MW (calculates out to 6001.8/s).
Back around 0.15, I was fairly certain I achieved full 12000/s from a pump while developing/testing my manifolds mod (1.1GW from the power plant using the same setup that now caps at 582MW and 6000/s).
Given flow mechanics, the max fluid possible at the pump's intake fluidbox is 1/2 of its total volume. Perhaps the pump code has been tweaked since 0.15 and any special case/coding for max flow was lost along the way). Given the current mechanics, the only way to achieve 12000/s with the pump is if its input fluidbox is set to 400, netting 200/tick at full flow.
Additional observations:
- Wagon transfers are similar to the above:
-- From wagon>pump>tank, 6000/s steady, similar to what is indicated above.
-- From tank>pump>wagon, exhibits a toggling behavior, alternating between 12000 and some low value every other tick, netting close to 6000/s.
- I've also confirmed this by supplying a power plant with the above pump setup and getting 582MW (calculates out to 6001.8/s).
Back around 0.15, I was fairly certain I achieved full 12000/s from a pump while developing/testing my manifolds mod (1.1GW from the power plant using the same setup that now caps at 582MW and 6000/s).
Given flow mechanics, the max fluid possible at the pump's intake fluidbox is 1/2 of its total volume. Perhaps the pump code has been tweaked since 0.15 and any special case/coding for max flow was lost along the way). Given the current mechanics, the only way to achieve 12000/s with the pump is if its input fluidbox is set to 400, netting 200/tick at full flow.
Allyn Malventano
---
Want to improve fluid flow between pumps / across longer distances? Try my Manifolds mod.
---
Want to improve fluid flow between pumps / across longer distances? Try my Manifolds mod.
Re: [0.18.2] Pump maximum flow is 6000/s (rated 12000/s)
Thanks for the report however that's correct. The number is it's maximum. If it can ever reach that maximum is a completely different thing; since it's now shown in the tooltip people are reading it and generating bug reports like this so I'm in favor of just not showing it.
If you want to get ahold of me I'm almost always on Discord.
-
- Filter Inserter
- Posts: 342
- Joined: Thu Apr 27, 2017 4:31 pm
- Contact:
Re: [0.18.2] Pump maximum flow is 6000/s (rated 12000/s)
I am measuring separately from the tooltip indication (via power generation, etc), and still only getting 6000/s. The 12000/s rating was based on tank/wagon to wagon/tank, and that's not happening currently.Rseding91 wrote: ↑Wed Jan 29, 2020 3:35 amThanks for the report however that's correct. The number is it's maximum. If it can ever reach that maximum is a completely different thing; since it's now shown in the tooltip people are reading it and generating bug reports like this so I'm in favor of just not showing it.
Offshore Pump functions at its rated flow when not restricted by piping. So should the regular pump. Pump should be de-rated to 6000/s or fluidbox should be doubled to allow for a best-case possibility of 12000/s.
Allyn Malventano
---
Want to improve fluid flow between pumps / across longer distances? Try my Manifolds mod.
---
Want to improve fluid flow between pumps / across longer distances? Try my Manifolds mod.
-
- Filter Inserter
- Posts: 342
- Joined: Thu Apr 27, 2017 4:31 pm
- Contact:
Re: [0.18.2] Pump maximum flow is 6000/s (rated 12000/s)
I reverted to 0.15.18 and confirmed that a single pump could supply power generation exceeding 1GW (~12000/s).
I reverted to 0.17.2 and confirmed that a single pump could supply power generation of only 582MW (6001/s).
On 0.15.18, pump fluid = 200 (100%) at max flow.
On 0.17.2, pump fluid = 100 (50%) at max flow. This is tied to the cause for the flow to cut in half.
0.15.0 patch notes stated: 'Increased the pump pumping speed 4 times.' but at present, this is only '2 times'.
I've confirmed this was a regression that occurred between 0.15.18 and 0.17.2. Would you like me to narrow this down further?
I reverted to 0.17.2 and confirmed that a single pump could supply power generation of only 582MW (6001/s).
On 0.15.18, pump fluid = 200 (100%) at max flow.
On 0.17.2, pump fluid = 100 (50%) at max flow. This is tied to the cause for the flow to cut in half.
0.15.0 patch notes stated: 'Increased the pump pumping speed 4 times.' but at present, this is only '2 times'.
I've confirmed this was a regression that occurred between 0.15.18 and 0.17.2. Would you like me to narrow this down further?
Allyn Malventano
---
Want to improve fluid flow between pumps / across longer distances? Try my Manifolds mod.
---
Want to improve fluid flow between pumps / across longer distances? Try my Manifolds mod.
-
- Filter Inserter
- Posts: 342
- Joined: Thu Apr 27, 2017 4:31 pm
- Contact:
Re: [0.18.2] Pump maximum flow is 6000/s (rated 12000/s)
Please leave the indication present. It is welcome and accurate (minus the part where max flow is half of expected).
Allyn Malventano
---
Want to improve fluid flow between pumps / across longer distances? Try my Manifolds mod.
---
Want to improve fluid flow between pumps / across longer distances? Try my Manifolds mod.
Re: [0.18.2] Pump maximum flow is 6000/s (rated 12000/s)
As far as I understand it the "max flow" is correct. Just that's: from source into pump. Then the standard flow logic says "max half of me flows into you" and so you get capped at half the flow rate of the pump for the exiting fluid.
If you want to get ahold of me I'm almost always on Discord.
- BlueTemplar
- Smart Inserter
- Posts: 2952
- Joined: Fri Jun 08, 2018 2:16 pm
- Contact:
Re: [0.18.2] Pump maximum flow is 6000/s (rated 12000/s)
To "narrow it down", see :
[0.17.7] Pumps substantially slower than 0.16.x, but no changelog entry -- intentional or bug?
[0.17.7] Pumps substantially slower than 0.16.x, but no changelog entry -- intentional or bug?
Kingdud wrote: ↑Tue Apr 09, 2019 11:54 amThe upper bound seems to be 7133 units/s. It's not consistent, the pumps can easily end up deliver less than that (even between a full tank and an empty tank). If you download 'New Oil Layout - bugreport' from viewtopic.php?f=7&t=69045 and play with it, you can replace the fluid void with a pump then a fluid void and see how it changes the output. The two pumps going into the central tank will work at ~5500 unit/s, but if you place a pump extracting from the central tank then going into the fluid void, you'll see ~7133 unit/s on that single pump's throughput.
Ultros wrote: ↑Tue Apr 09, 2019 12:33 pmI tested this based on a blueprint of a pump-bus nuclear reactor design from 0.16 (which used to do the full 12k water/s). The sum of the steam output after reaching equilibrium is around 6.8k per second going by the sum of the steam consumption from the turbines.
BobDiggity (mod-scenario-pack)
-
- Filter Inserter
- Posts: 342
- Joined: Thu Apr 27, 2017 4:31 pm
- Contact:
Re: [0.18.2] Pump maximum flow is 6000/s (rated 12000/s)
Except that is not how it worked when the pump speed was increased to 12000/s back in 0.15. I’ve detailed this above, even rolling back to confirm that I wasn’t crazy .
The description at that link only further confirms that a bug is present:
The pump is no longer ‘taking as much fluid’ as it can from the source. It only takes 100 where on 0.15 it took 200, so it now can only pump 100/tick (6000/s), where it used to pump 200/tick (12000/s).Energy when pumping fluid to fluid wagon is not easy since there are in fact 2 pump operations: first is to take as much fluid from FB connected to pump input
It’s fine if you guys don’t want to fix it, but if you don’t reduce the pumps rating to match it’s current maximum then you are just going to keep getting this report as each new person notes the disparity.
I do maintain that simply doubling the pump fluid box to 400 should restore the initially specified flow rate without the need to code any special case for the pump.
Allyn Malventano
---
Want to improve fluid flow between pumps / across longer distances? Try my Manifolds mod.
---
Want to improve fluid flow between pumps / across longer distances? Try my Manifolds mod.
- BlueTemplar
- Smart Inserter
- Posts: 2952
- Joined: Fri Jun 08, 2018 2:16 pm
- Contact:
Re: [0.18.2] Pump maximum flow is 6000/s (rated 12000/s)
Except they've already stated that 12kL/s is waaaay too fast and that electric pumps would be nerfed in the future.
BobDiggity (mod-scenario-pack)
-
- Filter Inserter
- Posts: 342
- Joined: Thu Apr 27, 2017 4:31 pm
- Contact:
Re: [0.18.2] Pump maximum flow is 6000/s (rated 12000/s)
And that’s fine too. If anything the behavior change in 0.16 was an unintentional nerf, but if the devs are happy with that result then the rating should reflect the actual maximum of the pump (6000/s).BlueTemplar wrote: ↑Wed Jan 29, 2020 2:57 pmExcept they've already stated that 12kL/s is waaaay too fast and that electric pumps would be nerfed in the future.
Last edited by malventano on Wed Jan 29, 2020 4:07 pm, edited 1 time in total.
Allyn Malventano
---
Want to improve fluid flow between pumps / across longer distances? Try my Manifolds mod.
---
Want to improve fluid flow between pumps / across longer distances? Try my Manifolds mod.
- BlueTemplar
- Smart Inserter
- Posts: 2952
- Joined: Fri Jun 08, 2018 2:16 pm
- Contact:
Re: [0.18.2] Pump maximum flow is 6000/s (rated 12000/s)
Write it as 6000+/s ?
BobDiggity (mod-scenario-pack)
-
- Filter Inserter
- Posts: 342
- Joined: Thu Apr 27, 2017 4:31 pm
- Contact:
Re: [0.18.2] Pump maximum flow is 6000/s (rated 12000/s)
Due to the current behavior, it is exactly 6000/s. The input fluid box can’t get more than half of its volume from its connection on a single tick (this behaved differently on 0.15, where the pump fluid box could draw from its connection to completely fill on each tick). This means the pump can only ever receive 200/2 on each tick, meaning max flow is 200/2*60=6000/s.
Allyn Malventano
---
Want to improve fluid flow between pumps / across longer distances? Try my Manifolds mod.
---
Want to improve fluid flow between pumps / across longer distances? Try my Manifolds mod.
- BlueTemplar
- Smart Inserter
- Posts: 2952
- Joined: Fri Jun 08, 2018 2:16 pm
- Contact:
Re: [0.18.2] Pump maximum flow is 6000/s (rated 12000/s)
Are you absolutely certain that the discrepancies observed in 0.17.7 aren't any more in 0.18.2 ? (Or were faulty observations in the first place...)
BobDiggity (mod-scenario-pack)
Re: [0.18.2] Pump maximum flow is 6000/s (rated 12000/s)
I know, I'm not describing how it worked in 0.15. I'm describing how it works now. The entire fluid logic system was changed in 0.17 when fluids got anti-fluid-mixing built into them and the pump no longer calls update() on the fluidbox(s) it owns. The fluid manager now does it. Before, the pump would actually call update() on the fluidboxes twice during its update which would cause it to flow out everything it could before pumping more into it.malventano wrote: ↑Wed Jan 29, 2020 2:51 pmExcept that is not how it worked when the pump speed was increased to 12000/s back in 0.15. I’ve detailed this above, even rolling back to confirm that I wasn’t crazy .
If you want to get ahold of me I'm almost always on Discord.
-
- Filter Inserter
- Posts: 342
- Joined: Thu Apr 27, 2017 4:31 pm
- Contact:
Re: [0.18.2] Pump maximum flow is 6000/s (rated 12000/s)
I don't disagree with any of that, but given the current state of things, 12000/s is no longer the correct rating for the pump. It only does 6000/s. Why should the pump be the only thing in the game that has a rating that is 2x of what is actually possible? Here's the before and after:Rseding91 wrote: ↑Wed Jan 29, 2020 4:33 pmI know, I'm not describing how it worked in 0.15. I'm describing how it works now. The entire fluid logic system was changed in 0.17 when fluids got anti-fluid-mixing built into them and the pump no longer calls update() on the fluidbox(s) it owns. The fluid manager now does it. Before, the pump would actually call update() on the fluidboxes twice during its update which would cause it to flow out everything it could before pumping more into it.malventano wrote: ↑Wed Jan 29, 2020 2:51 pmExcept that is not how it worked when the pump speed was increased to 12000/s back in 0.15. I’ve detailed this above, even rolling back to confirm that I wasn’t crazy .
If you devs want 12000/s, just fix (double) the fluidbox. If you're happy with 6000/s, just fix the rating. I'm just trying to get resolution either way so that we can update the Factorio Cheat Sheet accordingly, because that doc states "Pumps and Storage Tanks have a maximum throughput of 12,000 fluids/s.", which is no longer the case. The flow rate chart would also need to be updated.
Allyn Malventano
---
Want to improve fluid flow between pumps / across longer distances? Try my Manifolds mod.
---
Want to improve fluid flow between pumps / across longer distances? Try my Manifolds mod.
Re: [0.18.2] Pump maximum flow is 6000/s (rated 12000/s)
If you put a pump next to a storage tank it will pull 12,000 in the first second - up until its internal fluidbox is > half full. It's max speed *is* 12,000/second. There's nothing wrong with that; the issue is the rest of how fluid flows. The pump can't pump at its max speed because fluid isn't flowing out of it fast enough.
If you want to get ahold of me I'm almost always on Discord.
-
- Filter Inserter
- Posts: 342
- Joined: Thu Apr 27, 2017 4:31 pm
- Contact:
Re: [0.18.2] Pump maximum flow is 6000/s (rated 12000/s)
Respectfully, you are incorrect. Please believe me when I say that I've spent several hours trying to get the pump to move 12,000/s. It just doesn't happen anymore, not since ~0.17.2. Put a pump between a full and an empty tank and slow the game to 0.1. You will observe that the fastest possible flow (at the very beginning of the transfer, where you are transferring from a full to an empty tank), that the maximum rate of fill is 100/tick. Not 200/tick. It does not move 12,000 in the first second as you claim.Rseding91 wrote: ↑Wed Jan 29, 2020 5:43 pmIf you put a pump next to a storage tank it will pull 12,000 in the first second - up until its internal fluidbox is > half full. It's max speed *is* 12,000/second. There's nothing wrong with that; the issue is the rest of how fluid flows. The pump can't pump at its max speed because fluid isn't flowing out of it fast enough.
If you want to get really into the weeds with the fluidbox, since it is sized at 200, and we know that a fluidbox can only change by half in a given tick, there is no single tick where that fluidbox can fill at a rate greater than 100/tick. The only way it will ever see a rate of 12,000/s is if the fluidbox is double the current size.
Allyn Malventano
---
Want to improve fluid flow between pumps / across longer distances? Try my Manifolds mod.
---
Want to improve fluid flow between pumps / across longer distances? Try my Manifolds mod.
-
- Filter Inserter
- Posts: 342
- Joined: Thu Apr 27, 2017 4:31 pm
- Contact:
Re: [0.18.2] Pump maximum flow is 6000/s (rated 12000/s)
Here is the first second of your tank to tank transfer, recorded and plotted:
At no point in the first second does flow rate exceed 6,000/s. Not even for a single tick of it. Due to the (expected) falloff as the tank fills, the total amount transferred after 60 ticks is 5,769. Again, if your intention is for the pump flow to match its rating, you will need to double the fluidbox to effectively match the behavior specified back when the pump speed was changed to 12,000/s. Alternatively, if you are ok with 6,000/s, then the rating needs to be corrected.
Last edited by malventano on Wed Jan 29, 2020 8:37 pm, edited 1 time in total.
Allyn Malventano
---
Want to improve fluid flow between pumps / across longer distances? Try my Manifolds mod.
---
Want to improve fluid flow between pumps / across longer distances? Try my Manifolds mod.
- TruePikachu
- Filter Inserter
- Posts: 978
- Joined: Sat Apr 09, 2016 8:39 pm
- Contact:
Re: [0.18.2] Pump maximum flow is 6000/s (rated 12000/s)
Two notes:
- The statement that a fluidbox can only change by half per tick is incorrect. I don't have the source code for my accurate fluid sim in front of me right now (it's on another machine), but IIRC the formula used is, per tick, 0.4 times the pressure difference plus either 0.59 times the total flow on the previous tick or 1/10 the size of the
destinationsource fluidbox, whichever is less. Under vanilla, a full pump with height=2 base_area=1 base_level=0 connected into let's say an empty boiler with height=2 base_area=1 base_level=-1 has a pressure difference of 3 (source pressure is 2, destination pressure is -1) which would transfer somewhere from 1.2 to1.3181.4 internal fluid units per tick (multiply by 6000 for the number of in-game units per second). - The rate was set "crazy high so they basically never bottleneck or make additional problems", and will be changed to something reasonable once the fluid rework has been finished
Last edited by TruePikachu on Wed Jan 29, 2020 10:31 pm, edited 2 times in total.