Current version of the modelica translator can only handle array of components with fixed size

前端 未结 1 352
难免孤独
难免孤独 2021-01-25 06:37

I created an part with the AC library, and when I was trying to simulate the model, there is an error says \"Current version of the modelica translator can only handle array of

1条回答
  •  终归单人心
    2021-01-25 07:38

    Consider the following simple model:

    model M
      parameter Integer n(start=3, fixed=false);
    initial algorithm
      n := n;
    end M;
    

    It has a parameter n which can be changed before simulation starts. And array dimensions need to be parameter expressions. So you would think that the following model would be legal:

    model M2
      Real arr[n] = fill(1, n);
      parameter Integer n(start=3, fixed=false);
    initial algorithm
      n := n;
    end M2;
    

    But it isn't since Modelica tools will expand the number of equations and variables to get a fixed number. (According to the language specification, n is a structural parameter; it is not well defined what restrictions these have - most Modelica tools seem to require them to behave like constants which means only fixed=true parameters with a binding equation that depends only on other structural parameters or constants).

    0 讨论(0)
提交回复
热议问题