Jump to content

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


Nertea

Recommended Posts

This is how stock radiators work, drawing temperature from the hottest part on the ship if it is hotter than radiator itself. Working reactor is the hottest part of the ship, it equalizes with radiators at it's nominal temperature. Radiators then can only 'shave off' anything that grows hotter (nothing). Other parts just building up heat until the whole ship is a furnace.

- - - Updated - - -

...but if you stick up more radiators or introduce a heat pump, to cool everything down, this means reactor won't reach nominal temp.

So, my proposal:

crank up skinInternalConductionMult to 2000 for radiators,

drop skinInternalConductionMult to 0.01 (for starters) for reactors to insulate the core.

add 'draw heat from' switchable for ModuleGenericRadiator and ModuleStaticicRadiator.

revert everything else in NF stuff back to pre-1.0.3 condition.

As for the stock radiators, leave them alone. They are just incapable of dealing with constant high power heat source. Only short burns.

Link to comment
Share on other sites

Working reactor is the hottest part of the ship, it equalizes with radiators at it's nominal temperature.

Radiator behavior is not related to reactor nominal temperature. Radiators begin removing heat when a part's temperature exceeds [radiatorMax * maxTemp]. Default radiatorMax is 0.25, so for NFE reactors, radiators should "activate" at 400K.

Radiators then can only 'shave off' anything that grows hotter (nothing). Other parts just building up heat until the whole ship is a furnace.

The whole ship becoming a furnace is largely unrelated to the new radiator behavior, and could easily happen with Nertea's old 1.02 radiators. Regardless of how radiators function, if the reactor reaches an equilibrium of 600K (or whatever) and it isn't highly insulated, it will eventually heat up the whole spacecraft. Most stock parts are quite conductive, so heat tends to spread readily. The easiest way to prevent this would be to further decrease reactor conductivity.

Link to comment
Share on other sites

OK, I've tested the old NFE with the following patch:


@PART
[*]:HAS[@MODULE[ModuleGenericRadiator]]:FINAL {
skinInternalConductionMult = 2000 // heat must pass the skin
skinSkinConductionMult = 0.001 // prevent conductive flowback to parent's skin
}
@PART
[*]:HAS[@MODULE[ModuleStaticRadiator]]:FINAL {
skinInternalConductionMult = 2000 // heat must pass the skin
skinSkinConductionMult = 0.001 // prevent conductive flowback to parent's skin
}
@PART
[*]:HAS[@MODULE[FissionReactor]]:FINAL {
skinInternalConductionMult = 0.001 // insulate core from skin
@heatConductivity=0.001 // insulate core from other parts
skinSkinConductionMult = 0.5 // skin can conduct with other parts skin, why not?
@emissiveConstant = 0.6 // core is insulated, let the skin radiate normally
}

Test vessel with MX4 and 6 GR-4 has an iteresting behavior. With all 6 radiators core equalizes at 350K, radiators just drain all heat out. With 5 radiators core quickly approaches meltdown.

- - - Updated - - -

With old behavior it was possible to insulate parts of the ship. Radiators on the 'cold' part of the ship would keep it cold. With new radiator model any radiator would cool only the 'hot' end and leave the 'cold' end to slowly heat up. Insulators are just postponing the inevitable.

Link to comment
Share on other sites

The only time I have had a heating problem is with a pure-stock 2.5m stage, a "Skipper" engine and a "Jumbo-64" 2.5m tank. I haven't got around to trying anything bigger, but without some sort of insulator there have been just too many earth-shattering kabooms.

There must be default settings for the heat flow, there's nothing different in the part.cfg files. The "Skipper" file does have a commented-out setting. These three look to be standard for all liquid-fuel engines.

// heatConductivity = 0.06 // half default

skinInternalConductionMult = 4.0

emissiveConstant = 0.8 // engine nozzles are good at radiating.

It's common to all three stock sizes, and I am wondering if the Kerbodyne engines have a similar problem.

I did some thinking. If the only heat source was the engine, doubling the stack diameter would quadruple the surface area of both the engine-tank joint and the tank as a whole. But there would be eight times the mass of fuel to heat up. On the other hand, the heat generated by the engine depends on the mass of fuel burned, which is related to the thrust.

So the Skipper would need to burn four times the fuel to get the same temperature change, which it doesn't.

