【发布时间】:2016-03-25 21:50:47
【问题描述】:
我是 Modelica 的新手,目前正在尝试使用 OpenModelica 从 Modelica.Fluid.Pipes.DynamicPipe 扩展一个新模型。我看到其他人也在为它与 Modelica.Media 的兼容性而苦苦挣扎。我尝试了两种扩展 DynamicPipe 类的方法。第一次尝试是:
within MyClass;
model Mypipe
extends Modelica.Fluid.Pipes.DynamicPipe(redeclare package Medium = Medium);
replaceable package Medium=Modelica.Media.Water.StandardWater;
equation
annotation(Icon(coordinateSystem(grid = {2, 8})));
end Mypipe;
最终出现编译错误。第二次尝试成功:
within MyClass;
model Mypipe
extends Modelica.Fluid.Pipes.DynamicPipe(redeclare package Medium = MyMedium);
replaceable package MyMedium=Modelica.Media.Water.StandardWater;
equation
annotation(Icon(coordinateSystem(grid = {2, 8})));
end Mypipe;
许多示例模型使用(redeclare package Medium=Medium) 方式成功实现了媒体重新声明。为什么在我的代码示例中从 DynamicPipe 扩展时这不起作用?
感谢您帮助我了解 Modelica 的工作原理。
【问题讨论】:
标签: modelica openmodelica