Jump to content

[1.12.x] Heat Control - More radiators! (August 22, 2021)


Nertea

Recommended Posts

As a separate issue, I still don't understand the ≥1000x time warp heat logic. In the above experiments, at 1000x time warp, the temperature of the spacecraft would jump to around 865K, which was substantially hotter than any part of the spacecraft at time warps <1000x.

How hot were the radiators? In 1.02, I believe the heat that got smeared all over my ships at high warp came from the radiators. Remember, they drop in temperature to equal the average temp, and if they have a high thermal mass that means a lot of heat gets redistributed.

- - - Updated - - -

Given that HC is a plugin, I can't speak for plugin code. But do a similar experiment with your basic stock parts - run a bunch of NERVs, let them cook, then watch what happens when you timewarp to 1000.

Which is a problem with timewarp. I think this heat mechanism was a big mistake. Squad appears to be having a lot of trouble integrating it into the rest of the game.

Link to comment
Share on other sites

How hot were the radiators? In 1.02, I believe the heat that got smeared all over my ships at high warp came from the radiators. Remember, they drop in temperature to equal the average temp, and if they have a high thermal mass that means a lot of heat gets redistributed.

Radiator temperature was 660-670K (just slightly below reactor temp) at time warps <1000x. At time warps ≥1000x, radiator temperature jumped to 865K (as did the rest of the spacecraft).

Link to comment
Share on other sites

As a separate issue, I still don't understand the ≥1000x time warp heat logic. In the above experiments, at 1000x time warp, the temperature of the spacecraft would jump to around 865K, which was substantially hotter than any part of the spacecraft at time warps <1000x.

From testing, the game is not averaging temperature, its averaging thermal energy density. In other words, it determines the total thermal energy across all parts, sums that, and divides it proportionally to thermal mass across the ship. This makes ships very hot because in our test ships, the majority of thermal mass & heat is on the same parts (reactor/radiators).

THere also appears to be some kind of abstraction going on relative to thermal equilibrium, since, as you note, the ship is getting hotter than the hottest part. I cannot speak for whats going on here.

Link to comment
Share on other sites

Given that HC is a plugin, I can't speak for plugin code. But do a similar experiment with your basic stock parts - run a bunch of NERVs, let them cook, then watch what happens when you timewarp to 1000.

Okay...

Javascript is disabled. View full album

Still doesn't explain why it sets the temperature so hot when HC is used. The ship was also rotating and tumbling all over the place for some reason, which is why the background keeps changing there.

Edited by smjjames
Link to comment
Share on other sites

RoverDude & Nertea,

The jump in temperature at ≥1000x time warp appears to be stock behavior. I hypothesized that simulation of heat production at time warps ≥1000x might be the problem, therefore rendering LV-Ns an unsuitable comparison (LV-Ns must be turned off to engage time warp). I couldn't think of any continuously heat-producing stock parts, so I used a ModuleManager patch to add a heat-producing ModuleResourceConverter (using only stock variables; not dependent on any plugin code) to the ISRU Converter:

@PART[ISRU]:Final
{
MODULE
{
name = ModuleResourceConverter
ConverterName = Heater
StartActionName = Start Heater
StopActionName = Stop Heater
AutoShutdown = false
GeneratesHeat = true
TemperatureModifier = 100
UseSpecialistBonus = false
}
}

Using a test craft with an ISRU converter (with aforementioned "heater" activated) and stock radiators, at time warps <1000x, the resulting thermal equilibrium is seen here:

YNEr9gI.jpg

ISRU - 819K

LH2 tank - 809K

At time warps ≥1000x, the entire craft jumped to (and remained stable at) 1097K:

zFcvJQu.jpg


Additional notes:

  • I have confirmed that this phenomenon can result in thermally stable spacecraft exploding immediately upon engaging ≥1000x time warp
  • This phenomenon is new in 1.03/1.04; I recall from NFE testing in 1.02 that ≥1000x time warp resulted in a sudden decrease in temperature

Edited by Fraz86
Link to comment
Share on other sites

There IS one thing that produces heat constantly, the sun, and I have an idea, not sure if it'll work though.

Edit: Verdict is inconclusive because everything is hot near the sun anyway.

- - - Updated - - -

This would go back to why Nertea is going to need to sort out 1.0.4 compatibility which is completely orthagonal to radiators.

What do you mean by orthagonal to radiators?

Edited by smjjames
Link to comment
Share on other sites

This would go back to why Nertea is going to need to sort out 1.0.4 compatibility which is completely orthagonal to radiators.

I'm curious what you mean? Doesn't my experiment demonstrate that the problem is rooted in the stock heat simulation? If Squad ever wants to reintroduce heating to any modules that function under time warp (e.g., ISRU, drills, etc.), it looks like they will encounter the exact same problem. Not to mention any mods that want to add heat-producing parts. It appears that this problem is not at all specific to NFE.

