Jump to content

[Guide] New temperature rules for parts in 1.0 (1.0.2 updates)


Enceos

Recommended Posts

1.0.1 and 1.0.2 made some significant changes to the heat equations. Might want to update the OP.

Updated the OP with new values. Still working on the heatProduction part, it has some changes with the latest patches as well.

@NathanKell I did much engine testing today, and I found one paradox - increasing the thermal mass of engines increases the rate of heat accumulation. Internal flux when burning increases proportionally to thermal mass. Could you please confirm or refute this?

Edited by Enceos
Link to comment
Share on other sites

Engines lose heat by radiation and convection and conduction. Heat loss is proportional to area / mass. If you increase mass, they will lose heat slower, thus gain temperature faster for the same heatproduction (because heatproduction *does* scale up by mass).

Link to comment
Share on other sites

Enceos: cool, that's why I wrote 'em. :)

Convection, in KSP, is between a part and that atmospher (or water). It has nothing to do with part-part transfer (that's conduction) or any kind of sub-part modeling (KSP doesn't do that at all). The highest "resolution" for heat, in KSP, is the part level.

Sage: I would suggest just turning their heatProduction down if what you want is "less heat" rather than breaking the laws of physics by generating so much heat and then re-breaking them again to over-radiate it. ;)

SymbolicFrank: thermal energy of a part (in kJ) is part.temperature * part.thermalMass.

Angel-125: you can probably tune the blackbody physicsglobals, though they're not in Physics.cfg. But IIRC glow doesn't start until ~750K and then increases slowly. If a part's maxTemp is 800K, it's not liable to glow much before exploding.

Well it's definitely working, I can see the realistic black-body shader doing its thing.

Link to comment
Share on other sites

Quick question, can a fuel type be made to conduct/dissipate heat away from a heatsource/engine?

I'd like to know this in regards to an idea I have for modding NTR engines.

Fuel has only one thermal attribute, which is thermalMass (hsp). So you can only make fuel store more thermal energy before overheating. Conduction and emission should be set for the fuel tanks themselves.


