Решите вопросы симуляции решателя разделения для моделей Simscape Driveline

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

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

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

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

  • Настройте настройки решателя.

  • Удалите высокоприоритетное переменное сокращение.

  • Разблокируйте начальные условия муфты.

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

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

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

Используя решатель разделения

Когда имитационные модели с помощью решателя Разделения:

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

  2. Сконфигурируйте локальный решатель для симуляции решателя Разделения.

  3. Запустите симуляцию решателя Разделения. Если симуляция:

    • Выполнение до завершения — Сравнивают результаты симуляции решателя Разделения с базовыми результатами. Если результаты не согласовывают, настраивают настройки решателя или компоненты модели и симулируют снова. Например, уменьшите размер шага или упростите динамику модели. Для получения дополнительной информации смотрите, Уменьшают Числовую Жесткость, Выбирают Step Size и Number of Iterations и Reduce Fast Dynamics.

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

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

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

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

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

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

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

  2. Чтобы исследовать Simscape локальная настройка решателя, откройте настройки блока Solver Configuration.

     См. код

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

  3. Симулируйте модель и затем, исследовать базовую линию следует из симуляции переменного шага, откройте блок Scope.

     См. код

  4. Сконфигурируйте модель для симуляции решателя Разделения. В настройках блока Solver Configuration установите флажок Use local solver.

     См. код

    Когда вы устанавливаете флажок Use local solver, связанные параметры включены. По умолчанию параметры в блоке Solver Configuration устанавливаются на:

    1. Solver typePartitioning

    2. Размер шага 0.05

    3. Partition methodRobust simulation

    4. Partition storage methodExhaustive

    5. Use fixed-cost runtime consistency iterations — Выбранный

    6. Nonlinear iterations3

  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. Предупреждение вызывается начальными проблемами условия. Исследуйте проблемы путем исследования переменных в модели. Чтобы открыть Переменное Средство просмотра, в окне модели, на вкладке Debug, нажимают Simscape> Variable Viewer. Чтобы отфильтровать для переменных, которые имеют цели, которым симуляция не может удовлетворить, кликните по стрелке вправо заголовка столбца Status, и в выпадающем списке, снимите флажок OK.

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

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

     См. код

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

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

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

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

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

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

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

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

      1. Откройте подсистему Scopes.

      2. Данные о промахе шины находятся в сигнале, что блок FrontSlip From передает с блоком Tire slip Scope. Выберите сигнал, и в панели инструментов Simulink, на вкладке Signal, кликните по стреле на правой стороне раздела Monitor. В категории Signal Monitoring нажмите Log Signals.

       См. код

    2. В подсистеме Transmission Controller, в подсистеме Shift state, блок z3 Unit Delay передает состояние механизма.

      1. Откройте подсистему Transmission Controller.

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

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

       См. код

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

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

       См. код

    2. Откройте Инспектора Данных моделирования. В панели инструментов Simulink, на вкладке Simulation, кликают по стреле на правой стороне раздела Review Results, и, в категории Signal Logging Results, нажимают, Signal Logging Results.To смотрят данные о промахе шины, устанавливают флажок From8:1.

       См. код

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

    1. В модели откройте настройки блока Solver Configuration.

    2. Установите флажок Use local solver.

     См. код

  5. Симулируйте использование решателя Разделения.

     См. код

  6. Сравните базовую линию и результаты решателя Разделения в Инспекторе Данных моделирования.

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

    2. В верхней части, левой панели, выбирают Compare.

    3. Сконфигурируйте сравнение. В верхней части, правой панели:

      1. На правой стороне установки Baseline кликните по стрелке вниз и выберите Run 1: sdl_vehicle_clutch.

      2. На правой стороне установки Compare to кликните по стрелке вниз и выберите Run 2: sdl_vehicle_clutch.

      3. Нажмите Compare.

    4. Чтобы изменить цвет линии результатов решателя Разделения, в панели Properties, в столбце Compare to, кликают по цветному Line, выбирают различный цвет, такой как желтый, и затем нажимают Set.

     См. код

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

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

    1. Откройте подсистему Vehicle.

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

    3. В настройках Dynamics, набор Inertia к No Inertia.

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

     См. код

  8. Чтобы лучше изучить причину предупреждения, исследуйте переменные в модели. Чтобы открыть Переменное Средство просмотра, на вкладке Apps, в категории Physical Modeling, нажимают Simscape Variable Viewer. Чтобы отфильтровать для переменных, которые имеют цели, которым симуляция не может удовлетворить, кликните по стрелке вправо заголовка столбца Status, и в выпадающем списке, снимите флажок OK.

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

    Разрешить предупреждение:

    1. Откройте подсистему Dual Clutch Transmission.

    2. Откройте подсистему Gears.

    3. Откройте настройки блока Dog Clutch 1. В настройках Initial Conditions, набор Clutch initial state к Unlocked.

     См. код

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

    1. Запустите симуляцию.

       См. код

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

      1. На правой стороне установки Baseline кликните по стрелке вниз и выберите Run 1: sdl_vehicle_clutch.

      2. На правой стороне установки Compare to кликните по стрелке вниз и выберите Run 3: sdl_vehicle_clutch.

      3. Нажмите Compare.

     См. код

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

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

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

Больше о