ハイブリッドロケット用6自由度弾道シミュレーションライブラリ
v0.3.0
- パッケージ化(依存ライブラリは自動インストールされます)
- 6自由度弾道シミュレーション
- べき法則風モデル
- プロセス並列処理
- kml形式落下分散出力
- numpy
- numpy-quaternion
- scipy
- pandas
- matplotlib
- numba
- simplekml
以下のコマンドからgitを使用して作業ディレクトリにクローンするか, https://github.com/PLANET-Q/rocketsimuの 'Clone or Download' ボタンよりZIPファイルをダウンロードして展開します。
cd [ダウンロード先フォルダ]
git clone https://github.com/PLANET-Q/rocketsimu
cd rocketsimu
カレントディレクトリを作業ディレクトリに移してから,以下のコマンドでrocketsimuをインストールします。
python setup.py install
アンインストールしたい場合は以下のコマンドで削除できます。
pip uninstall rocketsimu
パラメータの設定についてはhowto_setting_paramsを参照してください。
サンプルフォルダを作業ディレクトリにコピーしておきます.
サンプルフォルダ内には単一シミュレーションを行い弾道や速度履歴のグラフを表示するrun_single.py と,複数条件下のシミュレーションをプロセス並列で行い落下分散を出力するrun_loop.pyが存在します.
ターミナル(orコマンドプロンプト)からサンプルフォルダのディレクトリに移動し,以下のコマンドを実行してシミュレーションを実行します.
$ python run_single.py sample_parameters.json -l log.json -s true sample_parameters.json引数はシミュレーションパラメータファイルのパスを指定.-lオプション(任意)はシミュレーション中の中間データを指定したファイル名で出力-sオプション(任意)にtrueを指定すると弾道などのグラフを表示
オプションの指定方法などを忘れた場合は python run_single.py -h を実行すると説明が表示されます.
サンプルフォルダから以下のコマンドを実行すると落下分散を計算し出力します.
$ python run_loop.py sample_parameters.json 8 1:8:1 output/sample -k sample_scatter.kml -p 8sample_parameters.json部分はシミュレーションパラメータファイルのパスを指定.8の部分はべき則風モデルにWおける地上基準風向のパターン数.(この場合0, 45, 90, 135, 180, 225, 270, 315degの各風向について計算)1:8:1部分はべき則風モデルにおける地上基準風の風速のレンジ. a:b:c と指定した場合, a[m/s] 以上 b[m/s]未満の範囲の風速を c[m/s] ごとに計算output/sample部分は出力先フォルダ名.空のフォルダを指定することが望ましい-k引数(任意)が指定された場合,指定したファイル名のkmlファイルとして出力.-p引数(任意)が指定された場合,指定された数のプロセス並列を行う.
オプションの指定方法などを忘れた場合は python run_loop.py -h を実行すると説明が表示されます.
- 95パーセンタイル統計風モデル
- 予報風対統計風誤差統計モデル
- GUI実装
- 逆問題設計
- shugok: シミュレーションの本質部分であるソルバ関数へ渡すdu_dt導出関数のアルゴリズムのほぼ全てを提供していただきました。
このプロジェクトはMITライセンスのもと公開されています。以下の制限のもと利用可能です。
- このプロジェクト内のソースコードは誰でも自由に利用/改変/再頒布可能ですが,このスクリプトを利用するソースコード内の重要な箇所に著作権表示と本ライセンス表示を付ける必要があります。
- このプロジェクト内のソースコードについて作者/著作権者は一切の責任を負いません