Jump to content

Physics.cfg - what do the numbers mean?


Recommended Posts

I've been tweaking the numbers somewhat, greatly assisted by the debug menu which prevents you from having to restart every time. And while the Aero numbers are now fairly clear to me, the thermal numbers are also fairly opaque. Considering that the complete absence of re-entry heating is a key problem with 1.0.2, this is not good.


aeroFXStartThermalFX = 2
aeroFXFullThermalFX = 3.5
aeroFXExponent = 3

Start and full is pretty obvious, it's a range between no aeroFX and full aeroFX. Is aeroFX purely the visual effect or does it affect heating? What is the unit? Is it mach number? Is it a multiplier of a hidden value? If so, what is that value? What is the exponent and what does it do?

thermalMaxIntegrationWarp = 100

I can't even guess. I assume it's related to timewarping. Maybe it's the timewarp factor where something will happen. What will happen? Nobody knows.


solarLuminosityAtHome = 1360
solarInsolationAtHome = 0.15

Presumably this is some multiplier of solar power at 1 AU from Kerbol. Does it affect the visual brightness? Does it enable any kind of solar heating? Or is it just the amount of power generated by solar panels? What is the "Insolation"? Is it supposed to be insUlation? What does it insulate from? Is it related to heat? What is the unit of luminosity, is it lux? Candela? How does it relate to the power output or heating?


convectionDensityExponent = 1
convectionVelocityExponent = 3
convectionFactorSplashed = 300
fullConvectionAreaMin = 0.2
machConvectionStart = 2
machConvectionEnd = 4
machConvectionExponent = 3
newtonianConvectionFactorBase = 2
newtonianConvectionFactorTotal = 3
convectionFactor = 40

Everything convection related. Testing with the debug seems to reveal that convection is heat loss to an atmosphere. The factor is easy enough, just a multiplier for how fast convection occurs. The splashed factor is also pretty straightforward, same for how fast heat is lost to water.

But density and velocity exponents? What is that even? fullConvectionAreaMin? Is it the minimum area a part can lose heat from regardless of its actual area? What is the unit? Is it m^2?

Mach convection start-end, mach numbers? Almost has to be. Does it mean heat is lost faster to flying fast? Would make sense. Or does it mean all convection happens at a greater rate, including atmospheric heating? By how much is it increased? Is that what the exponent means??? Or is it another hidden value?

What is newtonian convection? Excuse my ignorance. What is the difference between the base and the total?

Overall this part is a big mystery to any would be tweakers.


spaceTemperature = 4
fullToCrossSectionLerpStart = 0.8
fullToCrossSectionLerpEnd = 1.5
partEmissivityExponent = 4
radiationFactor = 1
NewtonianVelocityExponent = 1.5
conductionFactor = 10
internalHeatProductionFactor = 0.03
aerodynamicHeatProductionFactor = 1
standardSpecificHeatCapacity = 800

Everything we missed. Again the factors are fairly easy. Conduction seem to be transfer between parts, presumably a multiplier of a part-specific value. Space temperature also would seem to be self explanatory, being the kelvin-value for how low the temperature of a given part can get? Seems utterly pointless to simulate a 4 degree difference but each to their own.

But what is a specific heat capacity? Is it in kelvins? With every other temperature in the game being measured this way it would make sense. What is a newtonian velocity? Why is part emissivity an exponent? What number specifically is it an exponent of? What is the cross section lerp? Is it related to the new cube system?

Overall there's not a lot of useful information here, and with most of these values hidden from the debug menu meaningful testing is terribly slowed down by restarting the game every time. Far too tedious to bother with. It's all well and good that these numbers are exposed for advanced players to customize their game, but with no means to understand what most of the values do it's also fairly meaningless to have exposed them in the first place. Undocumented features do not exist.

Link to comment
Share on other sites


solarLuminosityAtHome = 1360
solarInsolationAtHome = 0.15

Presumably this is some multiplier of solar power at 1 AU from Kerbol. Does it affect the visual brightness? Does it enable any kind of solar heating? Or is it just the amount of power generated by solar panels? What is the "Insolation"? Is it supposed to be insUlation? What does it insulate from? Is it related to heat? What is the unit of luminosity, is it lux? Candela? How does it relate to the power output or heating?

http://en.wikipedia.org/wiki/Insolation

Link to comment
Share on other sites

I'm pretty sure the thermalMaxIntegrationWarp is the highest warp speed that heat movement and dissipation is actually calculated. I'd noticed when watching the heat on my nuclear tug that above 100x warp the temperature didn't seem to change, but I never looked into physics.cfg to see if it was actually a setting. I'm not sure what raising it up to 1000 would do to your game though.

Link to comment
Share on other sites

Specific heat capacity is a measure of how much heat energy it takes to increase something's temperature, the units are kilojoules per kelvin-ton (kJ/Kt). The standardSpecificHeatCapacity value is the default for all parts unless modified by their configs, and its value of 800 means it takes 800kJ of heat to raise the temperature of a 1 ton part by 1 Kelvin.

