バックナンバーはこちら。
https://www.simulationroom999.com/blog/model-based-of-minimum-2-backnumber/
はじめに
前回、fmi2_import_cs_testを修正して、
FMU内部パラメータを変更する改造をした。
- 読み出すvalueReference群の定義。
- fmi2_import_get_realで一気に読み出し。
- ボールの初期の高さだけ変更。
- fmi2_import_set_realで一気に書き戻し。
今回はこれを実際に動かしてみる。
登場人物
博識フクロウのフクさん

イラスト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
修正済みfmi2_import_cs_testを実行

太郎くん
前回で修正は終わってるから修正済みfmi2_import_cs_testを実行してみよう!ポチー
Initial Parameters.
vr:0,iniTmp is 1.000000
vr:1,iniTmp is 4.000000
vr:2,iniTmp is -9.810000
vr:3,iniTmp is 0.500000
Modified parameters.
vr:0,iniTmp is 2.000000
vr:1,iniTmp is 4.000000
vr:2,iniTmp is -9.810000
vr:3,iniTmp is 0.500000
module = FMICAPI, log level = VERBOSE: Calling fmi2ExitInitializationMode
Ball height Ball speed
2.35586 3.019
2.61361 2.038
2.77326 1.057
2.83482 0.076
2.79827 -0.905
2.66363 -1.886
2.43088 -2.867
2.10004 -3.848
1.6711 -4.829
1.14405 -5.81
0.518905 -6.791
0.074777 3.5917
0.389802 2.6107
0.606727 1.6297
0.725552 0.6487
0.746277 -0.3323
0.668902 -1.3133
0.493427 -2.2943
0.219852 -3.2753
0.056487 1.6867
以前との差

太郎くん
パラメータが表示されて、
vr0がvalueReference=0のボールの高さが変更されたのは分かったけど、
それが結果にどう反映されたがわからないな・・・。

フクさん
以前の結果と見比べてみよう。
Ball height Ball speed
1.35586 3.019
1.61361 2.038
1.77326 1.057
1.83482 0.076
1.79827 -0.905
1.66363 -1.886
1.43089 -2.867
1.10004 -3.848
0.671095 -4.829
0.14405 -5.81
0.193049 2.36545
0.385449 1.38445
0.479749 0.40345
0.475949 -0.57755
0.374049 -1.55855
0.174049 -2.53955
0.0454508 1.31883
0.133188 0.337825
0.122826 -0.643175
0.0143633 -1.62417

太郎くん
あ、Ball heightが
1.35586
から
2.35586
に変わってる!

太郎くん
ということはうまく変更できたってことか。
グラフ表示してみる。

フクさん
一応、Excelでグラフにしてみよう。

フクさん
まずは、従来のやつ


フクさん
そして、今回のやつ


太郎くん
うん。
初期の高さが変わってるからボールの跳ね方もかわったね。

フクさん
というわけで、初期パラメータもFMILibraryから変更可能ってことになる。
まとめ

フクさん
まとめだよ。
- 修正済みfmi2_import_cs_testを実行。
- パッと見変化がわからないので以前の実行結果と比較。
- 明らかに初期のボールの高さは変わっている。
- グラフにして確認。
- 初期のボールの高さが変わっているので、跳ね方も変わる。
- パッと見変化がわからないので以前の実行結果と比較。
- このように初期パラメータもFMILibrary経由で変更可能。
バックナンバーはこちら。
コメント