International Standard Atmosphere

When dealing with aircraft aerodynamics, we need a deterministic way to define flight conditions. Thus, a model for pressure, temperature and density at any altitude is provided by the international standard atmosphere.

Such model represents a simplification of the real atmosphere and it assumes the atmosphere is composed of multiple layers. Specifically, the first one shows a linear variation of temperature with respect to altitude and relies on the ideal gas law to model the air. This happens in the range 0 to 11km.

Derivation

Equations for the first layer (troposphere) can be obtained from first principles. The the hydrostatic balance provides the variation of pressure \(P\) with respect to altitude \(h\) by means of density \(\rho\) and gravity acceleration \(g\).

$$
\frac{\textrm{d} P}{\textrm{d} h} = – \rho(h) g
\tag{1}
\label{eq1}
$$

The relation between density, pressure and temperature is fully defined if air is assumed to be an ideal gas.

$$
P(h) = \rho(h) R T(h)
\tag{2}
\label{eq2}
$$

where \(R\) is the ideal gas constant. A third equation is needed to close the system and that comes from empirical observations. The temperature \(T\) drops 6.5 deg every 1000m,

$$
T(h) = T_0 + T_h h
\tag{3}
\label{eq3}
$$

where \(T_0\) is the reference temperature at sea level and \(T_h = -6.5 \cdot 10^{-3}\) deg/m. The density can be obtained from Eq.\ref{eq2} and substituted in Eq.\ref{eq1}. The resulting equation is rearranged as

$$
\int_0^h \frac{\textrm{d}P}{P} = – \frac{g}{R} \int_0^h \frac{\textrm{d}h}{T(h)}
\tag{4}
\label{eq4}
$$

Substituting Eq.\ref{eq3} into Eq.\ref{eq4}, we have

$$
\int_0^h \frac{\textrm{d}P}{P} = – \frac{g}{R} \int_0^h \frac{\textrm{d}h}{T_0 + T_h h}
\tag{5}
\label{eq5}
$$

Performing the integration leads to

$$
P(h) = P_0 \left (1 + \frac{T_h}{T_0} h\right)^{-\frac{g}{R T_h}}
\tag{6}
\label{eq6}
$$

Equations \ref{eq2}, \ref{eq3} and \ref{eq6} define the ISA model for the troposphere, i.e. for altitude values between 0 and 11km. Reference values are given in the table below and they can be assumed constant.

Name Description Value Units
\(g\) Gravity acceleration 9.80665 \(\frac{m}{s^2}\)
\(R\) Ideal gas constant 287.04 \(\frac{m^2}{K s^2}\)
\(P_0\) Reference pressure 101325 \(Pa\)
\(\rho_0\) Reference density 1.225 \(\frac{Kg}{m^3}\)
\(T_0\) Reference temperature 288.15 \(K\)

Viscosity

Besides pressure, density and temperature, viscosity is often needed for the computation of flight conditions. A useful model is the Sutherlan’s law. At an altitude \(h\), viscosity \(\mu\) is given by

$$
\mu(h) = \mu_{\textrm{ref}} \left( \frac{T(h)}{T_{\textrm{ref}}} \right)^{\frac{3}{2}} \left( \frac{T_{\textrm{ref}} + S}{T(h)+S} \right)
$$

with \(T_{\textrm{ref}} = 273.15 K\), \(S = 110.4 K\) and \(\mu_{\textrm{ref}} = 1.716 \cdot 10^{-5} \frac{Kg}{m s}\).

Scripting

The equations for the troposphere can be easily coded in Python to have a useful library for further calculations or to produce a reference table. The script is attached to this post if you want to run/modify it.

R = 287.04
g = 9.80665

T0 = 288.15
Th = -6.5E-3

rho0 = 1.225
P0 = 101325.0

Tref = 273.15
S = 110.4
mu_ref = 1.716E-5

def temperature(h):
    return T0 + Th * h

def pressure(h):
    return P0 * (1.0 + Th/T0 * h)**(- g / (R * Th))

def density(h):
    return pressure(h) / (R * temperature(h))

def viscosity(h):
    T = temperature(h)
    return mu_ref * (T / Tref)**1.5 * (Tref + S)/(T + S)

if __name__ == "__main__":
    print("{:>10s} {:>10s} {:>10s} {:>10s} {:>15s} {:>15s}".format("h [m]", "T [C]", "T [K]", 'P [Pa]', 'Rho [Kg/m3]', 'Mu [kg/(m s)]'))
    for h in range(0, 11500, 500):
        T = temperature(h)
        P = pressure(h)
        rho = density(h)
        mu = viscosity(h)
        print("{:10g} {:10g} {:10g} {:10g} {:15g} {:15g}".format(h, T - Tref, T, P, rho, mu))

The output of the script will be

     h [m]      T [C]      T [K]     P [Pa]     Rho [Kg/m3]   Mu [kg/(m s)]
         0         15     288.15     101325         1.22505      1.7893e-05
       500      11.75      284.9    95460.6         1.16732     1.77357e-05
      1000        8.5     281.65    89874.1         1.11169     1.75776e-05
      1500       5.25      278.4    84555.3         1.05811     1.74187e-05
      2000          2     275.15    79494.3         1.00652     1.72588e-05
      2500      -1.25      271.9    74681.5        0.956889     1.70981e-05
      3000       -4.5     268.65    70107.4        0.909148     1.69364e-05
      3500      -7.75      265.4    65762.8        0.863251     1.67738e-05
      4000        -11     262.15    61638.8        0.819148     1.66103e-05
      4500     -14.25      258.9    57726.8        0.776789     1.64458e-05
      5000      -17.5     255.65    54018.4        0.736128     1.62804e-05
      5500     -20.75      252.4    50505.2        0.697115      1.6114e-05
      6000        -24     249.15    47179.4        0.659704     1.59467e-05
      6500     -27.25      245.9    44033.2        0.623848     1.57783e-05
      7000      -30.5     242.65    41059.1        0.589503     1.56089e-05
      7500     -33.75      239.4    38249.7        0.556624     1.54385e-05
      8000        -37     236.15    35598.1        0.525166      1.5267e-05
      8500     -40.25      232.9    33097.4        0.495087     1.50945e-05
      9000      -43.5     229.65    30740.8        0.466344     1.49209e-05
      9500     -46.75      226.4      28522        0.438895     1.47462e-05
     10000        -50     223.15    26434.7          0.4127     1.45704e-05
     10500     -53.25      219.9    24472.8        0.387718     1.43935e-05
     11000      -56.5     216.65    22630.5         0.36391     1.42155e-05

Attachments

File Description File size Downloads
py isa.py Python script to compute pressure, density, temperature and viscosity for an altitude in the range 0 to 11km
792 B 196

Leave a Reply

avatar
  Subscribe  
Notify of

Pin It on Pinterest