問題タブ [fmi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
370 参照

multithreading - openMP または pThread を使用した FMU 協調シミュレーション

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

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

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

0 投票する
1 に答える
223 参照

fmi - FMU 用の .NET ラッパーはありますか?

.NET アプリケーション内で (OpenModelica から生成された) FMU を共同シミュレーションする必要があります。JFMI または PyFMI に相当する .NET はありますか?

0 投票する
1 に答える
1848 参照

python - EnergyPlus 協調シミュレーションで使用するための FMI 標準を使用した Python コードまたは Python インターフェイスの FMU エクスポート

私の研究グループは、EnergyPlus と一緒にシミュレートしたい新しい建物コンポーネント用の Python コードを開発しました。再利用性と市場への影響のために、経験の浅いユーザーにとってこの接続ができるだけ簡単になることを望み、Function Mockup Interface Standard (FMI)を使用してモデルをパックすることが最良の選択肢であると考えています。

他の Functional Mockup Unit (FMU) をテストするためにJModelicaを調査しましたが、モデル交換または協調シミュレーションのために Python コードの FMU エクスポートを実行しないことがわかりました。

PythonコードをFMUとしてパッケージ化する方法があるかどうか興味がありましたか? ない場合、Python を FMI 規格にリンクする方法や、EnergyPlus などの建物のエネルギー ソフトウェアに接続する方法はありますか?

これに代わる方法は、建物のエネルギー モデルを FMU としてエクスポートし、modelica/jmodelica にインポートするか、BCVTB を使用することです。これは私たちにとってはうまくいきますが、経験の浅い個人が私たちのツールを使用するのが難しくなりすぎるのではないかと心配しています.

0 投票する
1 に答える
828 参照

openmodelica - FMU FMI シミュレーション、初期化後に一部の方程式が評価されない

私の問題はこの前の質問に何らかの形で関連していると思いますが、彼らのアドバイスでは問題を解決できませんでした.

これは最小限の非動作例です。整流スイッチを備えた単純な電気回路があります(openModelicaで開発)。入力パラメーターの値に応じて、switch.controlの値を変更したいと考えています。そのために、私は次のものを持っています:

注:パラメータ、入力などの間で多くの組み合わせを試しました...

反復シミュレーションを行いたいです (たとえば、システムの 60 秒をシミュレートしますが、1 秒のシミュレーションを 60 回連続してシミュレートします)。これは、別の FMU シミュレーションに従って入力値 ( openclose )を変更できるようにするためです。

その結果、pyFMI からの入力の値を変更できます。(私がそれを読むと、変更が考慮されます)。ただし、「新しい値」は私の方程式でも考慮されていません。

これが私のpyfmiスクリプトです:

基本的には、50 単位の時間でシミュレートしてから、openclose変数の値を変更してから、もう一度シミュレートし、もう一度切り替えて、再シミュレートします。その結果、私は得ました:

実際には、 への最初の呼び出しの前に作成されたセットのみが、model.simulate(...)その値をシステムに伝達します。

ここannotation(Evaluate = false)で提案されていることを理解しようとしましたが、うまくいきませんでした。実際に値を変更できるため、関連しているかどうかはわかりません。問題は、このパラメーターに基づく方程式が初期化中にのみ評価されるように見えることです:-/

どんなアイデア/助けも大歓迎です...

0 投票する
2 に答える
1480 参照

python-2.7 - PyFMI パッケージ (64 ビット) の FMIlibrary

PyFMI パッケージ用の FMILibrary(64 ビット) を開発するアイデアは誰にでもあります。PyFMI パッケージで正常にコンパイルされた FMILibrary(32 ビット)。事前に有益なアイデアをありがとう

0 投票する
1 に答える
185 参照

python-2.7 - コシミュレーション FMU 'ncp' オプション

Simulation_options の変数 'ncp' 値を 400000 のような大きな数値に設定し、それをシミュレートするとします。添付の通りエラーが出ます。 final_time=4.0 でのシミュレーション結果。ncp=100000 を指定すると、機能しています。スクリプトに 400000 を使用する必要があります。エラーの理由を知ることができません。事前にご協力いただきありがとうございます

0 投票する
1 に答える
338 参照

python - pyFMI を使用した FMU の文字列の取得/設定

私は、Modelon の pyFMI を使用して、systemC と他のツール (openModelica など) の間でコシミュレーションを行っています。

文字列型の入力を取得および設定しようとしましたが、サポートされていないようです。description.xml ファイルの内容:

この例では、clock_period は整数で、clock_timescale は文字列です。pyfmi ログをざっと見ると、次のことがわかります。

clock_period へのゲッターが fmi2doStep の前に正しく呼び出されていることがわかりますが、clock_timescale のゲッターは呼び出されていません。

また、文字列を設定しようとすると、次のエラーが発生します。

サポートされていないように見える理由を誰かが知っていますか? または、サポートされる予定がある場合は? それを機能させるためのトリックはありますか?

ありがとう

0 投票する
2 に答える
249 参照

python - Linux環境相当のPyFMIパッケージ

Linux環境用のPyFMI同等のパッケージを見つけるのを手伝ってくれる人はいますか? Windows で PyFMI-2.2 を正常に使用していますが、Linux 環境では同じパッケージを使用できません。次のようにエラーが発生していますImportError: Cannot import PyFMI