Modelica - 'extends' 带有下拉菜单

Modelica - 'extends' with drop-down menu

我认为这是可能的,但我不确定,因为我找不到任何例子。我希望能够直接在参数面板中选择我要继承的模型。

我可以想象两种解决方案:

extends model1 annotation(choices(choice(model1 "Ref"),choice(model2 "New")));

extends replaceable model1 annotation(choices(choice(redeclare model1 "Ref"),choice(redeclare model2 "New")));

更新:更好地解释我想做什么的示例:我想从 'Final' 的参数面板中选择要扩展的模型,在 'Data1' 和 'Data2' 之间.

package test

 partial model Data1
  parameter Real a=1;
  parameter Real b=2;
 end Data1;

 partial model Data2
  parameter Real a=1.1;
  parameter Real b=1.8;
 end Data1;

 model Final
  extends Data1; //(or Data2)
  Real y;
 equation
  y = a*time+b;
 end Final;

end test;

不可能有可替换的extends。您可以在要扩展的模型中使用 redeclared 的可替换模型,但不能在扩展模型本身中使用。例如:

extends model1(redeclare replaceable ...)

您应该能够重组您的结构,这样就不必使用可替换的扩展。