Аннотация эксперимента в Dymola / Modelica

Я пытаюсь изменить настройки моделирования (startTime, stopTime, Interval) для эксперимента в зависимости от размера внешнего файла, представленного в модели.

Аннотация эксперимента позволяет установить эти параметры моделирования следующим образом:

annotation(Experiment(startTime=0,stopTime=10,Interval=500));

Теперь я пытаюсь установить эти значения на основе параметра, объявленного в той же модели. Этот параметр в основном сканирует внешний файл, чтобы определить его размер. Modelica не распознает следующее объявление той же аннотации?

model ExperimentAnnotation
parameter Integer start = 0;
parameter Integer stop = 10;
parameter Integer size = 100;
equation
annotation(Experiment(startTime=start,stopTime=stop,Interval=size));
end ExperimentAnnotation;

Есть ли обходной путь для этого? Добрый совет.

Спасибо.


person sananthk    schedule 29.11.2016    source источник


Ответы (1)


Использование нелитеральных значений для аннотации startTime и т. Д. Недопустимо Modelica - согласно разделу 18.4; и не поддерживается в Дымоле.

Насколько я понимаю, у параметра нет буквального значения в модели, но значение параметра основано на чтении какого-то файла.

В Dymola вы можете использовать «Добавить команду», чтобы добавить команду-скрипт, которая считывает внешний файл и затем вызывает simulateModel с правильными значениями.

person Hans Olsson    schedule 29.11.2016