Dymola(Modelica)で使用できる既知の可能な操作ごとに、行列の次元に制限または最大値があるかどうかを知りたいですか?
また、この制限が存在する場合、他の操作によってこの制限がどの程度減少する可能性がありますか? たとえば、Open Modelicaの値は同じですか?
Dymola(Modelica)で使用できる既知の可能な操作ごとに、行列の次元に制限または最大値があるかどうかを知りたいですか?
また、この制限が存在する場合、他の操作によってこの制限がどの程度減少する可能性がありますか? たとえば、Open Modelicaの値は同じですか?
Modelica 言語によって規定された制限はありません。シミュレーション ツールとしての Dymola についても、「一定の制限」はないと思いますが、「実用上の制限」はあるでしょう。実際の制限は、実行可能ファイルのサイズと、実行可能ファイルを作成し、実行可能ファイルを実行して結果を保存するためのメモリ要件に関連します (ただし、結果ファイルのサイズを制御するメカニズムはあります)。たとえば、次のモデル:
model MyModel
parameter Integer n = 1000;
Real x[n,n];
equation
x = if time < 0.5 then fill(time,n,n) else fill(time*2,n,n);
end MyModel;
これは 1000000 個の変数と方程式をコンパイルしてシミュレートしますが、n = 10 (100 個の変数) の同等のモデルよりもはるかに時間がかかります。
スケーラビリティの問題を調査しているhttps://github.com/casella/ScalableTestSuiteとhttp://dx.doi.org/10.3384/ecp15118459を参照してください。