I suppose it's true that "Nertea is going to need to sort out 1.0.4 compatibility" to the extent that he must adapt to a bugged stock simulation, but that's hardly what I would call a matter of compatibility.

Edited by Fraz86
Link to comment
Share on other sites

** the comments below are my personal thoughts as a modder, not as someone who subcontracted for Squad - do not take anything I say in any way as some 'official' statement!!! **

RE Orthagonal: My point was that even if 1.0.4 did not add radiators, Nertea already had to do adjustments, as has already been noted. And sorry, this is not a 'bugged stock simulation' issue. Using the stock mechanics and stock parts, with stock configs you're fine. this is squarely a mod issue. Stock ISRU had heat mechanics pulled in 1.0.1 specifically because I needed to noodle over how to better handle them in analytics mode without explosions or exploitations (I should know - I did it), so poking it with a stick and calling it a bug is a bit disingenuous.

I am saying this not to be pedantic, but to make a pretty clear separation between what is supported in stock vs. what is not. i.e. your demo above, Fraz86, basically says 'I can edit a config to include non supported values that are not used in any generators in the entire game, and cause things to explode!'. Of course you can... that's why those mechanics were tabled. Right now, there are no stock mechanics that I am aware of that generate heat and operate in analytics mode (engines and reentry heat are both limited to physwarp). So naturally whatever Nertea does for his mod will have to account for this. That's not a bug, that's pushing the boundaries of what we have right now.

Now, if at some time stock heat in analytics mode makes a comeback, then Nertea can likely piggy back off of that. But there's absolutely no guarantee what shape that will take. And that's the rub. You're extending a major (and newish) subsystem, and asking it to do some interesting things that it simply is not (currently) designed to do. And I expect there will be future occurrences of having the rug pulled out (i.e. if Nertea makes a plugin that does X, then stock ends up doing Y, there will end up being more rounds of reconciliation).

Link to comment
Share on other sites

An idea for a dirty hack: block high warp when parts temperatures change faster than some small rate. When temperature change rate is insignificant, assume that ship reached an equilibrium, save temperature state and allow higher time warp. When dropping out of high time warp, restore saved temperature state, (maybe with some coefficient based on overall temp change during high warp).

@RoverDude, could you please point to a comprehensive list of thermal-related parameters and their descriptions that can be used in cfg's?

Link to comment
Share on other sites

So, like I said about four or five pages ago, it would probably be easiest just to not have reactor heat at all.

Also, to have zero mass battery with infinite energy capacity. And if nothing would get damaged when it hits the ground.

Link to comment
Share on other sites

Nertea & Roverdude,

With the new 1.0.4 heat system, would it be possible to have heat as a resource? Or does the ModuleResourceConverter have a possibility to switch on/off depending on temperature?

Link to comment
Share on other sites

An idea for a dirty hack: block high warp when parts temperatures change faster than some small rate. When temperature change rate is insignificant, assume that ship reached an equilibrium, save temperature state and allow higher time warp. When dropping out of high time warp, restore saved temperature state, (maybe with some coefficient based on overall temp change during high warp).

Something even simpler:

Remember how the stock game says "can't timewarp higher than x50 below 120,000m" in low Kerbin orbit? Or "Cannot timewarp when the vessel is under acceleration" while your engines are on?

How about: "Cannot timewarp higher than x100 while reactor is producing output". High timewarps would require the reactor to be shut off, or reduced to 0% output. Or the ship being unfocused, thus avoiding the problem entirely.

