1

一般的な Modelica のアドバイスはありますか?

約 2000 の方程式と測定データからの入力の 3 つのベクトルでモデルを構築しました。OpenModelica を使用すると、シミュレーションの試行が変換段階で停止し始め (以前は 1 分もかからなかったのに、数時間実行されます)、今では定期的に「omc.exe への接続が失われます」。翻訳/コンパイルのパフォーマンスを低下させる累積的な何かが発生している可能性がありますか?

一般的に、シミュレーションを軽量かつ高速に保つための適切な経験則はありますか? カップリングによっては、追加の方程式によって結果として得られる連立方程式のサイズが指数関数的に増加する可能性があることを認識しています。これは問題になる可能性がありますか?

ご感想ありがとうございます!

4

2 に答える 2

0

コードをきれいにしました。そして、12x(モジュール)を繰り返して〜180の方程式まで繰り返す部分を得ました。その過程で、入力ベクトル (およびモジュールが参照する 2D ルックアップ テーブル) のサイズをかなり縮小しました。どちらも数百の値にまで減少しました。シミュレーションは妥当な時間で実行されます。それぞれ数分です。

これらのテーブルはすべて Modelica 関数内で定義されていたので (Tiller さんが指摘したように)、テーブルを縮小するとパフォーマンスが向上したのかもしれません。私は、すべてのデータが実際の処理を経ずにメモリ配列に分散されているだけだと思っていましたが、そうではないかもしれません...この環境の内部で何が起こっているかをもっと知る時が来ました (いつものように) .

助けてくれてありがとう!

于 2015-03-29T04:57:29.903 に答える