我用AC库创建了一个部件,当我试图模拟模型时,有一个错误说“当前版本的modelica转换器只能处理固定大小的组件阵列”。
不确定它的含义是什么,有没有人有像这样的问题?
谢谢
答案 0 :(得分:2)
考虑以下简单模型:
model M
parameter Integer n(start=3, fixed=false);
initial algorithm
n := n;
end M;
它有一个参数n
,可以在模拟开始前更改。并且数组维度需要是参数表达式。所以你会认为以下模型是合法的:
model M2
Real arr[n] = fill(1, n);
parameter Integer n(start=3, fixed=false);
initial algorithm
n := n;
end M2;
但是,由于Modelica工具将扩展方程和变量的数量以获得固定数字,因此它不是。 (根据语言规范,n
是一个结构参数;它没有很好地定义它们有什么限制 - 大多数Modelica工具似乎要求它们表现得像常量,这意味着只有fixed = true参数和一个绑定方程仅取决于其他结构参数或常数)。