Rate-limited Pumps Mod?

Looking for a mod? Have a review on a mod you'd like to share?
macdjord
Inserter
Inserter
Posts: 34
Joined: Fri Feb 22, 2013 4:26 am
Contact:

Rate-limited Pumps Mod?

Post by macdjord »

Does anybody know of a mod which allows you to limit the throughput of pumps? E.g. set a pump so it pumps a maximum of 2500 units of fluid per second, rather than the default 6000.

I'm experimenting with different tank-farm designs, trying to find designs that are both efficient and have high guaranteed throughput, and it would be nice to be able to run tests where I feed in or draw off fluid at a given rate and see what fill level the tanks stabilize at.

Also useful would be anything that lets me read off the current throughput of a pump as a signal.

User avatar
darkfrei
Smart Inserter
Smart Inserter
Posts: 2903
Joined: Thu Nov 20, 2014 11:11 pm
Contact:

Re: Rate-limited Pumps Mod?

Post by darkfrei »

Maybe infinity pipe?
You can find it in the /editor


https://wiki.factorio.com/Prototype/InfinityPipe

Koub
Global Moderator
Global Moderator
Posts: 7199
Joined: Fri May 30, 2014 8:54 am
Contact:

Re: Rate-limited Pumps Mod?

Post by Koub »

The infinity pipe has a parameter, but it's not a flow, it's a percentage of filling at least/at most/exactly. It does help to limit the flow, but not directly.
Koub - Please consider English is not my native language.

Yoyobuae
Filter Inserter
Filter Inserter
Posts: 499
Joined: Fri Nov 04, 2016 11:04 pm
Contact:

Re: Rate-limited Pumps Mod?

Post by Yoyobuae »

Use the table on the wiki to "configure" the max throughput that can go thru a pump:
https://wiki.factorio.com/Fluid_system#Pipelines

6000 = pump-pipe-pump
3000 = pump-pipe-pipe-pump
2250 = pump-pipe-pipe-pipe-pump
and so on...

Could also use combinations for more flexibility in configuring specific rates.

Another option is to control the fill level of a storage tank as way to control the flow thru some set of pipes. That would allow lowering the flow rates under the maximums stated in the table in the wiki. This kind of control is not exactly linear, though.

Koub
Global Moderator
Global Moderator
Posts: 7199
Joined: Fri May 30, 2014 8:54 am
Contact:

Re: Rate-limited Pumps Mod?

Post by Koub »

A flow controller would be so much more convenient :roll:
Koub - Please consider English is not my native language.

Yoyobuae
Filter Inserter
Filter Inserter
Posts: 499
Joined: Fri Nov 04, 2016 11:04 pm
Contact:

Re: Rate-limited Pumps Mod?

Post by Yoyobuae »

Koub wrote:
Tue Sep 22, 2020 5:57 am
A flow controller would be so much more convenient :roll:
Found an easier and better way, it allows configuring the flow rate in steps of 60/s up to 6000/s:
Screenshot_2020-09-22_09-07-52.png
Screenshot_2020-09-22_09-07-52.png (204.2 KiB) Viewed 3915 times
With a modified infinity pipe which has max capacity of 200 the flow rate can be configured in steps of 120 up to 12000/s.

The key is to place an infinity pipe before a pump. The pump can, at most, take the contents of the inifnity pipe once per tick. If the infinity pipe is configured to always have 1 fluid, the the pump can at most take 1 fluid unit per tick (or 60/s).

Koub
Global Moderator
Global Moderator
Posts: 7199
Joined: Fri May 30, 2014 8:54 am
Contact:

Re: Rate-limited Pumps Mod?

Post by Koub »

Oh nice, that's way better than my solution (trial and error to find the right %age to get the desired flow).
Still, I sense "generate a flow" or "destroy a flow" would be an optimal solution.
Koub - Please consider English is not my native language.

macdjord
Inserter
Inserter
Posts: 34
Joined: Fri Feb 22, 2013 4:26 am
Contact:

Re: Rate-limited Pumps Mod?

Post by macdjord »

Yoyobuae wrote:
Tue Sep 22, 2020 2:01 pm
Koub wrote:
Tue Sep 22, 2020 5:57 am
A flow controller would be so much more convenient :roll:
Found an easier and better way, it allows configuring the flow rate in steps of 60/s up to 6000/s:
Screenshot_2020-09-22_09-07-52.png

With a modified infinity pipe which has max capacity of 200 the flow rate can be configured in steps of 120 up to 12000/s.

The key is to place an infinity pipe before a pump. The pump can, at most, take the contents of the inifnity pipe once per tick. If the infinity pipe is configured to always have 1 fluid, the the pump can at most take 1 fluid unit per tick (or 60/s).
Excellent! Is there a way to make it work on the output of a pump rather than the input?

