Как работает симуляция Simscape

Фазы симуляции Simscape

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

Simscape™ программное обеспечение предоставляет вам несколько способов моделирования и анализа физических систем в Simulink® окружение. Выполнение симуляции физической модели подобно симуляции любой модели Simulink. Это включает в себя настройку различных опций симуляции, запуск симуляции и просмотр результатов симуляции. В этой теме описываются различные аспекты симуляции, специфичные для моделей Simscape. Особенности симуляции и анализа с помощью отдельных дополнительных продуктов Simscape см. в документации для этих отдельных дополнительных продуктов.

Этот график потока представляет последовательность симуляции Simscape.

График потока состоит из следующих основных фаз:

Валидация модели

Решатель Simscape сначала проверяет строение модели и проверяет вводы данных из диалоговых окон блока.

  • Все блоки Simscape в схеме должны быть соединены в одну или несколько физических сетей.

  • Каждая топологически отличная физическая сеть в схеме требует только одного Solver Configuration блока.

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

  • Модули сигналов, заданные в блоке Simulink-PS Converter, должны совпадать с типом входа, ожидаемым подключенным к нему блоком Simscape. Для примера, когда вы предоставляете входной сигнал для блока Ideal Angular Velocity Source, задайте скорость вращения модулей, например rad/s или rpm, в блоке Simulink-PS Converter, или оставить его без изменений. Точно так же модули, заданные в блоке PS-Simulink Converter, должны совпадать с типом физического сигнала, предоставляемого выходом блока Simscape.

Конструкция сетей

После проверки модели решатель Simscape создает физическую сеть на основе следующих принципов:

  • Два непосредственно связанных порта Conserving имеют одинаковые значения для всех их переменных Across (таких как напряжение или скорость вращения).

  • Любая переменная Through (такая как ток или крутящий момент), переданная вдоль линии физического соединения, разделена на несколько компонентов, соединенных ветвями. Для каждой переменной Through, сумма всех ее значений, перетекающих в точку ветви, равна сумме всех ее значений, вытекающих наружу.

Уравнения Конструкции

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

Эти уравнения содержат системные переменные следующих типов:

  • Dynamic - Производные по времени от этих переменных появляются в уравнениях. Динамические, или дифференциальные, переменные добавляют динамику системе и требуют, чтобы решатель использовал численное интегрирование для вычисления их значений. Динамические переменные могут привести к независимым или зависимым состояниям для симуляции.

  • Algebraic - Производные по времени от этих переменных не появляются в уравнениях. Эти переменные появляются в алгебраических уравнениях, но не добавляют динамики, и это обычно происходит в физических системах из-за законов сохранения, таких как сохранение массы и энергии. Состояния алгебраических переменных всегда зависят от динамических переменных, других алгебраических переменных или входов.

Решатель затем выполняет анализ и устраняет переменные, которые не нужны, чтобы решить систему уравнений. После исключения переменной оставшиеся переменные (алгебраические, динамические зависимые и динамические независимые) будут сопоставлены с вектором состояний Simulink модели.

Для получения информации о том, как просмотреть и проанализировать переменные модели, смотрите Статистику модели.

Расчет начальных условий

Решатель Simscape вычисляет начальные условия только один раз, в начале симуляции (t = 0). В блоке Solver Configuration по умолчанию флажок Start simulation from steady state не установлен. Если он выбран в вашей модели, см. «Нахождение начального устойчивого состояния».

Решатель вычисляет начальные условия путем нахождения начальных значений для всех системных переменных, которые в точности удовлетворяют всем уравнениям модели. Можно повлиять на расчет начальных условий по block-level variable initialization, то есть путем определения приоритета и целевых начальных значений на вкладке Variables диалоговых окон блока. Можно также инициализировать переменные для целой модели из сохраненной рабочей точки.

Значения, которые вы задаете во время инициализации переменной, являются не фактическими значениями соответствующих переменных, а их целевыми значениями в начале симуляции (t = 0). В зависимости от результатов решения, некоторые из этих целей могут быть или не могут быть удовлетворены. Решатель пытается сначала удовлетворить высокоприоритетные цели, затем низкоприоритетные таковые:

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

  • Если решатель не может найти решение, которое в точности удовлетворяет всем высокоприоритетным целям, он выдает предупреждение и входит во второй этап, где High приоритет расслаблен на Low. То есть решатель пытается найти решение, максимально близко аппроксимируя и высокоприоритетные, и низкоприоритетные цели.

После того, как вы инициализируете переменные и перед симуляцией модели, можно открыть Средство Просмотра, чтобы увидеть, какая из переменных целей была удовлетворена. Для получения дополнительной информации об инициализации переменной уровня блоков, см. «Инициализация переменной».

Нахождение начального устойчивого состояния

Когда вы устанавливаете флажок Start simulation from steady state в блоке Solver Configuration:

  • Для моделей, совместимых с частотно-временной формулировкой уравнения, решатель пытается выполнить синусоидальную установившуюся инициализацию. Другими словами, инициализация выполняется с использованием частотно-временных уравнений, и затем симуляция продолжается с использованием фактической формулировки уравнения и других опций, выбранных в блоке Solver Configuration. Для получения дополнительной информации смотрите Частотный и Временной Режим Симуляции.

  • Если модель не совместима по частоте и времени, решатель пытается найти устойчивое состояние, которое приведет к тому, что входы в систему будут оставаться постоянными в течение достаточно длительного времени, начиная с начального состояния, полученного из расчета начальных условий, описанного в предыдущем разделе. Устойчивое состояние означает, что системные переменные больше не изменяются со временем.

Если установившееся решение успешно, то найденное состояние является некоторым установившимся состоянием (в пределах допуска), но не обязательно состоянием, ожидаемым от заданных начальных условий. Симуляция начинается с этого устойчивого состояния.

Модель может иметь более одного устойчивого состояния. В этом случае решатель выбирает установившееся решение, которое согласуется с переменными целями, заданными во время инициализации переменной уровня блока. Для получения дополнительной информации см. Раздел «Инициализация переменной».

Временная инициализация

После вычисления начальных условий или после последующего события (такого как разрыв, полученный, для примера, от открытия клапана или от жёсткого упора), решатель Simscape выполняет переходную инициализацию. Переходная инициализация исправляет все динамические переменные и решает для алгебраических переменных и производных динамических переменных. Цель переходной инициализации состоит в том, чтобы обеспечить последовательный набор начальных условий для следующего решения фазы, переходного процесса.

Переходное Решение

Наконец, решатель Simscape выполняет переходное решение системы уравнений. В переходном решении непрерывные дифференциальные уравнения интегрируются во времени, чтобы вычислить все переменные как функцию времени.

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

См. также