Archived

This topic is now archived and is closed to further replies.

Please be aware that the content of this thread may be outdated and no longer applicable.

beowulf2010

Waterfall Compressor Troubleshooting and other Infinite Storage Solutions

Recommended Posts

beowulf2010    574

So, in another thread, @mathmanican was trying to help me figure out how a certain style of infinite liquid storage failed on me. So I figure I'll make a thread to look into that and to talk about infinite gas and liquid storage in general.

First up is the system that failed on me.

Spoiler

Infinite Storage - Liquid - Version 1.jpg

This is the rebuild. I used sandbox to reinsert the top 2 horizontal doors, the 2 bits of insulated tile above them and to recreate the 3ish kg pocket of hydrogen and the 400ish g pocket of CO2. I calculated the original failure to have happened at around 40,000kg per tile in the 4 storage tiles.

Once I remade it, I ran the base for a couple cycles and could not replicate the disappearance of the CO2. I even did a couple save/quit to desktop/reloads and it drained the rest of the ocean. I gave up once it hit 135,000kg per tile. I'm really thinking this is just a random glitch deleting the CO2 tiles at this point.

The way this storage works is that the hydrogen and CO2 (or any 2 gasses) cannot move, so the liquid turns into a drip to fall through the gas and then overpressures in the storage area. The doors are required in this case to keep the gas in place and because doors and airflow tiles are the only things I know of that ignore damage from high liquid pressures.

Here is another version of infinite liquid storage I use. I like this one because it's easier to set up and fits in my 4 tall hallway design.

Spoiler

Infinite Storage - Liquid - Version 2.jpg

This version depends on 2 different types of liquid, one of which is a small amount blocking the vent and trapped in place. Crude oil is perfect for this since it is heavier than most (all?) other liquids. If you're storing crude oil, just swap the vent to the top and use a lighter liquid like I did in the top right storage area.  (Though I must admit that water is a poor choice for this due to the low boiling point. Use petroleum whenever possible)

Lastly, here's my main method for infinite gas storage.

Spoiler

Infinite Storage - Gas - Store extra + full output.jpgInfinite Storage - Gas - Store extra + full output - Pipe Overlay.jpg

This method again takes advantage of ONI's 1 element per tile, but uses low amounts of liquid (<1.8kg) to trick the gas vents. If you have the plastic available, it's easier to use high pressure vents because under 20kg is easy to hit.

My pictured system also shows off using bridges to direct pipe flow. The oxygen comes from a SPOM to the top of the screen and then is directed to the right to ultimately fill the exosuit docks in the bottom left of the pictures. Any extra oxygen continues down and gets pushed into the storage room. The two pumps in the storage room are permanently trying to push 1kg packages of oxygen back into the line feeding the exosuits, but can only top off partial or fully empty packages. This results in a SPOM that cannot back up and an exosuit feeder line that will never not be completely full.

Let me know if you have comments on my probable glitch, questions about any of the builds I use, or have infinite storage systems that you like to use yourself.

 

PS: Yes, none of these are all that original. I think @Saturnus is responsible for the G shaped door waterfall compressor, but I could be wrong. 

The gas storage is based on one of@Lifegrow's designs. 

 

Share this post


Link to post
Share on other sites
Lifegrow    1566

Your 3rd version is a take on my overpressurised tank design from aaages ago, however you've made the mistake of only using one airflow tile, and placing your vent in the wrong place. What you want is a two deep pool - the bottom tile is full to the liquids capacity (i.e. for Oil 870kg), then the upper tile less than ~1.8kg.

image.thumb.png.9b5002bedd5347e4b1e66028db407c4e.png

image.thumb.png.fed915770f4c5d63209e6643b7269edb.png

This design can never fail - and even if an incorrect packet is pumped in, chances are it'll be deleted over time. The key is that the small amount of liquid in front of the vent can always displace downwards into the liquid tile below, then pop back up instantly. It's bullet proof :) 

Your second design is also slightly wrong, and prone to failure if you only use a single tile wall. To be safe, make the tile two deep to avoid displacement. However, always be careful with your input feeds...

