如何在modelica中编译后改变参数

时间:2013-12-12 22:25:56

标签: dymola openmodelica

我写了一个有限的体积模型。参数n表示卷的数量。翻译后,无法修改参数。 Dymola给出了这样的信息:

警告:设置n在模型中无效。 翻译后,您只能设置文字的起始值和未评估的参数。

我认为问题是参数n用在方程式部分。在那里我使用以下代码:

equation
...
for i in 2:n-1 loop
T[i] = some equation
end for

我也用n来计算T的初始值。

目的是制作一个重复执行模型但具有不同n的脚本。 我怎么能这样做?

1 个答案:

答案 0 :(得分:2)

此处的问题是您的参数n会影响问题中的变量数量。 Dymola(以及我所知道的所有其他Modelica编译器)在编译时评估这些参数。换句话说,他们在编译时将值硬编码到模型中。

在您的情况下,一个可能的解决方法是在您的循环中执行内部的转换或模拟。请注意,在Dymola中的translate和simulate命令中,您可以包含修改。只需在模型名称后添加它们即可。例如,MyModel将成为MyModel(n=10)