Jump to content

[1.12.x] Heat Control - More radiators! (August 18, 2024)


Nertea

Recommended Posts

Chernobyl disaster was in April
I remember this as "summer" because we were'nt allowed by parents to go to school anymore, despite they called and - naturally - demanded. So for us, kids, this was associated with summer a.k.a holidays. From those who went, some kids lost their hair later, I think it's because of prevailing winds at that time. Carried some rains from there - and those contained dust.

Now please remind me what can I do to those heat exchangers to improve heat transfer somewhat? Just increase heatConductivity and that's all? Cause models are indeed nicely done, clever radiator attachment points, would be a shame to not use them.

Edited by cipherpunks
Link to comment
Share on other sites

Chernobyl?

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

He's not the only one that would remember it as "a summer". I was a kid (like, 5 years old) back then, and much further out, but my neighbors family's mother was a head nurse of a hospital's lab (or something like that), so she caught wind when the government started sequestering iodine. Anyhow, my family was out in the community gardens by Warsaw, and apparently the weather was glorious. Now that I check on Wolfram Alpha, it says it was 22 degrees where I lived back then - so pretty much summer by our standards.

Link to comment
Share on other sites

Still remember that time myself, I was about to turn 7 when it happened. Remember standing outside of school with my friends, there was this talk about "toxic clouds" we had overheard in our parents' breakfast conversations (we didn't know about radiation as first-graders, of course), and we kids were staring at the sky debating which of those cumulus clouds looked particularly poisonous. Of course living in Southern Germany we were obviously not impacted nearly as much as our Eastern brethren over in the Ukraine and their neighbours. Still, there was no going to the playgrounds that summer or the next until all the sandboxes had been decontaminated, nor were we allowed to drink fresh milk for a long time, and spring of 1986 was also the last time we went out into the woods gathering mushrooms. Boars and some other species living in the forests of Bavaria are still affected to this day, showing measurable amounts of radiation making them unfit for human consumption.

It's interesting how that particular morning (when the news of the event reached Western media) is still stuck in my memory, while I can't even recollect how our appartment we were living in back then was laid out...

Link to comment
Share on other sites

Okay, so I finally get to play with the test build today... and the first thing I notice is that I'm completely confused as to what's going on with the heat system now in 1.0.4. :huh:

In this screenshot: https://dl.dropboxusercontent.com/u/44754370/screenshot61.png

- The temperature of the Twin Boar (internal and skin both) is slowly increasing despite radiation flux outgoing being higher than conductive flux incoming. Why? If the conduction between skin and internals was so poor that it couldn't conduct as much away as was coming in, then the internal temp would rise, true - but at the same time, the skin temperature would have to go down. But it isn't, it's going up, and remains closely matched to internal temp at all times! Whyyyyy?!

- And what does SkinToIntFlux indicate? The name seems to suggest that it's flux between internals and the skin, but on the Twin Boar, it has the wrong number for that. If conduction is handled by the internals and radiation by the skin as the patchnotes said, and conduction is the only incoming heat source and radiation the only outgoing heat source, that would mean that SkinToIntFlux would have to have a value similar to either conduction or radiation (or both), give or take a sign. Especially since the Twin Boar here is very close to steady state. But the value is far off. It also doesn't change with temperature. I'm confused!

Aside from not understanding what's going on with heat, I did at least glean some minor preliminary insight in radiator performance. Nertea's radiators appear to outperform stock radiators pound for pound. Two GR-1 conformal radiators weigh 1 ton and keep a MX-L reactor comfortably at just over 800 K, partially depending on how much ship there is, because of course the rest of the ship also heats up to 800 K (minus an applicable gradient) and plays radiator. Meanwhile, four medium stock radiators, also weighing one ton, are already up to 917 K in the screenshot above, and the system hasn't stabilized yet. This is above the reactor's nominal temperature, and it's starting to lose power output. One large stock radiator, also weighing a ton, is slightly more effective but still only managed ~887 K.

