Настройка параметров Advanced Solver в Dymola

Есть ли способ установить максимальный размер шага решателя (hmax) непосредственно в Dymola?

Значение hmax можно изменить в dsin.txt, и он работает, если моделирование запускается с помощью dymosim.exe, но перезаписывается, если моделирование запускается в Dymola.

Есть ли какой-нибудь скрытый флаг, который я могу использовать?

Спасибо!


person AdamKe    schedule 07.06.2016    source источник
comment
У меня такая же проблема с максимальным количеством итераций событий "eviter", которые перезаписываются после запуска моделирования в dymola. Надеюсь, кто-то в этом разобрался.   -  person Shaga    schedule 08.06.2016


Ответы (4)


После редактирования dsin.txt попробуйте выполнить dymosim.exe напрямую вместо использования графического интерфейса (без параметров, например, при выполнении двойным щелчком в проводнике будет создано dsres.mat вместо <modelName>.mat). Это должно предотвратить повторное создание Dymola dsim.txt и, следовательно, рассмотреть ваши настройки для hmax.

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

Вы также можете создать dsin.mat и предоставить его в качестве аргумента для dymosim.exe, чтобы иметь возможность воссоздавать dymosim.exe с помощью графического интерфейса пользователя, не изменяя dsin.txt каждый раз. Это показано здесь: dymola.readTrajectory - разное время выборки. Очевидно, вам нужно пропустить второй параметр "<DymolaWD>\tgrid.mat".

@Shanga: Я думаю, это должно работать и для eviter, но у меня нет модели, чтобы надежно проверить это. Так что обратная связь будет оценена ...

person Markus A.    schedule 20.03.2019
comment
Также обратите внимание на https://stackoverflow.com/questions/36494628/maximum-number-of-event-iterations-in-modelica - person Markus A.; 20.03.2019

Установка максимального размера шага разумна только для решателей без контроля размера шага, например Эйлер или Рунге-Кутта. В этих случаях фиксированный шаг интегратора можно установить в настройке моделирования.

person modelicaFan    schedule 30.06.2017

В настоящее время нет удобного способа сделать это прямо из Дымолы. Файл dsin.txt необходимо отредактировать, как вы описываете.

person user2024223    schedule 26.03.2019

Я считаю, что вы устанавливаете его с помощью параметров Interval length или Number of interval в разделе General в Simulation Setup. Система будет решена хотя бы по тем пунктам, которые я понимаю как максимальный размер шага.

person Community    schedule 23.06.2017
comment
Размер шага решателя обычно не ограничивается интервалом вывода (длиной или числом). Например. если вы моделируете простую модель, например Modelica.Mechanics.Translational.Examples.Accelerate: для этой модели вычисляется 1000 выходных точек. Тем не менее, журнал решателя показывает, что (с использованием DASSL) вычисляется только 20 шагов - так как это просто интегрировать. Чтобы проверить, какие шаги предприняла решающая программа, отключите флажок Эквидистантной сетки времени в Dymola. Тем не менее, выходной интервал может иметь влияние, так как он часто учитывается при оценке начального размера шага, который влияет на все последующие шаги. - person Markus A.; 20.03.2019