Modelica - Укажите параметры моделирования по умолчанию - PullRequest
3 голосов
/ 08 февраля 2011

Я знаю, что могу изменить определения File_init.txt, но мне было интересно, есть ли какой-нибудь способ сделать это в файле классов (.mo) или в директиве для компилятора (omc).

В попытке облегчить себя из-за отсутствия отношения «есть» в Modelica я пишу Perl-оболочку, которая записывает самый высокий уровень моего моделирования Modelica (с моим has-a 's превращается в операторы if и when) и компилирует (omc +s затем make) и моделирует.Это было бы прекрасно, если бы я мог указать такие параметры, как stop, step, outputFormat другим способом, вместо того, чтобы открывать файл инициализации и заменять их регулярным выражением, что действительно неуклюже.

Короче говоря, есть ли какая-нибудь директива, как пример (псевдокода) ниже?

class MainSim
  extends BaseSim;
  ...
  simulation.stop = 1E-9;
  simulation.step = 1E-12;
  simulation.outputFormat = "csv";
  ...
equation
  ...
end MainSim;

Ответы [ 2 ]

4 голосов
/ 10 февраля 2011

Почти Джоэл, правильный путь был бы:

model Model annotation( experiment( StopTime=6.28 ) ); ... end Model;

Вы также можете иметь в «примерных» моделях (обычно помещаемых в подпакет .Examples) из Modelica StandardБиблиотека.Все они должны иметь эту аннотацию (и, если не стесняются, сообщить об этом :)).

3 голосов
/ 10 февраля 2011

Я не знаю, как OMC справляется с этим, но есть стандартные аннотации для параметров эксперимента.Вы можете найти информацию в разделе 17.7 спецификации (версия 3.2).

Взгляните на это и дайте мне знать, если это отвечает на ваш вопрос.

...