However there's a host of things that are less than ideal. For starters, one problem rears its head that you may remember from earlier NFE dev versions: radiator model surface =/= drag cube. In 1.0.2 NFE that problem was kind of glossed over by the fact that each radiator type's performance was throttled and entirely governed by its ability to ingest heat, which hid the fact that for example the GR-EXP performs far, far better than its visible surface area suggests. Now that all radiators throttle to the same temperature, you suddenly notice that the GR-EXP radiates 2.5 times what it is rated for, while the GR-4 properly matches its rating. The GR-1 is also better than it looks, but not as much as the GR-EXP. It's due to curved shapes creating a way too large drag cube, causing the game to think there's way more surface area than there is.

The concept of "conformal radiators" meanwhile is now mostly superfluous other than for flavor reasons... since cooling capacity scales with temperature, the same radiators will perform better on a reactor that outputs more heat, and thus you sometimes don't even need to mount additional radiators despite the increase in heating. For example, two GR-1's cool a MX-1, and two GR-1's also cool a MX-L, even though the latter outputs an extra MW worth of heat. This is also exacerbated somewhat (albeit not primarily caused) by the difference in nominal temperatures between the reactors. The higher a reactor's nominal temperature, the less radiator area it needs. For example, if the MX-1 had the same 900 K nominal temperature as the MX-L, then a single GR-1 would have sufficed to cool it (at 870 K on my example ship). Futhermore, the larger your ship is, the less radiator area you need, because your ship is also a radiator under this system.