Link to comment
Share on other sites

start therma and full thermal control when the white aeroFX start and finish changing to orange. They're mach numbers. The exponent is the exponent to velocity used in aeroFX for effect strength (3 is the same as the exponent used for velocity in convective heating).

thermalMaxIntegrationWarp is the maximum warp rate at which thermodynamics are integrated (i.e. changed a little bit each frame). Beyond that, the resting temperature of the vessel is solved analytically by getting the sum of all fluxes except outgoing radiation and solving for the temperature where outgoing radiation balances them.

solarLuminosityAtHome describes the solar flux (in W) in Kerbin orbit. It's used for solar heating and solar panel power generation. solarInsolationAtHome describes how much solar flux is lost when you're at 1.225kg/m^3 atmosphere density with the sun directly overhead (i.e. you get 85% flux at sea level at noon at the equator).

Convection is heat gain or loss from the fluid medium in which the vessel lies--gain or loss because you might cool if you're hotter, or on reentry gain heat...Two methods of convection are used: Newtonian convection, where the flux is equal to (external temperature - part temperature) * coefficient, and mach convection, where teh flux is proportional to density ^ convectionDensityExponent * velocity ^ convectionVelocityExponent * convectionFactor. The coefficient for Newtonian convection is based on density times newtonianConvectionFactorBase plus velocity ^NewtonianVelocityExponent, all times newtonianConvectionFactorTotal. If the part is splashed, convectionFactorSplashed is used instead.

The area used for convection starts as the radiative area (i.e. full wetted area) and then lerps down to just the exposed cross-sectional area. The lerping starts at fullToCrossSectionLerpStart and ends at fullToCrossSectionLerpEnd . fullConvectionAreaMin is added to the mach value first. However, it looks like a sign error, and it should have been subtracted instead; for that reason change it from 0.2 to -0.2.

Convection lerps between netonian and mach convection using machConvectionStart and machConvectionEnd. However, it's not linear, instead it's machConvectionExponent (default cubic) interpolation, i.e. the interpolation values is ((mach - machConvectionStart) / (machConvectionEnd - machConvectionStart) ) ^ machConvectionExponent.

spaceTemperature is the temperature of background radiation in space, so nothing will ever be colder than this. partEmissivityExponent is the exponent used in black-body radiation (4 is the real life value). conductionFactor is a multiplier to part-part conduction (which is also modified by the product of the two parts' heatConductivity fields, and by the minimum of the facing area between the parts). internalHeatProductionFactor is a multiplier to heat production from engines (an engine creates heatProduction * thrust / maxThrust / flowMultiplier * part.thermalMass * internalHeatProductionFactor watts of heat).

aerodynamicHeatProductionFactor is a multiplier to velocity used when figuring out shock temperature ('external temperature').

I suggest you not give up so easily. :)

Link to comment
Share on other sites

I just want drag and lift values that are slightly more reasonable, and re-entry heating that actually matters. I feel like all of this stuff is terribly overcomplicating something that ought to be fairly simple for gameplays sake. The fact that deadly re-entry is still being worked on shows that something is quite amiss with the standard heating model. I don't really have the drive to spend hours on each setting, I really just want to play the game.

Also I found a real gem, apparantly the "tempext" is equal to some calculated value for the atmosphere, which is fine in itself, hovering at about 30 degrees C at the KSC. But then is equal in kelvin to the airspeed in m/s when that value is greater than the ambient temperature.

I have never heard of a direct conversion from m/s to kelvin like that before. Surely the "external temperature" as such should be calculated by the ambient*compression + friction? Not math.max(ambient, m/s*aeroheating).

Also the developers should consider hungarian notation as these types of values are prime candidates for it. Prefixes could denote the units used, as well as the type of value that it is, which would shorten things like "Exponent" considerably. For example a K_ or a W_ prefix for kelvin or watts. Or an Ex_ or Coeff_ for those types of values.

Edited by BmB
Link to comment
Share on other sites

I have never heard of a direct conversion from m/s to kelvin like that before. Surely the "external temperature" as such should be calculated by the ambient*compression + friction? Not math.max(ambient, m/s*aeroheating).

That's the reality of the situation. The compressed shockwave in front of the vehicle (where front = the direction in which it is travelling regardless of orientation) has a temperature value in Kelvin equal to its velocity in m/s.

That is half of why reentry heating feels so weak. How often are you travelling even as fast as 3 km/s during reentry? Over Earth you'll be doing 7.8 km/s from orbit. Less when starting from suborbital. A Mun return... is what, 9 km/s? 10?

A Minmus return doesn't provide the peak temperature of even 1/3rd of a Moon return to Earth. Coupled with the fact that you're spending 1/5th the time doing any really intense heating as you would be over Earth.

That's half of the problem. The other half is (because that's actually still quite a bit of heat) that in order to raise your temperature one degree, you have to absorb your mass * specific heat *thermal mass multiplier. And by mass, I mean the mass for the entire part. In reality, only a fraction of that mass would matter: The mass of the skin of the spacecraft in the area actually undergoing convection heating. (for a capsule, the bottom area)

