JModelica в сочетании с CasADi для получения линеаризованных моделей в Python - PullRequest
0 голосов
/ 09 мая 2018

Недавно я нашел статью " ИЗГОТОВЛЕНИЕ МОДЕЛИ МОДЕЛЕЙ, ДОСТУПНОЙ ДЛЯ АНАЛИЗА В БИБЛИОТЕКЕ СИСТЕМ УПРАВЛЕНИЯ PYTHON"", объясняющую, как использовать JModelica в сочетании с CasADi для получения линеаризованных моделей в Python. Это именно то, что я ищу, но, видимо, статья написана в 2014 году и используется JModelica 1.12. Описанный подход устарел, а используемые функции больше не доступны.

Документация JModelica очень ограничена в этой теме, и я не знаю, как выполнить описанную задачу, используя последнюю версию JModelica. Класс CasadiModel больше не используется, а функция compile_fmux выдает ошибку компиляции.

Моя конечная цель - моделирование (нелинейных) систем в Modelica. Мне нужно символическое представление этой модели, чтобы выполнить линеаризацию самостоятельно. Затем для разработки контроллера в Python используется линеаризованная модель.

У кого-нибудь есть предложение?

1 Ответ

0 голосов
/ 09 августа 2018

Да, casadiModelObject = CasadiModel ('FourTanks.fmux') "вызывает ошибку.

как говорится в предупреждении,

Предупреждение об устаревании: CasadiModel устарела. CasadiPseudoSpectralAlg и LocalDAECollocationAlgOld больше не поддерживаются. Чтобы решить проблему оптимизации с CasADi используйте pyjmi.transfer_optimization_problem вместо

Так попробуй что-нибудь подобное,

from pyjmi import transfer_optimization_problem
op = transfer_optimization_problem('TankSystems.FourTanks','fourTank.mop',
                                  accept_model=True)

затем введите

op

вы найдете плоский объект

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...