Этот раздел объясняет, как выбрать решатели для физической симуляции. Соответствующая симуляция моделей Simscape™ требует определенных изменений значений по умолчанию Simulink® и фактора физических компромиссов симуляции. Для рекомендуемого выбора смотрите Делающий Оптимальный Выбор Решателя для Физической Симуляции.
Simulink и технологии решателя Simscape предоставляют спектр инструментов, чтобы симулировать физические системы, включая мощный метод Simscape локальных решателей. Вы выбираете глобальную переменную, или всей модели, решатели через Simulink. После совершения этого выбора проверяйте, что они сопоставимы; смотрите Гармонирующий Simulink и Решатели Simscape.
В диалоговом окне Configuration Parameters вашей модели, на панели Solver, решатель и связанные настройки, которые вы выбираете, являются глобальным выбором. Для получения дополнительной информации смотрите Критерии выбора Решателя (Simulink).
Когда вы сначала создаете модель, решателем Simulink по умолчанию является VariableStepAuto
. Для получения дополнительной информации смотрите, Выбирают Solver Using Auto Solver (Simulink). Чтобы выбрать другой решатель, выполните процедуру, похожую на процедуру в Изменении Начальных установок.
Можно выбрать один из комплекта и переменного шага и решателей фиксированного шага.
Можно также выбрать из числа явных и неявных решателей. Для физических моделей MathWorks рекомендует неявные решатели, такие как ode14x, ode23t, и ode15s. Неявные решатели требуют меньшего количества временных шагов, чем явные решатели, такие как ode45, ode113, и ode1.
Смотрите переключение с явного решателя по умолчанию на другие решатели Simulink.
Если весь Simulink и состояния Simscape в вашей модели дискретны, Simulink автоматически переключается на дискретный решатель и выдает предупреждение. В противном случае непрерывный решатель является значением по умолчанию.
По умолчанию решатели переменного шага Simulink пытаются определить местоположение событий вовремя обнаружением пересечения нулем. Смотрите Нулевые Пересечения Управления в Моделях Simscape.
Можно переключить одну или несколько физических сетей на локальный неявный, фиксированный шаг решатель Simscape путем выбора Use local solver в блоке сети Solver Configuration. Решатель и связанные настройки, которые вы устанавливаете в каждом блоке Solver Configuration, характерны для связанной физической сети и могут отличаться от сети до сети.
Физическая сеть с помощью локального решателя появляется к глобальному решателю Simulink, как будто это имеет дискретные состояния. Можно все еще использовать любой непрерывный глобальный решатель.
Выбор Локальных Решателей и Шагов расчета. Чтобы использовать локальный решатель, выберите тип решателя (Обратный Эйлер, Метод трапеций, или Делящий) и шаг расчета. Обратный Эйлер является значением по умолчанию.
Выбор Симуляции Фиксированных затрат. Можно выбрать симуляцию фиксированных затрат для одной или нескольких физических сетей путем выбора Use fixed-cost runtime consistency iterations, а также Use local solver, и фиксации количества итераций режима и нелинейных. Симуляция фиксированных затрат требует глобального решателя фиксированного шага.
Выбор Многоскоростной Симуляции. С локальной опцией решателя можно выполнить многоскоростные симуляции, с:
Различные шаги расчета в различных физических сетях, через их соответствующие блоки Solver Configuration
Основанный на выборке блок Simulink в модели с шагом расчета, отличающимся от блока Solver Configuration или блоков
Ваш Simulink и выбор решателя Simscape должны последовательно работать совместно. Чтобы гарантировать непротиворечивость вашего Simulink и выбора решателя Simscape для конкретной модели, откройте диалоговое окно модели Configuration Parameters. В окне модели откройте вкладку Modeling и нажмите Model Settings. Рассмотрите и настройте следующие настройки.
Переключение с явного решателя по умолчанию на другие решатели Simulink
Включение или отключение обнаружения пересечения нулем Simulink
Панель Simscape диалогового окна параметров конфигурации
Когда вы сначала создаете модель, решателем Simulink по умолчанию является VariableStepAuto
. Автоматический решатель выбирает, подходящий решатель как описано в Выбирают Solver Using Auto Solver (Simulink), и для некоторых типов моделей это может выбрать явный решатель, ode45
. Если вы не изменяете (явный) решатель по умолчанию, ваша производительность не может быть оптимальной. Неявные решатели лучше для большинства физических симуляций. Для получения дополнительной информации о неявных решателях и физических системах, смотрите Важные Концепции и Выбор в Физической Симуляции.
Диагностические сообщения О Явных Решателях. Когда вы используете явный решатель в модели, содержащей блоки Simscape, система выдает предупреждение, чтобы предупредить вас к потенциальной проблеме.
Чтобы выключить это предупреждение значения по умолчанию или изменить его в сообщение об ошибке, перейдите к панели Simscape диалогового окна Configuration Parameters:
От Explicit solver used in model containing Physical Networks blocks выпадающий список выберите опцию, которую вы хотите:
warning
— Если модель использует явный решатель, система выдает предупреждение после симуляции. Это - опция по умолчанию, которая предупреждает вас к потенциальной проблеме, если вы используете решатель по умолчанию.
error
— Если модель использует явный решатель, система выдает ошибку сообщение после симуляции. Если ваша модель жестка, и вы не хотите использовать явные решатели, выбирать эту опцию, чтобы избежать будущих ошибок.
none
— Если модель использует явный решатель, система не выпускает предупреждающего сообщения или сообщения об ошибке после симуляции. Если вы хотите работать с явными решателями, в частности для моделей, которые не жестки, выбирают эту опцию.
Нажмите OK.
По умолчанию Simulink отслеживает важный класс событий симуляции путем обнаружения нулевых пересечений. С решателем шага глобальной переменной и без локального решателя, Simulink пытается определить местоположение симулированных времен нулевых пересечений, если существующий. Смотрите Нулевые Пересечения Управления в Моделях Simscape.
Диагностические сообщения О глобальном Отключении Обнаружения Пересечения нулем. Можно глобально отключить обнаружение пересечения нулем в панели Solver диалогового окна Configuration Parameters под Zero-crossing options. Если вы делаете, и если вы используете решатель шага глобальной переменной без локального решателя, система выдает предупреждение или ошибку, когда вы симулируете с блоками Simscape.
Можно выбрать между предупреждающими сообщениями и сообщениями об ошибке в панели Simscape диалогового окна Configuration Parameters.
От Zero-crossing control is globally disabled in Simulink выпадающий список выберите опцию, которую вы хотите, если вы глобально отключаете обнаружение пересечения нулем:
warning
— Система выпускает предупреждающее сообщение после симуляции. Эта опция является значением по умолчанию.
error
— Система выдает ошибку сообщение после симуляции, которая останавливается.
Нажмите OK.
Шаг расчета или размер шага глобального решателя Simulink должны быть самым маленьким временным шагом всех решателей в многоскоростной симуляции Simscape.
Чтобы избежать ошибок симуляции в распространении шага расчета, перейдите к панели Solver в диалоговом окне Configuration Parameters и установите флажок Automatically handle rate transition for data transfer.