What I'm trying to do is design a tank farm which has as large a usable volume as possible while guaranteeing a particular rate of throughput. Unless the tank farm is just [input pump] -> [single tank] -> [output pump], I won't be able to make use of the full capacity of the tanks; there will be a certain minimum fill level below which the output pump can no longer maintain the required flow rate (even if there's still plenty of fluid in the tank farm as a whole) and a maximum level above which the input pump can no longer maintain the required flow rate (even if there's still plenty of space in the tank farm as a whole). What I want to do is run two tests:
  • [rate-limited pump] -> [tank farm, initially empty] -> [unlimited pump]: Wait until the levels stabilize, then check the fill level to find the minimum fill level required for the set flow rate
  • [unlimited pump] -> [tank farm, initially full] -> [rate-limited pump]: Wait until the levels stabilize, then check the fill level to find the maximum fill level required for the set flow rate

Yoyobuae
Filter Inserter
Filter Inserter
Posts: 499
Joined: Fri Nov 04, 2016 11:04 pm
Contact:

Re: Rate-limited Pumps Mod?

Post by Yoyobuae »

macdjord wrote:
Tue Sep 22, 2020 4:17 pm
Excellent! Is there a way to make it work on the output of a pump rather than the input?
Works in reverse too:
Screenshot_2020-09-22_12-44-50.png
Screenshot_2020-09-22_12-44-50.png (150.15 KiB) Viewed 3978 times
Please note the settings in the infinity-pipe. Specifically the "Exactly" mode setting.

The "At least" mode only automatically fills the infinity-pipe, but doesn't drain it.
The "At most" mode only automatically drains the infinity-pipe, but doesn't fill it.
The "Exactly" mode is a combination of the two, always keeping the infinity-pipe at exactly the specified fill level.

Koub
Global Moderator
Global Moderator
Posts: 7199
Joined: Fri May 30, 2014 8:54 am
Contact:

Re: Rate-limited Pumps Mod?

Post by Koub »