The skin issue is the only real oversight that I consider to exist in the new model. The rest of it (peak heating / heat load) is an unfortunate and unavoidable problem stemming from doing a reentry over such a small planet. To mitigate it means dealing with multipliers and exponents and there's no way around that part. (except to have real solar system sized planets, and that's not for everyone)

Link to comment
Share on other sites

  • 8 months later...
On 8 May 2015 at 5:27 AM, NathanKell said:

start therma and full thermal control when the white aeroFX start and finish changing to orange. They're mach numbers. The exponent is the exponent to velocity used in aeroFX for effect strength (3 is the same as the exponent used for velocity in convective heating).

thermalMaxIntegrationWarp is the maximum warp rate at which thermodynamics are integrated (i.e. changed a little bit each frame). Beyond that, the resting temperature of the vessel is solved analytically by getting the sum of all fluxes except outgoing radiation and solving for the temperature where outgoing radiation balances them.

solarLuminosityAtHome describes the solar flux (in W) in Kerbin orbit. It's used for solar heating and solar panel power generation. solarInsolationAtHome describes how much solar flux is lost when you're at 1.225kg/m^3 atmosphere density with the sun directly overhead (i.e. you get 85% flux at sea level at noon at the equator).

Convection is heat gain or loss from the fluid medium in which the vessel lies--gain or loss because you might cool if you're hotter, or on reentry gain heat...Two methods of convection are used: Newtonian convection, where the flux is equal to (external temperature - part temperature) * coefficient, and mach convection, where teh flux is proportional to density ^ convectionDensityExponent * velocity ^ convectionVelocityExponent * convectionFactor. The coefficient for Newtonian convection is based on density times newtonianConvectionFactorBase plus velocity ^NewtonianVelocityExponent, all times newtonianConvectionFactorTotal. If the part is splashed, convectionFactorSplashed is used instead.

The area used for convection starts as the radiative area (i.e. full wetted area) and then lerps down to just the exposed cross-sectional area. The lerping starts at fullToCrossSectionLerpStart and ends at fullToCrossSectionLerpEnd . fullConvectionAreaMin is added to the mach value first. However, it looks like a sign error, and it should have been subtracted instead; for that reason change it from 0.2 to -0.2.

Convection lerps between netonian and mach convection using machConvectionStart and machConvectionEnd. However, it's not linear, instead it's machConvectionExponent (default cubic) interpolation, i.e. the interpolation values is ((mach - machConvectionStart) / (machConvectionEnd - machConvectionStart) ) ^ machConvectionExponent.

spaceTemperature is the temperature of background radiation in space, so nothing will ever be colder than this. partEmissivityExponent is the exponent used in black-body radiation (4 is the real life value). conductionFactor is a multiplier to part-part conduction (which is also modified by the product of the two parts' heatConductivity fields, and by the minimum of the facing area between the parts). internalHeatProductionFactor is a multiplier to heat production from engines (an engine creates heatProduction * thrust / maxThrust / flowMultiplier * part.thermalMass * internalHeatProductionFactor watts of heat).

aerodynamicHeatProductionFactor is a multiplier to velocity used when figuring out shock temperature ('external temperature').

I suggest you not give up so easily. :)

I know this thread is quite old, but I could not really find a closer explanation of what I am looking for. I want to tone down the 'Mach Effects', not eliminate them completely but make them less obvious and to come in at higher speeds, the picture below illustrates a plane at about Mach 1.5, and it looks to be right on the edge of turning orange, in reality this type of plane could approach mach 2.8 without ever having a 'glow'. I know that some missiles that take of very fast can have their nose cones glow white hot from heat, but I am not sure at what speed that glow is apparent, but I am guessing above Mach 5. Going by the above these seem to be the settings in physics.cfg that control the aerodynamic effects, but I am unsure if they cover the  start of the Mach Effects or just the start of the Orange glow.

Quote

aeroFXStartThermalFX = 2.5 // Speed in m/s when aeroFX starts changing from white to orange
aeroFXFullThermalFX = 3.75 // Speed in m/s when aeroFX is fully orange
aeroFXVelocityExponent = 3.5 // Exponent to velocity used when calculating aeroFX strength

the labelling seems to indicate they are in m/s and not Mach but I would think not.

Picture of plane at Mach 1.5

VW9Z0wo.png

Edited by selfish_meme
Link to comment
Share on other sites

Yes, they are in mach. Oops. That does mean they won't even start going orange until Mach 2.5, so you're not "right on the edge" if you're at Mach 1.5. You'll want to mess with the first velocity exponent and density exponent to tune low altitude mach effects.

Link to comment
Share on other sites

5 hours ago, NathanKell said:

Yes, they are in mach. Oops. That does mean they won't even start going orange until Mach 2.5, so you're not "right on the edge" if you're at Mach 1.5. You'll want to mess with the first velocity exponent and density exponent to tune low altitude mach effects.

Crazy new upvote button

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