Когда я включаю аннотации для установки выходного интервала в модель, эти настройки кажутся предполагаемыми только в первый раз, когда модель моделируется в сеансе 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
?