【FMU】最小構成のMBD事例 第2章 その60【FMILibrary⑰】

【FMU】最小構成のMBD事例 第2章 その60【FMILibrary⑰】 事例
【FMU】最小構成のMBD事例 第2章 その60【FMILibrary⑰】

バックナンバーはこちら。
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でグラフにしてみよう。

フクさん
フクさん

まずは、従来のやつ

fmi2_import_cs_test実行結果、BouncingBall2_cs、Ball height、Ball speed
フクさん
フクさん

そして、今回のやつ

修正済みfmi2_import_cs_test実行結果、BouncingBall2_cs、Ball height、Ball speed
太郎くん
太郎くん

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

フクさん
フクさん

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

まとめ

フクさん
フクさん

まとめだよ。

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

バックナンバーはこちら。

コメント

タイトルとURLをコピーしました