(@RoverDude: the heat simulation isn't processed in the background for unfocused vessels, is it?)

Of course, whether or not that's a valid path depends on whether or not you can actually add such a thing as a modder. That's not exactly a System I would expect people to want to mod if I was a developer...

Link to comment
Share on other sites

Something even simpler:

Remember how the stock game says "can't timewarp higher than x50 below 120,000m" in low Kerbin orbit? Or "Cannot timewarp when the vessel is under acceleration" while your engines are on?

How about: "Cannot timewarp higher than x100 while reactor is producing output". High timewarps would require the reactor to be shut off, or reduced to 0% output. Or the ship being unfocused, thus avoiding the problem entirely.

(@RoverDude: the heat simulation isn't processed in the background for unfocused vessels, is it?)

Of course, whether or not that's a valid path depends on whether or not you can actually add such a thing as a modder. That's not exactly a System I would expect people to want to mod if I was a developer...

I would find that rather annoying IMO, what if you're running things that suck a lot of power while in timewarp? Obviously I can just slap on the advanced RTGs, but that's besides the point I'm making here.

Link to comment
Share on other sites

Fair point, but note that this isn't a design goal... it's a band-aid fix to prevent people detonating their expensive motherships with a push of the timewarp key. It may not be ideal for all situations, but in this case I'd rather sacrifice the rare reactor-driven giga-refinery that needs a Kerbal year to fill up its storage tanks while absolutely requiring to be kept focused if it means I can avoid ruining someone's hard work on a daily basis.

Personal opinion and all, of course. :P

Link to comment
Share on other sites

Something even simpler:

Remember how the stock game says "can't timewarp higher than x50 below 120,000m" in low Kerbin orbit? Or "Cannot timewarp when the vessel is under acceleration" while your engines are on?

I thought more in the line of "Can't timewarp higher than x100 while ship's temperature is not stable" precisely because it would be possible not to shutdown reactor every time. But yes, that is more complex.

Link to comment
Share on other sites

I thought more in the line of "Can't timewarp higher than x100 while ship's temperature is not stable" precisely because it would be possible not to shutdown reactor every time. But yes, that is more complex.

Point is, the temperature can be perfectly stable, but 1000x+ timewarp will still sometimes bork it.

Link to comment
Share on other sites

Something even simpler:

Remember how the stock game says "can't timewarp higher than x50 below 120,000m" in low Kerbin orbit? Or "Cannot timewarp when the vessel is under acceleration" while your engines are on?

How about: "Cannot timewarp higher than x100 while reactor is producing output". High timewarps would require the reactor to be shut off, or reduced to 0% output. Or the ship being unfocused, thus avoiding the problem entirely.

(@RoverDude: the heat simulation isn't processed in the background for unfocused vessels, is it?)

Of course, whether or not that's a valid path depends on whether or not you can actually add such a thing as a modder. That's not exactly a System I would expect people to want to mod if I was a developer...

Wouldn't it be simpler to just turn off heat from the reactor at >100 timewarp? If the code can tell you not to timewarp when the reactor is turned on, can't it also just disable heat generation when timewarp goes too high?

Don't get me wrong, I was liking the 1.02 Heat Control and reactor heating and what have you, but Nertea made it very clear he wants to work around the stock game, not redesign it. So band-aid fixes are pretty much a direct result of that decision. This seems like the easiest and most robust band-aid fix.

Link to comment
Share on other sites

Every time I scroll thru Heat Control parts in FilterExtensions, I'm reminded of that summer.

We were living in Ukraine back then, and my father, knowing first hand what radiation is, won't let us play outside, despite the weather was exceptional, not counting occasional rain from there, after which I saw yellowish bubbles and spooky-looking dust flowing on the puddles of rainwater.

Instead we were sitting at home with mom, and all the windows sere not only closed, but every hole was tucked with a wet cloth that was changed twice a day.

Our father was mostly absent outside - he was desperately searching for some means to escape that territory, coming home late and very tired. But after some time he found one possibility, so we moved. I recall this "don't tell any kids where you came from" - I broke that promise and told some, and after that their moms prohibited them to be near us...

RBMK-1000 and RBMK-1500 aren't the best names for parts IME. Moreover, Heat Management's AHMS are vastly superior.

Link to comment
Share on other sites

Every time I scroll thru Heat Control parts in FilterExtensions, I'm reminded of that summer.

We were living in Ukraine back then, and my father, knowing first hand what radiation is, won't let us play outside, despite the weather was exceptional, not counting occasional rain from there, after which I saw yellowish bubbles and spooky-looking dust flowing on the puddles of rainwater.

Instead we were sitting at home with mom, and all the windows sere not only closed, but every hole was tucked with a wet cloth that was changed twice a day.

Our father was mostly absent outside - he was desperately searching for some means to escape that territory, coming home late and very tired. But after some time he found one possibility, so we moved. I recall this "don't tell any kids where you came from" - I broke that promise and told some, and after that their moms prohibited them to be near us...

RBMK-1000 and RBMK-1500 aren't the best names for parts IME. Moreover, Heat Management's AHMS are vastly superior.

Chernobyl?

Edit: Actually, I checked and the Chernobyl disaster was in April, but yeah, I get the idea here.

Edited by smjjames
Link to comment
Share on other sites

Every time I scroll thru Heat Control parts in FilterExtensions, I'm reminded of that summer.

We were living in Ukraine back then, and my father, knowing first hand what radiation is, won't let us play outside, despite the weather was exceptional, not counting occasional rain from there, after which I saw yellowish bubbles and spooky-looking dust flowing on the puddles of rainwater.

Instead we were sitting at home with mom, and all the windows sere not only closed, but every hole was tucked with a wet cloth that was changed twice a day.

Our father was mostly absent outside - he was desperately searching for some means to escape that territory, coming home late and very tired. But after some time he found one possibility, so we moved. I recall this "don't tell any kids where you came from" - I broke that promise and told some, and after that their moms prohibited them to be near us...

RBMK-1000 and RBMK-1500 aren't the best names for parts IME. Moreover, Heat Management's AHMS are vastly superior.

Whoa, I hadn't even considered that things like my bad dude. Really sorry. I'll change them for next update.

Also Rover, get on IRC later today :P.

Edited by Nertea
Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...