exponenta event banner

Устранение проблем моделирования решателя секционирования для моделей приводов Simscape

Решатель секционирования - это Simscape™ локальный решатель с фиксированным шагом, который повышает производительность определенных моделей. Однако при использовании решателя разбиения некоторые модели Simscape Driveline™ генерируют предупреждения, останавливаются и генерируют ошибки, не инициализируются или дают сигнал в болтовне из-за численных трудностей. В этих примерах показано, как устранять ошибки, уменьшать количество предупреждений и уменьшать количество болтовен за счет устранения численных трудностей.

Решение проблем для блоков с жесткостью или трением

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

Чтобы устранить числовые трудности в моделях, содержащих эти блоки, используйте один или несколько методов.

  • Настройте параметры решателя.

  • Удаление высокоприоритетных переменных избыточностей.

  • Расконтрите исходные условия сцепления.

  • Ослабьте допуски, связанные с трением.

  • Устранение блоков высокой жесткости.

  • Устранение степеней свободы.

Использование решателя секционирования

При моделировании моделей с использованием решателя секционирования:

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

  2. Настройте локальный решатель для моделирования решателя секционирования.

  3. Запустите моделирование решателя секционирования. Если моделирование:

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

      Повторяйте до тех пор, пока моделирование не вернет результаты, соответствующие результатам базовой линии.

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

Устранение ошибок и предупреждений начального условия

В этом примере показано, как устранить числовые трудности, которые приводят к ошибкам и предупреждениям начальных условий. Если начальное условие не позволяет начать или завершить моделирование, MATLAB ® останавливает моделирование и генерирует ошибку. Если моделирование не удовлетворяет высокоприоритетным целям, моделирование продолжает выполняться, но MATLAB генерирует предупреждение.

  1. Откройте модель. В командной строке MATLAB введите:

    %% Open the Model
    model = 'sdl_transmission_helicopter_base';
    open_system(model)
    

    Окно модели показывает, что глобальный решатель Simulink ® является решателем с переменным шагом.

  2. Чтобы проверить конфигурацию локального решателя Simscape, откройте настройки блока Конфигурация решателя.

     См. Код

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

  3. Смоделируйте модель, а затем, чтобы проверить результаты базовой линии моделирования с переменным шагом, откройте блок Область (Scope).

     См. Код

  4. Настройте модель для моделирования решателя секционирования. В настройках блока Конфигурация решателя установите флажок Использовать локальный решатель.

     См. Код

    Если установлен флажок Использовать локальный решатель (Use local solver), соответствующие параметры включаются. По умолчанию в блоке «Конфигурация решателя» установлены следующие параметры:

    1. Тип решателя - Partitioning

    2. Время выборки - 0.05

    3. Метод секционирования - Robust simulation

    4. Способ хранения разделов - Exhaustive

    5. Использовать итерации непротиворечивости среды выполнения с фиксированной стоимостью - Выбрано

    6. Нелинейные итерации - 3

  5. Моделирование модели.

     См. Код

    Warning: Simscape succeeded in finding consistent states with which to start the simulation, 
    but the states found may deviate from requested initial conditions.
    

    Моделирование выполняется до завершения, но при этом генерируется предупреждение. Результаты согласуются с исходными результатами с точки зрения существенных характеристик модели (таких как уклоны, величины и точки перегиба).

  6. Предупреждение вызвано исходными проблемами. Изучите проблемы, изучив переменные в модели. Для открытия окна «Просмотр переменных» в окне модели на вкладке «Отладка» выберите «Simscape» > «Просмотр переменных». Чтобы отфильтровать переменные с целями, которым моделирование не может соответствовать, щелкните стрелку справа от заголовка столбца Статус (Status) и в раскрывающемся списке снимите флажок ОК.

    Есть несколько переменных, которые имеют High приоритетные цели, которые моделирование не может удовлетворить.

  7. Устраните предупреждение, разблокировав исходное состояние сцепления. Откройте блок Unidirectional Clutch и установите для параметра Initial state значение Unlocked. Затем смоделируйте модель, изучите переменные и просмотрите результаты.

     См. Код

    Первоначальное предупреждение о состоянии не генерируется, и средство просмотра переменных сообщает, что все целевые объекты выполнены. Результаты согласуются с исходными результатами с точки зрения значимых характеристик модели.

Разрешение болтовни из-за жесткости

