本プログラムは地球低軌道を周回する物体の軌道を計算するシミュレータ。
採用する地球環境モデルは必要に応じて切り替え可能。
運動方程式を解くコアには予測子・修正子法の一種であるAdams-Bashforth-Moulton法を採用。
シミュレータの使用方法はこちらの動画参照。
- Makefileで採用する地球環境モデル・計算の精度・出力するパラメータと形式を指定する。
- makeコマンドにてコンパイルを行い、作成される実行ファイルを実行する。
軌道計算シミュレータのファイル構成はおおよそ以下の通りである。
- main.f90:軌道計算の開始前に設定ファイルを読み込み、諸所の係数をあらかじめ計算して準備を整え、スペースデブリの軌道計算をスタートさせる。
- ABM.f90:運動方程式を積分するプログラム郡。n次のAdams-Bashforth-Moulton法と8次Runge-Kutta法の計算アルゴリズムが収録されている。
- accel.f90:時刻とスペースデブリの現在位置・速度を引数として、デブリに印加される全ての力を計算するプログラム郡。ここで種々の摂動力計算プログラムを呼び出し、デブリの加速度を計算している。
- geopotential.f90:地球重力ポテンシャルをn次項まで展開し、スペースデブリに及ぼす重力を算出するプログラム郡。
- airdrag.f90:大気抵抗を計算するプログラム郡。大気密度の計算自体はjacchia.f90やexponential.f90で行われる。Makefileのフラグで呼び出すモデルを切り替える。
- sun.f90:太陽位置の算出・太陽輻射圧の計算・太陽による3体効果を計算するプログラム郡。太陽の位置の算出にはSun/sun~.datファイルを必要とする。
- moon.f90:月の位置の算出・月による3体効果を計算するプログラム郡。月の位置の算出にはMoon/moon~.datファイルを必要とする。
- em.f90:デブリの帯電量計算・地球周辺の電磁場環境から受けるローレンツ力を計算するプログラム郡。
- global.f90:グローバル変数を収録するプログラム。本プログラムでは敢えてグローバル変数を多用している。
- coordinates.f90:ある時刻におけるデブリの位置を様々な表記で数値化するプログラム郡。(宇宙空間に対して3次元の空間座標を考えるのは厳密には非常に難しい。)
- time.f90:様々な表記で現在時刻を返すプログラム郡。時刻の定義には様々あり、天文学的に好んで用いられる時刻系と現実的に好んで用いられる時刻系は異なるので実は奥が深い。
- input.f90:計算の設定ファイルを読み込んで、あらかじめ係数をセットしておくプログラム郡。
- output.f90:計算結果を出力するファイル郡。Makefileのフラグで出力するパラメータを切り替える。
計算方法自体を切り替える必要のあるものについてはモデルの切り替えをMakefile内で指定する。
- 大気密度モデル:Exponentialモデル or Jacchia-Robertsモデル or NLRMSISE00モデル
- 地球の影のモデル:円筒モデル or Conicalモデル
- 地球磁場モデル:ダイポール磁場モデル or 傾斜ダイポール磁場モデル or IGRFモデル
- 共回転電場モデル:考慮に入れるか否か
- 対流電場モデル:考慮に入れるか否か
- 帯電モデル:一定帯電量 or DB内から補間して任意の位置・時刻における電荷を算出
計算方法自体は変更なく、計算の精度を切り替える項目については入力ファイルにて指定する。
- Adams-Bashforth-Moulton法の次数
- 地球重力ポテンシャルの展開係数
計算方法、および、地球周辺環境のモデルの詳細は下記論文参照。
Akari, Keisuke, Kento Hoshi, and Hiroshi Yamakawa. "Lorentz Force Effects on Orbit and Lifetime of Micrometer-Size Space Debris." Journal of Spacecraft and Rockets 56.4 (2019): 1248-1258.