Tempshift plate material selection (2024)

10 hours ago, suxkar said:

*brevity snip*

Question: What's outside your squares? Just making sure because if it's not vacuum then you don't have a closed system. While that doesn't necessarily introduce a big delta, said difference between what we think the results are and what they actually are is non-zero, potentially non-ignorable as well.

Okay, so, I'm going to do my best to avoid math with this explanation as, well, text (specifically forum text, with all it's HTML non-LaTex goodness) is *not* a good medium for what I'd like to say... and to be fair, I don't really have time to type out the full thing anyway, which would mean trying to squeeze most of a semester of Statistical Mechanics into a single post on top of trying to do derivations to put it in a form applicable to the quantized length used in ONI... eh. I'll throw in some stuff for the educational value, but I'll try to keep it brief.

Most people do not understand thermal physics nearly as well as they think they do. Part of that is because they also don't understand what heat really is, nor do they have a firm understanding of what atoms are or how they react. Similarly, things like Specific Heat Capacity (SHC) and the like do not mean what most thinks they do. That might sound insulting or arrogant to some, and for that I apologize, but it's a statement made from observation and from a position of actually having done enough stat mech and quantum to make my eyes bleed.

Educational note: In real life, things like SHC are not linear. They're also a function of temperature. ONI treats it like a constant, just like most people do because in the regimes we're used to living in, it's more or less a constant. (ie. between -20F and 120F) ... but again, in the temperature regimes we're running steam gens in the game, it's not. (Actual SHC values for water).

As applicable to the game? Well, you'd need to be familiar with linear algebra to make solving it "easy" however the easiest way of looking at this is as it's presented in the game: a series of boxes. Each tile is its own box, each layer is it's own box... so for every tile you see visible, there's actually a number of boxes "behind" it that have the various other things "in the tile" inside them. This is partially why there's issues with background and foreground buildings conflicting, etc.

So, the change in temperature, baseline formula, at its highest level, is a series of summations, but the core function is little different from real life's Q=m*c*dT. How the interactions between the layers are defined (or rather were defined at a specific game version) can be found here. Granted, it's in DTUs but functionally, it's not terribly different aside from the inclusion of dt (time slice). I'll point out that having the timeslice in there does mean the answers generated will necessarily vary from what you'd expect in real life depending on if you're playing at 1x, 2x, 3x, or whatever. That's a numerical artifact of the simulation working in tics, thus time itself is quantized. Without continuous flow, you end up with some oddities if the right conditions are met.

For a single tile of gas, it's internally sourced temperature change is a summation of all the changes for each layer behind it. It's external change is, as far as I remember, the summation of the same equation for all neighboring tiles. What I don't remember is if neighboring is determined as 1 tile vertically and horizontally or if it transfers diagonally as well. I don't believe it does, which would mean that any diagonal heat transfer is technically phase lagged by 1 tick, provided they're doing 1 thermal pass per tick -- otherwise, you could certainly get diagonals by multiple passes per tick even with x/y-only transfers provided the subsequent passes handle tile-to-tile transfers, not just tile-to-other-layer transfers. The latter seems most likely to be the implementation.

To the point where this gets ultimately relevant is that for gas or solids in a tile any neighboring shift plates (1 tile, all directions) count as being in in the background tile layer for said gas. This complicates things and leads to some counter-intuitive results. Suxkar highlighted one of them, which is to say that it does screw with how one figures insulated tiles would work

... because outside of odd circ*mstances, one never has something else in the tile with an insulated tile, so all those extra summations for "stuff in same tile" are zero. With an adjacent tempshift plate, it's not. Other conditions can be found on the interactions link I posted in the paragraph before last.

Unfortunately, without a fair bit of work I don't have time for, meshing all the rules into a coherent singular formula isn't something something we have. If we had one, it'd be as "simple" as throwing initial conditions and the system's basic topology of the system into it and then solving directly for relevant answers... but, we can do a simple thought experiment now (and I'll probably sandbox it out when I have time later this week and post results if nobody beats me to it.)

Keeping this simple to keep it short:
Take a 1 tile tall section of space, make it 5 tiles wide, lined with neutronium (for zero heat transfer) Set all the gasses the left most column to some temperature T1 and all the gasses in the right most column to temperature T2. By default, if you let time run forward, after a certain time we'll call t_e, the system will reach equilibrium and have the same temperature everywhere. If all the gasses are the same gas, then that equilibrium will be T1+T2/2. If not, things get a fair bit more complicated, and t_e certainly shifts, but the final result should be a weighted average where one multiplies the starting temps by the relevant SHC. (ie. [SHC1*T1+SHC2*T2)/2])

Running the same experiment with a tempshift tile in the middle, necessarily means t_e is not the same time. You've added mass to the system, so it will certainly weight things. (*physics nerd smirk*)

So, energy transfer from left to right works almost exactly the same... almost.
time slice 1:
1 DTU enters tile 2. Raising the temperature of everything in it. This should mean that 1 DTU is split between the building and the gas.

time slice 2+:
Gas: Less than 1 DTU enters tile 2, a portion of that is pushed to the next tile, etc.
Shiftplate: For tiles its temperature is colder than, it pulls a portion of the heat entering the tile and a portion of the heat in the tile. For tiles it's hotter than, it pushes a portion of its heat into.

I got curious and built a spreadsheet to simulate this but it's buggy at the moment. I'll have to finish it later to get accurate results, but the preliminary shows that a dirt shift plate does, in fact, slow the spread of heat, which makes it an insulator. Fair caution on taking that the final word though, whatever typo I didn't catch in the code is adding about 1.7 DTUs per cycle (600 1 second time slices) to the system. Which is slightly larger than the temperature difference between the two simulations at the end of 600 time slices. Still a good chance fixing the bug might wipe that out, but it's certainly suggestive.

I'll fix the spreadsheet... or just load up the sandbox and do it in-game when I get the time, probably Thursday.

Tempshift plate material selection (2024)

References

Top Articles
Latest Posts
Article information

Author: Gov. Deandrea McKenzie

Last Updated:

Views: 5975

Rating: 4.6 / 5 (46 voted)

Reviews: 85% of readers found this page helpful

Author information

Name: Gov. Deandrea McKenzie

Birthday: 2001-01-17

Address: Suite 769 2454 Marsha Coves, Debbieton, MS 95002

Phone: +813077629322

Job: Real-Estate Executive

Hobby: Archery, Metal detecting, Kitesurfing, Genealogy, Kitesurfing, Calligraphy, Roller skating

Introduction: My name is Gov. Deandrea McKenzie, I am a spotless, clean, glamorous, sparkling, adventurous, nice, brainy person who loves writing and wants to share my knowledge and understanding with you.