exponenta event banner

Определение размера шага

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

  • Оценка максимального размера шага, который можно использовать для моделирования с фиксированным шагом

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

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

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

  1. Для открытия ссылочной модели в командной строке MATLAB ® введите:

    model = 'ssc_pneumatic_rts_reference';
    open_system(model)

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

    sim(model)
  3. Создайте полулогарифмический график, показывающий, как изменяется размер шага для решателя во время моделирования.

    h1 = figure;
    semilogy(tout(1:end-1),diff(tout),'-x')
    title('Solver Step Size')
    xlabel('Time (s)')
    ylabel('Step Size (s)')

    Для большей части моделирования размер шага больше значения Tsmax на графике. Соответствующее значение, ~ 0,001 секунды, является расчетным максимальным размером шага для достижения точных результатов во время моделирования с фиксированным шагом с использованием модели. Сведения о настройке размера шага для решателей с фиксированным шагом для моделирования в реальном времени см. в разделе Выбор размера шага и количества итераций.

    x маркеры на графике указывают время, которое решатель предпринял для выполнения одного шага в этот момент в моделировании. Данные размера шага являются дискретными. Линия, соединяющая дискретные точки, существует только для того, чтобы можно было видеть порядок отдельных времен выполнения в ходе моделирования.

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

  4. Чтобы увидеть различные режимы пересечения после нуля, увеличьте изображение области в красном поле в момент времени (t) = ~ 1 секунда.

     Сценарий масштабирования

    После t = 1,005 секунды размер шага уменьшается с ~ 10e-3 секунд до менее чем 10e-13 секунд для захвата события. Размер шага быстро увеличивается до ~ 10e-5 секунд, а затем медленно до ~ 10e-4 секунд. Размер шага уменьшается для захвата второго события и быстро восстанавливается, а затем медленно до размера шага перед первым событием. Медленные темпы восстановления указывают на то, что моделирование использует небольшие шаги для фиксации динамики элементов в модели. Если требуемый размер шага ограничивает максимальный размер фиксированного шага достаточно малым значением, то при попытке моделирования на компьютере в режиме реального времени может произойти перерасход.

    Типы элементов, требующих небольшого размера шага:

    • Элементы, вызывающие разрывы, такие как жесткие упоры и трение при проскальзывании

    • Элементы, имеющие небольшие постоянные времени, такие как малые массы с неразвернутыми, жесткими пружинами и гидравлическими контурами с небольшими сжимаемыми объемами

    Размер шага восстанавливается быстрее после замедления обработки события, которое происходит до t = 1,02 секунды. Это событие с меньшей вероятностью потребует небольших размеров шага для достижения точных результатов.

  5. Чтобы увидеть различные типы медленного восстановления решателя, увеличьте изображение области в красном поле на t = ~ 4,2 секунды.

    h1;
    xZoomStart2 = 4.16;
    xZoomEnd2 = 4.24;
    yZoomStart2 = 10e-20;
    yZoomEnd2 = 10e-1;
    axis([xZoomStart2 xZoomEnd2 yZoomStart2 yZoomEnd2]);

    Так же, как существуют различные типы событий, которые приводят к замедлению работы решателей, существуют различные типы медленного восстановления решателей. События, которые происходят непосредственно перед t = 4,19 и 4,2 секунды, включают пересечение нуля. Решатель выполняет ряд постепенно увеличивающихся шагов по мере достижения размера шага перед событием. Большое количество очень малых шагов, которые следуют за пересечением нуля при медленном восстановлении A, указывают на то, что элемент, вызвавший пересечение нуля, также является численно жестким.

    Более быстрое увеличение размера шага после события, которое происходит при t = 4,2 секунды, указывает на то, что элемент, который вызвал пересечение нуля до медленного восстановления B, не является таким жестким, как событие при медленном восстановлении A.

  6. Для просмотра результатов откройте обозреватель результатов Simscape.

    sscexplore(simlog)

  7. Осмотрите угловую скорость. В окне Simscape Results Explorer в иерархии дерева журнала моделирования выберите Измерения > Датчик идеального вращательного движения > w.

  8. Чтобы добавить график потока газа, выберите «Измерить поток» > «Пневматический датчик массы и теплового потока», а затем нажмите клавиши Ctrl и щелкните, чтобы выбрать G_ps.

    Медленное восстановление происходит при инициализации моделирования и приблизительно при t = 1, 4, 5, 8 и 9 секундах. Эти периоды небольших шагов совпадают с этими временами:

    • Частота вращения двигателя близка к нулю (время моделирования t = ~ 1, 5 и 9 секунд)

    • Ступенчатое изменение скорости двигателя начинается с установившейся скорости на новую (время t = ~ 4 и 8 секунд).

    • Ступенчатое изменение расхода инициируется с установившейся скорости на новую скорость потока (время t = ~ 4 и 8 секунд).

    • Объемный расход близок к нулю кг/с (t = ~ 1, 4 и 5 секунд)

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

См. также

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

Подробнее