PyFMI:根据其他参数初始化参数

PyFMI: Initialize parameters depending of others

我在 OpenModelica 中创建了一个模型,并想从中创建一个 FMU。

在 OpenModelica 中,我可以初始化以下参数:

model r_ctrl
  parameter Real startTime(start = 0.1);
  parameter SI.Resistance u_ref(start = 230);
  parameter SI.Power p_ref(start = 1000);
  parameter Real r_start(start = u_ref*u_ref/p_ref); 
  ...

这没有任何问题,在模拟过程中,所有参数都具有它们应该具有的值

创建FMU时,终端出现如下错误:

[CodegenUtil.tpl:178:14-178:14:writable] Error: Template Fehler: initial value of unknown type: r_ctrl.u_ref ^ 2.0 / r_ctrl.p_ref.

有没有办法设置相互依赖的参数,但在 FMU 生成过程中不会出错?

下面应该可以工作(我想上面应该也可以,但需要 OpenModelica 自动将其转换成如下所示):

model r_ctrl
  parameter Real startTime = 0.1;
  parameter SI.Resistance u_ref = 230;
  parameter SI.Power p_ref = 1000;
  parameter Real r_start(fixed=false);
initial equation
  r_start = u_ref*u_ref/p_ref;