exponenta event banner

Как модели Simscape представляют физические системы

Представления физических систем

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

  • Для повышения точности модели или производительности моделирования требуются подробные сведения о таких представлениях.

  • Создание собственных пользовательских компонентов Simscape с использованием языка Simscape.

  • Необходимо устранить неполадки при моделировании или моделировании Simscape.

Математические представления являются основой для физического моделирования. Дополнительные сведения о моделировании см. в разделе Работа Simscape Simulation.

Дифференциальные, дифференциально-алгебраические и алгебраические системы

Математическое представление физической системы содержит обычные дифференциальные уравнения (ОДУ), алгебраические уравнения или оба.

  • ОДУ управляют скоростью изменения системных переменных и содержат некоторые или все производные от времени системных переменных.

  • Алгебраические уравнения определяют функциональные ограничения между системными переменными, но не содержат временных производных системных переменных.

  • Без алгебраических ограничений система является дифференциальной (ОДУ).

  • Без ОДУ система является алгебраической.

  • С ОДУ и алгебраическими ограничениями система является смешанной дифференциально-алгебраической (DAE).

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

Жесткость

Математическая задача является жесткой, если решение, которое вы ищете, изменяется медленно, но есть и другие решения в пределах допусков ошибок, которые быстро изменяются. Жесткая система имеет несколько собственных шкал времени очень разной величины [1].

Жесткая физическая система имеет один или несколько компонентов, которые ведут себя «жестко» в обычном смысле, таких как пружина с большой постоянной пружины. Математические эквиваленты включают квазисжимаемые жидкости и низкую электрическую индуктивность. Такие системы часто проявляют высокочастотные колебания в некоторых их компонентах или режимах.

События и нулевые переходы

События представляют собой прерывистые изменения состояния или динамики системы по мере ее развития во времени; например, открытие клапана или жесткий упор. Дополнительные сведения о представлении событий на языке Simscape см. в разделе Дискретное моделирование событий.

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

Работа с представлением Simscape

Модель Simscape эквивалентна набору уравнений, представляющих одну или несколько физических систем как физические сети.

Управление пересечениями нулей в моделях Simscape

Модель может содержать условия пересечения нуля, возникающие из нескольких источников:

  • Блоки Simscape и Simulink ® скопированы из соответствующих библиотек блоков

  • Пользовательские блоки, запрограммированные на языке Simscape

Программное обеспечение Simulink имеет глобальные методы управления событиями пересечения нулей. Дополнительные сведения см. в разделе Обнаружение пересечения нулей.

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

Совет

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

Обнаружение и минимизация нулевых пересечений в моделях Simscape

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

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

  • При регистрации данных моделирования для модели можно выбрать опцию Статистика моделирования журнала (Log simulation statistics). Затем журнал данных включает фактические данные пересечения нуля во время моделирования. Дополнительные сведения см. в разделе Статистика моделирования журнала.

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

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

Управление пересечением нулей особенно важно при подготовке моделей к моделированию в реальном времени. Подробный пример этого рабочего процесса см. в разделе Уменьшение нулевых пересечений.

Включение и отключение условий пересечения нулей на языке Simscape

При написании кода для собственных пользовательских блоков с использованием языка Simscape можно создать или избежать условий пересечения нуля в модели путем переключения между различными реализациями прерывистых условных выражений. Вы можете:

  • Используйте реляционные операторы, которые создают условия пересечения нулей. Например, программирование отношения оператора: a < b создает условие пересечения нуля.

  • Используйте реляционные функции, которые не создают условий пересечения нулей. Например, программирование функционального отношения: lt(a,b) не создает условие пересечения нуля. Дополнительные сведения о том, создает ли определенная функция разрывы при использовании в языке Simscape, см. в разделе equations.

Примечание

Использование реляционных функций, например lt(a,b), в случае предикатов всегда создает условие пересечения нуля. Дополнительные сведения о предикатах событий см. в разделе Дискретное моделирование событий.

Ссылки

[1] Молер, К. Б., Численные вычисления с MATLAB, Филадельфия, Общество промышленной и прикладной математики, 2004, глава 7

[2] Горовиц, П. и Хилл, В., Искусство электроники, 2-е изд., Кембридж, Кембриджский университет, пресса, 1989, глава 2

[3] Броган, В. Л., Современная теория управления, 2-е изд., Энглвуд Клиффс, Нью-Джерси, Прентис-Холл, 1985