В этом разделе объясняется, как выбрать решатели для физического моделирования. Правильное моделирование моделей Simscape™ требует внесения определенных изменений в значения по умолчанию Simulink ® и учета компромиссов физического моделирования. Рекомендуемые варианты см. в разделе Выбор оптимального решателя для физического моделирования.
Технологии Simulink и Simscape-решателей предоставляют ряд инструментов для моделирования физических систем, включая мощную технику Simscape локальных решателей. С помощью Simulink можно выбрать глобальные решатели или решатели для всей модели. Сделав этот выбор, проверьте их согласованность; см. раздел Согласование решателей Simulink и Simscape.
В диалоговом окне Параметры конфигурации (Configuration Parameters) модели на панели Решатель (Solver) выбранные решатель и связанные с ним настройки являются глобальными вариантами. Дополнительные сведения см. в разделе Критерии выбора решателя.
При первом создании модели по умолчанию используется решатель Simulink VariableStepAuto. Дополнительные сведения см. в разделе Выбор решателя с помощью автоматического решателя. Чтобы выбрать другой решатель, выполните процедуру, аналогичную процедуре в разделе Изменение начальных настроек.
Можно выбрать один из набора решателей с переменным шагом и с фиксированным шагом.
Можно также выбрать из явных и неявных решателей. Для физических моделей рекомендуется использовать неявные решатели, такие как daessc, ode23t и ode15s. Неявные решатели требуют меньше временных шагов, чем явные решатели, такие как ode45, ode113 и ode1.
См. раздел Переключение с явного решателя по умолчанию на другие решатели Simulink.
Если все состояния Simulink и Simscape в модели дискретны, Simulink автоматически переключается на дискретный решатель и выдает предупреждение. В противном случае по умолчанию используется непрерывный решатель.
По умолчанию решатели переменных шагов Simulink пытаются обнаружить события во времени путем обнаружения пересечения нуля. См. раздел Управление пересечениями нулей в моделях Simscape.
Можно переключить одну или несколько физических сетей на локальный неявный решатель Simscape с фиксированным шагом, выбрав Использовать локальный решатель в сетевом блоке Конфигурация решателя. Решатель и соответствующие параметры, заданные в каждом блоке конфигурации решателя, зависят от подключенной физической сети и могут отличаться от сети к сети.
Физическая сеть, использующая локальный решатель, отображается в глобальном решателе Simulink, как если бы она имела дискретные состояния. По-прежнему можно использовать любой непрерывный глобальный решатель.
Выбор локальных решателей и времени образца. Чтобы использовать локальный решатель, выберите тип решателя (Обратный эйлер, Трапециевидное правило или Разбиение) и время выборки. По умолчанию используется обратный Euler.
Выбор моделирования фиксированных затрат. Можно выбрать моделирование с фиксированной стоимостью для одной или нескольких физических сетей, выбрав Использовать итерации согласованности среды выполнения с фиксированной стоимостью, а также Использовать локальный решатель и фиксируя количество нелинейных итераций и итераций режима. Дополнительные сведения см. в разделе Моделирование фиксированных затрат.
Выбор многоскоростного моделирования. С помощью опции локального решателя можно выполнять многоскоростное моделирование с помощью:
Различное время выборки в различных физических сетях через соответствующие блоки конфигурации решателя
Блок Simulink на основе образца в модели с временем образца, отличным от блока конфигурации решателя или блоков
Варианты решения Simulink и Simscape должны работать последовательно. Чтобы обеспечить согласованность вариантов решения Simulink и Simscape для конкретной модели, откройте диалоговое окно Параметры конфигурации модели (model Configuration Parameters). В окне модели откройте вкладку Моделирование (Modeling) и щелкните Настройки модели (Model Settings). Просмотрите и откорректируйте следующие настройки.
Переключение с явного решателя по умолчанию на другие решатели Simulink
Включение или отключение обнаружения нулевого пересечения Simulink
Панель Simscape диалогового окна «Параметры конфигурации»

При первом создании модели по умолчанию используется решатель Simulink VariableStepAuto. Автоматический решатель выбирает подходящий решатель, как описано в разделе Выбор решателя с помощью автоматического решателя, и для некоторых типов моделей он может выбрать явный решатель. ode45. Если не изменить решатель по умолчанию (явный), производительность может быть не оптимальной. Неявные решатели лучше подходят для большинства физических моделирований. Дополнительные сведения об неявных решателях и физических системах см. в разделе Важные концепции и варианты физического моделирования.
Диагностические сообщения об явных решателях. При использовании явного решателя в модели, содержащей блоки Simscape, система выдает предупреждение о потенциальной проблеме.
Чтобы отключить это предупреждение по умолчанию или изменить его на сообщение об ошибке, перейдите на панель Simscape диалогового окна «Параметры конфигурации»:
В раскрывающемся списке Явный решатель, используемый в модели, содержащей блоки Физические сети (Physical Networks), выберите нужную опцию.
warning - Если в модели используется явный решатель, система выдает предупреждение при моделировании. Это параметр по умолчанию, который предупреждает о потенциальной проблеме, если используется решатель по умолчанию.
error - Если в модели используется явный решатель, система выдает сообщение об ошибке при моделировании. Если модель жесткая и использовать явные решатели не требуется, выберите эту опцию, чтобы избежать будущих ошибок.
none - Если в модели используется явный решатель, при моделировании система не выдает предупреждения или сообщения об ошибке. Если требуется работать с явными решателями, в частности для моделей, которые не являются жесткими, выберите эту опцию.
Нажмите кнопку ОК.
По умолчанию Simulink отслеживает важный класс событий моделирования, обнаруживая пересечения нулей. С помощью глобального решателя с переменными шагами и без локального решателя Simulink пытается найти смоделированное время пересечений нуля, если таковое имеется. См. раздел Управление пересечениями нулей в моделях Simscape.
Диагностические сообщения о глобальном отключении обнаружения пересечения нуля. Можно глобально отключить обнаружение пересечения нуля на панели Решатель (Solver) диалогового окна Параметры конфигурации (Configuration Parameters) в разделе Опции пересечения нуля (Zero-crossing options). При использовании глобального решателя с переменными шагами без локального решателя система выдает предупреждение или сообщение об ошибке при моделировании с блоками Simscape.
На панели Simscape диалогового окна Параметры конфигурации (Configuration Parameters) можно выбрать между предупреждениями и сообщениями об ошибках.
В выпадающем списке Simulink (Simulink) в разделе Элемент управления пересечением нуля (Zero-crossing control) глобально отключен, выберите нужный параметр, если глобальное отключение обнаружения пересечения нуля:
warning - Система выдает предупреждающее сообщение при моделировании. Этот параметр используется по умолчанию.
error - После завершения моделирования система выдает сообщение об ошибке.
Нажмите кнопку ОК.
Время выборки или размер шага глобального решателя Simulink должен быть наименьшим шагом времени всех решателей при многоскоростном моделировании Simscape.
Чтобы избежать ошибок моделирования при распространении времени выборки, перейдите на панель Решатель (Solver) в диалоговом окне Параметры конфигурации (Configuration Parameters) и установите флажок Автоматически обрабатывать переход скорости для передачи данных (Automatically handle rate transfer).