当前版本的modelica转换器只能处理固定大小的组件阵列

时间:2016-03-10 04:22:03

标签: modelica

我用AC库创建了一个部件,当我试图模拟模型时,有一个错误说“当前版本的modelica转换器只能处理固定大小的组件阵列”。

不确定它的含义是什么,有没有人有像这样的问题?

谢谢

enter image description here

1 个答案:

答案 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参数和一个绑定方程仅取决于其他结构参数或常数)。