1

車両モデルがあり、シャーシはマスター FMU として使用され、そのエンジン、トランスミッション、タイヤなどはサードパーティ製であり、それらをスレーブ FMU として使用したいとします。この方法でモデルを並列化したいと思います。マスター FMU はメイン スレッドに置かれ、他のすべては他のスレッドにフォークされます。

  1. Dymola からエクスポートされた FMU を使用して、この単純なアイデアを実現できるかどうかを知りたいです...
  2. 可能であれば、それを行う価値はありますか? 物理レベルで、並列モデルが逐次モデルと同じくらい効率的かどうかはわかりません。(並列化が不十分なプログラムは順次プログラムよりも遅いことは理解していますが、物理的に遅いか速いかを知る必要があるだけです)
  3. 最新の Dymola には openMP 機能が組み込まれていますが、使用したことのある人はいますか? それはどのように見えますか?

これに関する論文を見つけました: FMI を使用した協調シミュレーションのマスターhttp://www.ep.liu.se/ecp/063/014/ecp11063014.pdf

4

1 に答える 1

2

複数の FMU がそれぞれの仕事を別々に行うことができるのであれば、複数の FMU を並行して起動することは完全に理にかなっていると思います。協調シミュレーションで難しいのは、いつシミュレーターを同期する必要があるかを理解することです (たとえば、情報を交換するため)。これらの同期は、効率を高めるために最小限にする必要がありますが、シミュレーターの状態を追跡しないようにするためには十分です (可能な場合)。また、FMU 間に因果関係がある場合にも機能する可能性があります。因果関係があるなら話は別ですが…

技術的には、次のように言います。

  • 1) の場合、必要に応じていつでもスレッドで FMU を起動できます。問題ありません。
  • 2) については、主に異なる FMU 間で必要な同期の数と頻度に依存します。
  • 3)わかりませんが、異なるFMUを並行して起動することと、1つのFMUを並行して作成することを区別する必要があると思います...

私の2セント

于 2015-08-09T16:44:24.653 に答える