image.thumb.png.c2b989fb366b4b3cb4a16b6050653c92.png

image.thumb.png.e3d0a396c21f4a01eeb4cf3d56be8dd3.png

 

 

Share this post


Link to post
Share on other sites
beowulf2010    574
36 minutes ago, Lifegrow said:

Your 3rd version is a take on my overpressurised tank deisgn from aaages ago, however you've made the mistake of only using one airflow tile, and placing your vent in the wrong place. Will explain shortly when I get to my computer.

Always looking to improve things. I'll edit you into the first post. 

Share this post


Link to post
Share on other sites
KittenIsAGeek    1445

My personal method is to use two tiles of fluid because its very easy in survival.  First, build an airflow tile and a wall.  Start pouring water in.  When it overflows, build another airflow tile and your vent.

Spoiler

image.png.8976d49c472b892b90613a7efc9c7821.pngimage.png.84539e34082877e8850f420a63cc9e1c.png

image.thumb.png.31e1a011f79dfb1ab0bdd751121538a9.png

Of course, if you're storing the hydrogen from a geyser, you want to use petroleum instead of water.

Share this post


Link to post
Share on other sites
mathmanican    2354
2 hours ago, beowulf2010 said:

G shaped door waterfall compressor

Here is one of the first posts on the topic, and people thought it had to do with mesh tiles.  

Spoiler

 

Here is @Saturnus's take on using it to tame any geyser.

Spoiler

 

The first post made me realize we can shrink the height of the storage design quite easily. This also makes it much easier to build to the SIDE of a biome that you want to drain of water, instead of BELOW that biome. Also, @beowulf2010, this fits nicely in your 4 tall rows, and has the added bonus of being able to able to add liquid with a bottle emptier. 

infinite-storage.png.3a69375d0c8306d524dcb25fda8a4ea6.png

Also, since geysers output water till the third row above the neutronim hits 500kg (iirc - might be second row, but this still works), you can use this to extract all liquid from your geyser/volcano - simplifying @Saturnus design a bit. @Tonyroid, this might come in handy when designing a new volcano capture device. Here is a picture with a geyser. A volcano is similar.

new-infinite-storage.thumb.png.eb37fa40610fe358c700f9961c70f0f5.png

 

1 hour ago, KittenIsAGeek said:

its very easy in survival

I like to set a liquid valve to 1800g (much less than the 1000kg+ needed for the vertical option), and then deconstruct a single pipe over a two tile area (so 900g over each vent). If I have a plumber, I'll extract a single bottle of liquid.  With two vents, the air always can flow out one, even when it gets pushed to one side and becomes 1800g. I've heard of people having their liquid disappear, but I have not experienced it in my thousands of hours of playing. Here is the start of a multi gas collection area in my current run. 

vents-liquid.thumb.png.b05b5a47244b33aacbf9c6788b526049.png

Lots of fun ways to do this. 

2 hours ago, beowulf2010 said:

Let me know if you have comments on my probable glitch

Did you have debris in your storage unit, and were the doors unlocked?  If so, dupes aren't very smart..... :) I always clear out all debris, and lock all doors. 

Share this post


Link to post
Share on other sites
Lifegrow    1566
45 minutes ago, mathmanican said:

I like to set a liquid valve to 1800g (much less than the 1000kg+ needed for the vertical option), and then deconstruct a single pipe over a two tile area (so 900g over each vent). If I have a plumber, I'll extract a single bottle of liquid.  With two vents, the air always can flow out one, even when it gets pushed to one side and becomes 1800g. I've heard of people having their liquid disappear, but I have not experienced it in my thousands of hours of playing. Here is the start of a multi gas collection area in my current run. 

vents-liquid.thumb.png.b05b5a47244b33aacbf9c6788b526049.png

Be careful with this design by the way, had it fail twice in the last two streams - both time we've observed the liquids being deleted, and each time 440g of liquid was temporarily left, before being deleted completely (despite being re-topped up with totally different amounts of liquid both times)