В этом примере также показано, как разрешить численные трудности, которые приводят к болтовне при моделировании приводов Simscape, использующих решатель разбиения. В этом случае болтовня вызвана жесткостью. Жесткая модель - это модель, которая содержит как быструю, так и медленную динамику.

  1. Откройте модель с блоком. В командной строке MATLAB введите:

    %% Open the Model
    model = 'sdl_vehicle_dual_clutch';
    open_system(model)
    

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

  2. Настройте модель для регистрации данных. Для этого примера проскальзывание шины представляет собой интересующие данные, и регистрация дополнительных данных увеличивает вычислительные затраты на моделирование. Включить регистрацию данных для проскальзывания шины и отключить регистрацию данных для состояния передачи.

    1. В подсистеме транспортного средства блок шины LF (Magic Formula) представляет левую переднюю шину транспортного средства. Порт шины LF S, который передает данные о проскальзывании шины, является портом физического сигнала. Данные физического сигнала можно регистрировать с помощью регистрации данных Simulink. Местом назначения сигнала является блок Tire slip Scope, который находится в подсистеме Scopes.

      1. Откройте подсистему Области.

      2. Данные о проскальзывании шины находятся в сигнале, который блок «От проскальзывания шины» передает в блок «Область проскальзывания шины». Выберите сигнал и на панели инструментов Simulink на вкладке Signal щелкните стрелку в правой части раздела Monitor. В категории Мониторинг сигналов щелкните Регистрация сигналов.

       См. Код

    2. В подсистеме контроллера передачи в подсистеме состояния переключения блок задержки блока z3 передает состояние передачи.

      1. Откройте подсистему контроллера передачи.

      2. Откройте подсистему состояния Shift.

      3. Подсистема G состояния передачи передает состояние передачи в блок Unit Delay, который, в свою очередь, передает данные в блок Outport состояния передачи. Сигнал, который соединяет блок задержки устройства с блоком вывода состояния передачи, помечается для регистрации данных . Выберите сигнал и на панели инструментов Simulink на вкладке Signal щелкните стрелку в правой части раздела Monitor. В категории Мониторинг сигналов щелкните Регистрация сигналов.

       См. Код

  3. Получение и изучение базовых результатов. Смоделировать с помощью глобального решателя шагов переменных и просмотреть результаты в инспекторе данных моделирования.

    1. Запустите моделирование. На панели инструментов Simulink на вкладке Simulation в разделе Simulate нажмите кнопку Run.

       См. Код

    2. Откройте инспектор данных моделирования. На панели инструментов Simulink на вкладке Simulation щелкните стрелку в правой части раздела Review Results и в категории Signal Logging Results выберите Signal Logging Results. Чтобы проверить данные о проскальзывании шины, установите флажок From8:1.

       См. Код

  4. Настройте локальный решатель для моделирования с фиксированным шагом с помощью решателя секционирования.

    1. В модели откройте настройки блока Конфигурация решателя (Solver Configuration).

    2. Установите флажок Использовать локальный решатель (Use local solver).

     См. Код

  5. Моделирование с помощью решателя секционирования.

     См. Код

  6. Сравните результаты анализа опорной структуры и решения секционирования в инспекторе данных моделирования.

    1. Откройте инспектор данных моделирования.

    2. В верхней левой панели выберите Сравнить.

    3. Настройте сравнение. В верхней, правой панели:

      1. В правой части параметра «Базовая линия» щелкните стрелку вниз и выберите Run 1: sdl_vehicle_clutch.

      2. В правой части параметра Сравнить с (Compare to) щелкните стрелку вниз и выберите Run 2: sdl_vehicle_clutch.

      3. Щелкните Сравнить (Compare).

    4. Чтобы изменить цвет строки результатов решателя секционирования, на панели Свойства (Properties) в столбце Сравнить с (Compare to) щелкните цветную строку, выберите другой цвет, например желтый, и нажмите кнопку Задать (Set).

     См. Код

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

  7. Болтовня в передней шинной пробуксовке обусловлена параметрами, указанными для блока Tire (Magic Formula). Для разрешения сигнальной болтовни и предупреждения об исходном состоянии упростите динамику шины:

    1. Откройте подсистему транспортного средства.

    2. Откройте настройки блока LF шины.

    3. В параметрах Dynamics задайте для параметра Инерция значение No Inertia.

    4. Используя тот же процесс, опустите инерцию для блоков Tire RF, Tire LR и Tire RR.

     См. Код

  8. Чтобы лучше понять причину предупреждения, изучите переменные в модели. Чтобы открыть средство просмотра переменных, на вкладке «Приложения» в категории «Физическое моделирование» выберите «Средство просмотра переменных Simscape». Чтобы отфильтровать переменные с целями, которым моделирование не может соответствовать, щелкните стрелку справа от заголовка столбца Статус (Status) и в раскрывающемся списке снимите флажок ОК.

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

    Чтобы устранить предупреждение:

    1. Откройте подсистему трансмиссии с двойным сцеплением.

    2. Откройте подсистему зубчатых колес.

    3. Откройте настройки блока Dog Clutch 1. В параметрах Начальные условия (Initial Conditions) установите Начальное состояние сцепления (Clutch initial state) в значение Unlocked.

     См. Код

  9. Смоделировать, а затем изучить и сравнить результаты в инспекторе данных моделирования.

    1. Запустите моделирование.

       См. Код

    2. Откройте инспектор данных моделирования и сравните результаты моделирования с фиксированным шагом решателя секционирования с результатами моделирования с переменным шагом базовой линии. Чтобы настроить сравнение, в верхней правой панели:

      1. В правой части параметра «Базовая линия» щелкните стрелку вниз и выберите Run 1: sdl_vehicle_clutch.

      2. В правой части параметра Сравнить с (Compare to) щелкните стрелку вниз и выберите Run 3: sdl_vehicle_clutch.

      3. Щелкните Сравнить (Compare).

     См. Код

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

См. также

Связанные примеры

Подробнее