Настройка решателей для физических моделей

О решателях Simulink и Simscape

В этом разделе описывается, как выбрать решатели для физической симуляции. Правильная симуляция Simscape™ моделей требует определенных изменений в Simulink® значения по умолчанию и фактор компромиссов физической симуляции. Для рекомендуемых вариантов смотрите Сделать Оптимальный Выбор Решателя для Физической Симуляции.

Выбор решателей Simulink и Simscape

Технологии Simulink и Simscape-решателя обеспечивают область значений инструментов для симуляции физических систем, включая мощный метод Simscape локальных решателей. Вы выбираете глобальные, или общемодельные, решатели через Simulink. После принятия этих решений проверяйте, являются ли они последовательными; см. «Гармонизация решателей Simulink и Simscape».

Работа с решателями Global Simulink

В диалоговом окне Параметры конфигурации вашей модели, на панели Solver, решатель и связанные настройки, которые вы выбираете, являются глобальными вариантами. Для получения дополнительной информации см. «Критерии выбора решателя».

Когда вы впервые создаете модель, решатель Simulink по умолчанию VariableStepAuto. Для получения дополнительной информации см. «Выбор решателя с использованием автоматического решателя». Чтобы выбрать другой решатель, выполните процедуру, подобную процедуре в Изменении начальных настроек.

  • Можно выбрать один из набора как переменных, так и решателей с фиксированным шагом.

  • Можно также выбрать из числа явных и неявных решателей. Для физических моделей рекомендуется использовать неявные решатели, такие как daessc, ode23t и ode15s. Неявные решатели требуют меньше временных шагов, чем явные решатели, такие как ode45, ode113 и ode1.

    См. «Переключение с явного решателя по умолчанию на другие решатели Simulink».

  • Если все состояния Simulink и Simscape в вашей модели дискретны, Simulink автоматически переключается на дискретный решатель и выдает предупреждение. В противном случае непрерывный решатель является значением по умолчанию.

  • По умолчанию решатели переменного шага Simulink пытаются найти события во времени путем обнаружения пересечения нулем. Смотрите Управление пересечениями нуля в Simscape моделях.

Работа с локальными решателями Simscape

Можно переключить одну или несколько физических сетей на локальный неявный решатель Simscape с фиксированным шагом, выбрав Use local solver в блоке network Solver Configuration. Решатель и связанные настройки, которые вы делаете в каждом блоке Solver Configuration, специфичны для подключенной физической сети и могут отличаться от сети к сети.

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

Выбор локальных решателей и шагов расчета.  Чтобы использовать локальный решатель, выберите тип решателя (Backward Euler, Метод трапеций или Partitioning) и шаг расчета. Задний Эйлер является значением по умолчанию.

Выбор симуляции с фиксированной стоимостью.  Можно выбрать симуляцию фиксированных затрат для одной или нескольких физических сетей, выбрав Use fixed-cost runtime consistency iterations, а также Use local solver и зафиксировав количество нелинейных и модовых итераций. Для получения дополнительной информации см. «Симуляция с фиксированной стоимостью».

Выбор Многоразовой Симуляции.  С помощью опции локального решателя можно выполнить мультирейтовые симуляции с:

  • Различные шаги расчета в различных физических сетях, через их соответствующие блоки Solver Configuration

  • Основанный на выборке блок Simulink в модели с шагом расчета, отличным от блока Solver Configuration или блоков

Гармонизация решателей Simulink и Simscape

Ваш выбор решателем Simulink и Simscape должен работать вместе последовательно. Чтобы гарантировать согласованность вариантов решателя Simulink и Simscape для конкретной модели, откройте диалоговое окно Параметры конфигурации модели. В окне модели откройте вкладку Modeling и нажмите Model Settings. Проверьте и измените следующие параметры.

Simscape Панели диалогового окна параметров конфигурации

Переход от явного решателя по умолчанию к другим решателям Simulink

Когда вы впервые создаете модель, решатель Simulink по умолчанию VariableStepAuto. Автоматический решатель выбирает подходящий решатель, как описано в Select Solver Using Auto Solver, и для некоторых типов моделей он может выбрать явный решатель, ode45. Если вы не измените решатель по умолчанию (явный), ваша эффективность может быть не оптимальной. Неявные решатели лучше подходят для большинства физических симуляций. Для получения дополнительной информации о неявных решателях и физических системах, смотрите Важные концепции и Варианты в Физической Симуляции.

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

Чтобы выключить это предупреждение по умолчанию или изменить его на сообщение об ошибке, перейдите на панель Simscape диалогового окна Параметры конфигурации:

  1. В раскрывающемся списке Explicit solver used in model containing Physical Networks blocks выберите нужную опцию:

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

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

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

  2. Нажмите OK.

Включение или отключение обнаружения пересечения нулем в Simulink

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

Диагностические сообщения о глобальном отключении обнаружения пересечения нулем.  Обнаружение пересечения нулем можно глобально отключить в панели Solver диалогового окна Параметры конфигурации под Zero-crossing options. Если это так, и если вы используете глобальный решатель переменной-шага без локального решателя, система выдает предупреждение или ошибку при симуляции с блоками Simscape.

Вы можете выбрать между предупреждением и сообщениями об ошибке в панели Simscape диалогового окна Параметры конфигурации.

  1. В выпадающем списке Zero-crossing control is globally disabled in Simulink выберите нужную опцию, если вы глобально отключили обнаружение пересечения нулем:

    • warning - Система выдает предупреждающее сообщение после симуляции. Эта опция является опцией по умолчанию.

    • error - Система выдает сообщение об ошибке после симуляции, которое останавливается.

  2. Нажмите OK.

Обеспечение согласованности многомерной симуляции

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

Чтобы избежать ошибок симуляции при распространении шага расчета, перейдите на панель Solver в диалоговом окне Параметры конфигурации и установите флажок Automatically handle rate transition for data transfer.