That said, I watched it happen with a 4 vent setup, not double vents. Not had time to go back and test in debug yet.

Share this post


Link to post
Share on other sites
KittenIsAGeek    1445
57 minutes ago, mathmanican said:

The first post made me realize we can shrink the height of the storage design quite easily. This also makes it much easier to build to the SIDE of biome that you want to drain of water, instead of ABOVE. Also, @beowulf2010, this fits nicely in your 4 tall rows, and has the added bonus of being able to able to add liquid with a bottle emptier. 

infinite-storage.png.3a69375d0c8306d524dcb25fda8a4ea6.png

I really like this.  I have used a related method to remove polluted water without allowing polluted oxygen out.

image.png.bb4536359986723423a8213cb3f17fcf.png

I may have to alter my design at some point, since this only prevents the polluted oxygen from escaping and does not (necessarily) trap liquid at high pressures.

13 minutes ago, Lifegrow said:

Be careful with this design by the way, had it fail twice in the last two streams - both time we've observed the liquids being deleted, and each time 440g of liquid was temporarily left, before being deleted completely (despite being re-topped up with totally different amounts of liquid both times)

That said, I watched it happen with a 4 vent setup, not double vents. Not had time to go back and test in debug yet.

I have had the same problem, though I'm uncertain what the actual mechanic was because in both cases, I was not watching at the time.  Since then, I've always used two vertical tiles of fluid and I've never had a problem.

Share this post


Link to post
Share on other sites
beowulf2010    574
1 hour ago, mathmanican said:

(Snips a lot of useful stuff I'm going to have to read tomorrow when I'm sentient)

Did you have debris in your storage unit, and were the doors unlocked?  If so, dupes aren't very smart..... :) I always clear out all debris, and lock all doors. 

There may have been a piece or two of debris, but yeah, all the doors were locked on the initial failure. So weird. 

Share this post


Link to post
Share on other sites
mathmanican    2354
17 minutes ago, Lifegrow said:

440g of liquid

So 220g above each tile? Which liquid (water/petro/crude)?  I have seen quantities this small get deleted, but personally never 1800g.  Liquids in low quantity also get deleted from overpressurized electrolyzers, if you don't make them have enough mass.  I generally aim for over 500g per tile, but nowadays I shoot for a little under 1000g/tile (so when it bunches up it stays below 2000).    That's why I hit 1800g (900g/tile). 

I believe the issue may be related to the minimal mass, viscocity, rating (though may not). This is actually on my bucket list of things to check in great detail over the next few weeks.  I'm working on liquid/liquid, liquid/gas, and liquid/gas interactions on a microscopic (cell to cell) scale, trying to decipher exactly how things interact, when liquids bead, when they instadrop, when they split (and how they split), when they swap with other liquid/gasses, etc. Mostly, I'm trying to decipher the details that make bead pumps, waterfalls, liquid-gas bypasses, etc., work. Playing with magma showed me a few more odd quirks.  More on this later. 

Share this post


Link to post
Share on other sites
PhailRaptor    952

Chiming in with the issues for liquids getting deleted in an infinite gas storage cell.  I've had to use sandbox to fix them several times since the Launch Update.  When I build my next set I'll take some more exacting measurements of how much liquid.

Share this post


Link to post
Share on other sites
Lifegrow    1566
11 hours ago, mathmanican said:

So 220g above each tile? Which liquid (water/petro/crude)?  I have seen quantities this small get deleted, but personally never 1800g.  Liquids in low quantity also get deleted from overpressurized electrolyzers, if you don't make them have enough mass.  I generally aim for over 500g per tile, but nowadays I shoot for a little under 1000g/tile (so when it bunches up it stays below 2000).    That's why I hit 1800g (900g/tile). 

I believe the issue may be related to the minimal mass, viscocity, rating (though may not). This is actually on my bucket list of things to check in great detail over the next few weeks.  I'm working on liquid/liquid, liquid/gas, and liquid/gas interactions on a microscopic (cell to cell) scale, trying to decipher exactly how things interact, when liquids bead, when they instadrop, when they split (and how they split), when they swap with other liquid/gasses, etc. Mostly, I'm trying to decipher the details that make bead pumps, waterfalls, liquid-gas bypasses, etc., work. Playing with magma showed me a few more odd quirks.  More on this later. 

