Jump to content

Recommended Posts

With the meanie devs going in and getting rid of the <1 g rule for thermal conductivity, I've decided it would be interesting to try to make lower mass aerogels, as that should decrease the thermal conductivity to near 0.  I'm aiming for the theoretical smallest aerogel possible:  1 mcg. 

This is my thought process:  I get 1 mcg of steam from pumping out a steam room to a vacuum and grabbing a 1 mcg packet of steam in a pipe.  I then want to cool this 1 mcg packet down to below the condensation point, but interestingly enough, it appears to not conduct heat with the pipes.  So, I surrounded a gas vent with temp shift plates and had it condense in such a way that it would fall in droplet form down to a tricked liquid pump.  Doing this, I managed to get a packet of 1 mcg water in to a pipe, as the pump picked up the liquid in the instant before it vanished.  Promising.

image.png.fdeefa7bb119470200ee0587d64fcce1.png

The tiny packet of steam leaves the gas vent.  It then condenses and falls in to range of the pump, which is constantly running.  It then gets scooped up by the pump (under all the tooltips) before it gets deleted and gets put in the pipe.

Here is where I got stymied.  My plan was to run this 1 mcg packet of water through a meter valve set to 1 kg, then send a 1 kg packet of the areogel material (liquid carbon in this case) through the meter valve.  In theory, that should mean that 999.999999 g of the liquid carbon goes through the valve and 0.000001 g of remains on the input, but it doesn't work.  I also tried using a liquid bottler set to 1 kg with the same result.  It seems that these buildings don't have microgram precision.  I also tried with a 9 mcg packet made in the same way, but it also didn't work.

I bet I'm running in to rounding errors here, meaning there is likely a minimum value that I could create.  I'm out of ideas. 

Anyone have an idea as to how to proceed?

EDIT:  I made progress!  See below

Progress:  Using my 9 mcg packet of water, I managed to break 7 mcg of refined carbon off of a 100 gram packet!  By going down from 1000 g to 100 g, I apparently gained the precision for the meter valve to notice that something had gone through when I sent the 9 mcg water through.  That can be easily made in to a 7 mcg aerogel!  And it's reproducible!

Now I just need to see if the 100 - 7 mcg can be used to set the meter valve.  And it does!  That means I now have a build for 7 mcg aerogel.  I don't have time to explore right now, but I'll come back later and see if I can get that smaller.

 

image.png.a2cf99e6a4be86fa23c5743997bbd51a.png

Edited by Zarquan
  • Like 3
Posted (edited)

Well, I kind of surpassed my goals on this one.

image.png.af250f1a5164ebe8f2b90600e9026b22.png

It says 0 mcg, but the Sample Tool reports the actual mass as 6.98*10^-10 kg, which is 0.698 mcg.  So that's fun! 

So now I have a packet of polluted water that can consistently set up a liquid meter valve to output that tiny quantity of liquid, which I can then make in to aerogel.  This block of refined carbon is sitting next to 800 C thermium.  While it did rather quickly increase temperature from about 22 C to about 39.3 C, it stopped conducting heat at that point, it appears to be effectively perfectly insulating.  I will almost certainly have this setup on my rockets for high temperature-safe aerogel.

Now I want to know what the minimum possible mass of a gas packet is....

Edited by Zarquan
  • Big Ups 3
  • GL Happy 1
Posted (edited)

Through experimentation, I believe the theoretical smallest amount size of aerogel that can be made with this technique is 1.164153E-10 kg, or ~0.1164 mcg.  This can be done fairly easily with a new design for the pump and some fiddling with packets in debug (for knowledge rather than for actual mechanical reasons).  For example, if you get a 0.6 mcg and a 0.5 mcg packet, then you can create a measuring packet (the reusable packet to create more micro-quantities of liquid/gas) for the 0.5 mcg packet and run that through a meter valve primed with the 0.6 mcg packet, which will leave you with a 0.1 mcg packet that you can use on the meter valve.  I found that you can go as low as 0.08 mcg and still trigger a 0.116 mcg 'tick' on the meter valve.  