Since it wasn't a problem until KSP v1.0.3 and it doesn't bite until high in the atmosphere I suspect low convection/conduction in the thin air and the radiated heat from the shock-wave heated air.

My first fix was doing more coasting, once the apokee was out of the atmosphere.

It's also possible that going for three stages instead of two might might reduce the engine heat going into the third stage.

But these heat control mods have thermal barrier parts. The Heat Control mod and Heat Management mod have different settings,

Heat Control:

heatConductivity = 0.001

I have "debris" stages lingering in orbit with very hot engines. It looks a bit excessive that the engine doesn't seem to have cooled down after a couple of days

Heat Management:

heatConductivity = 0.01

I shall run a test or three, but this may be enough to avoid explosions while allowing the system to cool between burns.

I do wonder if having two distinct levels of insulation, with different cost/mass penalties, would be useful

Link to comment
Share on other sites

Insulators are just postponing the inevitable.

That isn't quite accurate. Insulation decreases the rate of heat flux into parts adjacent to the reactor. If those parts had no means by which to dissipate the heat they are receiving, then you would be correct, and eventually the whole spacecraft would reach the same temperature regardless of insulation. Fortunately, however, all parts have emissivity and are therefore able to dissipate some of the heat they receive from the reactor, thus resulting in a lower temperature than the reactor itself. Insulation enhances this ability, essentially by providing more time for these parts to dissipate the heat they are receiving from the reactor.

What you have observed is that - in most cases - the rate of heat conduction into parts attached to a reactor greatly exceeds the rate at which those parts are capable of dissipating heat, and therefore the whole ship ends up at almost the same temperature. Conductivity needs to be set really really low in order to prevent this from happening.

Link to comment
Share on other sites

That isn't quite accurate. Insulation decreases the rate of heat flux into parts adjacent to the reactor. If those parts had no means by which to dissipate the heat they are receiving, then you would be correct, and eventually the whole spacecraft would reach the same temperature regardless of insulation. Fortunately, however, all parts have emissivity and are therefore able to dissipate some of the heat they receive from the reactor, thus resulting in a lower temperature than the reactor itself. Insulation enhances this ability, essentially by providing more time for these parts to dissipate the heat they are receiving from the reactor.

What you have observed is that - in most cases - the rate of heat conduction into parts attached to a reactor greatly exceeds the rate at which those parts are capable of dissipating heat, and therefore the whole ship ends up at almost the same temperature. Conductivity needs to be set really really low in order to prevent this from happening.

Time only matters for a transitory source. In the long run, the system will reach a steady state where the total heat being entered into the ship equals the total heat coming out of it. when that happens, time no longer is a factor. But insulation will still have some effect, because most heat transfer processes depend on temperature. The hot side will stay a little hotter, which will mean it will radiate (or convect) a little bit more heat than it would have otherwise. So the steady-state will keep a little more of the heat on the hot side of the insulator.

(Then when you warp faster than 100 your ship will all equalize in temperature, thus disrupting your steady-state balance.)

Link to comment
Share on other sites

Hopping in briefly.

Stock Radiators do not pull from the hottest part - as noted, they pull from all parts that have essentially said 'hey, I am getting too warm!', and distribute this accross all deployed radiators that have not yet reached saturation. The temperature at which a part starts dumping heat is purely configurable tho it comes with some intelligent defaults.

At the end of the day, unless you model dumping coolant, all you are really doing is moving energy around. So if you want a part to reach a higher temp before radiators kick in, just tweak the config.

I'd also add that insulators would still be useful for keeping a part configured to operate at a very high temperature from bleeding through to other parts. Also as touched on in mikegarrison's post, any mechanic that relies on localized temperature levels will have a bit of an issue when you go to 1000x warp as the ship will have it's temperature equalized across all parts, regardless of the conductivity, etc. of the components - so I would not consider mechanics based solely on maintaining a steady-state temperature overly reliable (this is one of the reasons I removed drill overheat as a mechanic in 1.0.1 - it was too easy to circumvent by simply going into high warp).

Link to comment
Share on other sites

Hopping in briefly.

Stock Radiators do not pull from the hottest part - as noted, they pull from all parts that have essentially said 'hey, I am getting too warm!', and distribute this accross all deployed radiators that have not yet reached saturation. The temperature at which a part starts dumping heat is purely configurable tho it comes with some intelligent defaults..