RESOURCE_DEFINITION
{
name = LiquidFuel
density = 0.005
unitCost = 0.8
[COLOR=#0000cd][B] hsp = 2010[/B][/COLOR]
flowMode = STACK_PRIORITY_SEARCH
transfer = PUMP
isTweakable = true
}

Link to comment
Share on other sites

If you increase the mass of engines, they will lose heat slower, thus gain temperature faster for the same heatProduction. In essence, of two engines with the same heatProuction the one with higher mass will overheat faster. The lighter the engine - the more slowly it overheats.

Which is pretty much bass-ackwards to how it works in real life.

Objects absorb heat based on their specific heat, which is the number of Joules (or kilojoules) to raise the temperature of 1 gram (or kilogram) 1 degree C (or K, doesn't matter which). IOW, the more massive an object, the more energy it takes to heat it up. This means that when exposed to a heat source producing a given number of Joules, the more massive object will heat up slower than a less massive object. Everybody has seen this phenomenon in action. This is why it takes some time for the big logs in your campfire to get burning when you toss them onto a pile of burning kindling that you lit very quickly. It's also why heatsinks tend to be massive compared to what they're drawing heat from.

Of course, this works hand-in-hand with the ratio of surface area to mass. The higher this number, the more of the mass is exposed on the object's surface to the heat source, so can absorb heat simultaneously. This is why it's easier to ignite a board vs. a cubic block of the same mass of wood. But when objects are roughly the same size, such as rocket engines, the one with the higher mass has the lower surface-to-mass ratio, so will heat up slower.

Link to comment
Share on other sites

Which is pretty much bass-ackwards to how it works in real life.

Objects absorb heat based on their specific heat, which is the number of Joules (or kilojoules) to raise the temperature of 1 gram (or kilogram) 1 degree C (or K, doesn't matter which). IOW, the more massive an object, the more energy it takes to heat it up. This means that when exposed to a heat source producing a given number of Joules, the more massive object will heat up slower than a less massive object. Everybody has seen this phenomenon in action. This is why it takes some time for the big logs in your campfire to get burning when you toss them onto a pile of burning kindling that you lit very quickly. It's also why heatsinks tend to be massive compared to what they're drawing heat from.

Of course, this works hand-in-hand with the ratio of surface area to mass. The higher this number, the more of the mass is exposed on the object's surface to the heat source, so can absorb heat simultaneously. This is why it's easier to ignite a board vs. a cubic block of the same mass of wood. But when objects are roughly the same size, such as rocket engines, the one with the higher mass has the lower surface-to-mass ratio, so will heat up slower.

Yeah, I was expressing my concerns about this mechanic in my post earlier. It doesn't really match what we have in real life.

Link to comment
Share on other sites

I don't know if anyone else has noticed this, but TempExt as reported in the right-click menu seems to follow the pattern:

TempExt = 4 in vacuum (at least, LKO - I still haven't had enough play time to pass 500km altitude yet).

TempExt = max(surface velocity, atmospheric temperature) for flight. I've observed this during Kerbin reentry, so maybe it's different elsewhere, and maybe it's different on other bodies.

Link to comment
Share on other sites

I don't know if anyone else has noticed this, but TempExt as reported in the right-click menu seems to follow the pattern:

TempExt = 4 in vacuum (at least, LKO - I still haven't had enough play time to pass 500km altitude yet).

TempExt = max(surface velocity, atmospheric temperature) for flight. I've observed this during Kerbin reentry, so maybe it's different elsewhere, and maybe it's different on other bodies.

TempExt includes the heat shockwave from deceleration. The 4° K in vacuum is defined by spaceTemperature = 4 in physics.cfg

Edited by Enceos
Link to comment
Share on other sites

There's some misunderstanding going on about the engines.

Engines with higher mass do NOT gain heat faster than engines of lower mass. They do however lose heat SLOWER than engines of lower mass and that's very much in keeping with the way real life physics work.

The problem isn't with the the new thermal system itself, it's a problem with the engines. My guess is they're still using the old system where temperature was applied without consideration for heat. There's a method for adding heat to parts where it's applied as Kw and I don't think engines are doing that.

Link to comment
Share on other sites

Engines are doing that.

However, heatProduction is scaled by engine thermalMass for convenience and backwards compatibility,

Ugh, ok so the cause is different than what I was thinking but the end result is the same... all other factors being equal then the engines are going to build up heat at the same rate but the heavier engine will shed it at a slower rate than its lighter cousin.

Link to comment
Share on other sites

I don't understand why Squad gave to heatshields 3400 maxTemp. I've not been able to burn them off under any dire circumstances (like 10km/s Jool reentry). And even if we don't burn them off, the ModuleAblator gotta increase conductivity of heat shields when they run out of the resource. There's currently no punishment for having a shield with zero Ablator.

Link to comment
Share on other sites

  • 4 months later...

This seems like an applicable thread to ask, despite the threads age. Is it possible to create an engine with extremely hot exhaust capable of very quickly destroying almost anything it hits, without much heat being put into the vessel the engine is part of? For a magnetic nozzle torchdrive for example.

Link to comment
Share on other sites

  • 7 months later...

on a related note... is "draperPoint" value working in ModuleAnimateHeat? no matter what I set it to, thermalAnim starts around 800Kelvin (default draperPoint of 798). looking the module it should be maxTemp - draperPoint = Anim lerp starting point?

Edited by nli2work
Link to comment
Share on other sites

On 4/30/2016 at 10:50 AM, nli2work said:

on a related note... is "draperPoint" value working in ModuleAnimateHeat? no matter what I set it to, thermalAnim starts around 800Kelvin (default draperPoint of 798). looking the module it should be maxTemp - draperPoint = Anim lerp starting point?

That's probably a question to @NathanKell or @Porkjet.

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