Как правильно изменить интервал вывода из текста модели - PullRequest
0 голосов
/ 25 февраля 2019

Когда я включаю аннотации для установки выходного интервала в модель, эти настройки кажутся предполагаемыми только в первый раз, когда модель моделируется в сеансе OpenModelica.Например, если я создаю эту модель

model IntervalTest
  Real y(start = 1, fixed = true);
  Real v(start = 1, fixed = true);
equation
  der(y) = v;
  der(v) = -100 * y;
  annotation(
    experiment(StartTime = 0, StopTime = 67, Tolerance = 1e-06, Interval = 0.01),
    __OpenModelica_simulationFlags(lv = "LOG_STATS", outputFormat = "mat", s = "dassl"));
end IntervalTest;

и впервые имитирую ее, выходной интервал будет правильно установлен на 10 миллисекунд.Но когда я изменяю Interval на 0,001, сохраняю модель и симуляцию, выходной интервал остается равным 10 мс.Ни закрытие всех окон результатов и графиков, ни закрытие окна модели, ни даже выгрузка всего файла проекта из OpenModelica и последующая его перезагрузка не изменяет выходной интервал до значения, которое я установил в модели.

Только послезакрывая OpenModelica и открывая его снова, будет соблюден новый интервал вывода.Конечно, при использовании диалоговых окон настроек симуляции, выходной интервал может быть изменен вручную, но я бы редко хотел его использовать, потому что он не является постоянным.

Так каков правильный способ немедленного изменения настроек симуляции смодельный текст?Если я изменю в тексте модели значение жесткости вышеупомянутой модели осциллятора от 100 до 25 (der(v)=...), результаты моделирования изменятся соответственно (т.е. на половину частоты осциллятора), но если я сделаю то же самое с Interval, Я не буду.Я неправильно понимаю логику annotations?

1 Ответ

0 голосов
/ 03 апреля 2019

Эта проблема теперь исправлена.Смотри https://trac.openmodelica.org/OpenModelica/ticket/5359.

...