バックナンバーはこちら。
https://www.simulationroom999.com/blog/model-based-of-minimum-2-backnumber/
はじめに
前回は土台となるMasterに必要な、
- モデルセット
- モデル間接続セット
を用意し、Masterに渡したところ。
これでシミュレーションをする上でのおおよその準備が整ったが、もう少し調整するところがある。
登場人物
博識フクロウのフクさん
イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1
エンジニア歴8年の太郎くん
イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1
オプション設定
太郎くん
前回でおおよその準備はできたっぽいけど、
まだなんかの調整がいるんだっけ?
フクさん
そうそう。
まぁコードにしてしまうと大した話ではないのだが、
こんか感じだ。
opts = master.simulate_options()
opts["step_size"] = 0.001
res = master.simulate(final_time=2.0, options=opts)
太郎くん
これは・・・。
いわゆるオプション設定みたいなやつ?
フクさん
そうだね。
今回はstep_sizeを1msになるようにオプション設定をした。
太郎くん
0.001で1msってことは単位は秒なんだね。
その他のオプション
太郎くん
step_size以外のオプションってあるの?
フクさん
あるよ。
ざっと以下だね。
- step_size
- シミュレーション時のステップ時間(デフォルト0.01秒)
- initialize
- TrueだとFMU内の初期化アルゴリズム起動(デフォルトTrue)
- block_initialization
- 初期化アルゴリズムで台数ループ解決(デフォルトFalse)
- extrapolation_order
- 外挿法定義(0 or 0!)
- smooth_coupling
- 外挿をスムーズにするか(デフォルトTrue)
- linear_correction
- 線形補間(デフォルトFalse)
- execution
- OpenMPを使用して並列処理(デフォルトはシリアル)
- num_threads
- 並列処理時のスレッド数
- error_controlled
- ステップサイズ可変(デフォルトFalse)
- atol
- 該当関数エラー時の代替値(デフォルト1e-4)
- rtol
- 該当関数エラー時の代替値(デフォルト1e-4)
- maxh
- 誤差制御シミュレーションと同時に使用できる最大ステップサイズ(デフォルト0)
- local_rtol
- モデルの初期化時に、接続されたFMUに提供される相対的な許容値を定義(デフォルト1e-6)
- result_file_name
- シミュレーション結果が書き込まれるファイル名を指定
- result_handling
- 結果をどのように処理するかを指定
- result_handler
- 結果のハンドラ
- filter
- 結果を実際に保存する変数を選択するためのフィルター
- logging
- Trueの場合、シミュレーション中に追加のデバッグデータを保存
- store_step_before_update
- Trueの場合、接続されたモデル間でデータが交換される前に、基礎となるFMUの値を結果ファイルに追加保存
- block_initialization_type
- 入力/出力の最適なグループ化を見つけるために、どのアルゴリズムを使用するかを指定
- force_finite_difference_outputs
- セットされていると、通信点間の有限差分(一次)を強制的に使用
オプションをみた感想
太郎くん
こ、これは・・・。
太郎くん
とりあえずスルーでいいかな。
フクさん
まぁあんまり弄るところもでも無いしね。
強いて上げるならば、線形補間を有効にするか、ロギング機能を有効にするかくらいかな。
太郎くん
まぁ悩んだ時にまた見てみよう。
まとめ
フクさん
まとめだよ。
- Masterにオプション設定が可能。
- 今回はstep_sizeを調整。
- デフォルト値が0,01秒なので0,001秒に変更。
- 今回はstep_sizeを調整。
- step_size以外にも大量のオプションがある。
- 補間の仕方、並列処理の有無、結果出力、ログ出力などなど。
- どういうものがあるかだけ把握し、必要になった際に再度確認すればOK。
バックナンバーはこちら。
コメント