1

我想更改扩展模型中的默认介质,以便新值显示在“文档”选项卡中。例如:

partial model A
  replaceable package Medium = Modelica.Media.Interfaces.PartialMedium;
  ...
end A;

model B
  extends A;
  ...
end B;

model C
  extends B(
    redeclare replaceable package Medium = Modelica.Media.Water.StandardWater);
  ...
end C;

不幸的是,我无法弄清楚为什么模型 C 的文档仍然说 Medium 的默认值是 PartialMedium 或者我如何改变这种行为!当我尝试重新定义模型时,也会发生同样的事情。

(一个例子是继承自 Modelica.Fluid.Pipes.DynamicPipe 的类,它为 Medium 包或 HeatTransfer 和 FlowModel 模型设置不同的默认值)

我需要在模型 (C) 中定义这些值,因为我正在尝试用约 80 根管道对加热回路进行建模,并且不想一遍又一遍地定义这些值。

是否可以以某种方式清理文档?

提前非常感谢!

4

1 回答 1

1

您没有提到该工具正在使用,但由于您将 Dymola 标签放在问题上,我将假设它是 Dymola。

这确实是 Dymola 支持台的一个问题。我对 Dymola 的内部运作没有任何深刻的见解,这会给我一个关于如何让它识别你想要的默认值的线索。但是,您可以在模型中尝试这种方法(未经测试):

model C
  replaceable package MyMedium = Modelica.Media.Water.StandardWater
  extends B(
    redeclare package Medium = MyMedium);
  ...
end C;

这建立了一个新的类(和默认值)。也许这对你来说就足够了?

你也可以尝试这样的事情(建立一个新的约束类型):

model C
  extends B(
    redeclare replaceable package Medium =
        Modelica.Media.Water.StandardWater constrainedby
        Modelica.Media.Water.StandardWater);
  ...
end C;

(再次,未经测试)

于 2013-04-15T12:46:27.457 回答