Well, I tested this (to output limit the sulfuric acid of the oil facility I'm testing), and it's not really usable. This is the setting :
setting
I'm trying to output 16500 units per minute of H2SO4, which is 275/s
With this setting (at most 95%), I'm getting 300/s, which is 18000/mn :
at most 95
With this setting (at most 96%), I'm getting 240/s, which is 14400/mn :
at most 96
Trying to output limit the lubricant production is even less possible : The lowest I can go is 3600/mn (at 99%), and what I want is 1800/mn.

So a pump allowing to set "let this fluid pass at maximum/minimum/exactly this units per sec/mn" would be ideal.
Koub - Please consider English is not my native language.

Yoyobuae
Filter Inserter
Filter Inserter
Posts: 499
Joined: Fri Nov 04, 2016 11:04 pm
Contact:

Re: Rate-limited Pumps Mod?

Post by Yoyobuae »

Koub wrote:
Tue Sep 22, 2020 7:37 pm
I'm trying to output 16500 units per minute of H2SO4, which is 275/s
With an infinity pipe of capacity 100/12 it's possible to adjust flow rate in increments of 5/s up to 500/s.

So basically a mod with a whole range of infinity pipes of different capacities would be very useful.

Koub
Global Moderator
Global Moderator
Posts: 7199
Joined: Fri May 30, 2014 8:54 am
Contact:

Re: Rate-limited Pumps Mod?

Post by Koub »

Sure, but an option on the infinity pipe allowing to input the desired flow of consumption/production for a given fluid, and let the mod sort things itself would be less clunky, more user friendly.
Koub - Please consider English is not my native language.

macdjord
Inserter
Inserter
Posts: 34
Joined: Fri Feb 22, 2013 4:26 am
Contact:

Re: Rate-limited Pumps Mod?

Post by macdjord »

Koub wrote:
Tue Sep 22, 2020 7:37 pm
Trying to output limit the lubricant production is even less possible : The lowest I can go is 3600/mn (at 99%), and what I want is 1800/mn.
You can reduce the throughput further by hooking the pump to cyclic counting circuit and using a circuit condition to only enable to pump on some ticks. In this case, you want the pump enabled every other tick.

Yoyobuae wrote:
Tue Sep 22, 2020 8:56 pm
Koub wrote:
Tue Sep 22, 2020 7:37 pm
I'm trying to output 16500 units per minute of H2SO4, which is 275/s
With an infinity pipe of capacity 100/12 it's possible to adjust flow rate in increments of 5/s up to 500/s.

So basically a mod with a whole range of infinity pipes of different capacities would be very useful.
Alternately, just update the Infinity Pipe UI to allow the user to enter non-integer %age values. @Koub's desired 1800/min could be achieved with a capacity 100 pipe if he was able to enter '99.5%'.

Koub
Global Moderator
Global Moderator
Posts: 7199
Joined: Fri May 30, 2014 8:54 am
Contact:

Re: Rate-limited Pumps Mod?

Post by Koub »

macdjord wrote:
Tue Sep 22, 2020 9:57 pm
Koub wrote:
Tue Sep 22, 2020 7:37 pm
Trying to output limit the lubricant production is even less possible : The lowest I can go is 3600/mn (at 99%), and what I want is 1800/mn.
You can reduce the throughput further by hooking the pump to cyclic counting circuit and using a circuit condition to only enable to pump on some ticks. In this case, you want the pump enabled every other tick.
Indeed. However, I don't consider the infinity pipe as a part of the game's puzzle. It should be a utility tool designed to test builds. I don't feel the need for item based tests : if the input is too high, it just backs up. With oil industry, and especially because of cracking, producing too much petroleum can mess everything upstream, like the rocket fuel production, or even the lubricant. Being able to simulate a given consumption of fluids would be invaluable to debug the engineering of one's oil setup.

Needing a combinator contraption, or needing to make calculations on pile length to decrease the flow by the right amount, or any clever trick should not be necessary on an entity whose sole purpose it to allow testing and debugging factory subparts.

One should not have to compute the %age of pipe filling necessary to achieve a ... let's say 16500/min sulfuric acid consumption
Koub - Please consider English is not my native language.

Yoyobuae
Filter Inserter
Filter Inserter
Posts: 499
Joined: Fri Nov 04, 2016 11:04 pm
Contact:

Re: Rate-limited Pumps Mod?

Post by Yoyobuae »

Koub wrote:
Tue Sep 22, 2020 10:20 pm
One should not have to compute the %age of pipe filling necessary to achieve a ... let's say 16500/min sulfuric acid consumption
It's just one division, use the calculator. ;)

Koub
Global Moderator
Global Moderator
Posts: 7199
Joined: Fri May 30, 2014 8:54 am
Contact:

Re: Rate-limited Pumps Mod?

Post by Koub »

Yoyobuae wrote:
Tue Sep 22, 2020 11:15 pm
Koub wrote:
Tue Sep 22, 2020 10:20 pm
One should not have to compute the %age of pipe filling necessary to achieve a ... let's say 16500/min sulfuric acid consumption
It's just one division, use the calculator. ;)
Yep take the desired output (usually in is u/mn), divide by 60 because we need it need it in u/s. Substract the result from 100, then add the result to the infinity pipe. And repeat every time you need to simulate a fluid consumption somewhere.
#help
I'm still convinced that automating this by allowing an infinity pipe to accept a flow rate number as input is more straightforward.
I would have already suggested that to the https://mods.factorio.com/mod/EditorExtensions mod author, but unfortunately, h'es only on github, and I neither have, nor want to create an account on a platform for that.
Koub - Please consider English is not my native language.

macdjord
Inserter
Inserter
Posts: 34
Joined: Fri Feb 22, 2013 4:26 am
Contact:

Re: Rate-limited Pumps Mod?

Post by macdjord »

Koub wrote:
Wed Sep 23, 2020 5:23 am
I'm still convinced that automating this by allowing an infinity pipe to accept a flow rate number as input is more straightforward.
I would have already suggested that to the https://mods.factorio.com/mod/EditorExtensions mod author, but unfortunately, h'es only on github, and I neither have, nor want to create an account on a platform for that.
Done: https://github.com/raiguard/Factorio-Ed ... /issues/24

Koub
Global Moderator
Global Moderator
Posts: 7199
Joined: Fri May 30, 2014 8:54 am
Contact:

Re: Rate-limited Pumps Mod?

Post by Koub »

Oh wow, thanks, I'm very grateful :)
Koub - Please consider English is not my native language.

User avatar
raiguard
Factorio Staff
Factorio Staff
Posts: 451
Joined: Wed Dec 13, 2017 8:29 pm
Contact:

Re: Rate-limited Pumps Mod?

Post by raiguard »

Koub wrote:
Wed Sep 23, 2020 5:23 am
I would have already suggested that to the https://mods.factorio.com/mod/EditorExtensions mod author, but unfortunately, h'es only on github, and I neither have, nor want to create an account on a platform for that.
I'm actually on these forums as well. :)

The only way I can foresee going about this is to add 10,000 different pump prototypes that each have a different pumping rate. You simply cannot change a pump's flow rate at runtime, so barring an addition to the base game, it'll have to do.
Don't forget, you're here forever.

Koub
Global Moderator
Global Moderator
Posts: 7199
Joined: Fri May 30, 2014 8:54 am
Contact:

Re: Rate-limited Pumps Mod?

Post by Koub »

Raiguard wrote:
Wed Sep 23, 2020 8:20 pm
Koub wrote:
Wed Sep 23, 2020 5:23 am
I would have already suggested that to the https://mods.factorio.com/mod/EditorExtensions mod author, but unfortunately, h'es only on github, and I neither have, nor want to create an account on a platform for that.
I'm actually on these forums as well. :)
Oh that's fortunate :) I assumed you were not, as your (excellent by the way) mod's page only linked to github :)
Raiguard wrote:
Wed Sep 23, 2020 8:20 pm
The only way I can foresee going about this is to add 10,000 different pump prototypes that each have a different pumping rate. You simply cannot change a pump's flow rate at runtime, so barring an addition to the base game, it'll have to do.
And this is unfortunate. How about modifying the infinity pipe then ? One can specify how much it's filled/empty at least/most/exactly. Would there be a way to add a way to request for a creation/destruction flow for a fluid, and let the infinity pipe do some math magic ?
Koub - Please consider English is not my native language.

Post Reply

Return to “Questions, reviews and ratings”