1
我认为这是可能的,但我不知道,因为我找不到任何示例。我希望能够直接在参数面板中选择要继承的模型。Modelica - '扩展'与下拉菜单
我可以想像两种解决方案:
extends model1 annotation(choices(choice(model1 "Ref"),choice(model2 "New")));
或
extends replaceable model1 annotation(choices(choice(redeclare model1 "Ref"),choice(redeclare model2 "New")));
更新:例如,以更好地解释我想要做什么:我想从选择'Data1'和'Data2'中的'Final'参数面板。
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;
如果我理解正确,我应该: – Songio
如果我理解正确,我应该创建一个中间模型(INT),仅用于声明其中的可替换模型(COMP),并且在主模型(MAIN)中扩展INT模型一个可以选择要使用的COMP模型的redeclare子句。它不是太复杂,但不是直接的...顺便说一句,我不知道我是否可以在这种情况下使用下拉菜单... – Songio
我不能肯定地说,自从我真的不知道你在做什么。你的建议可能会很好。另一种选择是只使用可替换的模型。没有更多的工作知识,我无法给你更好的答案。 –