OpenModelicaの使い方 User’s Guide解読_23

OpenModelica

引き続きUser’s Guide(Release v1.22.1)を読んでいきます。
119ページからの内容となります。
前回の記事はこちら

他のツールとの連成時に必要なFMIの機能についてです。
Modelica言語はインポートもエクスポートも対応しています。

FMIとしてエクスポートするにはOMShellではbuildModelFMU()というコマンドを使います。
例えば以下のようになります。

>> loadFile(getInstallationDirectoryPath() + "/share/doc/omc/testmodels/BouncingBall.mo")
true

>> buildModelFMU(BouncingBall)
"C:/Users/[ユーザ名]/AppData/Local/Temp/OpenModelica/BouncingBall.fmu"

OMEditでは以下のようにファイル>書き出し>FMUをクリック、もしくはライブラリブラウザを右クリックし、書き出し>FMUでも実行できます。

デフォルトではModel ExchangeとCo-simulationの両方に使えるFMUが生成されます。
Model ExchangeはFMI1.0とFMI2.0.4を、Co-simulationはFMI2.0.4をサポートしています。
Co-simulationのソルバーはFoward EulerとSUNDIALS CVODEを使えます。
CVODEをソルバーとして使うには下記のコマンドとします。

>> loadFile(getInstallationDirectoryPath() + "/share/doc/omc/testmodels/BouncingBall.mo")
true

>> setCommandLineOptions("--fmiFlags=s:cvode")
true

>> buildModelFMU(BouncingBall, version = "2.0", fmuType="cs")

"C:/Users/[ユーザ名]/AppData/Local/Temp/OpenModelica/BouncingBall.fmu"

インポートについてはSSPに準拠したモデルであればOMSimulatorを使うのがよいとのことで、詳しくは別のドキュメントを確認。

TLMによるCo-simulationも可能ということですが、ここでは割愛します。
チャプター10は以上となります。

コメント

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