Sorry, I may have not been clear in what I wrote and I think it's led to a little confusion. (I've also since done some testing and found some revelations below...)

I've set up many, many over pressurised tanks in the past, however recently we'd encountered a few issues on stream. Most recently, due in part to conservation of materials/space, but more so to my immense laziness, i'd decided to forego my usual build of two-deep vents, and just slap a line of vents in a shallow pool (which used to work reasonably well, although would sometimes give intermittent over pressurisation, before the liquid would displace). Like this : 

image.png.0209b5c2f4726aa7841467c20f3ba829.png

However, they were failing as mentioned. The liquid in front was always over 1kg, varying between 1.3-1.7kg at max once evened out over the space, as it was emptied via bottle emptier, but i'm pretty thorough about these things.. The issue we watched happen was that the liquid was being deleted, and every time it was deleted the same process happened - two vents would back up, then in the remaining two vents there would be two small tiles of oil present - totalling ~500g, before being deleted entirely. 

Previously we'd watched the same thing happen in a liquid tank with a liquid vent actively deleting the 600kg of oil placed in front of it (it was a salt water tank). So... I did some tinkering. ( *EDIT* clip here https://clips.twitch.tv/SuccessfulSparklingCarrotTriHard)

I tried the above design in debug and it worked faultlessly. Couldn't get it to die after many cycles on max speed. Tried it in various configs, and couldn't delete the gas. Then I went back to my stream save to see what the difference was and realised that i'd used airflow tiles as my surrounding.

Heres the layout I tested :

image.thumb.png.29a2839288428034df76e7524ecfe839.png

After 10 seconds at speed 3 :

image.thumb.png.bfdbe64ace04e50ccfa6a0e5a44181ec.png

10 seconds later :

image.thumb.png.260071ca83a5eba4e523e0da6580f2ec.png

Airflow tiles were the only difference here. 1kg of oil is used in front of every vent, and the right side always fails. So, summary here - don't use airflow tiles, they nom liquid...

Here's the save - me personally i'll be sticking to my 2 deep build from here on out until Klei decide whether this is a bug or a feature ;)

Vent Test.sav

 

Share this post


Link to post
Share on other sites
Lifegrow    1566

So, another post as the plot thickens further....

Regarding liquid vents - They're janky. Very janky.

So I decided to test how the heck my liquid vent deleted my oil in a previous stream (see clip here ) and found some odd results. Namely that liquid vents CAN reliably delete liquids that differ from what is currently sat in front of them. However, there's a caveat, and it's an odd one that I just happened to stumble on.

So, here's the setup :

4 over pressurised liquid tanks, all with a vent and 800kg of crude in front of the vent.

The top two chambers are filled with 2.2kg of hydrogen (anything over 2kg), the bottom two are in a pure vacuum.

image.thumb.png.a230c5d0512cbd1f4532f4a2c999a34e.png

I'd noticed that my stream build had a bridge on the input splitting the flow, so to test if that was possibly the cause (although it seemed ludicrous that a bridge would make any difference) I doubled the builds with a piping variation for both - it just dumps 50% of the water back on itself.

image.thumb.png.7d9397aa407394bd26bbf77007d2f098.png 

There's nothing else present as can be seen here

image.thumb.png.f3844b85e0f026c7feac044663011d00.png

Turning on the hydro sensors, the bottom two tanks act as expected. The salt water incoming feed bounces up above the oil and begins to fill the tank. No oil loss so far.

image.png.ca5f3dcf48a48a75a32990101f22f1ed.png

The lower gas filled tank deleted 44kg of oil on the first few packets, then stabilized

image.png.22bb5c360817edcbda71f8a08e519c61.png

But the upper most tank (the one with the split input feed) so far hasn't produced any salt water through the vent, and instead has begun deleting oil.