All of the above makes saying "you should mount this many radiators to this reactor" pretty pointless. (Also, obviously the amounts are all wrong anyway right now, since the MX-1 says it needs four GR-1's but you pretty much can get away with just one in most real use cases.)

Further things that I noticed that I didn't like:

- There's little to no radiator glow; in fact, often the non-radiator parts of the ship will glow as bright or even brighter than the radiators once the whole ship is heated up.

- We're now back to cooking Kerbals alive in their pods at half a thousand degrees Celsius, sustained indefinitely. Yaaay. :(

- The temperature readout numbers flicker very strongly, both in timewarp and without. Yes, even the "current radiation" and "temperature" readouts on Near Future parts that are visible without the debug function enabled.

- The larger NF radiators have vastly less heat transfer capability than the larger stock ones and are easily saturated (one LV-N will out-produce the GR-1's transfer capacity).

So yes, from a pure basic function standpoint, it works. It needs work, though, and even with that work it will not come anywhere close to the polish of the previous version since most of the mentioned issues are stock issues. Sorry Nertea, as much as you hate plugin developing, your plugin was/is just that good :P

Gonna test some alternative values another time...

Edited by Streetwind
Link to comment
Share on other sites

In this screenshot: https://dl.dropboxusercontent.com/u/44754370/screenshot61.png

- The temperature of the Twin Boar (internal and skin both) is slowly increasing despite radiation flux outgoing being higher than conductive flux incoming. Why? If the conduction between skin and internals was so poor that it couldn't conduct as much away as was coming in, then the internal temp would rise, true - but at the same time, the skin temperature would have to go down. But it isn't, it's going up, and remains closely matched to internal temp at all times! Whyyyyy?!

- And what does SkinToIntFlux indicate? The name seems to suggest that it's flux between internals and the skin, but on the Twin Boar, it has the wrong number for that. If conduction is handled by the internals and radiation by the skin as the patchnotes said, and conduction is the only incoming heat source and radiation the only outgoing heat source, that would mean that SkinToIntFlux would have to have a value similar to either conduction or radiation (or both), give or take a sign. Especially since the Twin Boar here is very close to steady state. But the value is far off. It also doesn't change with temperature. I'm confused!

SkintoIntFlux is apparently bugged at the moment, but there's also skin-to-skin conduction (The best kind) that's happening but isn't being tracked in the action menu.

See here for more intelligent explanations than I can give.

Edited by Randazzo
Link to comment
Share on other sites

However there's a host of things that are less than ideal. For starters, one problem rears its head that you may remember from earlier NFE dev versions: radiator model surface =/= drag cube. In 1.0.2 NFE that problem was kind of glossed over by the fact that each radiator type's performance was throttled and entirely governed by its ability to ingest heat, which hid the fact that for example the GR-EXP performs far, far better than its visible surface area suggests. Now that all radiators throttle to the same temperature, you suddenly notice that the GR-EXP radiates 2.5 times what it is rated for, while the GR-4 properly matches its rating. The GR-1 is also better than it looks, but not as much as the GR-EXP. It's due to curved shapes creating a way too large drag cube, causing the game to think there's way more surface area than there is.

There really is more surface area in a wavy panel than a straight panel. However, a straight panel does not occlude itself, and a curvy panel does (to some extent). This self-occlusion balances out the extra surface area for radiation.

Does the game account for the fact that some of the radiation from a radiator actually radiates to the ship, and vice versa?

Link to comment
Share on other sites

SkintoIntFlux is apparently bugged at the moment, but there's also skin-to-skin conduction (The best kind) that's happening but isn't being tracked in the action menu.

See here for more intelligent explanations than I can give.

Thanks. I'll peruse that, hopefully it helps clear things up for me.

There really is more surface area in a wavy panel than a straight panel. However, a straight panel does not occlude itself, and a curvy panel does (to some extent). This self-occlusion balances out the extra surface area for radiation.

Does the game account for the fact that some of the radiation from a radiator actually radiates to the ship, and vice versa?

The issue is that it's not surface area that determines how much is radiated, but rather the drag cube that's computed off of the model's shape.

If you take two parts with exactly the same surface area, and curve one of them, it will create a much bigger drag cube, which massively increases its ability to radiate heat. We're not talking about a few percent more, but hundreds of percent more in the case of the GR-EXP. :P

I can't comment on the occlusion/back-radiation thing.

Link to comment
Share on other sites

Nertea's radiators appear to outperform stock radiators pound for pound.

I think it's fair to say Nertea's radiators are currently overpowered. The slightly higher cost does not sufficiently offset their higher performance for a given mass, volume, and surface area. Perhaps emissivity should come down a bit?

radiator model surface =/= drag cube.

Yeah, that's a significant problem now. I suppose the emissivity of each of Nertea's radiators could be separately tuned to account for its surface area overestimation (e.g., the GR-EXP should have the lowest emissivity of Nertea's radiators).

We're now back to cooking Kerbals alive in their pods at half a thousand degrees Celsius, sustained indefinitely. Yaaay. :(

I proposed a dramatic decrease in reactor conductivity (I would suggest ≤0.0001), which could help to address this issue.

The concept of "conformal radiators" meanwhile is now mostly superfluous other than for flavor reasons...

It pains me to suggest this, but...

Maybe it would be for the best if Nertea just removed conformal radiators from NFE altogether, and balanced reactor heat parameters solely with stock radiators in mind. He could make the conformal radiators available as a separate download for those who want them for aesthetic reasons, but make no guarantees or recommendations regarding their use as "matching sets" with NFE reactors. I know it sounds drastic, but the longer I look at options for preserving the role of NFE radiators, the more inelegant those options appear.

Link to comment
Share on other sites

For testing purposes (with the NFE 1.04 test release), I wrote a ModuleManager patch that removes conformal radiators and makes a few small tweaks to reactors so that they're well-matched with stock radiators. It also addends the reactors' descriptions, indicating the recommended radiators. Lastly, I dropped reactor conductivity to 0.00001, definitively resolving the "entire ship turns into a furnace" issue. Super low conductivity also has the benefit of making reactor/radiator relationships easy to tune, with highly consistent steady state temperatures across ship designs (for , because virtually no reactor heat is dispelled through any route other than radiators.

I acknowledge that retiring Nertea's radiators is a big sacrifice. On the other hand, this patch makes NFE feel much cleaner, and extricates us from the current problems with radiator balance.

-PART[radiator-conformal-1] {}
-PART[radiator-conformal-2] {}
-PART[radiator-conformal-3] {}
@PART[*]:HAS[@MODULE[FissionReactor]]:Final
{
%heatConductivity = 0.00001
%skinInternalConductionMult = 0.00001
}
@PART[reactor-0625]:Final
{
@description ^= :$: The manufacturer recommends 2x Thermal Control System (small) for heat dissipation.:
@mass -= 0.02 //offsets +0.02 change in recommended radiator mass (4x 0.02 vs 2x 0.05)
@MODULE[FissionReactor]
{
@NominalTemperature = 800 //steady state ~780K with recommended radiators
}
}
@PART[reactor-125]:Final
{
@description ^= :$: The manufacturer recommends 2x Thermal Control System (medium) for heat dissipation.:
@mass -= 0.02 //offsets +0.02 change in recommended radiator mass (6x 0.08 vs 2x 0.25)
//steady state ~770K with recommended radiators; no need to modify nominal temp of 800K
}
@PART[reactor-25]:Final
{
@description ^= :$: The manufacturer recommends 2x Thermal Control System (large) or 8x Thermal Control System (medium) for heat dissipation.:
//no change in recommended radiator mass (4x 0.5 vs 2x 1.0 vs 8x 0.25)
@MODULE[FissionReactor]
{
@NominalTemperature = 800 //steady state ~770-780K with recommended radiators
}
}
@PART[reactor-25-2]:Final
{
@description ^= :$: The manufacturer recommends 2x Thermal Control System (large) or 8x Thermal Control System (medium) for heat dissipation.:
@MODULE[FissionReactor]
{
@NominalTemperature = 850 //steady state ~825K with recommended radiators
}
}
@PART[reactor-375]:Final
{
@description ^= :$: The manufacturer recommends 6x Thermal Control System (medium) for heat dissipation.:
@MODULE[FissionReactor]
{
@NominalTemperature = 825 //steady state ~800K with recommended radiators
}
}

Link to comment
Share on other sites

Maybe it would be for the best if Nertea just removed conformal radiators from NFE altogether, and balanced reactor heat parameters solely with stock radiators in mind. He could make the conformal radiators available as a separate download for those who want them for aesthetic reasons, but make no guarantees or recommendations regarding their use as "matching sets" with NFE reactors. I know it sounds drastic, but the longer I look at options for preserving the role of NFE radiators, the more inelegant those options appear.

You don't have to go quite as far. I mean, you could, but a simple description rewrite could position the radiators much better already. Instead of targeting them at specific reactors in specific amounts, you just say: These are designed for small ships and reactors like the M-EXP. These are designed for medium ships and reactors like the MX-4. These are designed for large ships and reactors like the MX-1 and MX-L.

I much prefer the looks of Nertea's radiators, especially the emissives that the stock radiators lack. I really want to be able to use them. If you remove them, then they need to be made available elsewhere, like for example in Heat Control. Which then starts making issues when Nertea, or someone with Nertea's blessing, starts turning Heat Control back into a custom plugin solution for heat management.

As mentioned before, I'm going to investigate some alternative values as well... now that the reactor heat output got halved, I think there's an interesting option opening up that hasn't been examined yet. ;)

Edited by Streetwind
Link to comment
Share on other sites

I suggest balancing radiator reactor insulation to the point where heat transferred to other parts would be 'almost' negated by radiation. Otherwise it souds like cheating and chips away some use cases from insulators.

Edited by Psycho_zs
Link to comment
Share on other sites

The capacitors of NFE were exploding in 1.0.4, I don't know if this is related to the HeatControl plugin (probably is?). I'm going to test this new test build

Edited by includao
Link to comment
Share on other sites

@mikegarrison: There is no re-emission simulation. Think about it for a while and you'll see why it's not terribly feasible ;).

Honestly, Fraz's solution is good in a way - all radiators go to Heat Control and NFE works with no dependency there. However that doesn't mean they don't need to be balanced. In that test I did not really balance the cost or the mass of the NFE radiators. I would really, really like the conformal radiators to work (read: in proper count for a reactor) in their designed configuration through even if they are part of a separate pack - if they did not it would make me pretty sad :(.

Link to comment
Share on other sites

Lots of testing today, with many different values, including changes to reactor conductivity, nominal temperature, heat generation and my personal frustration level...

My goal was to get the radiators hotter so I could get my beautiful brightly glowing panels back. :P This proved to be a bit of a challenge at the reduced reactor heat, where one GR-1 effortlessly cools a MX-1 without passing 900 K, so I went and slashed radiator emissiveConstant as well. Worked beautifully with the constant all the way down at 1.0, but of course at that value the REDACTED stock radiators come in and bowl everything apart by simply being the better choice 100% of the time. I really like them less with every passing day.

Honestly, Fraz's solution is good in a way - all radiators go to Heat Control and NFE works with no dependency there. However that doesn't mean they don't need to be balanced. In that test I did not really balance the cost or the mass of the NFE radiators.

One idea I had during testing today: it might be a good idea to have radiators that target mass points in between the stock ones, with performance to match. Of course, that's easier said than done, because the parts are already made and they dictate the performance to some extent. Of course you can fudge with emissiveConstant a bit... but it would be weird if each radiator required a different constant just because they needed to hit certain mass points.

I would really, really like the conformal radiators to work (read: in proper count for a reactor) in their designed configuration through even if they are part of a separate pack - if they did not it would make me pretty sad :(.

Then prepare to be saddened, because it's not going to work the way it did in the past. :(

Your best bet in this case is take each reactor, isolate the heck out of it so that no heat goes anywhere but to the radiators, put your conformal set on, and tune the radiators so that they are juuust barely enough. That way you guarantee that the conformal set can cool the reactor in all cases... that do no involve going closer to the sun, because that's going to break the balance. Also, in people's real ships, they will always need less radiator area, because the ship itself can supply easily supply 10-20% of the radiator surface needed. So for example you can automatically drop one of the six GR-4's just because the reactor is not isolated anymore. Admittedly, adding it back will let the ship survive closer to the sun, so the two problems at least work against each other...

You could also make reactors be fully isolated at all times. Make them just not participate in exchanging heat with the vessel. That way it's easier to balance for the conformal set, because it always guarantees conformal conditions. Sure, it leads the whole point of having a heat simulation in the first place ad absurdum and requires magic numbers for the physical constants, but hey, we're already trying those out on the radiators, might as well put them everywhere. ...You can tell I'm a bit frustrated, can't you? :P I probably shouldn't take it out on you. I'm just amused in a certain, fatalistic way by how much easier and more straightforward everything used to be with part-local heat management in 1.0.2. Going vessel-global with the stock module had the exact opposite effect of simplifying things, IMHO.

Also, you're going to have to pick very different values for your reactors and radiators. If you want a MX-1 to hover near its nominal temperature with four full GR-1's, then it's going to have to put out at least 3.5 times the heat it does now in the test build, or its nominal temperature must come down to hand-warm levels, or the GR-1's need a massive nerf (but then, again, they become pointless next to the stock radiators). The M-EXP has a similar issue with the incredibly well-scaling GR-EXP's and their unnaturally boosted drag cube.

I can try looking for some sample settings that work out for conformal sets tomorrow, but if I had to be honest with you? I don't see it happening. :(

Link to comment
Share on other sites

Then prepare to be saddened, because it's not going to work the way it did in the past. :(

I know you don't want to do this, but I think what I wrote before is actually true. You either need to decide to back to your Option B and develop Heat Control as an all-out replacement module for the stock radiators (something like it was in 1.02), or you have to consider just giving up (or seriously simplifying) the heat production and radiation mechanism of your radiators.

Fraz made some comments before about ignoring sunk costs, but I think he's not really doing that himself. There are a lot of things we don't model, like ionizing radiation, nuclear waste dumps, Kerbal "no-nukes" protestors trying to block the launches, etc. Why are we trying to model reactor heating the way we are doing?

Back in 0.90, modeling reactor heat was a simple gameplay mechanism that just meant you had to put radiators on the reactor and if you retracted the radiators the reactor would be severely restricted in electrical power output. (Maybe there were more gameplay mechanisms if you had other mods installed, but if you were stock+NFE that was it).

1.02 + Heat Control added some really interesting mechanics, because the heat now could conduct into the rest of the ship as well as the radiators. The development of the active cooling radiators and insulators added some interesting gameplay. But when stock KSP went in a different direction, that gameplay became broken.

If it is so much trouble to adapt that gameplay to the new stock heat system, and you don't want to replace the stock heat system with a Heat Control plugin, then why not just eliminate or seriously cut back on the heat system completely? You could just go back to a 0.90-type system where instead of a complicated heat mechanism, reactors simply check to see if they have the appropriate number of conformal radiators. If they do, they operate at full power. If not, they get throttled. The radiators don't actually have to radiate heat (as recognized by the rest of KSP), the reactors don't actually have to create heat (as recognized by the rest of KSP). Just run the conformal radiators as a unique part that only interacts with the reactors.

Link to comment
Share on other sites

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