FMI (Functional Mock-Up Interface) とは何か?
FMIは、標準化された形式が異なるツール間で動的シミュレーションモデルを交換・接続するためのオープンな規格のことです。
FMI規格は、シミュレーションモデルのエクスポート・インポート用のオープン形式を指定でき、同じモデルを維持しながら、各解析タイプに最適なツールが選択可能であることが特徴です。また、他のアプリケーションや、ニーズ、スキル、好みなどによって、より適切なツール内でモデルを再利用できることから、同僚とモデルを共有することも可能です。
モデルを様々な用途に再利用できるようになれば、モデルベースの開発やシミュレーションモデルのポートフォリオへの投資の価値は飛躍的に高まります。
FMU (FUNCTIONAL MOCK-UP UNIT) とは?
FMI規格に準拠したシミュレーションモデルを含むファイル (拡張子:fmu) を FMU (Functional Mock-Up Unit) といいます。
FMIでは、2 種類の FMU が指定できます。
- モデル交換 (ME) :モデル交換式 FMU は微分方程式によって動的システムを表します。システムをシミュレートするには、インポートツールで FMU を数値ソルバに接続する必要があります。ソルバは FMU の内部状態を設定し、状態導関数を要求し、ステップサイズと次のタイムステップで状態を計算する方法を決定します。
- 協調シミュレーション (CS) :協調シミュレーション式 FMU には独自の数値ソルバが含まれています。インポートツールはFMU入力を設定し、 FMU に指定された時間だけ前進するように要求し、ステップの完了後にFMU出力を読み取ります。
FMI 1.0 / 2.0:違いは?
2010 年にリリースされたバージョン 1.0 は、 ME 式や CS 式 FMU などのすべての基本的な FMU コンセプトを含んでいます。2014年にリリースされたバージョン 2.0 には、方向導関数のサポートなどの機能を追加し、バージョン 1.0 のあいまいさが明確になりました。
すべてのツールが両方のバージョンをサポートしているとは限りません。今後の普及を考慮し、新規で利用する場合は、主に 2.0 をサポートしているツールを使用することをお勧めします。
バイナリやソースコード FMU について
FMU ファイルは、標準的な zip ツールで開くことができる zip ファイルです。通常、インポートツールはシミュレーションの前にバックグラウンドでこれを行うため、ユーザはこれについて知る必要はありません。
zip ファイルには、モデル構造(変数名、パラメーター、入力、出力など)を定義する XML ファイルと、 FMI規格で指定された機能の少なくとも1つの実装が含まれています。最も一般的には、これは Windows dll などのバイナリの形式を取ります。バイナリファイルは、コンパイル対象のプラットフォームでのみ実行できます。したがって、ほとんどの FMU は、 Windows64 ビットまたは Linux32 ビットなどの単一プラットフォームでの実行に制限されています。
ユーザがターゲットプラットフォームにコンパイルできるように、 FMU には複数のプラットフォームのバイナリまたはソースコードが含まれている場合があります。これはあまり一般的ではないため、この機能が必要な場合は、ツールでサポートされているかどうかをご確認ください。
ツールのサポート状況を確認するには
FMIを準拠しているツールの完全なリストはこちらからご確認いただけます。