not-opening stock radiators work on part to wich is attached

deployable work as u say

Link to comment
Share on other sites

Hopping in briefly.

Stock Radiators do not pull from the hottest part - as noted, they pull from all parts that have essentially said 'hey, I am getting too warm!', and distribute this accross all deployed radiators that have not yet reached saturation.

How would the following situation develop? A reactor core with 'too hot' threshold around 900K. Command module with threshold around 300K, fuel tank - 400K. And some radiators. Perhaps even insulator (imperfect) between reactor and everything else.

Reactor reaches 900K, radiators start pumping heat from it, keeping it at 900K, become saturated at 900K minus some radiation flow. Let's say radiators reach equilibrium around 800K. What happens with other parts then? As far as I can tell, radiators heated to 800K will not take heat from parts that are cooler. So whatever heat leaks through insulation will have the only way of radiating by parts themselves. Is that right? Could stock static radiators help with that since they are passive (or not)?

Link to comment
Share on other sites

not-opening stock radiators work on part to wich is attached

deployable work as u say

Close but not quite. Delpoyable/animated is a separate property from shipwide cooling. Just that the static panels in stock have no partmodules.

Link to comment
Share on other sites

Time only matters for a transitory source. In the long run, the system will reach a steady state where the total heat being entered into the ship equals the total heat coming out of it. when that happens, time no longer is a factor. But insulation will still have some effect, because most heat transfer processes depend on temperature. The hot side will stay a little hotter, which will mean it will radiate (or convect) a little bit more heat than it would have otherwise. So the steady-state will keep a little more of the heat on the hot side of the insulator.

(Then when you warp faster than 100 your ship will all equalize in temperature, thus disrupting your steady-state balance.)

Time is always a factor, in terms of the rate of heat movement between parts. Slow movement of heat from the reactor to other parts provides greater opportunity for those parts to radiate away the reactor's heat as they receive it, reaching a lower equilibrium. The temperature of a part will continue to increase until the total rate of heat moving out of the part = the total rate of heat moving into the part. Greater insulation will decrease the rate of heat moving into the part. The other side of this coin, as you note, is that the reactor will retain more of its own heat, and therefore radiate more.

Link to comment
Share on other sites

Time is always a factor, in terms of the rate of heat movement between parts. Slow movement of heat from the reactor to other parts provides greater opportunity for those parts to radiate away the reactor's heat as they receive it, reaching a lower equilibrium. The temperature of a part will continue to increase until the total rate of heat moving out of the part = the total rate of heat moving into the part. Greater insulation will decrease the rate of heat moving into the part. The other side of this coin, as you note, is that the reactor will retain more of its own heat, and therefore radiate more.

Sorry, but no. Time is not a factor when the solution reaches a steady state equilibrium. That's what steady state means.

You just described it correctly -- when the rate of heat being generated is exactly balanced by the rate of heat being lost, then everything is in steady state. Temperatures stop changing. And in that situation, time doesn't matter.

Link to comment
Share on other sites

Sorry, but no. Time is not a factor when the solution reaches a steady state equilibrium. That's what steady state means.

You just described it correctly -- when the rate of heat being generated is exactly balanced by the rate of heat being lost, then everything is in steady state. Temperatures stop changing. And in that situation, time doesn't matter.

Rate involves time. Heat production/movement/dissipation are measured in watts, which are joules per second. Seconds are a unit of time. The rates of heat production/movement/dissipation will ultimately determine the ship's steady state.

I think you misunderstood my use of the phrase "providing more time for these parts to dissipate the heat", as if I was referring to some discrete interval of extra time. Instead, I'm referring to rates. The intended meaning was basically "slowing down the rate of heat influx, thus allowing heat outflux via radiation to better keep pace with influx, ultimately resulting in a lower steady state temperature for the part."

Edited by Fraz86
Link to comment
Share on other sites

Thanks for the info Rover, it's really helpful to know how new modules work.

I'd also add that insulators would still be useful for keeping a part configured to operate at a very high temperature from bleeding through to other parts.

I completely agree, and they are one of the things this mod adds that no one else has. Is it possible for insulators to use the stock module now?

Also, do you think given how radiators work now there is still a place for the conductive parts and pipes?

