国際標準大気モデル(International Standard Atmosphere, ISA)
大気圏に関連する方程式の一例として、大気密度の高度依存性をモデル化することが挙げられます。
大気密度は高度によって変化し、これは航空機の飛行や宇宙船の軌道計算などのアプリケーションで重要です。
国際標準大気モデル(International Standard Atmosphere, ISA)は、大気の温度、圧力、密度、速度などの標準的なプロファイルを提供します。
その中で、大気密度の高度依存性は次のような指数関数で表される場合があります:
$$
\rho(h) = \rho_0 \times \exp\left(-\frac{h}{H}\right)
$$
ここで、$[ \rho(h) ] $は高度$ ( h ) $における大気密度、$[ \rho_0 ] $は基準高度$ ( h = 0 ) $における大気密度、$( H ) $はスケールハイト(指数関数の減衰率を決定する定数)です。
これを使って、大気密度の高度依存性を計算し、グラフ化するPythonコードを作成しましょう。
1 | import numpy as np |
このコードは、高度に対する大気密度の変化をグラフ化します。
大気密度は高度に応じて指数関数的に減少することがわかります。
[実行結果]
ソースコード解説
このソースコードは、大気圏における高度と大気密度の関係を可視化するためのプログラムです。
以下に、ソースコードの詳細な説明を示します。
インポート
1 | import numpy as np |
numpy
ライブラリは数値計算や配列操作などの機能を提供します。matplotlib.pyplot
はグラフを描画するためのライブラリです。
定数
1 | rho0 = 1.225 # 基準高度における大気密度 (kg/m^3) |
rho0
は基準高度 (通常、地表) における大気密度を表します。H
は指数関数の減衰率を決定するスケールハイトを表します。
高度に対する大気密度の関数
1 | def atmospheric_density(h): |
atmospheric_density
関数は、与えられた高度h
における大気密度を計算します。np.exp()
は指数関数を計算する numpy ライブラリの関数です。
高度の範囲
1 | heights = np.linspace(0, 40000, 1000) # 0から40000メートルの範囲で1000点のデータを生成 |
np.linspace()
は、指定された範囲内に等間隔の値を生成します。
ここでは、$0$から$40000$の間の$1000$個の高度値を生成しています。
大気密度の計算
1 | densities = atmospheric_density(heights) |
- 先ほど定義した
atmospheric_density
関数を使用して、各高度における大気密度を計算します。
グラフのプロット
1 | plt.plot(densities, heights) |
plt.plot()
は折れ線グラフを描画します。各点の x 座標は大気密度であり、y 座標は高度です。plt.xlabel()
とplt.ylabel()
はそれぞれ x 軸と y 軸のラベルを設定します。plt.title()
はグラフのタイトルを設定します。plt.grid(True)
はグリッドを表示します。plt.gca().invert_yaxis()
は y 軸を反転させ、地表を下方向に表示します。plt.show()
はグラフを表示します。
結果解説
[実行結果]
このグラフは「高度に対する大気密度の変化」を示しています。
横軸 (x軸):
大気密度 (Density) が表示されています。
単位は$ kg/m^3 $です。
大気密度は地表から高度が上がるにつれて減少します。
縦軸 (y軸):
高度 (Altitude) が表示されています。
単位はメートル$ (m) $です。
地表から上空に向かって高度が増加します。
一般的に、大気密度は高度が上がるにつれて減少しますが、ここでは縦軸が上向きになっているため、地表が上方向、高度が下方向に表示されています。
青線:
大気密度の高度依存性を表しています。
線は、高度が上がるにつれて大気密度が減少することを示しています。
この減少は指数関数的であり、高度が上がるにつれて急速に減少します。
このグラフは、大気中の物体の運動や航空機の飛行、宇宙船の軌道計算など、様々な航空宇宙工学や気象学のアプリケーションにおいて、大気密度がどのように変化するかを理解するのに役立ちます。