image.png.704526ec02b42cfe23b01ed9aa98a7a1.png

10 seconds later

image.png.8dbe30d93d8afc214cd7b3b8f79cdd85.png

It's a very weird bug, and hard to replicate - but it's there. I ran this test 5 times, it happened 3 out of 5 attempts. All exactly the same circumstances/scenario, but sometimes it works, sometimes it doesnt... Really weird.

Anyways, here's the save - have a play. Load it up, unpause and wait for the dismiss popup, flip the switch and watch the oil levels :/ 

Vent Test.sav

 

Share this post


Link to post
Share on other sites
mathmanican    2354
1 hour ago, Lifegrow said:

sometimes it works, sometimes it doesnt... Really weird.

I wonder if this is the same issue as the liquid over air vent next to airflow tile.  Apparently airflow tiles do some pretty odd things.

Share this post


Link to post
Share on other sites
Saturnus    3536

This is how I currently do the geyser capture. The thing to notice is I deliberately didn't make it as compact as possible.

The key element is the hydrosensor. It's set to 100kg but could be just about anything. It stops the pump for accidentally overemptying the storage and thereby potentially trap one of the blocking gases in a bubble when it fills up again. I learned this the hard way ::D

 

geyserstorage.png

Share this post


Link to post
Share on other sites
mathmanican    2354
1 hour ago, Lifegrow said:

flip the switch and watch the oil levels

Yep. Quite odd. Replacing the airflow tile below the crude did nothing.  Replacing the airflow tile to the LEFT of the crude fixed things.  I put a sandstone tile there(regular), and couldn't get any deletion. Instead, the salt water forces the crude up (the first time liquid comes in), and then it swaps places and proceeds to discharge normally. 

fix.png.94e4839b423153b62415d0b8540bb42a.png

When no salt is nearby, The game appears to attempt to discharge the liquid first under, then to the right, then to the left, then finally above. You can watch this happen by advancing the game slowly and seeing vacuum tiles appear first under, then right, then left, then above the crude. If the liquid flow stops, then it starts over (hence the intermittent flow just gets deleted). Not sure why the tile to the left fixed it, but not below.  

This might be related to why I don't see crude disappearing in my infinte gas storage. This suggests that the liquid/gas interaction is affected by airflow tiles.  What we need is an ONI fluid mechanics graduate level course that fully explains all fluid flow mechanics. I'll get on it. :) 

Share this post


Link to post
Share on other sites
Lifegrow    1566
1 hour ago, mathmanican said:

What we need is an ONI fluid mechanics graduate level course that fully explains all fluid flow mechanics. I'll get on it. :) 

Got you covered bud : It's "Janky as all balls"

Share this post


Link to post
Share on other sites
ONIfreak    147

Vent with some liquid on it is counted as "gas" tile not "liquid" tile - therefore any liquid over 2kg will over pressurize it.

