Modelica и переменные состояния

Переносит ли Modelica ДАУ в форму пространства состояний (систему ОДУ)?

Если я хочу смоделировать систему: например, простую модель с динамической трубой и раковиной, источник: среда, простая несжимаемая жидкая вода. Каковы переменные состояния (давление, температура,..?)?

Спасибо за помощь!


person Kenni    schedule 15.12.2015    source источник
comment
Какой инструмент вы используете? Димола? ОпенМоделика? МоделированиеX? Используемый инструмент (не язык Modelica) выбирает переменные состояния, и, вероятно, все они могут как-то отображать, какие переменные они выбрали. Вы можете использовать аннотацию stateSelect, чтобы влиять на выбор переменных. claytex.com/blog/state-selection-overview-and-definitions   -  person matth    schedule 15.12.2015
comment
Спасибо вам большое за ваш ответ. Я пользуюсь Даймолой. Но как выбрать state-переменные, они же не через системную конфигурацию? Например. Система масса-пружина: скорость и положение? Какими будут состояния в этом примере трубы, источника, приемника?   -  person Kenni    schedule 15.12.2015
comment
Вот еще одна интересная запись в блоге: claytex.com/tech-blog/ изучение-статистики-перевода-журнала   -  person matth    schedule 27.11.2017


Ответы (2)


Один из способов сделать это — загрузить библиотеку Modelica_LinearSystems2 и использовать функцию Modelica_LinearSystems2.ModelAnalysis.Linearize().

Функция Linearize() вернет объект пространства состояний, содержащий матрицы A, B, C и D, а также векторы ввода, вывода и состояния, содержащие соответственно имена входов, выходов и состояний.

Если ваша модель не зависит от времени, вы также можете выполнить фазу моделирования перед линеаризацией, чтобы получить линеаризованную версию вашей модели в конкретной рабочей точке.

person Pleki    schedule 21.12.2015

Dymola показывает выбранные состояния в журнале симуляции на вкладке «Перевод» в разделе «Статистика».
Например, это выходные данные для Modelica.Mechanics.Translational.Examples.Oscillator:

Выбор штата Dymola

Из кода Modelica Dymola создает экземпляры всех объектов, генерирует плоский код Modelica, выполняет некоторые символьные преобразования и упрощения (например, удаление псевдонимов переменных). Затем из оставшихся переменных и уравнений он выбирает состояния. Способы выбора состояний и способы влияния на процесс выбора описаны в Руководстве пользователя Dymola, том 2, раздел 8.4 «Средства управления выбором состояний» или в этой статье: https://www.modelica..org/events/workshop2000/proceedings/old/Mattsson.pdf

person matth    schedule 16.12.2015