raising height of storage tank bug

Things that we don't consider worth fixing at this moment.
Post Reply
llVIU
Inserter
Inserter
Posts: 48
Joined: Sat Jul 06, 2019 9:19 pm
Contact:

raising height of storage tank bug

Post by llVIU »

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.

User avatar
Klonan
Factorio Staff
Factorio Staff
Posts: 5150
Joined: Sun Jan 11, 2015 2:09 pm
Contact:

Re: raising height of storage tank bug

Post by Klonan »

Sorry, but this isn't something we're going to look into

User avatar
TruePikachu
Filter Inserter
Filter Inserter
Posts: 978
Joined: Sat Apr 09, 2016 8:39 pm
Contact:

Re: raising height of storage tank bug

Post by TruePikachu »

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:

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_ _ _ _ _ _ _ _ _ _|########| _ _ _ _ _ _ _ _ _ _
                     '--------'
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.

Post Reply

Return to “Won't fix.”