Page 1 of 1

Fluid splitter for 4 tanks

Posted: Mon Sep 26, 2016 5:38 pm
by Shekki
Inspire from this video from Negative Root https://www.youtube.com/watch?v=M3D_a0Q-oxI so thanks to him and basic idea comes from him. I needed fluid splitter to fill my 4-tanker train evenly so I took time on this problem. This is also my first combinator creation, anyway here it is:

Image
Full picture of the system

Pros
  • Equally splits any amount of fluid to 4 tanks evenly.
  • Even with unbalanced drain, it will try balance tanks. (Example if bottom two tanks are empty, top two tanks will stop from filling until rest of the tanks catch up).
  • If you copy the power switch near your oil pumps, it can turn pumps off when tanks are full. (Useful when you use modules and beacons on oil fields saves ton of energy).
  • You can use it anywhere. Atm. I only use when loading tanker trains.
  • Works on any fluid.
Cons
  • It's pretty slow.
There is small thing you can try with slowness, click on pump and change number 2 to 1-0 to speed things up. However, it will be less balanced. if one tank gets empty other three will still get filled up.

Image
Showing just what you need change to make it faster. You only need change it to one pump and copy it to others.

How it works.

Each of tank signal is changed to A, B, C and D. The < combinator compares value between all the tanks (A<B, A<C, A<D), sending signal 1 if true. If all are true, pump will start pumping until it's changed. Other combinators are pretty much fixing errors. Combinator = is checking if there is evenly amount of fluid it will pump more fluid to make < combinator working again. The last combinator < below of the = combinators is telling to pump something to tank if it's empty.
(I realised that this isn't needed. I removed it from blueprint, since if all are empty, = ones will give the signals, if one or more is empty < one will give signals as well to power the pump.)
The one arithmetic combinator is changing all signals to signal 1 to give signal to switch. Switch will be on until all tanks are full. This can be used to turn power off from your energy beast module/beacon oil fields. Lamps just indicates how full tanks are for fast visual show how full tanks are each lamp goes on on 2,5k difference.

Image
Each letter is amount of fluid in each tank. Showing how evenly it fills the tanks.

Image
Demonstrating with water how evenly tanks gets filled.

And lastly blueprint string, this is spaced directly to train rail tankers so just make a station and paste this next to tankers. I recommend train tanker and flow control mods with this:
I found error with the last lamp, change value from 10,000 to 9,999.
Blueprint
I would hear some feedback and how useful you find this is. Thank you :D

Re: Fluid splitter for 4 tanks

Posted: Mon Sep 26, 2016 11:22 pm
by ribsngibs
If it's slow, can you just put 4 or 5 small pumps in parallel per tank, all sharing the same circuit conditions?

Re: Fluid splitter for 4 tanks

Posted: Tue Sep 27, 2016 4:28 am
by Shekki
ribsngibs wrote:If it's slow, can you just put 4 or 5 small pumps in parallel per tank, all sharing the same circuit conditions?
That's not the problem, I even used mod with express pumps with this. It's just logic behind this as you see from first gif. The tank that has most of fluid will be changing rapidly, since when ever pump is on it gets a little bit unbalanced and stops working for a little while until rest of tanks catch up.

Re: Fluid splitter for 4 tanks

Posted: Tue Sep 27, 2016 7:24 am
by Optera
What's the advantage over one big tank with bypass plumbing to counter tank flow resistance?

Re: Fluid splitter for 4 tanks

Posted: Tue Sep 27, 2016 7:58 am
by brunzenstein
Could Madzuris calculation, adapted for pumps, not be a more elegant solution?
https://www.reddit.com/r/factorio/comme ... ion_guide/
https://youtu.be/eWGXzvEHl9k

update: I tried and it worked

Re: Fluid splitter for 4 tanks

Posted: Tue Sep 27, 2016 10:03 am
by aka13
I just thought of the following, simpler solution. Lets say you have 4 tanks, A1, A, B, B1, in this particular order. You fill directly to the 2 in the middle, and have two pumps which do balance with "if A > B pump from A to B" and "if B > A pump from B to A". As soon as "A = B", you enable pumps from A to A1 and from B to B1. This setup does not require combinators at all, and would work almost certainly. I will try this out later in the evening.