While packets can exist down to ~2^-126 kg (aka ~1.78^10^-29 mcg), the meter valve doesn't register these, so it doesn't split the larger packet.  Therefore, I know of no way to generate them in survival.

This will all be very annoying to do in survival, though, as you can only know how big a reported 0.0 mcg packet is by experimentation with a meter valve unless you activate debug mode.  It feels odd that I can do all of this easily and reliably using debug tools to see things more accurately, but it will be extremely annoying in survival due to the low accuracy of the tooltips.

This is my new reliable "get a 0.0 mcg packet" build:

image.png.fdd9134d018838aabf4063d3d0f5c71b.png

The 100 mg oxygen tricks the mini gas pump in to always pumping, even if no gas is being pumped.  I then put in a packet of 100 mg gas (like oxygen) in the room with the vent and let the gas flow upwards, and the last one to three packets are pretty much always reported as 0.0 mcg.  It is important that the vent is either above or below the critical "pick up" tile, as horizontal packets of gas swap randomly, and we want to avoid that for consistency.  Interestingly, it seems to consistently produce the same 0.0 mg packet under identical conditions (7.937773E-10 kg), but if you interrupt the power to the pump to shake things up, you can get different masses.

And now the annoying part:  I don't know how to measure the mass of my 0.0 mcg packets accurately in survival.  I believe the only way to know the actual mass of the packet to any degree of precision is to merge 8 suspected minimum packets together and see if it reports 0 mcg, then merge one more suspected packet and see if it measures 1 mcg, but that only shows if the is below 0.125 mcg.  And, now that I know 0.116 mcg is possible, I won't settle for an aerogel as unnecessarily massive as 0.125 mcg.  I could, of course increase the resolution by combining more packets, or even combine thousands of these packets together to get better numbers, but that sounds horrible.

I would love to hear any ideas to test the mass of this packet or tile that doesn't use debug tools.

Edited by Zarquan
  • Like 2
Posted (edited)

I have done experiments and have created a process by which a packet of minimum size can be created.  I'm not sure I recommend it unless you like extremely tedious processes, but keep in mind, you only have to do this once per save (assuming you don't mess up and destroy your work later.)

First, I will define terms.  

  • micropacket is a packet in a pipe best measured in micrograms.
  • measuring packet is a packet of approximately 1 gram that, when fed through a meter valve, will leave the meter valve with a remaining value best measured in micrograms. 
    • Measuring packets consistently create packets of the same size
    • A measuring packet is used to make a micropacket.  A micropacket can be used to create a measuring packet, but if it is raw (from a pump and not from a measuring packet), it may not be a measuring packet of the exact size of the source micropacket.  Micropackets made from meter valves can consistently create measuring packets for themselves using meter valves.
      • For you math and CS nerds out there like me, the measuring packets are like a negative form of the micropackets, allowing for effective subtraction, similar to how large numbers in computers are used to represent negative numbers in 2's complement.

Critical observation: Packets of size 0.17 and 0.06 micrograms consistently create measuring packets for minimum size packets.  Similarly, measuring packets for masses between 0.17 and 0.06 create micropackets of minimum size, 0.116 mcg.  Also, all micropackets appear to be a multiple of the smallest value, meaning this might be the quantum of the meter valve.

The goal: Create a micropacket or measuring packet guaranteed to be within the stated range. 

