daessc
РешательThe daessc
Simulink с переменным шагом® решатель предоставляет алгоритмы, специально разработанные для моделирования дифференциальных алгебраических уравнений (ДАУ), возникающих из моделирования физических систем.
The daessc
решатель доступен только с Simscape™ лицензией.
daessc
РешательДля новых моделей, если ваша модель содержит блоки Simscape и ДАУ, VariableStepAuto
решатель по умолчанию равен daessc
. Можно также выбрать daessc
решатель явно:
В окне модели откройте вкладку Modeling и нажмите Model Settings. Откроется диалоговое окно Параметры конфигурации (Configuration Parameters), в котором отображается панель Solver.
В разделе Solver selection установите Type равным Variable-step
и затем в раскрывающемся списке Solver выберите daessc (DAE solver for Simscape)
.
Разверните Solver details и установите Daessc mode на одну из следующих опций, чтобы подстроить эффективность решателя:
auto
- Автоматически выбирает оптимальную daessc
режим решателя. Это значение по умолчанию.
Fast
- Самый эффективный режим с точки зрения вычислительной стоимости, но менее устойчивый.
Balanced
- Обеспечивает баланс между вычислительными затратами и робастностью.
Robust
- Более прочный, но и более затратный.
Quick debug
- Обновляет решатель Jacobian на каждом шаге интегрирования, и поэтому даже дороже Robust
. Рекомендуется только для разработки интерактивной модели, чтобы быстро найти проблемы с уравнениями.
Full debug
- Обновляет решатель Jacobian на каждом шаге интегрирования и каждой итерации Ньютона. Этот режим является самым дорогим с точки зрения вычислительных затрат. Рекомендуется только для разработки интерактивной модели, чтобы тщательно проверить уравнения и найти возможные проблемы.
The daessc
решатель использует следующие настройки допуска для состояний Simscape в модели:
Устанавливает AutoScaleAbsTol
на off
Если Absolute tolerance задано как auto
, устанавливает AbsTol
на то же значение, что и RelTol
Эти изменения не отражаются в диалоговом окне Параметров конфигурации и не влияют на другие (нефизические) состояния в модели. Другими словами, если ваша модель содержит контроллер Simulink и объект Simscape, когда вы симулируете его с daessc
решатель, контроллер использует параметры допуска, указанные в диалоговом окне Параметры конфигурации (Configuration Parameters), но объект использует AutoScaleAbsTol
= off
и AbsTol
= RelTol
.
The daessc
решатель принимает, что модель хорошо масштабирована. Для получения дополнительной информации см. «Масштабирование системы по номинальным значениям» и «Использование масштабирования по номинальным значениям для повышения эффективности».
The daessc
решатель не поддерживает Rsim
. Можно использовать этот решатель с другими целями симуляции в реальном времени.
Для получения дополнительной информации о рекомендуемых настройках и лучших практиках использования daessc
, см. «Поиск и устранение проблем с моделями».
Чтобы воспользоваться преимуществами daessc
решатель, убедитесь, что модель хорошо масштабирована и что допуски, заданные для решателей, имеют инженерный смысл. Рекомендуется выполнить следующие настройки:
Relative tolerance — 1e-3
Absolute tolerance — 1e-3
Auto scale absolute tolerance off
ssc_new
и шаблоны Simscape используют эти настройки. Если для создания модели используется другой метод, можно задать все три с помощью этой команды:
set_param(bdroot,'AbsTol','1e-3','RelTol','1e-3','AutoScaleAbsTol','off')
Для улучшения масштабирования модели:
В диалоговом окне Параметры конфигурации на панели Simscape убедитесь, что установлен флажок Normalize using nominal values.
Симулируйте модель с помощью Solver Profiler и проверьте вкладку States Below Absolute Tolerance.
Для каждой переменной, перечисленной на этой вкладке, определите, важна ли эта переменная для симуляции. Если это так, откройте Property Inspector для блока, содержащего эту переменную, и задайте номинальное значение для переменной.
Можно также добавить или отредактировать пары единица значения для модели, при необходимости, с помощью кнопки Задать номинальные значения (Specify niminal values) на панели Simscape диалогового окна Параметры конфигурации (Configuration Parameters).
Для получения дополнительной информации смотрите Использование масштабирования по номинальным значениям для повышения эффективности.
daessc
РешательДля моделей Simscape с ДАУ, созданными до R2021a, значение по умолчанию VariableStepAuto
решатель ode23t
, и этот выбор решателя не меняется автоматически, когда вы открываете такую существующую модель в текущей версии программного обеспечения. Используйте проверку Check integration method used by 'auto' solver for Simscape DAEs в Upgrade Advisor, чтобы идентифицировать модели, которые все еще используют ode23t
в качестве автоматического решателя с переменным шагом и обновить их для использования daessc
, который разработан специально для физического моделирования.
Перед обновлением моделей убедитесь, что они хорошо масштабированы, и следуйте другим лучшим практикам, описанным в разделе «Поиск и устранение проблем с вашими моделями».
The daessc
решатель имеет тенденцию быть более устойчивым для большинства моделей Simscape, но некоторые модели могут испытывать неблагоприятные эффекты из-за этого изменения. После обновления модели моделируйте ее и проверяйте результаты и эффективность. Если вы решили, что хотите восстановить предыдущее поведение симуляции, измените параметр конфигурации модели Solver с auto (Automatic solver selection)
на ode23t (mod.stiff/Trapezoidal)
.