Also all liquid below 1kg will be removed from vent to make space (first game will try to move it on a side and if no space will just vanish it.

System below has been build around Cycle 100 (electrolyzer leftover) - didn't fail since (now cycle 1833 as you can see)20190831234235_1.thumb.jpg.a7c1c4f89ef43fd3ab78e7cf0fdfb1e5.jpg20190831234240_1.thumb.jpg.07d4f2f0773a569dd7b634cfb648cfac.jpg

 Hope it helps with details investigation. 

 

Share this post


Link to post
Share on other sites
Lifegrow    1566

You quoted the wrong person there buddy :D 

Also, you're slightly wrong in what you're saying - no liquid should be deleted, and when using an even-split build, i.e. using bridges to split the input flow evenly, it only seems to occur if you use airflow tiles. Solid tiles seem fine. With the piping setup you're using, i.e. "a fork" - the game will send the packets in a more haphazard fashion, so you'd likely never see the same results.

Check the saves above and you'll see what I mean.

Share this post


Link to post
Share on other sites
ONIfreak    147
10 hours ago, Lifegrow said:

You quoted the wrong person there buddy :D

Gosh sorry about that. Didn't mean to quote at all. My phone has its own life :)

10 hours ago, Lifegrow said:

no liquid should be deleted,

I observed in different place problems with dissapearing petroleum when less than 1kg per tile ( i use just this "fork" dunno why, would need to change it) so i don't really know anymore if it happens or i do something incredibly dumb ;)

10 hours ago, Lifegrow said:

the game will send the packets in a more haphazard fashion, so you'd likely never see the same results.

What you mean? I always thought it will send - left-center-right -> is that not the case anymore?

Share this post


Link to post
Share on other sites
beowulf2010    574
5 hours ago, ONIfreak said:

What you mean? I always thought it will send - left-center-right -> is that not the case anymore?

Using a fork like you did will force a packet to wait its turn if the direction it is trying to go is full, meaning in your case the left vent will get 1 packet every 3 seconds no matter what. This can lead to line backups if 1 or 2 of the 3 vents break for some reason due to the stuttered flow. 

If you use a bridge into the fork instead of just piping to it, a packet will see one direction is full and go try the next route immediately instead of waiting a second, resulting in the left vent getting a packet every second if the other two vents are blocked. As long as one of the 3 vents is working, the bridged split will never back up as the full flow will go down the only open route instead of taking turns without the bridge. 

Share this post


Link to post
Share on other sites
ONIfreak    147
4 minutes ago, beowulf2010 said:

Using a fork like you did will force a packet to wait its turn if the direction it is trying to go is full, meaning in your case the left vent will get 1 packet every 3 seconds no matter what. This can lead to line backups if 1 or 2 of the 3 vents break for some reason due to the stuttered flow. 

If you use a bridge into the fork instead of just piping to it, a packet will see one direction is full and go try the next route immediately instead of waiting a second, resulting in the left vent getting a packet every second if the other two vents are blocked. As long as one of the 3 vents is working, the bridged split will never back up as the full flow will go down the only open route instead of taking turns without the bridge. 

Awesome. and nicely explained. Thank you from the mountains.;)

Share this post


Link to post
Share on other sites
beowulf2010    574
12 minutes ago, ONIfreak said:

Awesome. and nicely explained. Thank you from the mountains.;)

No problem. It's amazing the things you can do with input/output ports. 

Note: I usually say bridges because that's what we use for most of these shenanigans, but anything with input and output ports functions the same in terms of priority and split pipe flows. 

Need to send oxygen equally to 16 different places but be able to send the full flow to just one if the other 15 back up? All you need is 5 bridges and a 7x16 16x8 space for the pipes. (Edit: I miscounted in my head)

Spoiler

5d6c0a3230e77_1to16BridgeSplit.thumb.jpg.248568276b107a4ec7cc57a4cbd6d7fd.jpg

 

Share this post


Link to post
Share on other sites
ONIfreak    147
1 minute ago, beowulf2010 said:

No problem. It's amazing the things you can do with input/output ports. 

Note: I usually say bridges because that's what we use for most of these shenanigans, but anything with input and output ports functions the same in terms of priority and split pipe flows. 

Need to send oxygen equally to 16 different places but be able to send the full flow to just one if the other 15 back up? All you need is 5 bridges and a 7x16 space for the pipes. 

Yeah i use this for my oxygen system but never though to put it in here lol 

Share this post


Link to post
Share on other sites
Timych    6
On 9/1/2019 at 3:09 AM, Saturnus said:

This is how I currently do the geyser capture.

So, say in the mono-gas environment, how would you put in a second gas inside? 

Share this post


Link to post
Share on other sites
beowulf2010    574
13 minutes ago, Timych said:

So, say in the mono-gas environment, how would you put in a second gas inside? 

I've been able to dig/channel gas up or down to the storage area. When I was fixing the one I originally asked about, I had a number of pockets of hydrogen below I was able to dig out and let it fill the top of the chamber along with the oxygen that was already present. 

Other options are piping gas there using gas vents and/or using canister emptiers to get bottles of gas to the storage area. 

Share this post


Link to post
Share on other sites