Jump to content

The Steam Behemoth - Constant High Temperature Tile with Zero Thermal Input


Recommended Posts

Hi all,

Can we build a steam turbine with 100% uptime, no heat input, and no liquid input. Yep.  This post will show you how.  It clearly uses several exploits. Part of the reason for this post is to help the devs realize that with the current state of code, something like this is easily possible. Here's a picture to start it off, and the beast below I call the Steam Behemoth. (Most recent version is later in this post.)

5b77096c3242e_Screenshotfrom2018-08-1711-42-03.thumb.png.e091dbfbaeaa9077db4eb3d37cf19c0e.png

The automation is in the spoiler (added by requests).

Spoiler

5bf344f0161bb_Screenshotfrom2018-08-1621-23-00-automation.thumb.png.948a072cbbc51fdd9ac86968f88d8505.png

The door pump automation is described below.  It use (top left of diagram) B-F-N-(top door/B)-N-(Last Door/F)-B-N-(Middle Door/B), and then repeats. All the timers are on either 5s or 3s (doesn't matter), and no doors are powered. 

This is my first post to the forums.  I'm 700+ hours into the game (probably 1000+ if you count reading forums and making my own offline designs). My background includes teaching college level PDE (heat transfer) courses, and this game is awesome. You guys always keep up a lively discussion. Thanks for all you do.

This post is definitely an exploit (might even be a bug - you can all decide). It stems from the steam turbine on neutronium tile exploit. The idea: to create a tile, under a steam turbine, which never changes temperature. This would allow us to build steam turbines anywhere, and keep them running forever without any external heat input. 

My first idea was to grab some 1500C abyssalite from the oil biome, and bring it up. I could not do this in sandbox mode (as any insulated abyssalite tile gets made at 20C, and you can't inject heat), so I started a game specifically with this in mind. In survival, I used 1500C tiles of abyssalite (the ones adjacent to lava) and used them  to make an abyssalite tile. Unfortunately the temperature of the new tile became 45C.  ARGHHH! Turns out, you can take igneous rock at 800C+ and use them to build 45C new tiles. Bug?  Probably.  I've searched but can't find it reported. 

  1. First possible bug - newly constructed tiles have a temperature clamp. If the materials used to create them are too hot, or too cold, then the new tile temperature is clamped in a region.  I believe the temperature clamp is 15C-45C. Temp shift plates behave the same way.   You can grab 300C diamond, and build a new plate whose temperature will NOT be 300C.  Easy to replicate in game. I've checked the forums for info on this, and can't find any. Should it be reported as a bug, or a feature  (Created to keep your dupes from frying stuff when first built - thanks @R9MX4)

    This can be used as an exploit to rapidly cool super hot things.  Just build a new tile (or a row of them) with igneous rock. Then deconstruct.  Then rebuild, then deconstruct.  Watch your magma disappear in a heart beat. Want your oil temp to drop from 80 to 50 pretty quick? Use Granite/Igneous tiles and build them above the top layer of oil. Heat gets absorbed, deconstruct/rebuild, and in no time at all your oil temp is gone.  Way faster than an aquatuner, though does require manual input from the user. 

I did heat a regular abyssalite tile to over 230C (takes way too long), however when connected to the 1600kg steam turbine, it cools quite fast. The massive 1600kg turbine makes regular abyssalite look like any other material - useless at thermal insulation.

Now for the final new piece.  Heat is only transferred when there is a large enough difference (small differences are rounded to 0). Chlorine stinks at heat transfer (.008), and if I only have a small amount, say 1mg (or even less like 32 mcg), then maybe any change in energy will be so small that the rounding in the code prevents heat from moving. Turns out, this works perfectly, and the Baby Steam Behemoth was born. 

How it works. 

  • The 67 mg chlorine is kept at 448.2C by the tile of 400kg petroleum below it (also at 448.2C - easy to get from the metal refinery). The diamond tempshift plate keeps the chlorine temp at the petroleum temp (sometimes a few degrees less - more testing needed). The temp of the petroleum never drops. I decided to leave the computer running all night once and no change in temperature.  I think this exploit abuses rounding errors. 
  • The tepidizer at the bottom is there to boil the initial water. It uses a standard on/off toggle. I just drop 4 tiles of water (4000kg) into the bottom. Dupes can do this with a bottle emptier while building the thing, if you don't want to mess with liquid pipes.The Thermo sensor shuts it off once the water is all boiled.
  • The door pump is unpowered (expressive update - so really slow open/close). The timers can be set to 3 sec or left at 5 sec (doesn't matter). It moves steam fast enough even without power. I'm guessing a standard door pump will work. My automation on the doors is
    middle door- B-F-N-first door-B-N-last door-F-B-N-middle door
  • The extra row of space above the steam generator is required, else you loose steam (thanks all for noticing this). As far as I've been able to test, the above setup does not delete any steam and will run forever.  Absurd. 
  • The picture doesn't show how to get power out, as there are many ways. Conductive wire works.  You could move the door pump down one tile, and put a steel transformer in (it won't overheat). Or just use heavy watt wire and vacuum to get it out.  Tons of options. 

Now, why stop at one generator.  Mirroring the setup can get you two steam turbines with only one door pump.  Again, 4000kg of water is enough to get it all running (so 2000 is probably enough for the Baby Behemoth). Introducing the Steam Behemoth. In this picture I built it in a survival game (it's been running for 50 cycles or more), with an access port to the bottom and top chambers to make improvements as I find out more.  The access ports all connect to vacuum, so heat will not transfer. Notice that in this picture there are vents above the petroleum, used to get the initial tiny bit of chlorine in.

5b7713c570bda_Screenshotfrom2018-08-1712-27-53.thumb.png.92b8f0f715a8873a11391171b30028cd.png

Why stop at 4kW of power.  Might as well go all the way to 20kW.  Just stack 5 copies on top of each other, and forget the insulated abyssalite between them  (use whatever). Introducing the Great Steam Behemoth (It barely fits vertically on the screen).

5b770a8fa0c59_Screenshotfrom2018-08-1711-46-24.thumb.png.b48456793cdafcb966a1c5744b7ebd6a.png

Pop in 5 steel transformers wherever you want, and you have a 20kW plant. You can even couple this with the heat clamping bug from the liquid tepidizer and use aquatuners at each level to create a massive heat deletion machine (one aquatuner per turbine at 100% uptime using whatever liquid you want).

5b770e488f9ee_Screenshotfrom2018-08-1712-02-51.thumb.png.17c266e1852776d27da722a3723e71a6.png

Crazy.  I'm with @Kabrute.

On 8/12/2018 at 1:29 PM, Kabrute said:

nice catch, the more exploits we find the sooner klei fix their hacky patch

 

Summary of (new) bugs/exploits in this build:

  1. New tile/object temperatures are clamped.  Easy way to delete/add heat from world objects at cost of duplicant/player time. 
  2. Small amounts of gas (working with mg and mcg) don't transfer heat when next to 1600kg buildings.  I'm guessing this a round off error. More testing could find exactly how large the difference needs to be. This can be abused anytime Klei makes a building that requires specific temps without forcing a minimal mass as well (possible fix). Fixing rounding errors is not really possible without massively increasing computation time (game breaking).

I hope you enjoyed the post.  Thanks for all your comments and lively discussion.  I hope this generates some. If interested, here is the save file for the sandbox version where most pictures came from.

Paradise.sav

Screenshot from 2018-08-17 11-10-12.png

 

Spoiler

I have since redesigned this several times. One version appears later in this post, and uses gas conflicts instead of door pumps, along with a modification because of the lack of abyssalite.  You can also read a lot more about the steam turbine in the following post. 

 

 

 

Link to comment
Share on other sites

As far as I've observed, the "floor" tiles of the steam turbine are always vacuum, so if you had a hot tile under one of its ports that was hot and insulated abyssalite on the other 3 sides, shouldn't it always stay hot?

Link to comment
Share on other sites

3 minutes ago, mathmanican said:

The tiles are vacuum, but the mass of the turbine at 1600kg interacts with the tile (my best guess).

The steam turbine building interacts with its cells that it occupies but not with cells (and thus tiles) next to it. Unless there is an exception for the steam turbine but I highly doubt it. Would require some debug testing to verify I guess.

Link to comment
Share on other sites

Just now, Sevio said:

The steam turbine building interacts with its cells that it occupies but not with cells (and thus tiles) next to it. Unless there is an exception for the steam turbine but I highly doubt it. Would require some debug testing to verify I guess.

Done that.  I've been playing with this guy for a couple weeks, trying to optimize it. Unfortunately the isolated tile (where the chlorine is) will drop in temp rapidly.  I don't know why (best guess is specialize steam turbine code). If you can find a better way that what i have above, to keep the temp constant, I'd love to see it. It's been a fun run. 

If you swap the cholrine out for abyssalite, the temp drop quite quickly (.1/s at times 3 speed).  Abyssalite melts like butter...... (I ddin't wait long enough for the turbine to get up to power).  The turbine will run like this for quite some time, but eventually the abyssalite drops enough to stop the turbine (ran that test)

5b77313ea6a63_Screenshotfrom2018-08-1714-33-10.thumb.png.391a783b30de556dd88c2db963fde334.png

Link to comment
Share on other sites

@mathmanican Just tested it and I see now that you are correct, it does interact with the tiles below its floor (even solid ones) so it looks like chlorine might be the only option! You've made a good showcase for the problems with the thermal system so thumbs up from me. :)

Link to comment
Share on other sites

1 hour ago, mathmanican said:

 I believe the temperature clamp is 15C-45C.

When construction finish, the temperature of building will be reset to a specific range.

For material which belongs to Liquifiable catalog(eg. snow, ice, Pice), the range is -∞~45C

For material which doesn't belong to Liquifiable catalog, the range is 15C~45C

25 minutes ago, Sevio said:

@mathmanican Just tested it and I see now that you are correct, it does interact with the tiles below its floor (even solid ones) so it looks like chlorine might be the only option! You've made a good showcase for the problems with the thermal system so thumbs up from me. :)

I guess the reason is steam turbine is not only a simply building. Its floor occupies grids, just like airlock/tile, so you can't regard it like a normal building.

Link to comment
Share on other sites

Yep.. it works. Average power draw: 1440 watts for a bonus 560 watts of electricity and 2000g/s of free purified water 

The PW pool was initially at 32 C, but is down to 29 C.  Might have to put in a bypass somewhere.  BTW, line of PW up through the glass tiles is just something I had already there.

Spoiler

image.thumb.png.16d00e4176c4cca95cafd585963a789e.png

image.thumb.png.b1255d24b025c5ae06ed53ddbe593d93.png

 

Of course, could double it and have 1120 watts of electricity and 4000g/s of purified water...

 

Link to comment
Share on other sites

12 minutes ago, Oozinator said:

Steam engine only usable with exploits or sandbox.
I prevent building them in survival, because they suck.
I do not go into space biome, because it sucksz too..
Perhaps they could be well combined together..
 

Do Steam Turbines need steam?

Stick it over a hot vent and leave the top exposed to vacuum?

Link to comment
Share on other sites

1 hour ago, Yunru said:

Do Steam Turbines need steam?

Stick it over a hot vent and leave the top exposed to vacuum?

Unfortunately that does not work. The vent usually does not output enough to keep the turbine running. And the area above the turbine will have the same pressure as the vent area very quickly.

You need either some kind of gas pump (door pump) or some other kind of exploit to move the gas.

And once you have that running you will realize that the turbine cools the vent down faster than the vent will keep the heat up. So you will need another workaround for that.

Link to comment
Share on other sites

9 hours ago, Oozinator said:

Steam engine only usable with exploits or sandbox.

You can build them outside of both.... I do, but my build is more of an emergency build so it is not designed to run for long times.

If I were to use more radiant pipe I could probably cool it, but I don't need it to be running 24/7

Link to comment
Share on other sites

I just ran my build overnight, based on the stuff that @mathmanican brought to our attention.  It worked perfectly and continually all the way until it ran out of polluted water (and space to put the clean water).  Final water temp came out at 13.4 C.  The 380 kg of petroleum that was used as my heat source remains at 399.5 C.  

Spoiler

image.thumb.png.d814c32d5788aab54367d1b1283a3210.png

image.thumb.png.63c31c350d340da8d1b3a878fa510232.png

image.thumb.png.b61b77862ac9055646c736886c242180.png

This particular build will not restart automatically, but it proves that there are some exploits that do need to be resolved.

 

Link to comment
Share on other sites

There's a thread somewhere here or in reddit where some1 debugged the heat code. Its an old thread.

If the heat transferred is below a certain threshold nothing happens. Chlorine is actually very volatile due to its low specific heat, but as you have found, with a very low concentration it does not transfer heat at all.

This is a very fringe case really, and power is not really a big issue in ONI, if you don't isolate your electrolyzers / and don't use use pump based ventilation.

Link to comment
Share on other sites

8 hours ago, KittenIsAGeek said:

This particular build will not restart automatically, but it proves that there are some exploits that do need to be resolved.

Have you tried something like this? It will never stop working, and all the generated heat from the steam turbine will go directly to heating up the PW. 

5b78aae55d88e_Screenshotfrom2018-08-1817-23-10.thumb.png.36b44a0754f80b3bfe57496f20aabeef.png

  • By opening up 3 vents, you increase the flow rate on the turbine to 6kg/s of newly generated 159.1 C steam, instead of just 2kg/s.  This gets you three times the free heat.
  • The aquatuner above the PW should help maintain a continuous boil, as well as get you some cooling power.
  • It will never stop working.

I bet you can increase the rate beyond 2050 g/s. I'm excited to see what you get.  Been playing with similar ideas today as well. 

8 hours ago, Oozinator said:

Better use hamster wheels for that, or setup coal gen as emergency, if steam engine fails..

Now why would we ever use Hamster Wheels again. This steam turbine will never stop working. ;)  And as long as we store our Gold Amalgam batteries in gas, they won't every go above 75 degrees either (thanks to the heat deletion bug - no cooling needed). So pack 400 batteries somewhere and forget them, just so that you have plenty of power to last through the slow loadup which occurs sometimes when you save/load and have to wait for your steam turbine to kick in.

Bugs, Bugs, Bugs.  I'll do em @Lifegrow, only so we can eliminate them. (I loved the "Don't do bugs, kids," thread). 

 

Link to comment
Share on other sites

1 hour ago, Carnis said:

There's a thread somewhere here or in reddit where some1 debugged the heat code. Its an old thread.

If the heat transferred is below a certain threshold nothing happens. Chlorine is actually very volatile due to its low specific heat, but as you have found, with a very low concentration it does not transfer heat at all.

This is a very fringe case really, and power is not really a big issue in ONI, if you don't isolate your electrolyzers / and don't use use pump based ventilation.

That thread was precisely what caused me to think about using Chlorine.  This will be a really tough bug to fix, as increasing significant figures equates to increased computation time. As long as they allow things like 12mcg of gas (added to increase the difficulty of using pumps to create vacuum), then comparing 12mcg of basically any gas to 1600kg of something else will lead to 0 heat transfer. A simple fix for the steam turbine would be to require the object underneath it to have a certain amount of mass, or to just require all 5 tiles underneath to have hot steam in them. However, that would make the thing eat heat WAY to fast to be useable.

Some other interesting things occur when you get the chlorine content down to really small amounts.  Consider the following picture.

5b78b19512a35_Screenshotfrom2018-08-1817-48-16-1.png.1bb23112b3fd3face126e82412140b8c.png

Chlorine is at 351.3mg. The petroleum temps are -20.5 (left) and 348.7(right).  The tile above the 348.7 stays that temp always.  The tile above the -20.5 spot bounces around between -20.5C and possibly all the way up to 30C.  When it gets close to -20.5C, it starts to stabilize, and then bounced out of control (a pretty typical pattern when you have an unstable numerical algorithm). I wanted to use this to see if I could average the temperature between them.  No luck. I've seen the middle spot anywhere from 100 to 330.  It seems to favor the temp to the right, and possibly tempshift plates work differently based on which corner you touch. 

To test the right/left favoring behavior, I built the following. 

5b78b19e34239_Screenshotfrom2018-08-1817-48-16-3.png.bb04599136d6b3c41fe835f0c72f77d5.png

Petro temps are 2.1C (left) and 359.8C (right). The tiles affected by tempshift plates match the petro temp. However, EVERY single one of the 5 chlorine tiles above are at exactly 359.8C. The temp from the right dominates. I wonder if we have a new drip cooling bug, but now the key is to put the temp you want on the right side (so use aquatuners and make sure the vent is on the right side of the aquatuner - time for more testing). 

I wanted to see what happens with up/down behavior.  so I built the following.

5b78b198a44fd_Screenshotfrom2018-08-1817-48-16-2.png.5cd6272e87c3a27ea6c9db3a846971a7.png

And here are the results.  Petro is at 12.8C (bottom left) and 348.8C (top right).  Again, the tempshift plates do a great job of maintaining temp perfectly with the chlorine.  The other three tiles match the 348.8.  So temps above now trump temps below. Seems like temps that are in the upper right corner will take precedence over temps coming from the lower left. 

New aquatuner build should probably place aquatuner in lower left corner, and vent in upper right corner. See how much extra free cooling/heating you can get from this. 

All these results work with really small amounts of chlorine. It may not be an issue at all when working with large amounts of something.  But these results are slightly disturbing. 

Link to comment
Share on other sites

17 minutes ago, mathmanican said:

All these results work with really small amounts of chlorine. It may not be an issue at all when working with large amounts of something.  But these results are slightly disturbing. 

Put the cold above.  Heat rises, cold falls.  Oni physics reflects this.  

Link to comment
Share on other sites

1 hour ago, mathmanican said:

Have you tried something like this? It will never stop working, and all the generated heat from the steam turbine will go directly to heating up the PW. 

<snip>

  • By opening up 3 vents, you increase the flow rate on the turbine to 6kg/s of newly generated 159.1 C steam, instead of just 2kg/s.  This gets you three times the free heat.
  • The aquatuner above the PW should help maintain a continuous boil, as well as get you some cooling power.
  • It will never stop working.

 

Hmm. I get what you're saying.  Move the boiling outside of the steam chamber.  I think that has the possibility of working quite well. I'll have to re-design and see what I come up with.

Link to comment
Share on other sites

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.

×
  • Create New...