Modelica - Изменить среду по умолчанию в расширяющейся модели (Dymola)

Я хотел бы изменить среду по умолчанию в расширяющейся модели, чтобы новое значение отображалось на вкладке «документация». Например:

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 трубами и не хочу определять эти значения снова и снова.

Можно как-нибудь почистить документацию?

Заранее большое спасибо!


person user2279811    schedule 14.04.2013    source источник


Ответы (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;

(опять же, непроверено)

person Michael Tiller    schedule 15.04.2013
comment
Спасибо вам за ваши предложения! К сожалению, оба подхода не решают проблему = / Я попробую обратиться в службу поддержки Dymola! а затем добавьте раствор! - person user2279811; 16.04.2013