I'm trying to make a mod and from what I can figure out is this, in caveman terms:
-base_area makes a fluid storage tank wider, you can fill it in faster but output is slower (generally)
-height makes fluid storage higher, you can fill it slower but output is faster (generally).
This somewhat works with fluid storage up to 100k ish... very very roughly. And in a broken way. I raise the height by x10 and it fills in slower x10 howerver the output speed is... maybe x0.1 faster? Barely.
However if I have a really big tank, maybe 1mil or such... and if I have a height higher than 1, the output on a pipe is zero. Using a pump fixes the problem but... this all so distorted from a real life scenario.
base_area on the other hand seems to work fine. Height... brings almost nothing but cons.
tl;dr height is broken when a storage tank has a 1mil+ capacity. It does not work.
raising height of storage tank bug
Re: raising height of storage tank bug
Sorry, but this isn't something we're going to look into
- TruePikachu
- Filter Inserter
- Posts: 978
- Joined: Sat Apr 09, 2016 8:39 pm
- Contact:
Re: raising height of storage tank bug
Right now, I think this is either a bug caused by loss of floating-point precision (Won't Fix due to exceeding sane values) or a misunderstanding of fluid mechanics (Not A Bug due to it working as intended). On the former note, when running testing in my perfectly-accurate simulation of 0.17.79 fluid mechanics (based 1:1 off a disassembly of the code), I started running into "significant" floating point errors stemming from the massive volume of fluid in the tank. On the latter note, you need greater pressure to move fluid into a higher fluidbox; ignoring the momentum factor of the formula, a fluidbox can only fill another fluidbox up to the destination's height:
Note that the fluid in the second pipe isn't high enough to fill TallTank more than 50% of the way, while the pump is tall enough to fill it entirely.
Code: Select all
Pump Pipe Boiler Pipe TallTank
Elev h=2 h=1 h=2 h=1 h=2
bl=0 bl=0 bl=-1 bl=0 bl=0
+2_ .-------. _ _ _ _ _ _ _ _ _ _ _ _ _.--------. _
|#######| | |
+1_ |#######|--------.--------.--------|_ _ _ _ | _
|#######|########|########|########|########|
±0_ |#######|########|########|########|########| _
'-------'--------|########|--------'--------'
-1_ _ _ _ _ _ _ _ _ _|########| _ _ _ _ _ _ _ _ _ _
'--------'