How is engine thrust calculated in environments with atmospheres greater than 1 atm?

Each engine has a vacuum thrust and an ASL thrust. Presumably, there is a linear relationship between thrust and outside pressure. Or, as pressure increases from 0 atm to 1 atm, thrust decreases from the vac thrust amount to the ASL thrust amount.

This seems intuitive to me, but it is only an assumption that my question is based on. Is this correct?

Now my question: what happens above 1 atm? Both Jool and Eve, as well as planets available from mods have atmospheres with a higher pressure than Kerbin. Does thrust continue to scale down to 0? Or is there actually some type of asymptotic/logarithmic relationship between thrust and pressure? Perhaps the ASL thrust is as low as an engine can get?


Solution 1:

Looking at the config file for the stock LV-T45 engine, for example, I can see this:

minThrust = 0
maxThrust = 215

Also, the curves (its key = {#atm} {ISP})

atmosphereCurve
{
    key = 0 320
    key = 1 250
    key = 6 0.001
}

So it seems that while the thrust obviously is a set range, the atmospheric efficiency for this particular engine drops considerably above 1 atm. I would assume that the game interpolates the values for 2-5 atm, based on various articles I've seen around the web, and also for the fact that the efficiency doesn't change drastically when you go from 0 to 1 atm, and vice-versa. It's a gradual change, so the same should be true for going from 1 atm to 6 atm.

Not all engines use the same points either. The Mainsail engine, has three atmospheric points, but this time they are 0, 1, and 9:

atmosphereCurve
{
    key = 0 310
    key = 1 285
    key = 9 0.001
}

This would lead one to believe that the engine efficiency decreases more gradually in higher pressure atmospheres, taking 9 atms in order to reduce the efficiency of this engine down to almost nothing, as opposed to the LV-T45 which reduces to the same value in 6 atm.