0

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

4

1 に答える 1

0

表示されるエラーはメモリの問題です。つまり、Python はシミュレーション結果に十分なメモリを割り当てることができません。

シミュレーション中、結果は継続的にファイルに書き込まれ、ncp=400000 の場合、400000 個の結果ポイントが書き込まれます。モデルが (変数に関して) 大きい場合、これは膨大な量のデータが書き込まれることになります。ただし、シミュレーションは成功し、ユーザーに結果を返すために結果がメモリにロードされているときにのみ失敗することに注意してください。シミュレーション結果は、現在のディレクトリのファイルに保存されます。

モデル内のすべての変数に関心があるわけではない場合は、「フィルタ」オプションを使用して、関心のある変数の結果のみが保存されるようにすることをお勧めします。

    opts["filter"] = "*x" #Store all variables that ends with x
    opts["filter"] = ["Myvar1", "Myvar2*"] #Store "Myvar1" and all variables that starts with "Myvar2".

オプションの詳細については、http://www.jmodelica.org/assimulo_home/pyfmi_1.0/pyfmi.html#pyfmi.fmi_algorithm_drivers.FMICSAlgOptionsを参照してください。

于 2016-01-20T07:57:59.807 に答える