Edit: read a couple pages back, Nertea I think lowering reactor conductivity is a great solution to the faux radiators because it also avoids overheating adjacent parts. I know we have insulators for this, but it makes sense that a part like a reactor would have some insulation built in.

Edited by Starbuckminsterfullerton
Link to comment
Share on other sites

Rate involves time. Heat production/movement/dissipation are measured in watts, which are joules per second. Seconds are a unit of time. The rates of heat production/movement/dissipation will ultimately determine the ship's steady state.

I think you misunderstood my use of the phrase "providing more time for these parts to dissipate the heat", as if I was referring to some discrete interval of extra time. Instead, I'm referring to rates. The intended meaning was basically "slowing down the rate of heat influx, thus allowing heat outflux via radiation to better keep pace with influx, ultimately resulting in a lower steady state temperature for the part."

That's two different frames of reference. From the point of view of the ship, time doesn't matter. Everything is in equilibrium. From the point of view of the heat time does matter, because the heat starts in the reactor, flows to the radiator, and then radiates away.

It's like the difference between analyzing aerodynamics from the point of view of the airplane or the air molecules that flow past it.

Link to comment
Share on other sites

Does it matter at all, considering that the ship is treated as a single part in high warp? Because as fancy and balanced as we can make the heat distribution through clever use of insulators and other equipment, it seems that in the end it may still explode once you go to warp. In particular if the "reference part" is picked randomly, as RoverDude seems to imply.

Link to comment
Share on other sites

Does it matter at all, considering that the ship is treated as a single part in high warp? Because as fancy and balanced as we can make the heat distribution through clever use of insulators and other equipment, it seems that in the end it may still explode once you go to warp. In particular if the "reference part" is picked randomly, as RoverDude seems to imply.

Yeah, I would like to know more about what determines the "reference part".

Anyway, this was an issue in 1.02, also. I eventually learned to stick radiators on the "cool" parts of the ship, so that when we came out of timewarp those radiators would get rid of that phantom heat.

Edited by mikegarrison
Link to comment
Share on other sites

Does it matter at all, considering that the ship is treated as a single part in high warp? Because as fancy and balanced as we can make the heat distribution through clever use of insulators and other equipment, it seems that in the end it may still explode once you go to warp. In particular if the "reference part" is picked randomly, as RoverDude seems to imply.
Yeah, I would like to know more about what determines the "reference part".

Anyway, this was an issue in 1.02, also. I eventually learned to stick radiators on the "cool" parts of the ship, so that when we came out of timewarp those radiators would get rid of that phantom heat.

It seems like the reference part is the hottest part, usually.
Which would pretty much destroy the idea of NF to have hot reactors being insulated from the rest of the ship :(

Whoah... No idea where you guys are getting the idea that there is some magical, random 'reference part'... but that's completely false. The point I was making is that once you're at or above 1000x warp - regardless of what heat mechanic you use - KSP switches over to analytic mode, and you'll see the heat distributed across the entire ship. And note that this has been this way since 1.0 - this is not a new thing.

Link to comment
Share on other sites

I conducted a series of experiments with a simple spacecraft (equipped with an MX-1 and four GR-1s) to demonstrate the impact of reactor insulation.

Using the current test version of NFE, in which reactors have a heatConductivity of 0.005, my spacecraft eventually reached the following steady state:

Rnar5Ij.jpg

Excluding the reactor and radiators, the LH2 tank was the hottest part of the craft. The docking port at the front was the coldest. The temperatures were as follows:

Reactor - 662K

LH2 tank - 595K

Docking port - 557K


Setting reactor heatConductivity & skinInternalConductionMult at 0.001 produced this result:

P138Fks.jpg

Reactor - 671K

LH2 tank - 488K

Docking port - 400K


Finally, a further decrease of heatConductivity & skinInternalConductionMult to 0.0001 resulted in the following equilibrium:

2kbvAGb.jpg

Reactor - 673K

LH2 tank - 315K

Docking port - 293K


Commentary:

I was surprised to see how little the increased insulation changes the equilibrium temperature of the reactor itself. Also surprised by just how low reactor heatConductivity needs to be in order to meaningfully protect the rest of the spacecraft. I definitely think that reactor heatConductivity should be significantly decreased. I had previously suggested 0.001, but now I'm thinking 0.0001 would be better.

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.

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