Jump to content

ONI thermodynamic peculiarity: thermal transfer through granite wall is faster than through granite pipe


Recommended Posts

Let's go through a bit of history. I was trying to handle a steam geyser, the only one I found in my map so far. Being the only geyser, I was trying to make as much as possible off it and that means never ever let it overpressurize, i.e. condense the steam fast. At the same time I tried to avoid spilling heat, so everything is insulated with abyssalite.

First I tried placing the wheezewort right in the geyser chamber. That didn't quite work, the wheezewort kept stiffling out of high temperature, even if I added some gases to it they were getting destroyed and soon there was too little gas left for the wheezewort to be able to pre-cool it efficiently.

Then I separated the two, using meandering hydrogen pipe to cool down at the wheezewort and to cool down the geyser. That didn't work too, the heat transfer through the pipe just wasn't fast enough to cool the steam from its ~110 C to 95 C where it liquefies before the geyser went over pressure. 

Finally I was struck by an idea, and just put the wheezewort and geyser chambers side by side, separated just by a granite wall. And that worked perfectly. Here's how it looks now, works like a charm, the hydrogen pipe is probably not even needed there anymore and neither are the wolframite liquid pipe spots. I just don't want to rebuild it again after I got it working.

OVZ4rl0.jpg

u37aXrs.jpg

Note: it does not cool the water down. At least it's not aimed to do that. It does cool it somewhat thanks to the thermodynamic bug so it leaves the chamber at 85 C rather than 95 but that was not my concern.

Link to comment
Share on other sites

4 minutes ago, Masterpintsman said:

One of the many issues ONI has:

As far as I understand it, it's intentional hysteresis added to prevent the material oscillating back and forth, a kind of ONI state change enthalpy. All things seem to perform their state change 5 K beyond the limit. It would probably be better if the material description was open about it. Steam condenses at 95 C, water evaporates at 105 C. There, done.

Link to comment
Share on other sites

When setting up a simulation one would, for a sane result, set the state change temperatures in a way that oscillation won't happen by setting the condensation point lower than the evaporation point. This I get, and that they have done.

What I don't get is to setup an interface that dosn't reference the actual values used by the simulation.

Also state change should be setup in a way that makes sure the amount of matter changing state is limited so the resulting new state isn't driven into oscillation, then the spread (and 10°C is way to big IMHO) wouln't need to be that big.

Link to comment
Share on other sites

34 minutes ago, Masterpintsman said:

Also state change should be setup in a way that makes sure the amount of matter changing state is limited so the resulting new state isn't driven into oscillation, then the spread (and 10°C is way to big IMHO) wouln't need to be that big.

The problem is that the heat transfer appears to be bugged - two thermal masses may exchange heat so rapidly that they swap their temperatures within one simulation step. I guess the 10 C range is arbitrarily selected to avoid this happening on large scale when such temperature oscillation occurs. It still happens when you freeze small amounts of liquids.

If devs fix the heat transfer and correctly clamp it on equilibrium temperature, the range could probably be reduced significantly.

Link to comment
Share on other sites

8 hours ago, Kasuha said:

If devs fix the heat transfer and correctly clamp it on equilibrium temperature, the range could probably be reduced significantly.

I my beginner years of programming I learned the hard way that it's always the better idea to fix a bug instead of applying (more or less quick) workarounds to it, so I wholeheartedly hope the devs will approach this by fixing the underlying issue with the thermal transfer.

Link to comment
Share on other sites

3 minutes ago, Masterpintsman said:

I my beginner years of programming I learned the hard way that it's always the better idea to fix a bug instead of applying (more or less quick) workarounds to it, so I wholeheartedly hope the devs will approach this by fixing the underlying issue with the thermal transfer.

I hope so too, though in my decades of programming I learned the hard way that a lot of the time making a quick patch and moving on has the best price to performance ratio. As an old-school programmer I don't like it and also prefer the result to be bug free but that's like comparing efficiency of a manufacture with a factory.

Link to comment
Share on other sites

Sure, one could argue that some triage has to be done - but in this case we're talking about an issue in the core of the game... duct-taping 'quick' patches onto it will most likely be more costly as the effects are likely to spread out into plenty of places (that then need patching, ...), leading worst case to so much patches being in place that the only viable option is to continue applying duct-tape as fixing the initial bug (or even replacing the subsystem with a different/better/working one) would be to costly, thanks to all the existing patches that would have to be located and removed - classical painted into the corner syndrom.

Can we agree on: 'the more central the bug is, the better the idea of actually fix it prior to building further on the broken stuff is'?

Apart from that, I think we're offtopic enough so I'll rest this for now.

Link to comment
Share on other sites

12 hours ago, Kasuha said:

Let's go through a bit of history. I was trying to handle a steam geyser, the only one I found in my map so far. Being the only geyser, I was trying to make as much as possible off it and that means never ever let it overpressurize,

Excuse me, but.. If you don't want to let your geyser overpressurize, why the heck did you seal it? ;D

Link to comment
Share on other sites

2 minutes ago, Nidhoggur said:

Excuse me, but.. If you don't want to let your geyser overpressurize, why the heck did you seal it? ;D

 

13 hours ago, Kasuha said:

At the same time I tried to avoid spilling heat, so everything is insulated with abyssalite.

 

Link to comment
Share on other sites

41 minutes ago, Nidhoggur said:

Your heat is still being eaten up by wheezeworts. There's no difference if it's being eaten inside a sealed area or elsewhere.

I respect your personal preferences but I was trying to point out the difference between thermal conductivity of a pipe and supposedly one meter thick wall.

Link to comment
Share on other sites

1 hour ago, Kasuha said:

I respect your personal preferences but I was trying to point out the difference between thermal conductivity of a pipe and supposedly one meter thick wall.

Yeah, that's a bit off topic. Anyway, any ideas why this happens?
From what I can see the surface area of the wall is only 5 tiles, while the pipe is several times longer. So, I guess if they are same material, the pipes use different transfer calculation? Or applying some lowering coefficient. Maybe something to do with the fact that pipes are on a separate layer.

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...