To do this, it is important to be able to take more precise measurements of the size of these packets than the game gives us by default.  In debug, we can easily determine the exact mass using the Sample Tool, but debug is cheating in survival, so we are limited to survival tools.  To do this, I designed a machine that (1) dispenses micropackets based a measuring packet and (2) counts and either dispenses them or stacks them.  For the machine to work, it is important that the output micropackets and measuring packet are of different elements.  I used polluted oxygen for the measuring packets and steam for the micropackets.  Below is the machine, which I will gladly explain given interest (it's late):

image.png.c44760a0ae794078b8ce4c68bbcc4f32.png

Spoiler

image.png.6f0f532f38d5d7ab0a88bc60f8597aec.png

image.png.9c551910b45a1a072b59334d1f6ada4f.png

The XOR gates are there to reset things when the switch turns on.  The power shutoff is there to prevent certain equipment from running when the system is turned off (to prevent extra packets from being outputted.

image.png.f90979aa46c862710cc64ea522ec6d89.png

You know your gaming when you bust out the spreadsheet!  Now, for the hellish and tedious mildly annoying process to produce a measuring packet of the smallest micropacket.  

  1. Using the build from the previous post, produce raw micropackets of various sizes (0.0, 0.1, 0.2, 0.3 mcg)
  2. Use those micropackets to create measuring packets and discard the raw micropackets (recall that a micropacket from a pump will create a measuring packet for slightly different micropacket.
  3. Use each measuring packet on the machine above to measure out 10 packets to stack together.   This can probably be smaller due to the quantized nature of packets this small, but this is what I came up with and it worked well.  
    1. As the stack is created, record the reported mass in a spreadsheet.
  4. I will now calculate the upper and lower bound of the micropacket produced by the measuring packet.
    1. Calculate the upper bound, or the highest mass that could produce each measurement:  ((displayed mass+1) / number of packets)
    2. Calculate the lower bound, or the lowest mass that could produce each measurement:  (displayed mass / number of packets)
    3. Calculate the upper bound of the packet:  =MIN(upper bound values)
    4. Calculate the lower bound of the packet:  =MAX(lower bound values and minimum packet size (0.116 mcg))
    5. I produced the spreadsheet in the spoiler below.  I did sanity check my results using debug, but if you did it right, it should be good.
  5. Divide the upper and lower bounds by the minimum packet size 0.1164153 mcg.  Each micropacket's bounds should surround 1 integer.  That integer times the minimum value is the exact mass of that packet.  Record these integer values, as they will be the identifiers and description of these packets.
  6. In a process that will come up later, we can design new micropackets by effectively adding and subtracting micropackets to and from each other through the combination of micropackets and measuring packets, so we want to find a set of additions and subtractions of the micropacket size in the quanta size (the integer we found for each packet) to reach a value of 1.  In my case, I have numerous options using the 11. If you do not have an odd numbered packet, you will need more packets until you find one, which should be a 50/50 chance for each packet unless something fishy is going on in the physics.  I choose to take my 11 and subtract five of my 2's.
    1. I stack 5 2-micropackets together using my micro-aerogel dispenser.
    2. I create a measuring packet for 11.
    3. To achieve subtraction, I add the 5-stack micropacket to the 11's measuring packet (11 - (2 * 5) = 1)
  7. I now have a 1 measuring packet, a measuring packet for the smallest micro packet size and can create aerogel of 0.116 mcg.  I can use this to make as many measuring packets and micropackets as I want.
Spoiler

image.png.c8830a6275d91be361761544aa7de33e.png

I realized this isn't really readable, so here's the actual file.  In each group, the columns are as follows:  Number of packets, measured mass, upper bound, lower bound, theoretical value (debug derived), then the lone actual packet mass value (from debug).

MyPacketMeasurements.ods

Here is a video of me doing the packet-math in game, including seeing the packet dispenser in action, culminating in the fabled 0.166 mcg packet.

In this video, I find my 2-measuring packet, use it to create a 5 stack of 2 micropackets (which is a 10 micropacket), mess up a little because I was impatient, then create a polluted oxygen 10-micropacket and 10-measuring packet.  I then find my 11 measuring packet and combine it with the 10-micropacket to get a 1-measuring packet, which I then demonstrate works by creating a 1-micropacket, verified by the sampling tool. 

With that micropacket (and accompanying measuring packet) in hand, I can easily make a steam micropacket of the same size, condense it over the pump, and use that water to make a liquid measuring packet, and from there, I can make that mass of aerogel whenever I want!

EDIT:  Ehhh, thought I should include a video.  This includes the use of the polluted oxygen measuring packet to create a steam micropacket, the transformation of the steam micropacket to a water micropacket, the creation of a micropacket system (and a small-packet dispensery), the creation of a polluted water measuring packet from the water micropacket, then the use of that measuring packet to create a refined carbon micropacket, which is then turned in to refined carbon aerogel.

Wow, Klei is generous with the attachments on their forum! 

The 1000 g liquid carbon packet can be used to create an ungodly ~8,620,689,655, of aerogel tiles.  That polluted water blob can be used repeatedly, and is stable across save/loads.  It can also be easily copied and put in a pipe in a rocket to seed other colonies with aerogel setups of their own.

The packet creation works in liquid pipes as well.  The mechanics appear identical.

And with that, it is done.  Unless someone can find a survival way to reliably and repeatably make an even smaller aerogel tile that doesn't involve boiling the prospective aerogel material and somehow pumping it up, I think I'm satisfied with these results.

Edited by Zarquan
  • Like 1
  • Thanks 1
  • Big Ups 2
Posted (edited)

Ok, I know how to reliably get smaller aerogel, but it fails one of my requirements, as you have to melt the aerogel material.

You can divide the aerogel mass by 2 any number of times you want by (1) making the micro-aerogel right next to a tricked pump, (2) mining the aerogel, (3) melting the micro-aerogel debris in range of a tricked pump, (4) pumping up the now liquid debris, then repeating with step 1 for how ever many times you want to divide by 2.  The pump should (hopefully) pick up the liquid before it is deleted.  I bet you could probably get to the literal smallest amounts, down to near 2^-126 kg, but this is annoying, tedious, and infeasible for the best kinds of aerogel, like tungsten, refined carbon, and steel.

There is one application I think it might be reasonable for:  A tile for pre-frozen food and rocket fuel to sit on in a rocket.  Since you only have to do this once per rocket, it may make sense to not worry about it ever exploding on you.  For that, you either want lead (for low SHC) or sucrose (For low TC), which both have relatively reasonable melting points.  I'm pretty sure the lower SHC is more important than low TC due to saturation of the thermal transfer (the aerogel swings all the way to the temp of the debris or achieves max temp change and swings back to the atmosphere temp), but I don't even know how to measure that accurately at these masses, and the game could easily be wonky in situations like this and not behave like we see with more common masses (like the real world with normal physics and quantum physics).  

I would be shocked if my 0.116 mcg wasn't good enough for that use case though, so I will not do this beyond seeing if it is possible, which I have done.  I melted a 0.116 mcg packet in range of my tricked liquid pump and the pump picked it up and I plumbed it to find it was about 0.0558 mcg.

EDIT:  This does have a good use, though.  It can be used to help produce an original 0.116 mcg packet by repeatedly halving a larger packet until it is within range to make the 0.116 mcg packet, which may or may not be easier than my method in the previous post.   In fact, I think it is easier.  You start at, say, a 15 mcg packet, then proceed to make it in to aerogel and mine it 7 times, and you will always end up with a packet that can prime a meter valve to produce a micro-packet and measuring packet for a 0.116 mcg aerogel.  The 15 mcg is anywhere between 15 <= x < 16, so 15/2^7 = 0.1172 mcg and 16/2^7 = 0.125 mcg, which are both within the rounding range.  In fact, this is how I will make my original micro-packets from now on.  You can probably do better with less digs and a smaller number.  In fact, if you take any packet that reports a mass of 3 mcg, you can go through the halving loop 5 times to get a guaranteed micro-packet capable of making a measuring packet for a 0.116 mcg micropacket.  I usually have a surface I can melt lead or uranium on safely, so that should be pretty easy.  Or I could just use water and ice....

Edited by Zarquan

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
  • Create New...