FMU
Functional Mock-up Unitを追加して、multibodyモデルと結合するには、FMUツールを使用します。
FMUエンティティの追加
- FMUエンティティの追加先とするシステムを選択します。
-
次の方法のいずれかによって、システムにFMUエンティティを追加します。
- Modelリボンから FMUアイコンをクリックします。
- モデルブラウザ内のシステムを右クリックし、コンテキストメニューから を選択します。
- モデルブラウザで既存のFMUフォルダのいずれかを右クリックして、コンテキストメニューから Add FMU…を選択します。
Add FMUダイアログが表示されます。 -
ラベルと変数名を指定します。
注: デフォルトで、MotionView内のエンティティの変数名は特定の規則に従います。例えば、すべてのFMUエンティティの変数名は“fmu_”で始まります。これは、MotionViewでモデルを構築する場合に従う推奨規則であり、モデル編集やモデル操作中にエンティティを識別するうえでさまざまな利点が得られます。
- Filenameブラウザを使用し、FMUファイル(.fmu)を特定して選択します。
- OKをクリックしてウィンドウを閉じるか、Applyをクリックしてエンティティの作成を継続します。
FMUの表示と編集

プロパティ | タイプ | 説明 |
---|---|---|
Filename | File | パスを含むFMUファイル名。 |
FMU Type | 文字列 | FMUのタイプ。
両方のタイプを備えたFMUの場合は、このオプションを選択できます。 |
Number of states | 整数 | FMUに含まれる状態量の数。 |
Number of inputs | 整数 | FMUが検索する入力チャンネルの数。 |
Number of outputs | 整数 | FMUから出力するチャンネルの数。 |
Number of parameters | 整数 | FMUにあるパラメータの数。 |
Check FMU | FMUコンプライアンスチェッカーを実行し、詳細な情報を用意してFMUの有効性を確認します。コメントをご参照ください。 | |
Reload FMU | FMUが再読み込みされます。 |
Edit FMU...をクリックして、Input、Output、Parameters、およびSettingsを表示して編集します。

このダイアログには、次のタブがあります。
Input
Inputタブには、入力配列にあるすべての入力チャンネルおよびその名前と説明が一覧表示されます。
FMUへの入力として、各チャンネルのValue列にソルバー式を入力します。このソルバー式の値は、シミュレーションの際にMotionSolveによって計算され、シミュレーションの時間ステップごとにFMUに伝達されます。
Output
このタブには、FMUにある出力配列のすべての出力チャンネルおよびそれらの名前と説明が一覧表示されます。
パラメータ
Parametersタブには、各パラメータ、その初期条件、およびFMUでのそのデフォルト値が一覧表示されます。パラメータは、FMUによって公開される変数で、シミュレーションの開始時点でさまざまな値を取ることができます。パラメータのタイプは、実数、整数、ブーリアン、または文字列にすることができます。
Settings
プロパティ | タイプ | 説明 |
---|---|---|
Error tolerance factor | 実数 | モデル交換タイプのFMUにのみ適用されます。変位積分許容誤差に乗算するスケールファクターによって、FMUの連続する状態に対する積分許容誤差を定義します。 0より大きい値を指定します。デフォルト値は1.0です。 |
Communication Interval | 実数 | MotionSolveがFMUと通信する時間間隔。 0より大きい値を指定します。デフォルトは最大積分ステップサイズです。 |
Static Hold | ブーリアン | モデル交換タイプのFMUにのみ適用されます。 静的シミュレーションまたは疑似静的シミュレーションで、FMUの動的状態の値を一定に保持するフラグです。 デフォルト:False |
Use Address | ブーリアン | FMUを別のマシンで実行している場合はこのオプションをONにします。デフォルト:デフォルト値はOFFです(MotionSolveと同じマシンでFMUを実行している状態)。 |
IP Address | 文字列 | Use AddressがONの場合は、FMUを実行しているマシンのIPアドレスを指定します。 |
モデルへのFMUの結合
- InputタブのValue列にチャネルごとのソルバー式を入力します。
-
FMU出力を定義します。これらは、モデルのフォースまたはモーションエンティティから参照されます。
モデルのフォース / モーションで使用される式では、ARYVAL関数を使用してFMU出力が参照されます。FMU出力は、FMUエンティティの
y_array
データメンバーの属性として使用できます。例えば、{fmu_1.y_array.output_3}
には、FMUの3番目の出力が収められます。図 3. FMUの出力を参照するフォース式
上図のクワッドローター型ドローンのモデルの場合は、ソルバー式のDX()やDY()で求めた機器の位置や速度をFMUへの入力として指定します。FMUからの出力は、ソルバー式ARYVALに解決された、FMUの
y_array
データメンバーの出力属性を使用して指名します。確認された条件下では、ブレードの1つに対するモーションで2番目と3番目の出力が使用されています。式{fmu_controller.y_array.output_2}
からは、FMU(fmu_controller
)の出力配列(y_array
)にある2番目の出力が返されます。
コメント
FMUのタイプは、モデル交換(ME)または連成シミュレーション(CS)があり、どちらか一方もしくは両方を含めることができます。ME FMUは、呼び出し元ソルバーで解析できる所要の状態と変数を備えています。CS FMUは、独自のソルバーを伴うことができるほか、別のソルバーを呼び出すこともできます。この場合、1つのソルバーは呼び出し元ソルバーとして機能し、もう1つはFMUを解析するソルバーとして機能して、2つのソルバーによる連成シミュレーションでモデル全体を解析します。FMUには、MEとCSの両方のモードを設定できます。この場合は、FMUパネルのType属性が編集可能になり、FMUを解析するモードを選択できます。

詳細については、次のトピックをご参照ください:
MV-7012: MotionViewとMotionSolveにおけるFunctional Mockup Unit(FMU)
MotionSolve Reference GuideのARYVAL (MotionSolve Function)
*FMU() (HyperWorks Desktop Reference Guids > MotionView > MDL Statement)