KSP-RO / RealismOverhaul

Multipatch to KSP to give things realistic stats and sizes
369 stars 280 forks source link

Maximum Temperatures, Again! #2321

Closed DRVeyl closed 1 year ago

DRVeyl commented 4 years ago

Continuation of https://github.com/KSP-RO/RealismOverhaul/issues/369. Because nearly 2000 closed issues, 5 years, and 9 KSP versions later, we still need to look more closely at this. Nobody notices that issue on the 3rd page, I guess. I didn't, before diving much further into KSP thermal handling than I'd have liked.

I've been working primarily on convection heating, given recent changes to FAR [where it was capping the exposedArea value in a way that did not fit the KSP thermal code expectation] and that convection occlusion in stock has issues https://bugs.kerbalspaceprogram.com/issues/25474. Writing a new occlusion handler into FAR lead to convection heating getting applied to engines during launch when the rocket gets too much AoA -- slipping a portion of the engine['s collider] into the airstream -- and promptly exploding.

Turns out a lot of our engines have skinMaxTemp of 673K = 400C. Some have 773K. Similar internal max temp values. This seems to not make sense. Setting aside if the internal temperature of the engine [presumably this would exclude the combustion chamber] should remain this low, the skin temperature seems like it should be much higher.

Taking from NK in https://github.com/KSP-RO/RealismOverhaul/issues/369, "Actually we're still very, very optimistic about maxtemps -- 1073K is very hot indeed. We probably should consider setting internal maxtemp to something like 400K and skin max temp to 500K for most non-structural parts, with fuel tank style structural parts more like 600/900.> -- it seems our engines should at least have the same skin temperature as our other parts? Since the engine bell is the major component of "skin" of an engine, should its max temp be comparable to what we expect the chamber temp to be?

Eventually this will segue into an issue regarding some of the constants for KSP thermals and how we set them. The one that is cropping up the most for me right now is parts conducting poorly across their own skin, so when things have very small segments of skin convectively heated (eg 2% skin exposed area fraction,) they do a very poor job of conducting into the internals or the unexposed skin. This "spot heating" I imagine is very realistic for some materials, and would be quite appropriately destructive, but we will need to figure out where this is desired behaviour and where parts should do a much faster job of transferring heat along their surface. These parameters are all tunable in multiple ways, we just aren't tuning them at all, let alone in a consistent fashion.

So setting the stage... first problem: how should we standardize how we set engine skin and internal max temps?

MaxsimalPD commented 4 years ago

So - NK is probably right that the skin temp for things like engines should actually be lower, not higher, than our current settings. Most rockets do a pretty good job of going for a straight gravity turn without exposing their engine bells to the air stream. Also, engine that do regenerative cooling like the SSME will actually freeze water on the outside because the regenerative cooling system that keeps the inside of the belly cool is also cooling the outside of the bell just that much.

So, that said, how we fix this for RP1? Well, easiest way is to raise the skin temp of engines, though that's a kludge for certain engines - though other engines that are ablatively cooled will get red-hot which means >= 773C. Orange-red is 873. We could go for that.

Better way would be to identify ablatively cooled engines, set their skin temp & skin mass higher, and then have regeneratively cooled engines cool themselves off while they're running since they're passing a huge amount of cold oxidizer/fuel through themselves.

lpgagnon commented 4 years ago

Most rockets do a pretty good job of going for a straight gravity turn without exposing their engine bells to the air stream

my experience with drveyl's reworked convection builds and MJ PVG is that no, that's not the case at all. An "optimal" ascent spends most of its time off 0 AoA, and one has to put actual effort into finding an ascent profile that goes through AoA=0 at the point of maximal convection heating.

Whether that's a problem or realistic, I have no idea

lamont-granquist commented 3 years ago

Probably not realistic. Also probably impossible for PVG to be fixed to do it realistically, it will most likely never support path constraints. So the problem there is that by implementing more realism you may break PVG in ways that can't be fixed without scrapping it for a discrete optimizer or some different approach.

Capkirk123 commented 2 years ago

Just to record what was discussed on Discord, DRVeyl suggested a material tagging system to set the thermal properties of parts, particularly reentry-rated parts, based on a set of predefined materials. This seems fairly straightforward to do, I have already performed lots of research on reentry vehicles for fixing ROCapsules stuff. Tagging will probably be tedious, but configuration of new parts will be much faster in the future.