Лучшие практики для симуляции с daessc Решатель

daessc переменный шаг Simulink® решатель предоставляет алгоритмы, специально предназначенные, чтобы симулировать дифференциальные алгебраические уравнения (ДАУ), являющиеся результатом моделирования физических систем.

daessc решатель доступен с лицензией Simscape™ только.

Используя daessc Решатель

Для новых моделей, если ваша модель содержит блоки Simscape и ДАУ, VariableStepAuto значения по умолчанию решателя к daessc. Можно также выбрать daessc решатель явным образом:

  1. В окне модели откройте вкладку Modeling и нажмите Model Settings. Диалоговое окно Configuration Parameters открывает и показывает панель Solver.

  2. Под Solver selection, набор Type к Variable-step, и затем, от Solver выпадающий список, выбирают daessc (DAE solver for Simscape).

  3. Расширьте Solver details и установите Daessc mode на одну из этих опций, чтобы подстроить эффективность решателя:

    • auto — Автоматически выбирает оптимальный daessc режим решателя. Это - настройка по умолчанию.

    • Fast — Самый эффективный режим в терминах стоимости расчета, но менее устойчивый.

    • Balanced — Обеспечивает баланс между вычислительными затратами и робастностью.

    • Robust — Более устойчивый, но также и более дорогостоящий.

    • Quick debug — Обновляет якобиан решателя в каждом этапе интеграции и является поэтому еще более дорогостоящим, чем Robust. Рекомендуемый только для интерактивной разработки моделей, чтобы быстро найти проблемы с уравнениями.

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

daessc решатель использует следующие настройки допуска для состояний Simscape в модели:

  • Наборы AutoScaleAbsTol к off

  • Если Absolute tolerance задан как auto, наборы AbsTol к тому же значению как RelTol

Эти изменения не отражаются в диалоговом окне Configuration Parameters и не влияют на другие (нефизические) состояния в модели. Другими словами, если ваша модель содержит контроллер Simulink и объект Simscape, когда вы симулируете ее с daessc решатель, диспетчер использует настройки допуска, заданные в диалоговом окне Configuration Parameters, но объект использует AutoScaleAbsTol = off и AbsTol = RelTol.

daessc решатель принимает, что модель хорошо масштабируется. Для получения дополнительной информации смотрите, что Система Масштабируется Номинальной стоимостью и Использованием, Масштабирующимся Номинальной стоимостью, чтобы Улучшать Производительность.

daessc решатель не поддерживает Rsim. Можно использовать этот решатель с другими целями симуляции в реальном времени.

Для получения дополнительной информации о рекомендуемых настройках и лучших практиках для использования daessc, смотрите Поиск и устранение проблем Ваши Модели.

Поиск и устранение проблем ваши модели

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

  • Relative tolerance1e-3

  • Absolute tolerance1e-3

  • Auto scale absolute tolerance прочь

ssc_new и шаблоны Simscape используют эти настройки. Если вы используете другой метод, чтобы создать вашу модель, можно установить все три с этой командой:

set_param(bdroot,'AbsTol','1e-3','RelTol','1e-3','AutoScaleAbsTol','off')

Улучшить масштабирование модели:

  1. В диалоговом окне Configuration Parameters, на панели Simscape, гарантируют, что флажок Normalize using nominal values устанавливается.

  2. Симулируйте свою модель с помощью Solver Profiler и проверяйте вкладку States Below Absolute Tolerance.

    The States Below Absolute Tolerance pane, showing one state called massSpringDamperNominal.k.x.

  3. Для каждой переменной, перечисленной на этой вкладке, определите, важна ли эта переменная для симуляции. Если это, откройте Property Inspector для блока, который содержит эту переменную, и задайте номинальную стоимость для переменной.

  4. Можно также добавить или отредактировать пары модуля значения для модели, в случае необходимости, при помощи Задавать кнопки номинальной стоимости на панели Simscape диалогового окна Configuration Parameters.

Для получения дополнительной информации смотрите, что Использование Масштабируется Номинальной стоимостью, чтобы Улучшать Производительность.

Обновление моделей, чтобы использовать daessc Решатель

Для моделей Simscape с ДАУ, созданными до R2021a, VariableStepAuto по умолчанию решателем является ode23t, и этот выбор решателя не изменяется автоматически, когда вы открываете такую существующую модель в текущей версии программного обеспечения. Использование Check integration method used by 'auto' solver for Simscape DAEs регистрируется в Советнике по вопросам Обновления, чтобы идентифицировать модели это все еще, использует ode23t как переменный шаг автоматический решатель и обновляют их, чтобы использовать daessc, который специально разработан для физического моделирования.

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

daessc решатель имеет тенденцию быть более устойчивым для большинства моделей Simscape, но некоторые модели могут испытать неблагоприятные воздействия из-за этого изменения. После обновления модели симулируйте его и подтвердите результаты и эффективность. Если вы решаете, что хотите восстановить предыдущее поведение симуляции, изменить параметр конфигурации модели Solver от auto (Automatic solver selection) к ode23t (mod.stiff/Trapezoidal).

Смотрите также

Похожие темы